@razorpay/blade 11.0.0 → 11.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js +2 -2
- package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +60 -51
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +10 -0
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/development/components/Table/Table.web.js +9 -1
- package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableContext.js +2 -0
- package/build/lib/web/development/components/Table/TableContext.js.map +1 -1
- package/build/lib/web/development/components/Table/TablePagination.web.js +18 -3
- package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js +4 -11
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +60 -51
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +10 -0
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/production/components/Table/Table.web.js +9 -1
- package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableContext.js +2 -0
- package/build/lib/web/production/components/Table/TableContext.js.map +1 -1
- package/build/lib/web/production/components/Table/TablePagination.web.js +18 -3
- package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js +4 -11
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/types/components/index.d.ts +45 -9
- package/build/types/components/index.native.d.ts +44 -8
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ import '../../utils/isValidAllowedChildren/index.js';
|
|
|
14
14
|
import '../../utils/index.js';
|
|
15
15
|
import '../../utils/metaAttribute/index.js';
|
|
16
16
|
import '../../utils/logger/index.js';
|
|
17
|
-
import {
|
|
17
|
+
import { useControllableState } from '../../utils/useControllable.js';
|
|
18
18
|
import { jsx } from 'react/jsx-runtime';
|
|
19
19
|
import { getComponentId, isValidAllowedChildren } from '../../utils/isValidAllowedChildren/isValidAllowedChildren.js';
|
|
20
20
|
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
@@ -64,63 +64,59 @@ var _Dropdown = function _Dropdown(_ref) {
|
|
|
64
64
|
selectionType = _ref$selectionType === void 0 ? 'single' : _ref$selectionType,
|
|
65
65
|
testID = _ref.testID,
|
|
66
66
|
styledProps = _objectWithoutProperties(_ref, _excluded);
|
|
67
|
-
var _React$useState = React__default.useState(
|
|
67
|
+
var _React$useState = React__default.useState([]),
|
|
68
68
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
options = _React$useState2[0],
|
|
70
|
+
setOptions = _React$useState2[1];
|
|
71
71
|
var _React$useState3 = React__default.useState([]),
|
|
72
72
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
filteredValues = _React$useState4[0],
|
|
74
|
+
setFilteredValues = _React$useState4[1];
|
|
75
75
|
var _React$useState5 = React__default.useState([]),
|
|
76
76
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
selectedIndices = _React$useState6[0],
|
|
78
|
+
setSelectedIndices = _React$useState6[1];
|
|
79
79
|
var _React$useState7 = React__default.useState([]),
|
|
80
80
|
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
var _React$useState9 = React__default.useState(
|
|
81
|
+
controlledValueIndices = _React$useState8[0],
|
|
82
|
+
setControlledValueIndices = _React$useState8[1];
|
|
83
|
+
var _React$useState9 = React__default.useState(-1),
|
|
84
84
|
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
activeIndex = _React$useState10[0],
|
|
86
|
+
setActiveIndex = _React$useState10[1];
|
|
87
87
|
var _React$useState11 = React__default.useState(-1),
|
|
88
88
|
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
var _React$useState13 = React__default.useState(
|
|
89
|
+
activeTagIndex = _React$useState12[0],
|
|
90
|
+
setActiveTagIndex = _React$useState12[1];
|
|
91
|
+
var _React$useState13 = React__default.useState(false),
|
|
92
92
|
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
shouldIgnoreBlurAnimation = _React$useState14[0],
|
|
94
|
+
setShouldIgnoreBlurAnimation = _React$useState14[1];
|
|
95
95
|
var _React$useState15 = React__default.useState(false),
|
|
96
96
|
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
hasFooterAction = _React$useState16[0],
|
|
98
|
+
setHasFooterAction = _React$useState16[1];
|
|
99
99
|
var _React$useState17 = React__default.useState(false),
|
|
100
100
|
_React$useState18 = _slicedToArray(_React$useState17, 2),
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
hasAutoCompleteInBottomSheetHeader = _React$useState18[0],
|
|
102
|
+
setHasAutoCompleteInBottomSheetHeader = _React$useState18[1];
|
|
103
103
|
var _React$useState19 = React__default.useState(false),
|
|
104
104
|
_React$useState20 = _slicedToArray(_React$useState19, 2),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
var _React$useState21 = React__default.useState(
|
|
105
|
+
isKeydownPressed = _React$useState20[0],
|
|
106
|
+
setIsKeydownPressed = _React$useState20[1];
|
|
107
|
+
var _React$useState21 = React__default.useState(0),
|
|
108
108
|
_React$useState22 = _slicedToArray(_React$useState21, 2),
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
var _React$useState23 = React__default.useState(
|
|
109
|
+
changeCallbackTriggerer = _React$useState22[0],
|
|
110
|
+
setChangeCallbackTriggerer = _React$useState22[1];
|
|
111
|
+
var _React$useState23 = React__default.useState(false),
|
|
112
112
|
_React$useState24 = _slicedToArray(_React$useState23, 2),
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
isControlled = _React$useState24[0],
|
|
114
|
+
setIsControlled = _React$useState24[1];
|
|
115
|
+
// keep track if dropdown contains bottomsheet
|
|
115
116
|
var _React$useState25 = React__default.useState(false),
|
|
116
117
|
_React$useState26 = _slicedToArray(_React$useState25, 2),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
// keep track if dropdown contains bottomsheet
|
|
120
|
-
var _React$useState27 = React__default.useState(false),
|
|
121
|
-
_React$useState28 = _slicedToArray(_React$useState27, 2),
|
|
122
|
-
dropdownHasBottomSheet = _React$useState28[0],
|
|
123
|
-
setDropdownHasBottomSheet = _React$useState28[1];
|
|
118
|
+
dropdownHasBottomSheet = _React$useState26[0],
|
|
119
|
+
setDropdownHasBottomSheet = _React$useState26[1];
|
|
124
120
|
|
|
125
121
|
/**
|
|
126
122
|
* In inputs, actual input is smaller than the visible input wrapper.
|
|
@@ -138,18 +134,29 @@ var _Dropdown = function _Dropdown(_ref) {
|
|
|
138
134
|
});
|
|
139
135
|
var dropdownContainerRef = React__default.useRef(null);
|
|
140
136
|
var dropdownBaseId = useId('dropdown');
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
137
|
+
var isDropdownOpenRef = React__default.useRef(isOpenControlled);
|
|
138
|
+
var _useControllableState = useControllableState({
|
|
139
|
+
value: isOpenControlled,
|
|
140
|
+
defaultValue: false,
|
|
141
|
+
onChange: function onChange(isOpenControlledValue) {
|
|
142
|
+
isDropdownOpenRef.current = isOpenControlledValue;
|
|
143
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(isOpenControlledValue);
|
|
144
|
+
}
|
|
145
|
+
}),
|
|
146
|
+
_useControllableState2 = _slicedToArray(_useControllableState, 2),
|
|
147
|
+
isDropdownOpen = _useControllableState2[0],
|
|
148
|
+
setIsDropdownOpen = _useControllableState2[1];
|
|
149
|
+
isDropdownOpenRef.current = isDropdownOpen;
|
|
150
|
+
var setIsOpen = function setIsOpen(isOpenValue) {
|
|
151
|
+
isDropdownOpenRef.current = isOpenValue;
|
|
152
|
+
setIsDropdownOpen(function () {
|
|
153
|
+
return isOpenValue;
|
|
154
|
+
});
|
|
155
|
+
};
|
|
150
156
|
var close = React__default.useCallback(function () {
|
|
151
157
|
setActiveTagIndex(-1);
|
|
152
158
|
setIsOpen(false);
|
|
159
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
153
160
|
}, []);
|
|
154
161
|
React__default.Children.map(children, function (child) {
|
|
155
162
|
if ( /*#__PURE__*/React__default.isValidElement(child)) {
|
|
@@ -175,7 +182,7 @@ var _Dropdown = function _Dropdown(_ref) {
|
|
|
175
182
|
});
|
|
176
183
|
var contextValue = React__default.useMemo(function () {
|
|
177
184
|
return {
|
|
178
|
-
isOpen:
|
|
185
|
+
isOpen: isDropdownOpen,
|
|
179
186
|
setIsOpen: setIsOpen,
|
|
180
187
|
close: close,
|
|
181
188
|
selectedIndices: selectedIndices,
|
|
@@ -213,10 +220,10 @@ var _Dropdown = function _Dropdown(_ref) {
|
|
|
213
220
|
};
|
|
214
221
|
},
|
|
215
222
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
216
|
-
[
|
|
223
|
+
[isDropdownOpen, isOpenControlled, selectedIndices, controlledValueIndices, options, filteredValues, activeIndex, activeTagIndex, shouldIgnoreBlurAnimation, selectionType, hasFooterAction, isKeydownPressed, changeCallbackTriggerer, isControlled]);
|
|
217
224
|
var BottomSheetAndDropdownGlueContextValue = React__default.useMemo(function () {
|
|
218
225
|
return {
|
|
219
|
-
isOpen:
|
|
226
|
+
isOpen: isDropdownOpen,
|
|
220
227
|
dropdownHasBottomSheet: dropdownHasBottomSheet,
|
|
221
228
|
hasAutoCompleteInBottomSheetHeader: hasAutoCompleteInBottomSheetHeader,
|
|
222
229
|
setDropdownHasBottomSheet: setDropdownHasBottomSheet,
|
|
@@ -224,7 +231,7 @@ var _Dropdown = function _Dropdown(_ref) {
|
|
|
224
231
|
// Basically <BottomSheet onDismiss={onBottomSheetDismiss} />
|
|
225
232
|
onBottomSheetDismiss: close
|
|
226
233
|
};
|
|
227
|
-
}, [dropdownHasBottomSheet, hasAutoCompleteInBottomSheetHeader,
|
|
234
|
+
}, [dropdownHasBottomSheet, hasAutoCompleteInBottomSheetHeader, isDropdownOpen, close]);
|
|
228
235
|
React__default.useEffect(function () {
|
|
229
236
|
if (!isReactNative()) {
|
|
230
237
|
var dropdown = dropdownContainerRef.current;
|
|
@@ -234,7 +241,9 @@ var _Dropdown = function _Dropdown(_ref) {
|
|
|
234
241
|
if (!target || !dropdown) {
|
|
235
242
|
return;
|
|
236
243
|
}
|
|
237
|
-
|
|
244
|
+
var isOutsideClick = !dropdown.contains(target) && !((_isTagDismissedRef$cu = isTagDismissedRef.current) !== null && _isTagDismissedRef$cu !== void 0 && _isTagDismissedRef$cu.value);
|
|
245
|
+
var isDropdownOpenState = isDropdownOpenRef.current;
|
|
246
|
+
if (isOutsideClick && isDropdownOpenState) {
|
|
238
247
|
close();
|
|
239
248
|
}
|
|
240
249
|
if ((_isTagDismissedRef$cu2 = isTagDismissedRef.current) !== null && _isTagDismissedRef$cu2 !== void 0 && _isTagDismissedRef$cu2.value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownContext } from './useDropdown';\nimport type { DropdownContextType } from './useDropdown';\nimport type { DropdownProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useId } from '~utils/useId';\nimport { ComponentIds as bottomSheetComponentIds } from '~components/BottomSheet/componentIds';\nimport { BottomSheetAndDropdownGlueContext } from '~components/BottomSheet/BottomSheetContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { isReactNative } from '~utils';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { throwBladeError } from '~utils/logger';\nimport { useDidUpdate } from '~utils/useDidUpdate';\nimport type { ContainerElementType } from '~utils/types';\n\nconst validDropdownChildren = [\n dropdownComponentIds.triggers.SelectInput,\n dropdownComponentIds.triggers.DropdownButton,\n dropdownComponentIds.triggers.DropdownLink,\n dropdownComponentIds.DropdownOverlay,\n dropdownComponentIds.triggers.AutoComplete,\n bottomSheetComponentIds.BottomSheet,\n];\n\n/**\n * ### Dropdown component\n *\n * Dropdown component is generic component that controls the dropdown functionality.\n * It can be used with multiple triggers and mostly contains ActionList component inside it\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * <Dropdown selectionType=\"single\">\n * <SelectInput />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem />\n * <ActionListItem />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select Dropdown Documentation}\n */\nconst _Dropdown = ({\n children,\n isOpen: isOpenControlled,\n onOpenChange,\n selectionType = 'single',\n testID,\n ...styledProps\n}: DropdownProps): React.ReactElement => {\n const [isOpen, setIsOpen] = React.useState<boolean>(isOpenControlled ?? false);\n const [options, setOptions] = React.useState<DropdownContextType['options']>([]);\n const [filteredValues, setFilteredValues] = React.useState<string[]>([]);\n const [selectedIndices, setSelectedIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [controlledValueIndices, setControlledValueIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [activeIndex, setActiveIndex] = React.useState(-1);\n const [activeTagIndex, setActiveTagIndex] = React.useState(-1);\n const [shouldIgnoreBlurAnimation, setShouldIgnoreBlurAnimation] = React.useState(false);\n const [hasFooterAction, setHasFooterAction] = React.useState(false);\n const [\n hasAutoCompleteInBottomSheetHeader,\n setHasAutoCompleteInBottomSheetHeader,\n ] = React.useState(false);\n const [isKeydownPressed, setIsKeydownPressed] = React.useState(false);\n const [changeCallbackTriggerer, setChangeCallbackTriggerer] = React.useState<\n DropdownContextType['changeCallbackTriggerer']\n >(0);\n const [isControlled, setIsControlled] = React.useState(false);\n // keep track if dropdown contains bottomsheet\n const [dropdownHasBottomSheet, setDropdownHasBottomSheet] = React.useState(false);\n\n /**\n * In inputs, actual input is smaller than the visible input wrapper.\n * You can set this reference in such cases so floating ui calculations happen correctly\n * */\n const triggererWrapperRef = React.useRef<ContainerElementType>(null);\n const triggererRef = React.useRef<HTMLButtonElement>(null);\n const actionListItemRef = React.useRef<HTMLDivElement>(null);\n const dropdownTriggerer = React.useRef<DropdownContextType['dropdownTriggerer']>();\n const isTagDismissedRef = React.useRef<{ value: boolean } | null>({ value: false });\n const visibleTagsCountRef = React.useRef<{ value: number }>({ value: 0 });\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n\n const dropdownBaseId = useId('dropdown');\n\n useDidUpdate(() => {\n onOpenChange?.(isOpen);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n React.useEffect(() => {\n if (isOpenControlled !== undefined) {\n setIsOpen(isOpenControlled);\n }\n }, [isOpenControlled]);\n\n const close = React.useCallback(() => {\n setActiveTagIndex(-1);\n setIsOpen(false);\n }, []);\n\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (__DEV__) {\n if (!validDropdownChildren.includes(getComponentId(child) ?? '')) {\n throwBladeError({\n message: `Dropdown can only have one of following elements as children - \\n\\n ${validDropdownChildren.join(\n ', ',\n )} \\n\\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,\n moduleName: 'Dropdown',\n });\n }\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SelectInput)) {\n dropdownTriggerer.current = 'SelectInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownButton)) {\n dropdownTriggerer.current = 'DropdownButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.AutoComplete)) {\n dropdownTriggerer.current = 'AutoComplete';\n }\n }\n });\n\n const contextValue = React.useMemo<DropdownContextType>(\n () => ({\n isOpen,\n setIsOpen,\n close,\n selectedIndices,\n setSelectedIndices,\n controlledValueIndices,\n setControlledValueIndices,\n options,\n setOptions,\n filteredValues,\n setFilteredValues,\n activeIndex,\n setActiveIndex,\n activeTagIndex,\n setActiveTagIndex,\n visibleTagsCountRef,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n isKeydownPressed,\n setIsKeydownPressed,\n dropdownBaseId,\n triggererRef,\n triggererWrapperRef,\n actionListItemRef,\n selectionType,\n hasFooterAction,\n setHasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\n setHasAutoCompleteInBottomSheetHeader,\n dropdownTriggerer: dropdownTriggerer.current,\n changeCallbackTriggerer,\n setChangeCallbackTriggerer,\n isControlled,\n setIsControlled,\n isTagDismissedRef,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isOpen,\n selectedIndices,\n controlledValueIndices,\n options,\n filteredValues,\n activeIndex,\n activeTagIndex,\n shouldIgnoreBlurAnimation,\n selectionType,\n hasFooterAction,\n isKeydownPressed,\n changeCallbackTriggerer,\n isControlled,\n ],\n );\n\n const BottomSheetAndDropdownGlueContextValue = React.useMemo((): BottomSheetAndDropdownGlueContext => {\n return {\n isOpen,\n dropdownHasBottomSheet,\n hasAutoCompleteInBottomSheetHeader,\n setDropdownHasBottomSheet,\n // This is the dismiss function which will be injected into the BottomSheet\n // Basically <BottomSheet onDismiss={onBottomSheetDismiss} />\n onBottomSheetDismiss: close,\n };\n }, [dropdownHasBottomSheet, hasAutoCompleteInBottomSheetHeader, isOpen, close]);\n\n React.useEffect((): (() => void) | undefined => {\n if (!isReactNative()) {\n const dropdown = dropdownContainerRef.current;\n\n const documentClickHandler = (e: MouseEvent): void => {\n const target = e.target as HTMLDivElement;\n\n if (!target || !dropdown) {\n return;\n }\n\n if (!dropdown.contains(target) && !isTagDismissedRef.current?.value) {\n close();\n }\n\n if (isTagDismissedRef.current?.value) {\n isTagDismissedRef.current.value = false;\n }\n };\n\n const documentFocusHandler = (e: FocusEvent): void => {\n const target = e.relatedTarget as HTMLDivElement;\n setActiveIndex(-1);\n\n if (!dropdown || !target) {\n return;\n }\n\n if (!dropdown.contains(target)) {\n close();\n }\n };\n\n document.addEventListener('click', documentClickHandler);\n document.addEventListener('focusout', documentFocusHandler);\n\n return (): void => {\n document.removeEventListener('click', documentClickHandler);\n document.removeEventListener('focusout', documentFocusHandler);\n };\n }\n\n return undefined;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <BottomSheetAndDropdownGlueContext.Provider value={BottomSheetAndDropdownGlueContextValue}>\n <DropdownContext.Provider value={contextValue}>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={dropdownContainerRef as any}\n {...metaAttribute({ name: MetaConstants.Dropdown, testID })}\n {...getStyledProps(styledProps)}\n >\n <BaseBox position=\"relative\" textAlign={'left' as never}>\n {children}\n </BaseBox>\n </BaseBox>\n </DropdownContext.Provider>\n </BottomSheetAndDropdownGlueContext.Provider>\n );\n};\n\nconst Dropdown = assignWithoutSideEffects(_Dropdown, {\n componentId: dropdownComponentIds.Dropdown,\n});\n\nexport { Dropdown };\n"],"names":["validDropdownChildren","dropdownComponentIds","triggers","SelectInput","DropdownButton","DropdownLink","DropdownOverlay","AutoComplete","bottomSheetComponentIds","BottomSheet","_Dropdown","_ref","children","isOpenControlled","isOpen","onOpenChange","_ref$selectionType","selectionType","testID","styledProps","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","setIsOpen","_React$useState3","_React$useState4","options","setOptions","_React$useState5","_React$useState6","filteredValues","setFilteredValues","_React$useState7","_React$useState8","selectedIndices","setSelectedIndices","_React$useState9","_React$useState10","controlledValueIndices","setControlledValueIndices","_React$useState11","_React$useState12","activeIndex","setActiveIndex","_React$useState13","_React$useState14","activeTagIndex","setActiveTagIndex","_React$useState15","_React$useState16","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","_React$useState17","_React$useState18","hasFooterAction","setHasFooterAction","_React$useState19","_React$useState20","hasAutoCompleteInBottomSheetHeader","setHasAutoCompleteInBottomSheetHeader","_React$useState21","_React$useState22","isKeydownPressed","setIsKeydownPressed","_React$useState23","_React$useState24","changeCallbackTriggerer","setChangeCallbackTriggerer","_React$useState25","_React$useState26","isControlled","setIsControlled","_React$useState27","_React$useState28","dropdownHasBottomSheet","setDropdownHasBottomSheet","triggererWrapperRef","useRef","triggererRef","actionListItemRef","dropdownTriggerer","isTagDismissedRef","value","visibleTagsCountRef","dropdownContainerRef","dropdownBaseId","useId","useDidUpdate","useEffect","undefined","close","useCallback","Children","map","child","isValidElement","_getComponentId","includes","getComponentId","throwBladeError","message","concat","join","moduleName","isValidAllowedChildren","current","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","isReactNative","dropdown","documentClickHandler","e","_isTagDismissedRef$cu","_isTagDismissedRef$cu2","target","contains","documentFocusHandler","relatedTarget","document","addEventListener","removeEventListener","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","BaseBox","_objectSpread","ref","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","position","textAlign","assignWithoutSideEffects","componentId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownContext } from './useDropdown';\nimport type { DropdownContextType } from './useDropdown';\nimport type { DropdownProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useId } from '~utils/useId';\nimport { ComponentIds as bottomSheetComponentIds } from '~components/BottomSheet/componentIds';\nimport { BottomSheetAndDropdownGlueContext } from '~components/BottomSheet/BottomSheetContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { isReactNative } from '~utils';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { throwBladeError } from '~utils/logger';\nimport type { ContainerElementType } from '~utils/types';\nimport { useControllableState } from '~utils/useControllable';\n\nconst validDropdownChildren = [\n dropdownComponentIds.triggers.SelectInput,\n dropdownComponentIds.triggers.DropdownButton,\n dropdownComponentIds.triggers.DropdownLink,\n dropdownComponentIds.DropdownOverlay,\n dropdownComponentIds.triggers.AutoComplete,\n bottomSheetComponentIds.BottomSheet,\n];\n\n/**\n * ### Dropdown component\n *\n * Dropdown component is generic component that controls the dropdown functionality.\n * It can be used with multiple triggers and mostly contains ActionList component inside it\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * <Dropdown selectionType=\"single\">\n * <SelectInput />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem />\n * <ActionListItem />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select Dropdown Documentation}\n */\nconst _Dropdown = ({\n children,\n isOpen: isOpenControlled,\n onOpenChange,\n selectionType = 'single',\n testID,\n ...styledProps\n}: DropdownProps): React.ReactElement => {\n const [options, setOptions] = React.useState<DropdownContextType['options']>([]);\n const [filteredValues, setFilteredValues] = React.useState<string[]>([]);\n const [selectedIndices, setSelectedIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [controlledValueIndices, setControlledValueIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [activeIndex, setActiveIndex] = React.useState(-1);\n const [activeTagIndex, setActiveTagIndex] = React.useState(-1);\n const [shouldIgnoreBlurAnimation, setShouldIgnoreBlurAnimation] = React.useState(false);\n const [hasFooterAction, setHasFooterAction] = React.useState(false);\n const [\n hasAutoCompleteInBottomSheetHeader,\n setHasAutoCompleteInBottomSheetHeader,\n ] = React.useState(false);\n const [isKeydownPressed, setIsKeydownPressed] = React.useState(false);\n const [changeCallbackTriggerer, setChangeCallbackTriggerer] = React.useState<\n DropdownContextType['changeCallbackTriggerer']\n >(0);\n const [isControlled, setIsControlled] = React.useState(false);\n // keep track if dropdown contains bottomsheet\n const [dropdownHasBottomSheet, setDropdownHasBottomSheet] = React.useState(false);\n\n /**\n * In inputs, actual input is smaller than the visible input wrapper.\n * You can set this reference in such cases so floating ui calculations happen correctly\n * */\n const triggererWrapperRef = React.useRef<ContainerElementType>(null);\n const triggererRef = React.useRef<HTMLButtonElement>(null);\n const actionListItemRef = React.useRef<HTMLDivElement>(null);\n const dropdownTriggerer = React.useRef<DropdownContextType['dropdownTriggerer']>();\n const isTagDismissedRef = React.useRef<{ value: boolean } | null>({ value: false });\n const visibleTagsCountRef = React.useRef<{ value: number }>({ value: 0 });\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n\n const dropdownBaseId = useId('dropdown');\n const isDropdownOpenRef = React.useRef(isOpenControlled);\n\n const [isDropdownOpen, setIsDropdownOpen] = useControllableState({\n value: isOpenControlled,\n defaultValue: false,\n onChange: (isOpenControlledValue) => {\n isDropdownOpenRef.current = isOpenControlledValue;\n onOpenChange?.(isOpenControlledValue);\n },\n });\n\n isDropdownOpenRef.current = isDropdownOpen;\n\n const setIsOpen = (isOpenValue: boolean): void => {\n isDropdownOpenRef.current = isOpenValue;\n setIsDropdownOpen(() => isOpenValue);\n };\n\n const close = React.useCallback(() => {\n setActiveTagIndex(-1);\n setIsOpen(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (__DEV__) {\n if (!validDropdownChildren.includes(getComponentId(child) ?? '')) {\n throwBladeError({\n message: `Dropdown can only have one of following elements as children - \\n\\n ${validDropdownChildren.join(\n ', ',\n )} \\n\\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,\n moduleName: 'Dropdown',\n });\n }\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SelectInput)) {\n dropdownTriggerer.current = 'SelectInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownButton)) {\n dropdownTriggerer.current = 'DropdownButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.AutoComplete)) {\n dropdownTriggerer.current = 'AutoComplete';\n }\n }\n });\n\n const contextValue = React.useMemo<DropdownContextType>(\n () => ({\n isOpen: isDropdownOpen,\n setIsOpen,\n close,\n selectedIndices,\n setSelectedIndices,\n controlledValueIndices,\n setControlledValueIndices,\n options,\n setOptions,\n filteredValues,\n setFilteredValues,\n activeIndex,\n setActiveIndex,\n activeTagIndex,\n setActiveTagIndex,\n visibleTagsCountRef,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n isKeydownPressed,\n setIsKeydownPressed,\n dropdownBaseId,\n triggererRef,\n triggererWrapperRef,\n actionListItemRef,\n selectionType,\n hasFooterAction,\n setHasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\n setHasAutoCompleteInBottomSheetHeader,\n dropdownTriggerer: dropdownTriggerer.current,\n changeCallbackTriggerer,\n setChangeCallbackTriggerer,\n isControlled,\n setIsControlled,\n isTagDismissedRef,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isDropdownOpen,\n isOpenControlled,\n selectedIndices,\n controlledValueIndices,\n options,\n filteredValues,\n activeIndex,\n activeTagIndex,\n shouldIgnoreBlurAnimation,\n selectionType,\n hasFooterAction,\n isKeydownPressed,\n changeCallbackTriggerer,\n isControlled,\n ],\n );\n\n const BottomSheetAndDropdownGlueContextValue = React.useMemo((): BottomSheetAndDropdownGlueContext => {\n return {\n isOpen: isDropdownOpen,\n dropdownHasBottomSheet,\n hasAutoCompleteInBottomSheetHeader,\n setDropdownHasBottomSheet,\n // This is the dismiss function which will be injected into the BottomSheet\n // Basically <BottomSheet onDismiss={onBottomSheetDismiss} />\n onBottomSheetDismiss: close,\n };\n }, [dropdownHasBottomSheet, hasAutoCompleteInBottomSheetHeader, isDropdownOpen, close]);\n\n React.useEffect((): (() => void) | undefined => {\n if (!isReactNative()) {\n const dropdown = dropdownContainerRef.current;\n\n const documentClickHandler = (e: MouseEvent): void => {\n const target = e.target as HTMLDivElement;\n\n if (!target || !dropdown) {\n return;\n }\n\n const isOutsideClick = !dropdown.contains(target) && !isTagDismissedRef.current?.value;\n\n const isDropdownOpenState = isDropdownOpenRef.current;\n if (isOutsideClick && isDropdownOpenState) {\n close();\n }\n\n if (isTagDismissedRef.current?.value) {\n isTagDismissedRef.current.value = false;\n }\n };\n\n const documentFocusHandler = (e: FocusEvent): void => {\n const target = e.relatedTarget as HTMLDivElement;\n setActiveIndex(-1);\n\n if (!dropdown || !target) {\n return;\n }\n\n if (!dropdown.contains(target)) {\n close();\n }\n };\n\n document.addEventListener('click', documentClickHandler);\n document.addEventListener('focusout', documentFocusHandler);\n\n return (): void => {\n document.removeEventListener('click', documentClickHandler);\n document.removeEventListener('focusout', documentFocusHandler);\n };\n }\n\n return undefined;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <BottomSheetAndDropdownGlueContext.Provider value={BottomSheetAndDropdownGlueContextValue}>\n <DropdownContext.Provider value={contextValue}>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={dropdownContainerRef as any}\n {...metaAttribute({ name: MetaConstants.Dropdown, testID })}\n {...getStyledProps(styledProps)}\n >\n <BaseBox position=\"relative\" textAlign={'left' as never}>\n {children}\n </BaseBox>\n </BaseBox>\n </DropdownContext.Provider>\n </BottomSheetAndDropdownGlueContext.Provider>\n );\n};\n\nconst Dropdown = assignWithoutSideEffects(_Dropdown, {\n componentId: dropdownComponentIds.Dropdown,\n});\n\nexport { Dropdown };\n"],"names":["validDropdownChildren","dropdownComponentIds","triggers","SelectInput","DropdownButton","DropdownLink","DropdownOverlay","AutoComplete","bottomSheetComponentIds","BottomSheet","_Dropdown","_ref","children","isOpenControlled","isOpen","onOpenChange","_ref$selectionType","selectionType","testID","styledProps","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","options","setOptions","_React$useState3","_React$useState4","filteredValues","setFilteredValues","_React$useState5","_React$useState6","selectedIndices","setSelectedIndices","_React$useState7","_React$useState8","controlledValueIndices","setControlledValueIndices","_React$useState9","_React$useState10","activeIndex","setActiveIndex","_React$useState11","_React$useState12","activeTagIndex","setActiveTagIndex","_React$useState13","_React$useState14","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","_React$useState15","_React$useState16","hasFooterAction","setHasFooterAction","_React$useState17","_React$useState18","hasAutoCompleteInBottomSheetHeader","setHasAutoCompleteInBottomSheetHeader","_React$useState19","_React$useState20","isKeydownPressed","setIsKeydownPressed","_React$useState21","_React$useState22","changeCallbackTriggerer","setChangeCallbackTriggerer","_React$useState23","_React$useState24","isControlled","setIsControlled","_React$useState25","_React$useState26","dropdownHasBottomSheet","setDropdownHasBottomSheet","triggererWrapperRef","useRef","triggererRef","actionListItemRef","dropdownTriggerer","isTagDismissedRef","value","visibleTagsCountRef","dropdownContainerRef","dropdownBaseId","useId","isDropdownOpenRef","_useControllableState","useControllableState","defaultValue","onChange","isOpenControlledValue","current","_useControllableState2","isDropdownOpen","setIsDropdownOpen","setIsOpen","isOpenValue","close","useCallback","Children","map","child","isValidElement","_getComponentId","includes","getComponentId","throwBladeError","message","concat","join","moduleName","isValidAllowedChildren","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","useEffect","isReactNative","dropdown","documentClickHandler","e","_isTagDismissedRef$cu","_isTagDismissedRef$cu2","target","isOutsideClick","contains","isDropdownOpenState","documentFocusHandler","relatedTarget","document","addEventListener","removeEventListener","undefined","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","BaseBox","_objectSpread","ref","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","position","textAlign","assignWithoutSideEffects","componentId"],"mappings":"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"}
|
|
@@ -133,6 +133,11 @@ var _StyledBaseInput = function _StyledBaseInput(_ref, ref) {
|
|
|
133
133
|
name: name,
|
|
134
134
|
type: "button",
|
|
135
135
|
onClick: function onClick(event) {
|
|
136
|
+
if (props.isDropdownTrigger) {
|
|
137
|
+
// dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input
|
|
138
|
+
// we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened
|
|
139
|
+
event.stopPropagation();
|
|
140
|
+
}
|
|
136
141
|
handleOnClick === null || handleOnClick === void 0 ? void 0 : handleOnClick({
|
|
137
142
|
name: name,
|
|
138
143
|
value: event
|
|
@@ -169,6 +174,11 @@ var _StyledBaseInput = function _StyledBaseInput(_ref, ref) {
|
|
|
169
174
|
});
|
|
170
175
|
},
|
|
171
176
|
onClick: function onClick(event) {
|
|
177
|
+
if (props.isDropdownTrigger) {
|
|
178
|
+
// dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input
|
|
179
|
+
// we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened
|
|
180
|
+
event.stopPropagation();
|
|
181
|
+
}
|
|
172
182
|
handleOnClick === null || handleOnClick === void 0 ? void 0 : handleOnClick({
|
|
173
183
|
name: name,
|
|
174
184
|
value: event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyledBaseInput.web.js","sources":["../../../../../../../src/components/Input/BaseInput/StyledBaseInput.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { CSSObject, DefaultTheme, ThemeProps } from 'styled-components';\nimport { getBaseInputStyles } from './baseInputStyles';\n\nimport type { StyledBaseInputProps } from './types';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { Text } from '~components/Typography';\n\nconst getWebInputStyles = (\n props: Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'> &\n ThemeProps<DefaultTheme> &\n (React.InputHTMLAttributes<HTMLInputElement> | React.ButtonHTMLAttributes<HTMLButtonElement>),\n): CSSObject => {\n return {\n ...getBaseInputStyles({\n isDisabled: props.disabled,\n theme: props.theme,\n validationState: props.validationState,\n leadingIcon: props.leadingIcon,\n prefix: props.prefix,\n interactionElement: props.interactionElement,\n suffix: props.suffix,\n trailingIcon: props.trailingIcon,\n textAlign: props.textAlign,\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n isDropdownTrigger: props.isDropdownTrigger,\n }),\n outline: 'none',\n border: 'none',\n '::placeholder': {\n ...getTextStyles({\n size: 'medium',\n variant: 'body',\n weight: 'regular',\n color: 'surface.text.gray.disabled',\n theme: props.theme,\n }),\n textAlign: props.textAlign,\n },\n ':focus': {\n outline: 'none',\n },\n cursor: props.disabled ? 'not-allowed' : 'auto',\n };\n};\n\nconst StyledBaseNativeInput = styled.input<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>(getWebInputStyles);\n\nconst StyledBaseNativeButton = styled.button<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>((props) => ({\n ...getWebInputStyles(props),\n}));\n\nconst autoCompleteSuggestionTypeMap = {\n none: 'off',\n on: 'on',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'current-password',\n newPassword: 'new-password',\n oneTimeCode: 'one-time-code',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n};\n\nconst _StyledBaseInput: React.ForwardRefRenderFunction<\n HTMLInputElement | HTMLButtonElement,\n StyledBaseInputProps\n> = (\n {\n name,\n isDisabled,\n isRequired,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n handleOnClick,\n keyboardType,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n setCurrentInteraction,\n numberOfLines,\n type,\n hasPopup,\n shouldIgnoreBlurAnimation,\n autoCapitalize,\n ...props\n },\n ref,\n) => {\n const commonProps = {\n onBlur: (event: React.ChangeEvent<HTMLInputElement>): void => {\n // In certain cases like SelectInput, we want to ignore the blur animation when option item is clicked.\n // The selectinput should always look like it is in focus otherwise it triggers blur + focus again which can cause flicker\n if (!shouldIgnoreBlurAnimation) {\n setCurrentInteraction('default');\n }\n handleOnBlur?.({ name, value: event });\n },\n onFocus: (event: React.ChangeEvent<HTMLInputElement>): void => {\n setCurrentInteraction('focus');\n handleOnFocus?.({ name, value: event });\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown?.({ name, key: event.key, code: event.code, event });\n },\n disabled: isDisabled,\n enterKeyHint: keyboardReturnKeyType === 'default' ? 'enter' : keyboardReturnKeyType,\n autoComplete: autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeMap[autoCompleteSuggestionType]\n : undefined,\n };\n\n return props.as === 'button' ? (\n <StyledBaseNativeButton\n // @ts-expect-error: TS doesnt understand that this will always be `button`\n ref={ref}\n name={name}\n type=\"button\"\n onClick={(event: React.MouseEvent<HTMLInputElement>): void => {\n handleOnClick?.({ name, value: event });\n }}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n value={props.value}\n >\n <Text\n color={\n props.value && !isDisabled ? 'surface.text.gray.subtle' : 'surface.text.gray.disabled'\n }\n truncateAfterLines={1}\n textAlign={props.textAlign}\n >\n {props.value ? props.value : props.placeholder}\n </Text>\n </StyledBaseNativeButton>\n ) : (\n <StyledBaseNativeInput\n // @ts-expect-error: TS doesnt understand that this will always be `input`\n ref={ref}\n name={name}\n type={type === 'telephone' ? 'tel' : type}\n required={isRequired}\n maxLength={maxCharacters}\n rows={numberOfLines}\n inputMode={keyboardType === 'telephone' ? 'tel' : keyboardType}\n onChange={(event: React.ChangeEvent<HTMLInputElement>): void =>\n handleOnChange?.({ name, value: event })\n }\n onInput={(event: React.ChangeEvent<HTMLInputElement>) => {\n handleOnInput?.({ name, value: event });\n }}\n onClick={(event) => {\n handleOnClick?.({ name, value: event });\n }}\n autoCapitalize={autoCapitalize}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n />\n );\n};\n\nconst StyledBaseInput = assignWithoutSideEffects(React.forwardRef(_StyledBaseInput), {\n displayName: 'StyledBaseInput',\n});\n\nexport { StyledBaseInput };\n"],"names":["getWebInputStyles","props","_objectSpread","getBaseInputStyles","isDisabled","disabled","theme","validationState","leadingIcon","prefix","interactionElement","suffix","trailingIcon","textAlign","isTextArea","hasTags","isDropdownTrigger","outline","border","getTextStyles","size","variant","weight","color","cursor","StyledBaseNativeInput","styled","input","withConfig","displayName","componentId","StyledBaseNativeButton","button","autoCompleteSuggestionTypeMap","none","on","name","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","_StyledBaseInput","_ref","ref","isRequired","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnInput","handleOnKeyDown","handleOnClick","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","setCurrentInteraction","numberOfLines","type","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","_objectWithoutProperties","_excluded","commonProps","onBlur","event","value","onFocus","onKeyDown","key","code","enterKeyHint","autoComplete","undefined","as","_jsx","onClick","children","Text","truncateAfterLines","placeholder","required","maxLength","rows","inputMode","onChange","onInput","StyledBaseInput","assignWithoutSideEffects","React","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StyledBaseInput.web.js","sources":["../../../../../../../src/components/Input/BaseInput/StyledBaseInput.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { CSSObject, DefaultTheme, ThemeProps } from 'styled-components';\nimport { getBaseInputStyles } from './baseInputStyles';\n\nimport type { StyledBaseInputProps } from './types';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { Text } from '~components/Typography';\n\nconst getWebInputStyles = (\n props: Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'> &\n ThemeProps<DefaultTheme> &\n (React.InputHTMLAttributes<HTMLInputElement> | React.ButtonHTMLAttributes<HTMLButtonElement>),\n): CSSObject => {\n return {\n ...getBaseInputStyles({\n isDisabled: props.disabled,\n theme: props.theme,\n validationState: props.validationState,\n leadingIcon: props.leadingIcon,\n prefix: props.prefix,\n interactionElement: props.interactionElement,\n suffix: props.suffix,\n trailingIcon: props.trailingIcon,\n textAlign: props.textAlign,\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n isDropdownTrigger: props.isDropdownTrigger,\n }),\n outline: 'none',\n border: 'none',\n '::placeholder': {\n ...getTextStyles({\n size: 'medium',\n variant: 'body',\n weight: 'regular',\n color: 'surface.text.gray.disabled',\n theme: props.theme,\n }),\n textAlign: props.textAlign,\n },\n ':focus': {\n outline: 'none',\n },\n cursor: props.disabled ? 'not-allowed' : 'auto',\n };\n};\n\nconst StyledBaseNativeInput = styled.input<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>(getWebInputStyles);\n\nconst StyledBaseNativeButton = styled.button<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>((props) => ({\n ...getWebInputStyles(props),\n}));\n\nconst autoCompleteSuggestionTypeMap = {\n none: 'off',\n on: 'on',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'current-password',\n newPassword: 'new-password',\n oneTimeCode: 'one-time-code',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n};\n\nconst _StyledBaseInput: React.ForwardRefRenderFunction<\n HTMLInputElement | HTMLButtonElement,\n StyledBaseInputProps\n> = (\n {\n name,\n isDisabled,\n isRequired,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n handleOnClick,\n keyboardType,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n setCurrentInteraction,\n numberOfLines,\n type,\n hasPopup,\n shouldIgnoreBlurAnimation,\n autoCapitalize,\n ...props\n },\n ref,\n) => {\n const commonProps = {\n onBlur: (event: React.ChangeEvent<HTMLInputElement>): void => {\n // In certain cases like SelectInput, we want to ignore the blur animation when option item is clicked.\n // The selectinput should always look like it is in focus otherwise it triggers blur + focus again which can cause flicker\n if (!shouldIgnoreBlurAnimation) {\n setCurrentInteraction('default');\n }\n handleOnBlur?.({ name, value: event });\n },\n onFocus: (event: React.ChangeEvent<HTMLInputElement>): void => {\n setCurrentInteraction('focus');\n handleOnFocus?.({ name, value: event });\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown?.({ name, key: event.key, code: event.code, event });\n },\n disabled: isDisabled,\n enterKeyHint: keyboardReturnKeyType === 'default' ? 'enter' : keyboardReturnKeyType,\n autoComplete: autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeMap[autoCompleteSuggestionType]\n : undefined,\n };\n\n return props.as === 'button' ? (\n <StyledBaseNativeButton\n // @ts-expect-error: TS doesnt understand that this will always be `button`\n ref={ref}\n name={name}\n type=\"button\"\n onClick={(event: React.MouseEvent<HTMLInputElement>): void => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n value={props.value}\n >\n <Text\n color={\n props.value && !isDisabled ? 'surface.text.gray.subtle' : 'surface.text.gray.disabled'\n }\n truncateAfterLines={1}\n textAlign={props.textAlign}\n >\n {props.value ? props.value : props.placeholder}\n </Text>\n </StyledBaseNativeButton>\n ) : (\n <StyledBaseNativeInput\n // @ts-expect-error: TS doesnt understand that this will always be `input`\n ref={ref}\n name={name}\n type={type === 'telephone' ? 'tel' : type}\n required={isRequired}\n maxLength={maxCharacters}\n rows={numberOfLines}\n inputMode={keyboardType === 'telephone' ? 'tel' : keyboardType}\n onChange={(event: React.ChangeEvent<HTMLInputElement>): void =>\n handleOnChange?.({ name, value: event })\n }\n onInput={(event: React.ChangeEvent<HTMLInputElement>) => {\n handleOnInput?.({ name, value: event });\n }}\n onClick={(event) => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n autoCapitalize={autoCapitalize}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n />\n );\n};\n\nconst StyledBaseInput = assignWithoutSideEffects(React.forwardRef(_StyledBaseInput), {\n displayName: 'StyledBaseInput',\n});\n\nexport { StyledBaseInput };\n"],"names":["getWebInputStyles","props","_objectSpread","getBaseInputStyles","isDisabled","disabled","theme","validationState","leadingIcon","prefix","interactionElement","suffix","trailingIcon","textAlign","isTextArea","hasTags","isDropdownTrigger","outline","border","getTextStyles","size","variant","weight","color","cursor","StyledBaseNativeInput","styled","input","withConfig","displayName","componentId","StyledBaseNativeButton","button","autoCompleteSuggestionTypeMap","none","on","name","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","_StyledBaseInput","_ref","ref","isRequired","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnInput","handleOnKeyDown","handleOnClick","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","setCurrentInteraction","numberOfLines","type","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","_objectWithoutProperties","_excluded","commonProps","onBlur","event","value","onFocus","onKeyDown","key","code","enterKeyHint","autoComplete","undefined","as","_jsx","onClick","stopPropagation","children","Text","truncateAfterLines","placeholder","required","maxLength","rows","inputMode","onChange","onInput","StyledBaseInput","assignWithoutSideEffects","React","forwardRef"],"mappings":"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"}
|
|
@@ -136,6 +136,10 @@ var _Table = function _Table(_ref3) {
|
|
|
136
136
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
137
137
|
totalItems = _React$useState6[0],
|
|
138
138
|
setTotalItems = _React$useState6[1];
|
|
139
|
+
var _React$useState7 = React__default.useState('client'),
|
|
140
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
141
|
+
paginationType = _React$useState8[0],
|
|
142
|
+
setPaginationType = _React$useState8[1];
|
|
139
143
|
// Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky
|
|
140
144
|
var shouldHeaderBeSticky = isHeaderSticky !== null && isHeaderSticky !== void 0 ? isHeaderSticky : isFirstColumnSticky;
|
|
141
145
|
var backgroundColor = tableBackgroundColor;
|
|
@@ -236,6 +240,8 @@ var _Table = function _Table(_ref3) {
|
|
|
236
240
|
page: 0,
|
|
237
241
|
size: tablePagination.defaultPageSize
|
|
238
242
|
}
|
|
243
|
+
}, {
|
|
244
|
+
isServer: paginationType === 'server'
|
|
239
245
|
});
|
|
240
246
|
var currentPaginationState = useMemo(function () {
|
|
241
247
|
return hasPagination ? {
|
|
@@ -278,9 +284,11 @@ var _Table = function _Table(_ref3) {
|
|
|
278
284
|
showStripedRows: showStripedRows,
|
|
279
285
|
disabledRows: disabledRows,
|
|
280
286
|
setDisabledRows: setDisabledRows,
|
|
287
|
+
paginationType: paginationType,
|
|
288
|
+
setPaginationType: setPaginationType,
|
|
281
289
|
backgroundColor: backgroundColor
|
|
282
290
|
};
|
|
283
|
-
}, [selectionType, selectedRows, totalItems, toggleRowSelectionById, toggleAllRowsSelection, deselectAllRows, rowDensity, toggleSort, currentSortedState, setPaginationPage, setPaginationRowSize, currentPaginationState, showStripedRows, disabledRows, setDisabledRows, backgroundColor]);
|
|
291
|
+
}, [selectionType, selectedRows, totalItems, toggleRowSelectionById, toggleAllRowsSelection, deselectAllRows, rowDensity, toggleSort, currentSortedState, setPaginationPage, setPaginationRowSize, currentPaginationState, showStripedRows, disabledRows, setDisabledRows, paginationType, setPaginationType, backgroundColor]);
|
|
284
292
|
return /*#__PURE__*/jsx(TableContext.Provider, {
|
|
285
293
|
value: tableContext,
|
|
286
294
|
children: isLoading ? /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport { SelectTypes, useRowSelect } from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyHeaderFooterZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type { TableProps, TableNode, Identifier } from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIDs: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIDs);\n onSelectionChange?.({\n values: data.nodes.filter((node) => selectedIDs.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n },\n {\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(data, {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n });\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n backgroundColor,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n backgroundColor,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyHeaderFooterZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIDs","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","assignWithoutSideEffects"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport { SelectTypes, useRowSelect } from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyHeaderFooterZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type { TableProps, TableNode, Identifier, TablePaginationType } from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n const [paginationType, setPaginationType] = React.useState<NonNullable<TablePaginationType>>(\n 'client',\n );\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyHeaderFooterZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIDs: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIDs);\n onSelectionChange?.({\n values: data.nodes.filter((node) => selectedIDs.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n },\n {\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(\n data,\n {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n },\n {\n isServer: paginationType === 'server',\n },\n );\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","_React$useState7","_React$useState8","paginationType","setPaginationType","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyHeaderFooterZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIDs","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","isServer","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","assignWithoutSideEffects"],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ var TableContext = /*#__PURE__*/React__default.createContext({
|
|
|
19
19
|
setPaginationRowSize: function setPaginationRowSize() {},
|
|
20
20
|
disabledRows: [],
|
|
21
21
|
setDisabledRows: function setDisabledRows() {},
|
|
22
|
+
paginationType: 'client',
|
|
23
|
+
setPaginationType: function setPaginationType() {},
|
|
22
24
|
backgroundColor: 'surface.background.gray.intense'
|
|
23
25
|
});
|
|
24
26
|
var useTableContext = function useTableContext() {
|