@redsift/table 11.6.0-muiv5-alpha.4 → 11.6.0-muiv5-alpha.6
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/_internal/BaseComponents.d.ts +3 -0
- package/_internal/BaseComponents.js +3 -0
- package/_internal/BaseComponents.js.map +1 -0
- package/_internal/BasePopper.js +2448 -0
- package/_internal/BasePopper.js.map +1 -0
- package/_internal/BaseTextField.d.ts +15 -0
- package/{components/BaseComponents → _internal}/BaseTextField.js +1 -1
- package/_internal/BaseTextField.js.map +1 -0
- package/_internal/ControlledPagination.js +10484 -0
- package/_internal/ControlledPagination.js.map +1 -0
- package/_internal/DataGrid.d.ts +6 -0
- package/{components/DataGrid/DataGrid.d.ts → _internal/DataGrid.d2.ts} +2 -2
- package/_internal/DataGrid.js +2 -0
- package/_internal/DataGrid.js.map +1 -0
- package/{components/DataGrid/DataGrid.js → _internal/DataGrid2.js} +9 -17
- package/_internal/DataGrid2.js.map +1 -0
- package/_internal/GridToolbarFilterSemanticField.d.ts +5 -0
- package/{components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.d.ts → _internal/GridToolbarFilterSemanticField.d2.ts} +2 -2
- package/_internal/GridToolbarFilterSemanticField.js +2 -0
- package/_internal/GridToolbarFilterSemanticField.js.map +1 -0
- package/_internal/GridToolbarFilterSemanticField2.js +5581 -0
- package/_internal/GridToolbarFilterSemanticField2.js.map +1 -0
- package/_internal/Pagination.d.ts +7 -0
- package/_internal/Pagination.js +2 -0
- package/_internal/Pagination.js.map +1 -0
- package/_internal/Portal.js +4363 -0
- package/_internal/Portal.js.map +1 -0
- package/{components/Pagination → _internal}/ServerSideControlledPagination.d.ts +19 -3
- package/_internal/StatefulDataGrid.d.ts +6 -0
- package/{components/StatefulDataGrid/types.d.ts → _internal/StatefulDataGrid.d2.ts} +5 -2
- package/_internal/StatefulDataGrid.js +2 -0
- package/_internal/StatefulDataGrid.js.map +1 -0
- package/{utils/urlLocalStorageSync.js → _internal/StatefulDataGrid2.js} +671 -5
- package/_internal/StatefulDataGrid2.js.map +1 -0
- package/_internal/TextCell.d.ts +3 -0
- package/{components/TextCell/types.d.ts → _internal/TextCell.d2.ts} +7 -2
- package/_internal/TextCell.js +2 -0
- package/_internal/TextCell.js.map +1 -0
- package/{components/TextCell/TextCell.js → _internal/TextCell2.js} +22 -4
- package/_internal/TextCell2.js.map +1 -0
- package/_internal/Toolbar.d.ts +4 -0
- package/{components/Toolbar/types.d.ts → _internal/Toolbar.d2.ts} +19 -3
- package/_internal/Toolbar.js +2 -0
- package/_internal/Toolbar.js.map +1 -0
- package/{components/Toolbar/Toolbar.js → _internal/Toolbar2.js} +18 -5
- package/_internal/Toolbar2.js.map +1 -0
- package/_internal/ToolbarWrapper.d.ts +6 -0
- package/{components/ToolbarWrapper/ToolbarWrapper.d.ts → _internal/ToolbarWrapper.d2.ts} +2 -2
- package/_internal/ToolbarWrapper.js +2 -0
- package/_internal/ToolbarWrapper.js.map +1 -0
- package/{components/ToolbarWrapper/ToolbarWrapper.js → _internal/ToolbarWrapper2.js} +4 -5
- package/_internal/ToolbarWrapper2.js.map +1 -0
- package/{_virtual → _internal}/_rollupPluginBabelHelpers.js +1 -1
- package/_internal/jsx-runtime.js +1342 -0
- package/_internal/jsx-runtime.js.map +1 -0
- package/{components/DataGrid → _internal}/types.d.ts +1 -2
- package/{components/GridToolbarFilterSemanticField/types.d.ts → _internal/types.d2.ts} +1 -1
- package/_internal/useControlledDatagridState.js +2175 -0
- package/_internal/useControlledDatagridState.js.map +1 -0
- package/index.d.ts +405 -39
- package/index.js +17 -36
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/_virtual/_commonjsHelpers.js +0 -6
- package/_virtual/_commonjsHelpers.js.map +0 -1
- package/_virtual/index.js +0 -4
- package/_virtual/index.js.map +0 -1
- package/_virtual/index2.js +0 -4
- package/_virtual/index2.js.map +0 -1
- package/_virtual/index3.js +0 -4
- package/_virtual/index3.js.map +0 -1
- package/_virtual/jsx-runtime.js +0 -4
- package/_virtual/jsx-runtime.js.map +0 -1
- package/_virtual/react-is.development.js +0 -4
- package/_virtual/react-is.development.js.map +0 -1
- package/_virtual/react-is.development2.js +0 -4
- package/_virtual/react-is.development2.js.map +0 -1
- package/_virtual/react-is.production.min.js +0 -4
- package/_virtual/react-is.production.min.js.map +0 -1
- package/_virtual/react-is.production.min2.js +0 -4
- package/_virtual/react-is.production.min2.js.map +0 -1
- package/_virtual/react-jsx-runtime.development.js +0 -4
- package/_virtual/react-jsx-runtime.development.js.map +0 -1
- package/_virtual/react-jsx-runtime.production.min.js +0 -4
- package/_virtual/react-jsx-runtime.production.min.js.map +0 -1
- package/components/BaseComponents/BaseButton.d.ts +0 -5
- package/components/BaseComponents/BaseButton.js +0 -41
- package/components/BaseComponents/BaseButton.js.map +0 -1
- package/components/BaseComponents/BaseCheckbox.d.ts +0 -5
- package/components/BaseComponents/BaseCheckbox.js +0 -24
- package/components/BaseComponents/BaseCheckbox.js.map +0 -1
- package/components/BaseComponents/BaseIcon.d.ts +0 -7
- package/components/BaseComponents/BaseIcon.js +0 -33
- package/components/BaseComponents/BaseIcon.js.map +0 -1
- package/components/BaseComponents/BasePopper.d.ts +0 -5
- package/components/BaseComponents/BasePopper.js +0 -13
- package/components/BaseComponents/BasePopper.js.map +0 -1
- package/components/BaseComponents/BaseTextField.d.ts +0 -5
- package/components/BaseComponents/BaseTextField.js.map +0 -1
- package/components/DataGrid/DataGrid.js.map +0 -1
- package/components/DataGrid/styles.js +0 -74
- package/components/DataGrid/styles.js.map +0 -1
- package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js +0 -183
- package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js.map +0 -1
- package/components/GridToolbarFilterSemanticField/styles.js +0 -20
- package/components/GridToolbarFilterSemanticField/styles.js.map +0 -1
- package/components/Pagination/ControlledPagination.d.ts +0 -21
- package/components/Pagination/ControlledPagination.js +0 -74
- package/components/Pagination/ControlledPagination.js.map +0 -1
- package/components/Pagination/ServerSideControlledPagination.js +0 -102
- package/components/Pagination/ServerSideControlledPagination.js.map +0 -1
- package/components/StatefulDataGrid/StatefulDataGrid.d.ts +0 -6
- package/components/StatefulDataGrid/StatefulDataGrid.js +0 -373
- package/components/StatefulDataGrid/StatefulDataGrid.js.map +0 -1
- package/components/TextCell/TextCell.d.ts +0 -9
- package/components/TextCell/TextCell.js.map +0 -1
- package/components/TextCell/styles.js +0 -22
- package/components/TextCell/styles.js.map +0 -1
- package/components/Toolbar/Toolbar.d.ts +0 -20
- package/components/Toolbar/Toolbar.js.map +0 -1
- package/components/Toolbar/styles.js +0 -17
- package/components/Toolbar/styles.js.map +0 -1
- package/components/ToolbarWrapper/ToolbarWrapper.js.map +0 -1
- package/hooks/useControlledDatagridState.js +0 -109
- package/hooks/useControlledDatagridState.js.map +0 -1
- package/hooks/useFetchState.js +0 -34
- package/hooks/useFetchState.js.map +0 -1
- package/hooks/useStatefulTable.d.ts +0 -12
- package/hooks/useStatefulTable.js +0 -182
- package/hooks/useStatefulTable.js.map +0 -1
- package/hooks/useTableStates.js +0 -52
- package/hooks/useTableStates.js.map +0 -1
- package/packages/design-system/src/components/theme/context.js +0 -7
- package/packages/design-system/src/components/theme/context.js.map +0 -1
- package/packages/popovers/src/components/tooltip/Tooltip.js +0 -60
- package/packages/popovers/src/components/tooltip/Tooltip.js.map +0 -1
- package/packages/popovers/src/components/tooltip/context.js +0 -6
- package/packages/popovers/src/components/tooltip/context.js.map +0 -1
- package/packages/popovers/src/components/tooltip/types.js +0 -28
- package/packages/popovers/src/components/tooltip/types.js.map +0 -1
- package/packages/popovers/src/components/tooltip/useTooltip.js +0 -78
- package/packages/popovers/src/components/tooltip/useTooltip.js.map +0 -1
- package/packages/popovers/src/components/tooltip/useTooltipContext.js +0 -13
- package/packages/popovers/src/components/tooltip/useTooltipContext.js.map +0 -1
- package/packages/popovers/src/components/tooltip-content/TooltipContent.js +0 -79
- package/packages/popovers/src/components/tooltip-content/TooltipContent.js.map +0 -1
- package/packages/popovers/src/components/tooltip-content/styles.js +0 -127
- package/packages/popovers/src/components/tooltip-content/styles.js.map +0 -1
- package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js +0 -47
- package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js.map +0 -1
- package/utils/columnTypes/index.d.ts +0 -78
- package/utils/columnTypes/index.js +0 -49
- package/utils/columnTypes/index.js.map +0 -1
- package/utils/columns/detailPanelToggleColDef.d.ts +0 -5
- package/utils/columns/detailPanelToggleColDef.js +0 -8
- package/utils/columns/detailPanelToggleColDef.js.map +0 -1
- package/utils/fields/InputNumberInterval.js +0 -85
- package/utils/fields/InputNumberInterval.js.map +0 -1
- package/utils/gpt.d.ts +0 -3
- package/utils/gpt.js +0 -33
- package/utils/gpt.js.map +0 -1
- package/utils/localStorage.d.ts +0 -17
- package/utils/localStorage.js +0 -59
- package/utils/localStorage.js.map +0 -1
- package/utils/operators/index.d.ts +0 -68
- package/utils/operators/index.js +0 -52
- package/utils/operators/index.js.map +0 -1
- package/utils/operators/numeric/getGridNumericOperators.d.ts +0 -5
- package/utils/operators/numeric/getGridNumericOperators.js +0 -7
- package/utils/operators/numeric/getGridNumericOperators.js.map +0 -1
- package/utils/operators/numeric/isBetween.d.ts +0 -10
- package/utils/operators/numeric/isBetween.js +0 -28
- package/utils/operators/numeric/isBetween.js.map +0 -1
- package/utils/operators/string/doesNotContain.d.ts +0 -10
- package/utils/operators/string/doesNotContain.js +0 -25
- package/utils/operators/string/doesNotContain.js.map +0 -1
- package/utils/operators/string/doesNotEqual.d.ts +0 -10
- package/utils/operators/string/doesNotEqual.js +0 -25
- package/utils/operators/string/doesNotEqual.js.map +0 -1
- package/utils/operators/string/doesNotHave.d.ts +0 -16
- package/utils/operators/string/doesNotHave.js +0 -24
- package/utils/operators/string/doesNotHave.js.map +0 -1
- package/utils/operators/string/getGridStringOperators.d.ts +0 -5
- package/utils/operators/string/getGridStringOperators.js +0 -9
- package/utils/operators/string/getGridStringOperators.js.map +0 -1
- package/utils/operators/string/has.d.ts +0 -16
- package/utils/operators/string/has.js +0 -24
- package/utils/operators/string/has.js.map +0 -1
- package/utils/operators/string/hasOnly.d.ts +0 -16
- package/utils/operators/string/hasOnly.js +0 -24
- package/utils/operators/string/hasOnly.js.map +0 -1
- package/utils/operators/string/is.d.ts +0 -16
- package/utils/operators/string/is.js +0 -26
- package/utils/operators/string/is.js.map +0 -1
- package/utils/operators/string/isNot.d.ts +0 -16
- package/utils/operators/string/isNot.js +0 -26
- package/utils/operators/string/isNot.js.map +0 -1
- package/utils/operators/string-array/containsAnyOf.d.ts +0 -16
- package/utils/operators/string-array/containsAnyOf.js +0 -56
- package/utils/operators/string-array/containsAnyOf.js.map +0 -1
- package/utils/operators/string-array/doesNotHaveAnyOf.js +0 -26
- package/utils/operators/string-array/doesNotHaveAnyOf.js.map +0 -1
- package/utils/operators/string-array/endsWithAnyOf.d.ts +0 -10
- package/utils/operators/string-array/endsWithAnyOf.js +0 -31
- package/utils/operators/string-array/endsWithAnyOf.js.map +0 -1
- package/utils/operators/string-array/getGridStringArrayOperators.d.ts +0 -7
- package/utils/operators/string-array/getGridStringArrayOperators.js +0 -19
- package/utils/operators/string-array/getGridStringArrayOperators.js.map +0 -1
- package/utils/operators/string-array/hasAnyOf.d.ts +0 -16
- package/utils/operators/string-array/hasAnyOf.js +0 -28
- package/utils/operators/string-array/hasAnyOf.js.map +0 -1
- package/utils/operators/string-array/isAnyOf.d.ts +0 -16
- package/utils/operators/string-array/isAnyOf.js +0 -32
- package/utils/operators/string-array/isAnyOf.js.map +0 -1
- package/utils/operators/string-array/isNotAnyOf.d.ts +0 -10
- package/utils/operators/string-array/isNotAnyOf.js +0 -28
- package/utils/operators/string-array/isNotAnyOf.js.map +0 -1
- package/utils/operators/string-array/startsWithAnyOf.d.ts +0 -10
- package/utils/operators/string-array/startsWithAnyOf.js +0 -31
- package/utils/operators/string-array/startsWithAnyOf.js.map +0 -1
- package/utils/urlLocalStorageSync.d.ts +0 -73
- package/utils/urlLocalStorageSync.js.map +0 -1
- /package/{_virtual → _internal}/_rollupPluginBabelHelpers.js.map +0 -0
package/hooks/useTableStates.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { buildStorageKey, PAGINATION_MODEL_KEY, SORT_MODEL_KEY, FILTER_SEARCH_KEY, VISIBILITY_MODEL_KEY, PINNED_COLUMNS, DIMENSION_MODEL_KEY } from '../utils/localStorage.js';
|
|
2
|
-
import { useFetchState } from './useFetchState.js';
|
|
3
|
-
|
|
4
|
-
const useTableStates = (id, version) => {
|
|
5
|
-
const [paginationModel, setPaginationModel] = useFetchState('', buildStorageKey({
|
|
6
|
-
id,
|
|
7
|
-
version,
|
|
8
|
-
category: PAGINATION_MODEL_KEY
|
|
9
|
-
}));
|
|
10
|
-
const [sortModel, setSortModel] = useFetchState('', buildStorageKey({
|
|
11
|
-
id,
|
|
12
|
-
version,
|
|
13
|
-
category: SORT_MODEL_KEY
|
|
14
|
-
}));
|
|
15
|
-
const [localStorageFilters, setLocalStorageFilters] = useFetchState('', buildStorageKey({
|
|
16
|
-
id,
|
|
17
|
-
version,
|
|
18
|
-
category: FILTER_SEARCH_KEY
|
|
19
|
-
}));
|
|
20
|
-
const [visibilityModelLocalStorage, setVisibilityModelLocalStorage] = useFetchState('', buildStorageKey({
|
|
21
|
-
id,
|
|
22
|
-
version,
|
|
23
|
-
category: VISIBILITY_MODEL_KEY
|
|
24
|
-
}));
|
|
25
|
-
const [pinnedColumns, setPinnedColumns] = useFetchState('_pinnedColumnsLeft=[]&_pinnedColumnsRight=[]', buildStorageKey({
|
|
26
|
-
id,
|
|
27
|
-
version,
|
|
28
|
-
category: PINNED_COLUMNS
|
|
29
|
-
}));
|
|
30
|
-
const [dimensionModel, setDimensionModel] = useFetchState({}, buildStorageKey({
|
|
31
|
-
id,
|
|
32
|
-
version,
|
|
33
|
-
category: DIMENSION_MODEL_KEY
|
|
34
|
-
}));
|
|
35
|
-
return {
|
|
36
|
-
paginationModel,
|
|
37
|
-
setPaginationModel,
|
|
38
|
-
sortModel,
|
|
39
|
-
setSortModel,
|
|
40
|
-
localStorageFilters,
|
|
41
|
-
setLocalStorageFilters,
|
|
42
|
-
visibilityModelLocalStorage,
|
|
43
|
-
setVisibilityModelLocalStorage,
|
|
44
|
-
pinnedColumns,
|
|
45
|
-
setPinnedColumns,
|
|
46
|
-
dimensionModel,
|
|
47
|
-
setDimensionModel
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export { useTableStates };
|
|
52
|
-
//# sourceMappingURL=useTableStates.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTableStates.js","sources":["../../src/hooks/useTableStates.tsx"],"sourcesContent":["import {\n buildStorageKey,\n DIMENSION_MODEL_KEY,\n FILTER_SEARCH_KEY,\n PAGINATION_MODEL_KEY,\n PINNED_COLUMNS,\n SORT_MODEL_KEY,\n VISIBILITY_MODEL_KEY,\n} from '../utils/localStorage';\nimport { useFetchState } from './useFetchState';\n\nexport const useTableStates = (id: string, version: number) => {\n const [paginationModel, setPaginationModel] = useFetchState(\n '',\n buildStorageKey({ id, version, category: PAGINATION_MODEL_KEY })\n );\n\n const [sortModel, setSortModel] = useFetchState('', buildStorageKey({ id, version, category: SORT_MODEL_KEY }));\n\n const [localStorageFilters, setLocalStorageFilters] = useFetchState(\n '',\n buildStorageKey({ id, version, category: FILTER_SEARCH_KEY })\n );\n\n const [visibilityModelLocalStorage, setVisibilityModelLocalStorage] = useFetchState(\n '',\n buildStorageKey({ id, version, category: VISIBILITY_MODEL_KEY })\n );\n\n const [pinnedColumns, setPinnedColumns] = useFetchState(\n '_pinnedColumnsLeft=[]&_pinnedColumnsRight=[]',\n buildStorageKey({ id, version, category: PINNED_COLUMNS })\n );\n\n const [dimensionModel, setDimensionModel] = useFetchState(\n {},\n buildStorageKey({ id, version, category: DIMENSION_MODEL_KEY })\n );\n\n return {\n paginationModel,\n setPaginationModel,\n sortModel,\n setSortModel,\n localStorageFilters,\n setLocalStorageFilters,\n visibilityModelLocalStorage,\n setVisibilityModelLocalStorage,\n pinnedColumns,\n setPinnedColumns,\n dimensionModel,\n setDimensionModel,\n };\n};\n"],"names":["useTableStates","id","version","paginationModel","setPaginationModel","useFetchState","buildStorageKey","category","PAGINATION_MODEL_KEY","sortModel","setSortModel","SORT_MODEL_KEY","localStorageFilters","setLocalStorageFilters","FILTER_SEARCH_KEY","visibilityModelLocalStorage","setVisibilityModelLocalStorage","VISIBILITY_MODEL_KEY","pinnedColumns","setPinnedColumns","PINNED_COLUMNS","dimensionModel","setDimensionModel","DIMENSION_MODEL_KEY"],"mappings":";;;MAWaA,cAAc,GAAGA,CAACC,EAAU,EAAEC,OAAe,KAAK;EAC7D,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGC,aAAa,CACzD,EAAE,EACFC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEC,oBAAAA;AAAqB,GAAC,CACjE,CAAC,CAAA;EAED,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGL,aAAa,CAAC,EAAE,EAAEC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEI,cAAAA;AAAe,GAAC,CAAC,CAAC,CAAA;EAE/G,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGR,aAAa,CACjE,EAAE,EACFC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEO,iBAAAA;AAAkB,GAAC,CAC9D,CAAC,CAAA;EAED,MAAM,CAACC,2BAA2B,EAAEC,8BAA8B,CAAC,GAAGX,aAAa,CACjF,EAAE,EACFC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEU,oBAAAA;AAAqB,GAAC,CACjE,CAAC,CAAA;EAED,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGd,aAAa,CACrD,8CAA8C,EAC9CC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEa,cAAAA;AAAe,GAAC,CAC3D,CAAC,CAAA;AAED,EAAA,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGjB,aAAa,CACvD,EAAE,EACFC,eAAe,CAAC;IAAEL,EAAE;IAAEC,OAAO;AAAEK,IAAAA,QAAQ,EAAEgB,mBAAAA;AAAoB,GAAC,CAChE,CAAC,CAAA;EAED,OAAO;IACLpB,eAAe;IACfC,kBAAkB;IAClBK,SAAS;IACTC,YAAY;IACZE,mBAAmB;IACnBC,sBAAsB;IACtBE,2BAA2B;IAC3BC,8BAA8B;IAC9BE,aAAa;IACbC,gBAAgB;IAChBE,cAAc;AACdC,IAAAA,iBAAAA;GACD,CAAA;AACH;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../../../../../design-system/src/components/theme/context.ts"],"sourcesContent":["import React from 'react';\nimport { Theme } from '../../types';\n\nexport const ThemeContext = React.createContext<{ theme?: Theme } | null>(null);\n\nexport const ThemeProvider = ThemeContext.Provider;\n"],"names":["ThemeContext","React","createContext","ThemeProvider","Provider"],"mappings":";;AAGO,MAAMA,YAAY,gBAAGC,cAAK,CAACC,aAAa,CAA2B,IAAI,EAAC;AAElEC,MAAAA,aAAa,GAAGH,YAAY,CAACI;;;;"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
import { useTheme, partitionComponents, isComponent } from '@redsift/design-system';
|
|
3
|
-
import { TooltipContext } from './context.js';
|
|
4
|
-
import { TooltipPlacement } from './types.js';
|
|
5
|
-
import { useTooltip } from './useTooltip.js';
|
|
6
|
-
import { ThemeProvider } from '../../../../design-system/src/components/theme/context.js';
|
|
7
|
-
import { TooltipTrigger } from '../tooltip-trigger/TooltipTrigger.js';
|
|
8
|
-
import { TooltipContent } from '../tooltip-content/TooltipContent.js';
|
|
9
|
-
|
|
10
|
-
const COMPONENT_NAME = 'Tooltip';
|
|
11
|
-
const CLASSNAME = 'redsift-tooltip';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* The Tooltip component.
|
|
15
|
-
*/
|
|
16
|
-
const BaseTooltip = props => {
|
|
17
|
-
const {
|
|
18
|
-
children,
|
|
19
|
-
color,
|
|
20
|
-
defaultOpen,
|
|
21
|
-
delay = 300,
|
|
22
|
-
isOpen,
|
|
23
|
-
offset,
|
|
24
|
-
onOpen,
|
|
25
|
-
placement = TooltipPlacement.top,
|
|
26
|
-
theme: propsTheme,
|
|
27
|
-
tooltipId,
|
|
28
|
-
triggerClassName
|
|
29
|
-
} = props;
|
|
30
|
-
const theme = useTheme ? useTheme(propsTheme) : undefined;
|
|
31
|
-
const tooltip = useTooltip({
|
|
32
|
-
color,
|
|
33
|
-
defaultOpen,
|
|
34
|
-
delay,
|
|
35
|
-
placement,
|
|
36
|
-
isOpen,
|
|
37
|
-
offset,
|
|
38
|
-
onOpen,
|
|
39
|
-
tooltipId,
|
|
40
|
-
theme,
|
|
41
|
-
triggerClassName
|
|
42
|
-
});
|
|
43
|
-
const [[trigger], [content]] = partitionComponents(React__default.Children.toArray(children), [isComponent('TooltipTrigger'), isComponent('TooltipContent')]);
|
|
44
|
-
return /*#__PURE__*/React__default.createElement(ThemeProvider, {
|
|
45
|
-
value: {
|
|
46
|
-
theme
|
|
47
|
-
}
|
|
48
|
-
}, /*#__PURE__*/React__default.createElement(TooltipContext.Provider, {
|
|
49
|
-
value: tooltip
|
|
50
|
-
}, trigger && isComponent('TooltipTrigger')(trigger) ? trigger : null, content && isComponent('TooltipContent')(content) ? content : null));
|
|
51
|
-
};
|
|
52
|
-
BaseTooltip.className = CLASSNAME;
|
|
53
|
-
BaseTooltip.displayName = COMPONENT_NAME;
|
|
54
|
-
const Tooltip = Object.assign(BaseTooltip, {
|
|
55
|
-
Trigger: TooltipTrigger,
|
|
56
|
-
Content: TooltipContent
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
export { BaseTooltip, Tooltip };
|
|
60
|
-
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../../../../../../popovers/src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import React from 'react';\nimport { partitionComponents, isComponent, useTheme } from '@redsift/design-system';\nimport { TooltipContent } from '../tooltip-content';\nimport { TooltipTrigger } from '../tooltip-trigger';\n\nimport { TooltipContext } from './context';\nimport { TooltipPlacement, TooltipProps } from './types';\nimport { useTooltip } from './useTooltip';\n\nimport { ThemeProvider } from '../../../../design-system/src/components/theme/context';\n\nconst COMPONENT_NAME = 'Tooltip';\nconst CLASSNAME = 'redsift-tooltip';\n\n/**\n * The Tooltip component.\n */\nexport const BaseTooltip: React.FC<TooltipProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n children,\n color,\n defaultOpen,\n delay = 300,\n isOpen,\n offset,\n onOpen,\n placement = TooltipPlacement.top,\n theme: propsTheme,\n tooltipId,\n triggerClassName,\n } = props;\n\n const theme = useTheme ? useTheme(propsTheme) : undefined;\n\n const tooltip = useTooltip({\n color,\n defaultOpen,\n delay,\n placement,\n isOpen,\n offset,\n onOpen,\n tooltipId,\n theme,\n triggerClassName,\n });\n\n const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [\n isComponent('TooltipTrigger'),\n isComponent('TooltipContent'),\n ]);\n\n return (\n <ThemeProvider value={{ theme }}>\n <TooltipContext.Provider value={tooltip}>\n {trigger && isComponent('TooltipTrigger')(trigger) ? trigger : null}\n {content && isComponent('TooltipContent')(content) ? content : null}\n </TooltipContext.Provider>\n </ThemeProvider>\n );\n};\nBaseTooltip.className = CLASSNAME;\nBaseTooltip.displayName = COMPONENT_NAME;\n\nexport const Tooltip = Object.assign(BaseTooltip, {\n Trigger: TooltipTrigger,\n Content: TooltipContent,\n});\n"],"names":["COMPONENT_NAME","CLASSNAME","BaseTooltip","props","children","color","defaultOpen","delay","isOpen","offset","onOpen","placement","TooltipPlacement","top","theme","propsTheme","tooltipId","triggerClassName","useTheme","undefined","tooltip","useTooltip","trigger","content","partitionComponents","React","Children","toArray","isComponent","createElement","ThemeProvider","value","TooltipContext","Provider","className","displayName","Tooltip","Object","assign","Trigger","TooltipTrigger","Content","TooltipContent"],"mappings":";;;;;;;;;AAWA,MAAMA,cAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,SAAS,GAAG,iBAAiB,CAAA;;AAEnC;AACA;AACA;AACaC,MAAAA,WAGZ,GAAIC,KAAK,IAAK;EACb,MAAM;IACJC,QAAQ;IACRC,KAAK;IACLC,WAAW;AACXC,IAAAA,KAAK,GAAG,GAAG;IACXC,MAAM;IACNC,MAAM;IACNC,MAAM;IACNC,SAAS,GAAGC,gBAAgB,CAACC,GAAG;AAChCC,IAAAA,KAAK,EAAEC,UAAU;IACjBC,SAAS;AACTC,IAAAA,gBAAAA;AACF,GAAC,GAAGd,KAAK,CAAA;EAET,MAAMW,KAAK,GAAGI,QAAQ,GAAGA,QAAQ,CAACH,UAAU,CAAC,GAAGI,SAAS,CAAA;EAEzD,MAAMC,OAAO,GAAGC,UAAU,CAAC;IACzBhB,KAAK;IACLC,WAAW;IACXC,KAAK;IACLI,SAAS;IACTH,MAAM;IACNC,MAAM;IACNC,MAAM;IACNM,SAAS;IACTF,KAAK;AACLG,IAAAA,gBAAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM,CAAC,CAACK,OAAO,CAAC,EAAE,CAACC,OAAO,CAAC,CAAC,GAAGC,mBAAmB,CAACC,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACvB,QAAQ,CAAC,EAAE,CACnFwB,WAAW,CAAC,gBAAgB,CAAC,EAC7BA,WAAW,CAAC,gBAAgB,CAAC,CAC9B,CAAC,CAAA;AAEF,EAAA,oBACEH,cAAA,CAAAI,aAAA,CAACC,aAAa,EAAA;AAACC,IAAAA,KAAK,EAAE;AAAEjB,MAAAA,KAAAA;AAAM,KAAA;AAAE,GAAA,eAC9BW,cAAA,CAAAI,aAAA,CAACG,cAAc,CAACC,QAAQ,EAAA;AAACF,IAAAA,KAAK,EAAEX,OAAAA;AAAQ,GAAA,EACrCE,OAAO,IAAIM,WAAW,CAAC,gBAAgB,CAAC,CAACN,OAAO,CAAC,GAAGA,OAAO,GAAG,IAAI,EAClEC,OAAO,IAAIK,WAAW,CAAC,gBAAgB,CAAC,CAACL,OAAO,CAAC,GAAGA,OAAO,GAAG,IACxC,CACZ,CAAC,CAAA;AAEpB,EAAC;AACDrB,WAAW,CAACgC,SAAS,GAAGjC,SAAS,CAAA;AACjCC,WAAW,CAACiC,WAAW,GAAGnC,cAAc,CAAA;AAEjC,MAAMoC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACpC,WAAW,EAAE;AAChDqC,EAAAA,OAAO,EAAEC,cAAc;AACvBC,EAAAA,OAAO,EAAEC,cAAAA;AACX,CAAC;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../../../../../popovers/src/components/tooltip/context.ts"],"sourcesContent":["import React from 'react';\nimport { TooltipState } from './types';\n\nexport const TooltipContext = React.createContext<TooltipState | null>(null);\n"],"names":["TooltipContext","React","createContext"],"mappings":";;AAGO,MAAMA,cAAc,gBAAGC,cAAK,CAACC,aAAa,CAAsB,IAAI;;;;"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Context props.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Component variant.
|
|
7
|
-
*/
|
|
8
|
-
const TooltipPlacement = {
|
|
9
|
-
top: 'top',
|
|
10
|
-
right: 'right',
|
|
11
|
-
bottom: 'bottom',
|
|
12
|
-
left: 'left',
|
|
13
|
-
'top-start': 'top-start',
|
|
14
|
-
'top-end': 'top-end',
|
|
15
|
-
'right-start': 'right-start',
|
|
16
|
-
'right-end': 'right-end',
|
|
17
|
-
'bottom-start': 'bottom-start',
|
|
18
|
-
'bottom-end': 'bottom-end',
|
|
19
|
-
'left-start': 'left-start',
|
|
20
|
-
'left-end': 'left-end'
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Component props.
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
export { TooltipPlacement };
|
|
28
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../../../popovers/src/components/tooltip/types.ts"],"sourcesContent":["import { ReactNode } from 'react';\nimport { ButtonColor, Theme, ValueOf } from '@redsift/design-system';\nimport { useTooltip } from './useTooltip';\n\n/**\n * Context props.\n */\nexport type TooltipState =\n | (ReturnType<typeof useTooltip> & {\n /** Class name to append to the trigger. */\n readonly triggerClassName?: string;\n })\n | null;\n\n/**\n * Component variant.\n */\nexport const TooltipPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type TooltipPlacement = ValueOf<typeof TooltipPlacement>;\n\n/**\n * Component props.\n */\nexport interface TooltipProps {\n /** Button color that will be forward to the trigger. */\n color?: ButtonColor;\n /** Children. Can only be TooltipTrigger and TooltilContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Delay time (in ms) for the tooltip to show up. */\n delay?: number;\n /** Default placement of the tooltip. */\n placement?: TooltipPlacement | 'client-point';\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Space between trigger and content (in pixels). */\n offset?: number;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Id to the tooltip content. */\n tooltipId?: string;\n /** Theme. */\n theme?: Theme;\n /** Class name to append to the trigger. */\n triggerClassName?: string;\n}\n\nexport type StyledTooltipProps = TooltipProps;\n"],"names":["TooltipPlacement","top","right","bottom","left"],"mappings":"AAIA;AACA;AACA;;AAQA;AACA;AACA;AACO,MAAMA,gBAAgB,GAAG;AAC9BC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAE,MAAM;AACZ,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,SAAS,EAAE,SAAS;AACpB,EAAA,aAAa,EAAE,aAAa;AAC5B,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,cAAc,EAAE,cAAc;AAC9B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,UAAU,EAAE,UAAA;AACd,EAAU;;AAGV;AACA;AACA;;;;"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { objectSpread2 as _objectSpread2 } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import React__default, { useRef, useState, useEffect, useCallback } from 'react';
|
|
3
|
-
import { useFloating, useClientPoint, useHover, safePolygon, useFocus, useDismiss, useRole, useInteractions } from '../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs.js';
|
|
4
|
-
import { useId } from '@redsift/design-system';
|
|
5
|
-
import { autoUpdate } from '../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js';
|
|
6
|
-
import { offset, flip, shift, arrow } from '../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.js';
|
|
7
|
-
|
|
8
|
-
function useTooltip(_ref) {
|
|
9
|
-
let {
|
|
10
|
-
color,
|
|
11
|
-
defaultOpen,
|
|
12
|
-
delay,
|
|
13
|
-
placement,
|
|
14
|
-
isOpen: propsIsOpen,
|
|
15
|
-
offset: propsOffset,
|
|
16
|
-
onOpen,
|
|
17
|
-
tooltipId: propsTooltipId,
|
|
18
|
-
triggerClassName
|
|
19
|
-
} = _ref;
|
|
20
|
-
const arrowRef = useRef(null);
|
|
21
|
-
const [isOpen, setIsOpen] = useState(propsIsOpen !== null && propsIsOpen !== void 0 ? propsIsOpen : defaultOpen);
|
|
22
|
-
const [_id] = useId();
|
|
23
|
-
const tooltipId = propsTooltipId !== null && propsTooltipId !== void 0 ? propsTooltipId : _id;
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
setIsOpen(propsIsOpen !== null && propsIsOpen !== void 0 ? propsIsOpen : defaultOpen);
|
|
26
|
-
}, [propsIsOpen, defaultOpen]);
|
|
27
|
-
const handleOpen = useCallback(collapsed => {
|
|
28
|
-
if (onOpen) {
|
|
29
|
-
onOpen(collapsed);
|
|
30
|
-
}
|
|
31
|
-
if (propsIsOpen === undefined || propsIsOpen === null) {
|
|
32
|
-
setIsOpen(collapsed);
|
|
33
|
-
}
|
|
34
|
-
}, [onOpen]);
|
|
35
|
-
const data = useFloating({
|
|
36
|
-
placement: placement === 'client-point' ? 'left' : placement,
|
|
37
|
-
open: isOpen,
|
|
38
|
-
onOpenChange: handleOpen,
|
|
39
|
-
whileElementsMounted: autoUpdate,
|
|
40
|
-
middleware: [offset(propsOffset !== null && propsOffset !== void 0 ? propsOffset : 8), flip({
|
|
41
|
-
fallbackAxisSideDirection: 'start'
|
|
42
|
-
}), shift({
|
|
43
|
-
padding: 8
|
|
44
|
-
}), arrow({
|
|
45
|
-
element: arrowRef
|
|
46
|
-
})]
|
|
47
|
-
});
|
|
48
|
-
const context = data.context;
|
|
49
|
-
const clientPoint = useClientPoint(context, {
|
|
50
|
-
enabled: placement === 'client-point'
|
|
51
|
-
});
|
|
52
|
-
const hover = useHover(context, {
|
|
53
|
-
move: false,
|
|
54
|
-
delay: {
|
|
55
|
-
open: delay,
|
|
56
|
-
close: 0
|
|
57
|
-
},
|
|
58
|
-
handleClose: safePolygon()
|
|
59
|
-
});
|
|
60
|
-
const focus = useFocus(context);
|
|
61
|
-
const dismiss = useDismiss(context);
|
|
62
|
-
const role = useRole(context, {
|
|
63
|
-
role: 'tooltip'
|
|
64
|
-
});
|
|
65
|
-
const interactions = useInteractions([hover, focus, dismiss, role, clientPoint]);
|
|
66
|
-
return React__default.useMemo(() => _objectSpread2(_objectSpread2(_objectSpread2({
|
|
67
|
-
color,
|
|
68
|
-
isOpen,
|
|
69
|
-
handleOpen
|
|
70
|
-
}, interactions), data), {}, {
|
|
71
|
-
arrowRef,
|
|
72
|
-
tooltipId,
|
|
73
|
-
triggerClassName
|
|
74
|
-
}), [color, isOpen, handleOpen, interactions, data, arrowRef, tooltipId, triggerClassName]);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export { useTooltip };
|
|
78
|
-
//# sourceMappingURL=useTooltip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTooltip.js","sources":["../../../../../../../popovers/src/components/tooltip/useTooltip.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useFloating,\n arrow,\n autoUpdate,\n offset,\n flip,\n safePolygon,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n useClientPoint,\n} from '@floating-ui/react';\nimport { TooltipProps } from './types';\nimport { useId } from '@redsift/design-system';\n\nexport function useTooltip({\n color,\n defaultOpen,\n delay,\n placement,\n isOpen: propsIsOpen,\n offset: propsOffset,\n onOpen,\n tooltipId: propsTooltipId,\n triggerClassName,\n}: Omit<TooltipProps, 'children'>) {\n const arrowRef = useRef(null);\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n const [_id] = useId();\n const tooltipId = propsTooltipId ?? _id;\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n placement: placement === 'client-point' ? 'left' : placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(propsOffset ?? 8),\n flip({\n fallbackAxisSideDirection: 'start',\n }),\n shift({ padding: 8 }),\n arrow({\n element: arrowRef,\n }),\n ],\n });\n\n const context = data.context;\n const clientPoint = useClientPoint(context, { enabled: placement === 'client-point' });\n\n const hover = useHover(context, {\n move: false,\n delay: {\n open: delay,\n close: 0,\n },\n handleClose: safePolygon(),\n });\n const focus = useFocus(context);\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: 'tooltip' });\n\n const interactions = useInteractions([hover, focus, dismiss, role, clientPoint]);\n\n return React.useMemo(\n () => ({\n color,\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n arrowRef,\n tooltipId,\n triggerClassName,\n }),\n [color, isOpen, handleOpen, interactions, data, arrowRef, tooltipId, triggerClassName]\n );\n}\n"],"names":["useTooltip","_ref","color","defaultOpen","delay","placement","isOpen","propsIsOpen","offset","propsOffset","onOpen","tooltipId","propsTooltipId","triggerClassName","arrowRef","useRef","setIsOpen","useState","_id","useId","useEffect","handleOpen","useCallback","collapsed","undefined","data","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","middleware","flip","fallbackAxisSideDirection","shift","padding","arrow","element","context","clientPoint","useClientPoint","enabled","hover","useHover","move","close","handleClose","safePolygon","focus","useFocus","dismiss","useDismiss","role","useRole","interactions","useInteractions","React","useMemo","_objectSpread"],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
import { TooltipContext } from './context.js';
|
|
3
|
-
|
|
4
|
-
const useTooltipContext = () => {
|
|
5
|
-
const context = React__default.useContext(TooltipContext);
|
|
6
|
-
if (context == null) {
|
|
7
|
-
throw new Error('Tooltip components must be wrapped in <Tooltip />');
|
|
8
|
-
}
|
|
9
|
-
return context;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export { useTooltipContext };
|
|
13
|
-
//# sourceMappingURL=useTooltipContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTooltipContext.js","sources":["../../../../../../../popovers/src/components/tooltip/useTooltipContext.tsx"],"sourcesContent":["import React from 'react';\nimport { TooltipContext } from './context';\n\nexport const useTooltipContext = () => {\n const context = React.useContext(TooltipContext);\n\n if (context == null) {\n throw new Error('Tooltip components must be wrapped in <Tooltip />');\n }\n\n return context;\n};\n"],"names":["useTooltipContext","context","React","useContext","TooltipContext","Error"],"mappings":";;;AAGaA,MAAAA,iBAAiB,GAAGA,MAAM;AACrC,EAAA,MAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,cAAc,CAAC,CAAA;EAEhD,IAAIH,OAAO,IAAI,IAAI,EAAE;AACnB,IAAA,MAAM,IAAII,KAAK,CAAC,mDAAmD,CAAC,CAAA;AACtE,GAAA;AAEA,EAAA,OAAOJ,OAAO,CAAA;AAChB;;;;"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { extends as _extends, objectSpread2 as _objectSpread2 } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import React__default, { forwardRef, useContext } from 'react';
|
|
3
|
-
import { useMergeRefs, FloatingPortal } from '../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs.js';
|
|
4
|
-
import { AppContainerContext, useTheme } from '@redsift/design-system';
|
|
5
|
-
import { StyledTooltipContent } from './styles.js';
|
|
6
|
-
import classNames from 'classnames';
|
|
7
|
-
import { useTooltipContext } from '../tooltip/useTooltipContext.js';
|
|
8
|
-
|
|
9
|
-
const COMPONENT_NAME = 'TooltipContent';
|
|
10
|
-
const CLASSNAME = 'redsift-tooltip-content';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* The TooltipContent component.
|
|
14
|
-
*/
|
|
15
|
-
const TooltipContent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
16
|
-
const {
|
|
17
|
-
children,
|
|
18
|
-
className,
|
|
19
|
-
style,
|
|
20
|
-
theme: propsTheme
|
|
21
|
-
} = props;
|
|
22
|
-
const appContainerState = useContext(AppContainerContext);
|
|
23
|
-
const {
|
|
24
|
-
getFloatingProps,
|
|
25
|
-
isOpen,
|
|
26
|
-
placement,
|
|
27
|
-
refs,
|
|
28
|
-
strategy,
|
|
29
|
-
x,
|
|
30
|
-
y,
|
|
31
|
-
middlewareData: {
|
|
32
|
-
arrow: {
|
|
33
|
-
x: arrowX,
|
|
34
|
-
y: arrowY
|
|
35
|
-
} = {}
|
|
36
|
-
}
|
|
37
|
-
} = useTooltipContext();
|
|
38
|
-
const theme = useTheme ? useTheme(propsTheme) : undefined;
|
|
39
|
-
const popoverRef = useMergeRefs([refs.setFloating, ref]);
|
|
40
|
-
const {
|
|
41
|
-
arrowRef
|
|
42
|
-
} = useTooltipContext();
|
|
43
|
-
const staticSide = {
|
|
44
|
-
top: 'bottom',
|
|
45
|
-
right: 'left',
|
|
46
|
-
bottom: 'top',
|
|
47
|
-
left: 'right'
|
|
48
|
-
}[placement.split('-')[0]];
|
|
49
|
-
return /*#__PURE__*/React__default.createElement(FloatingPortal, {
|
|
50
|
-
root: appContainerState === null || appContainerState === void 0 ? void 0 : appContainerState.appContainerRef.current
|
|
51
|
-
}, isOpen && /*#__PURE__*/React__default.createElement(StyledTooltipContent, _extends({
|
|
52
|
-
className: classNames(TooltipContent.className, className),
|
|
53
|
-
ref: popoverRef,
|
|
54
|
-
$theme: theme
|
|
55
|
-
}, getFloatingProps(props), {
|
|
56
|
-
style: _objectSpread2({
|
|
57
|
-
position: strategy,
|
|
58
|
-
top: y !== null && y !== void 0 ? y : 0,
|
|
59
|
-
left: x !== null && x !== void 0 ? x : 0,
|
|
60
|
-
visibility: x == null ? 'hidden' : 'visible'
|
|
61
|
-
}, style),
|
|
62
|
-
$placement: placement
|
|
63
|
-
}), /*#__PURE__*/React__default.createElement("div", {
|
|
64
|
-
ref: arrowRef,
|
|
65
|
-
className: `${TooltipContent.className}__arrow`,
|
|
66
|
-
style: {
|
|
67
|
-
left: arrowX != null ? `${arrowX}px` : '',
|
|
68
|
-
top: arrowY != null ? `${arrowY}px` : '',
|
|
69
|
-
[staticSide]: '-6px'
|
|
70
|
-
}
|
|
71
|
-
}), /*#__PURE__*/React__default.createElement("div", {
|
|
72
|
-
className: `${TooltipContent.className}__inner`
|
|
73
|
-
}, children)));
|
|
74
|
-
});
|
|
75
|
-
TooltipContent.className = CLASSNAME;
|
|
76
|
-
TooltipContent.displayName = COMPONENT_NAME;
|
|
77
|
-
|
|
78
|
-
export { TooltipContent };
|
|
79
|
-
//# sourceMappingURL=TooltipContent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipContent.js","sources":["../../../../../../../popovers/src/components/tooltip-content/TooltipContent.tsx"],"sourcesContent":["import React, { forwardRef, useContext } from 'react';\nimport { useMergeRefs, FloatingPortal } from '@floating-ui/react';\n\nimport { AppContainerContext, Comp, useTheme } from '@redsift/design-system';\nimport { TooltipContentProps } from './types';\nimport { TooltipPlacement, useTooltipContext } from '../tooltip';\nimport { StyledTooltipContent } from './styles';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'TooltipContent';\nconst CLASSNAME = 'redsift-tooltip-content';\n\n/**\n * The TooltipContent component.\n */\nexport const TooltipContent: Comp<TooltipContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style, theme: propsTheme } = props;\n const appContainerState = useContext(AppContainerContext);\n const {\n getFloatingProps,\n isOpen,\n placement,\n refs,\n strategy,\n x,\n y,\n middlewareData: { arrow: { x: arrowX, y: arrowY } = {} },\n } = useTooltipContext();\n const theme = useTheme ? useTheme(propsTheme) : undefined;\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const { arrowRef } = useTooltipContext();\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n return (\n <FloatingPortal root={appContainerState?.appContainerRef.current}>\n {isOpen && (\n <StyledTooltipContent\n className={classNames(TooltipContent.className, className)}\n ref={popoverRef}\n $theme={theme!}\n {...getFloatingProps(props)}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n visibility: x == null ? 'hidden' : 'visible',\n ...style,\n }}\n $placement={placement as TooltipPlacement}\n >\n <div\n ref={arrowRef}\n className={`${TooltipContent.className}__arrow`}\n style={{\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide!]: '-6px',\n }}\n />\n <div className={`${TooltipContent.className}__inner`}>{children}</div>\n </StyledTooltipContent>\n )}\n </FloatingPortal>\n );\n});\nTooltipContent.className = CLASSNAME;\nTooltipContent.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","TooltipContent","forwardRef","props","ref","children","className","style","theme","propsTheme","appContainerState","useContext","AppContainerContext","getFloatingProps","isOpen","placement","refs","strategy","x","y","middlewareData","arrow","arrowX","arrowY","useTooltipContext","useTheme","undefined","popoverRef","useMergeRefs","setFloating","arrowRef","staticSide","top","right","bottom","left","split","React","createElement","FloatingPortal","root","appContainerRef","current","StyledTooltipContent","_extends","classNames","$theme","_objectSpread","position","visibility","$placement","displayName"],"mappings":"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"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import styled, { css } from 'styled-components';
|
|
2
|
-
import { baseContainer, Theme } from '@redsift/design-system';
|
|
3
|
-
import { TooltipPlacement } from '../tooltip/types.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Component style.
|
|
7
|
-
*/
|
|
8
|
-
const StyledTooltipContent = styled.div`
|
|
9
|
-
${baseContainer}
|
|
10
|
-
${_ref => {
|
|
11
|
-
let {
|
|
12
|
-
$theme
|
|
13
|
-
} = _ref;
|
|
14
|
-
return css`
|
|
15
|
-
color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});
|
|
16
|
-
background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});
|
|
17
|
-
`;
|
|
18
|
-
}}
|
|
19
|
-
|
|
20
|
-
align-items: center;
|
|
21
|
-
border-radius: 4px;
|
|
22
|
-
box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);
|
|
23
|
-
display: flex;
|
|
24
|
-
filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14)) drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));
|
|
25
|
-
font-family: var(--redsift-typography-tooltip-font-family);
|
|
26
|
-
font-size: var(--redsift-typography-tooltip-font-size);
|
|
27
|
-
font-weight: var(--redsift-typography-tooltip-font-weight);
|
|
28
|
-
line-height: var(--redsift-typography-tooltip-line-height);
|
|
29
|
-
max-width: calc(100vw - 48px);
|
|
30
|
-
padding: 4px 8px;
|
|
31
|
-
z-index: var(--redsift-layout-z-index-tooltip);
|
|
32
|
-
|
|
33
|
-
.redsift-tooltip-content__arrow {
|
|
34
|
-
position: absolute;
|
|
35
|
-
width: 0;
|
|
36
|
-
height: 0;
|
|
37
|
-
border-color: ${_ref2 => {
|
|
38
|
-
let {
|
|
39
|
-
$theme
|
|
40
|
-
} = _ref2;
|
|
41
|
-
return $theme === Theme.dark ? css`var(--redsift-color-neutral-black)` : css`var(--redsift-color-neutral-white)`;
|
|
42
|
-
}};
|
|
43
|
-
border-style: solid;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
${_ref3 => {
|
|
47
|
-
let {
|
|
48
|
-
$placement
|
|
49
|
-
} = _ref3;
|
|
50
|
-
switch ($placement) {
|
|
51
|
-
case TooltipPlacement['right-start']:
|
|
52
|
-
return css`
|
|
53
|
-
border-bottom-left-radius: 0;
|
|
54
|
-
`;
|
|
55
|
-
case TooltipPlacement['right-end']:
|
|
56
|
-
return css`
|
|
57
|
-
border-top-left-radius: 0;
|
|
58
|
-
`;
|
|
59
|
-
case TooltipPlacement['left-start']:
|
|
60
|
-
return css`
|
|
61
|
-
border-bottom-right-radius: 0;
|
|
62
|
-
`;
|
|
63
|
-
case TooltipPlacement['left-end']:
|
|
64
|
-
return css`
|
|
65
|
-
border-top-right-radius: 0;
|
|
66
|
-
`;
|
|
67
|
-
default:
|
|
68
|
-
return css``;
|
|
69
|
-
}
|
|
70
|
-
}}
|
|
71
|
-
|
|
72
|
-
${_ref4 => {
|
|
73
|
-
let {
|
|
74
|
-
$placement
|
|
75
|
-
} = _ref4;
|
|
76
|
-
switch ($placement) {
|
|
77
|
-
case TooltipPlacement.left:
|
|
78
|
-
case TooltipPlacement['left-end']:
|
|
79
|
-
case TooltipPlacement['left-start']:
|
|
80
|
-
return css`
|
|
81
|
-
.redsift-tooltip-content__arrow {
|
|
82
|
-
border-width: 6px 0 6px 6px;
|
|
83
|
-
border-top-color: transparent;
|
|
84
|
-
border-right-color: transparent;
|
|
85
|
-
border-bottom-color: transparent;
|
|
86
|
-
}
|
|
87
|
-
`;
|
|
88
|
-
case TooltipPlacement.top:
|
|
89
|
-
case TooltipPlacement['top-end']:
|
|
90
|
-
case TooltipPlacement['top-start']:
|
|
91
|
-
return css`
|
|
92
|
-
.redsift-tooltip-content__arrow {
|
|
93
|
-
border-width: 6px 6px 0;
|
|
94
|
-
border-right-color: transparent;
|
|
95
|
-
border-bottom-color: transparent;
|
|
96
|
-
border-left-color: transparent;
|
|
97
|
-
}
|
|
98
|
-
`;
|
|
99
|
-
case TooltipPlacement.right:
|
|
100
|
-
case TooltipPlacement['right-end']:
|
|
101
|
-
case TooltipPlacement['right-start']:
|
|
102
|
-
return css`
|
|
103
|
-
.redsift-tooltip-content__arrow {
|
|
104
|
-
border-width: 6px 6px 6px 0;
|
|
105
|
-
border-top-color: transparent;
|
|
106
|
-
border-bottom-color: transparent;
|
|
107
|
-
border-left-color: transparent;
|
|
108
|
-
}
|
|
109
|
-
`;
|
|
110
|
-
case TooltipPlacement.bottom:
|
|
111
|
-
case TooltipPlacement['bottom-end']:
|
|
112
|
-
case TooltipPlacement['bottom-start']:
|
|
113
|
-
default:
|
|
114
|
-
return css`
|
|
115
|
-
.redsift-tooltip-content__arrow {
|
|
116
|
-
border-width: 0 6px 6px;
|
|
117
|
-
border-top-color: transparent;
|
|
118
|
-
border-right-color: transparent;
|
|
119
|
-
border-left-color: transparent;
|
|
120
|
-
}
|
|
121
|
-
`;
|
|
122
|
-
}
|
|
123
|
-
}}
|
|
124
|
-
`;
|
|
125
|
-
|
|
126
|
-
export { StyledTooltipContent };
|
|
127
|
-
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../../../../popovers/src/components/tooltip-content/styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { Theme, baseContainer } from '@redsift/design-system';\nimport { TooltipPlacement } from '../tooltip';\nimport { StyledTooltipContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledTooltipContent = styled.div<StyledTooltipContentProps>`\n ${baseContainer}\n ${({ $theme }) => css`\n color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});\n `}\n\n align-items: center;\n border-radius: 4px;\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14)) drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n font-family: var(--redsift-typography-tooltip-font-family);\n font-size: var(--redsift-typography-tooltip-font-size);\n font-weight: var(--redsift-typography-tooltip-font-weight);\n line-height: var(--redsift-typography-tooltip-line-height);\n max-width: calc(100vw - 48px);\n padding: 4px 8px;\n z-index: var(--redsift-layout-z-index-tooltip);\n\n .redsift-tooltip-content__arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: ${({ $theme }) =>\n $theme === Theme.dark ? css`var(--redsift-color-neutral-black)` : css`var(--redsift-color-neutral-white)`};\n border-style: solid;\n }\n\n ${({ $placement }) => {\n switch ($placement) {\n case TooltipPlacement['right-start']:\n return css`\n border-bottom-left-radius: 0;\n `;\n case TooltipPlacement['right-end']:\n return css`\n border-top-left-radius: 0;\n `;\n case TooltipPlacement['left-start']:\n return css`\n border-bottom-right-radius: 0;\n `;\n case TooltipPlacement['left-end']:\n return css`\n border-top-right-radius: 0;\n `;\n default:\n return css``;\n }\n }}\n\n ${({ $placement }) => {\n switch ($placement) {\n case TooltipPlacement.left:\n case TooltipPlacement['left-end']:\n case TooltipPlacement['left-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n }\n `;\n case TooltipPlacement.top:\n case TooltipPlacement['top-end']:\n case TooltipPlacement['top-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 0;\n border-right-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.right:\n case TooltipPlacement['right-end']:\n case TooltipPlacement['right-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 6px 0;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.bottom:\n case TooltipPlacement['bottom-end']:\n case TooltipPlacement['bottom-start']:\n default:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-left-color: transparent;\n }\n `;\n }\n }}\n`;\n"],"names":["StyledTooltipContent","styled","div","baseContainer","_ref","$theme","css","Theme","dark","_ref2","_ref3","$placement","TooltipPlacement","_ref4","left","top","right","bottom"],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { objectSpread2 as _objectSpread2, extends as _extends } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import React__default, { forwardRef } from 'react';
|
|
3
|
-
import { useMergeRefs } from '../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs.js';
|
|
4
|
-
import classNames from 'classnames';
|
|
5
|
-
import { useTooltipContext } from '../tooltip/useTooltipContext.js';
|
|
6
|
-
|
|
7
|
-
const COMPONENT_NAME = 'TooltipTrigger';
|
|
8
|
-
const CLASSNAME = 'redsift-tooltip-trigger';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* The TooltipTrigger component.
|
|
12
|
-
*/
|
|
13
|
-
const TooltipTrigger = /*#__PURE__*/forwardRef((props, ref) => {
|
|
14
|
-
const {
|
|
15
|
-
children
|
|
16
|
-
} = props;
|
|
17
|
-
const {
|
|
18
|
-
getReferenceProps,
|
|
19
|
-
refs,
|
|
20
|
-
tooltipId,
|
|
21
|
-
triggerClassName,
|
|
22
|
-
color
|
|
23
|
-
} = useTooltipContext();
|
|
24
|
-
const childrenRef = children.ref;
|
|
25
|
-
const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);
|
|
26
|
-
if ( /*#__PURE__*/React__default.isValidElement(children)) {
|
|
27
|
-
var _children$props$child;
|
|
28
|
-
return /*#__PURE__*/React__default.cloneElement(children, _objectSpread2(_objectSpread2({}, getReferenceProps(_objectSpread2(_objectSpread2(_objectSpread2({
|
|
29
|
-
ref: triggerRef
|
|
30
|
-
}, props), {}, {
|
|
31
|
-
'aria-describedby': tooltipId
|
|
32
|
-
}, children.props), {}, {
|
|
33
|
-
children: (_children$props$child = children.props.children) !== null && _children$props$child !== void 0 ? _children$props$child : ''
|
|
34
|
-
}))), {}, {
|
|
35
|
-
className: classNames(children.props.className, triggerClassName),
|
|
36
|
-
color: color !== null && color !== void 0 ? color : children.props.color
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
return /*#__PURE__*/React__default.createElement("span", _extends({
|
|
40
|
-
ref: triggerRef
|
|
41
|
-
}, getReferenceProps(props)), children);
|
|
42
|
-
});
|
|
43
|
-
TooltipTrigger.className = CLASSNAME;
|
|
44
|
-
TooltipTrigger.displayName = COMPONENT_NAME;
|
|
45
|
-
|
|
46
|
-
export { TooltipTrigger };
|
|
47
|
-
//# sourceMappingURL=TooltipTrigger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipTrigger.js","sources":["../../../../../../../popovers/src/components/tooltip-trigger/TooltipTrigger.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { useTooltipContext } from '../tooltip';\nimport { TooltipTriggerProps } from './types';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'TooltipTrigger';\nconst CLASSNAME = 'redsift-tooltip-trigger';\n\n/**\n * The TooltipTrigger component.\n */\nexport const TooltipTrigger: Comp<TooltipTriggerProps, HTMLSpanElement> = forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, refs, tooltipId, triggerClassName, color } = useTooltipContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (React.isValidElement(children)) {\n return React.cloneElement(children as ReactElement, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n 'aria-describedby': tooltipId,\n ...children.props,\n children: children.props.children ?? '',\n }),\n className: classNames((children as ReactElement).props.className, triggerClassName),\n color: color ?? children.props.color,\n });\n }\n\n return (\n <span ref={triggerRef} {...getReferenceProps(props)}>\n {children}\n </span>\n );\n});\nTooltipTrigger.className = CLASSNAME;\nTooltipTrigger.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","TooltipTrigger","forwardRef","props","ref","children","getReferenceProps","refs","tooltipId","triggerClassName","color","useTooltipContext","childrenRef","triggerRef","useMergeRefs","setReference","React","isValidElement","_children$props$child","cloneElement","_objectSpread","className","classNames","createElement","_extends","displayName"],"mappings":";;;;;;AAQA,MAAMA,cAAc,GAAG,gBAAgB,CAAA;AACvC,MAAMC,SAAS,GAAG,yBAAyB,CAAA;;AAE3C;AACA;AACA;AACO,MAAMC,cAA0D,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACnG,MAAM;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGF,KAAK,CAAA;EAE1B,MAAM;IAAEG,iBAAiB;IAAEC,IAAI;IAAEC,SAAS;IAAEC,gBAAgB;AAAEC,IAAAA,KAAAA;GAAO,GAAGC,iBAAiB,EAAE,CAAA;AAC3F,EAAA,MAAMC,WAAW,GAAIP,QAAQ,CAASD,GAAG,CAAA;AACzC,EAAA,MAAMS,UAAU,GAAGC,YAAY,CAAC,CAACP,IAAI,CAACQ,YAAY,EAAEX,GAAG,EAAEQ,WAAW,CAAC,CAAC,CAAA;AAEtE,EAAA,kBAAII,cAAK,CAACC,cAAc,CAACZ,QAAQ,CAAC,EAAE;AAAA,IAAA,IAAAa,qBAAA,CAAA;AAClC,IAAA,oBAAOF,cAAK,CAACG,YAAY,CAACd,QAAQ,EAAAe,cAAA,CAAAA,cAAA,CAAA,EAAA,EAC7Bd,iBAAiB,CAAAc,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA;AAClBhB,MAAAA,GAAG,EAAES,UAAAA;AAAU,KAAA,EACZV,KAAK,CAAA,EAAA,EAAA,EAAA;AACR,MAAA,kBAAkB,EAAEK,SAAAA;KACjBH,EAAAA,QAAQ,CAACF,KAAK,CAAA,EAAA,EAAA,EAAA;AACjBE,MAAAA,QAAQ,EAAAa,CAAAA,qBAAA,GAAEb,QAAQ,CAACF,KAAK,CAACE,QAAQ,MAAAa,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAI,EAAA;AAAE,KAAA,CACxC,CAAC,CAAA,EAAA,EAAA,EAAA;MACFG,SAAS,EAAEC,UAAU,CAAEjB,QAAQ,CAAkBF,KAAK,CAACkB,SAAS,EAAEZ,gBAAgB,CAAC;MACnFC,KAAK,EAAEA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAIL,QAAQ,CAACF,KAAK,CAACO,KAAAA;AAAK,KAAA,CACrC,CAAC,CAAA;AACJ,GAAA;AAEA,EAAA,oBACEM,cAAA,CAAAO,aAAA,CAAA,MAAA,EAAAC,QAAA,CAAA;AAAMpB,IAAAA,GAAG,EAAES,UAAAA;AAAW,GAAA,EAAKP,iBAAiB,CAACH,KAAK,CAAC,CAAA,EAChDE,QACG,CAAC,CAAA;AAEX,CAAC,EAAC;AACFJ,cAAc,CAACoB,SAAS,GAAGrB,SAAS,CAAA;AACpCC,cAAc,CAACwB,WAAW,GAAG1B,cAAc;;;;"}
|