@adiba-banking-cloud/backoffice 0.2.1 → 0.2.4
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/build/index.cjs.js/{heatmap-D-qDlLOI.js → heatmap-BqY-ayOh.js} +1 -1
- package/build/index.cjs.js/{index-CWyl7EKZ.js → index-Clg3JrJr.js} +117 -30
- package/build/index.cjs.js/index.js +3 -1
- package/build/index.esm.js/{heatmap-CtdCSRhG.js → heatmap-D3ePhBTg.js} +1 -1
- package/build/index.esm.js/{index-D7Cza3cb.js → index-rnjdI3M1.js} +117 -32
- package/build/index.esm.js/index.js +1 -1
- package/build/typings/components/panels/simple/Simple.types.d.ts +2 -1
- package/build/typings/index.d.ts +1 -0
- package/build/typings/shared/utils/index.d.ts +1 -0
- package/build/typings/shared/utils/stringHelpers.d.ts +2 -0
- package/package.json +1 -1
|
@@ -12172,7 +12172,7 @@ const initChart$1 = props => {
|
|
|
12172
12172
|
}
|
|
12173
12173
|
|
|
12174
12174
|
// Fallback: use dynamic import (async, but will work in Vite/Storybook)
|
|
12175
|
-
Promise.resolve().then(function () { return require('./heatmap-
|
|
12175
|
+
Promise.resolve().then(function () { return require('./heatmap-BqY-ayOh.js'); }).then(function (n) { return n.heatmap; }).then(heatmapModule => {
|
|
12176
12176
|
const moduleFn = typeof heatmapModule === "function" ? heatmapModule : heatmapModule?.default || heatmapModule;
|
|
12177
12177
|
if (typeof moduleFn === "function") {
|
|
12178
12178
|
moduleFn(Highcharts);
|
|
@@ -12973,39 +12973,78 @@ const SearchPanel = _ref3 => {
|
|
|
12973
12973
|
searchState,
|
|
12974
12974
|
filterFn,
|
|
12975
12975
|
searchFn,
|
|
12976
|
+
onPillRemove,
|
|
12976
12977
|
children,
|
|
12977
12978
|
...rest
|
|
12978
12979
|
} = _ref3;
|
|
12979
|
-
const [
|
|
12980
|
+
const [searchPills, setSearchPills] = searchState || React.useState([]);
|
|
12981
|
+
const [inputValue, setInputValue] = React.useState("");
|
|
12980
12982
|
const form$1 = form.useForm({
|
|
12981
12983
|
initialValues: {
|
|
12982
|
-
search:
|
|
12984
|
+
search: ""
|
|
12983
12985
|
}
|
|
12984
12986
|
});
|
|
12987
|
+
const handleAddPill = value => {
|
|
12988
|
+
const trimmedValue = value.trim();
|
|
12989
|
+
if (trimmedValue && !searchPills.includes(trimmedValue)) {
|
|
12990
|
+
const newPills = [...searchPills, trimmedValue];
|
|
12991
|
+
setSearchPills(newPills);
|
|
12992
|
+
setInputValue("");
|
|
12993
|
+
form$1.setFieldValue("search", "");
|
|
12994
|
+
}
|
|
12995
|
+
};
|
|
12996
|
+
const handleRemovePill = value => {
|
|
12997
|
+
const newPills = searchPills.filter(pill => pill !== value);
|
|
12998
|
+
setSearchPills(newPills);
|
|
12999
|
+
if (onPillRemove) {
|
|
13000
|
+
onPillRemove(value);
|
|
13001
|
+
}
|
|
13002
|
+
};
|
|
13003
|
+
const handleSubmit = values => {
|
|
13004
|
+
if (inputValue.trim()) {
|
|
13005
|
+
handleAddPill(inputValue);
|
|
13006
|
+
}
|
|
13007
|
+
if (searchFn) {
|
|
13008
|
+
searchFn({
|
|
13009
|
+
search: searchPills
|
|
13010
|
+
});
|
|
13011
|
+
}
|
|
13012
|
+
};
|
|
13013
|
+
const handleKeyDown = event => {
|
|
13014
|
+
if (event.key === "Enter" && inputValue.trim()) {
|
|
13015
|
+
event.preventDefault();
|
|
13016
|
+
handleAddPill(inputValue);
|
|
13017
|
+
} else if (event.key === "Backspace" && inputValue.length === 0 && searchPills.length > 0) {
|
|
13018
|
+
event.preventDefault();
|
|
13019
|
+
handleRemovePill(searchPills[searchPills.length - 1]);
|
|
13020
|
+
}
|
|
13021
|
+
};
|
|
12985
13022
|
return /*#__PURE__*/React.createElement(SimplePanel, rest, /*#__PURE__*/React.createElement(core.Stack, null, /*#__PURE__*/React.createElement("form", {
|
|
12986
|
-
onSubmit: form$1.onSubmit(
|
|
12987
|
-
searchFn ? searchFn(values) : void 0;
|
|
12988
|
-
})
|
|
13023
|
+
onSubmit: form$1.onSubmit(handleSubmit)
|
|
12989
13024
|
}, /*#__PURE__*/React.createElement(core.Group, {
|
|
12990
13025
|
gap: "xs"
|
|
12991
|
-
}, /*#__PURE__*/React.createElement(core.
|
|
12992
|
-
fw: 300,
|
|
12993
|
-
name: "search",
|
|
13026
|
+
}, /*#__PURE__*/React.createElement(core.PillsInput, {
|
|
12994
13027
|
size: "md",
|
|
12995
13028
|
radius: "md",
|
|
12996
13029
|
flex: 1,
|
|
12997
|
-
value: search,
|
|
12998
|
-
placeholder: placeholder,
|
|
12999
13030
|
leftSection: /*#__PURE__*/React.createElement(Icons, searchIcon),
|
|
13000
13031
|
rightSection: typeof filterFn == "function" ? /*#__PURE__*/React.createElement(core.ActionIcon, {
|
|
13001
13032
|
variant: "transparent",
|
|
13002
13033
|
onClick: filterFn
|
|
13003
|
-
}, /*#__PURE__*/React.createElement(Icons, filterIcon)) :
|
|
13034
|
+
}, /*#__PURE__*/React.createElement(Icons, filterIcon)) : undefined
|
|
13035
|
+
}, /*#__PURE__*/React.createElement(core.Pill.Group, null, searchPills.map((pill, index) => /*#__PURE__*/React.createElement(core.Pill, {
|
|
13036
|
+
key: `${pill}-${index}`,
|
|
13037
|
+
withRemoveButton: true,
|
|
13038
|
+
onRemove: () => handleRemovePill(pill)
|
|
13039
|
+
}, pill)), /*#__PURE__*/React.createElement(core.PillsInput.Field, {
|
|
13040
|
+
placeholder: placeholder,
|
|
13041
|
+
value: inputValue,
|
|
13004
13042
|
onChange: e => {
|
|
13005
|
-
|
|
13043
|
+
setInputValue(e.currentTarget.value);
|
|
13006
13044
|
form$1.setFieldValue("search", e.currentTarget.value);
|
|
13007
|
-
}
|
|
13008
|
-
|
|
13045
|
+
},
|
|
13046
|
+
onKeyDown: handleKeyDown
|
|
13047
|
+
}))), /*#__PURE__*/React.createElement(core.Button, {
|
|
13009
13048
|
variant: "light",
|
|
13010
13049
|
size: "md",
|
|
13011
13050
|
fw: 300,
|
|
@@ -13735,19 +13774,32 @@ const SimpleTable = _ref => {
|
|
|
13735
13774
|
actionFn,
|
|
13736
13775
|
isStriped
|
|
13737
13776
|
} = _ref;
|
|
13738
|
-
columns
|
|
13739
|
-
const
|
|
13740
|
-
|
|
13741
|
-
|
|
13742
|
-
|
|
13743
|
-
|
|
13744
|
-
|
|
13745
|
-
|
|
13746
|
-
|
|
13747
|
-
|
|
13748
|
-
|
|
13749
|
-
|
|
13750
|
-
|
|
13777
|
+
// Memoize the final columns array to avoid mutations on every render
|
|
13778
|
+
const finalColumns = React.useMemo(() => {
|
|
13779
|
+
// Create a new array to avoid mutating the original
|
|
13780
|
+
const sortedColumns = [...columns].sort((a, b) => a.order - b.order);
|
|
13781
|
+
const indexColumn = {
|
|
13782
|
+
order: -99,
|
|
13783
|
+
id: "index",
|
|
13784
|
+
label: "Id"
|
|
13785
|
+
};
|
|
13786
|
+
const actionColumn = {
|
|
13787
|
+
order: 99999,
|
|
13788
|
+
id: "action",
|
|
13789
|
+
label: ""
|
|
13790
|
+
};
|
|
13791
|
+
|
|
13792
|
+
// Build final array without mutations
|
|
13793
|
+
const result = [];
|
|
13794
|
+
if (withIndex) {
|
|
13795
|
+
result.push(indexColumn);
|
|
13796
|
+
}
|
|
13797
|
+
result.push(...sortedColumns);
|
|
13798
|
+
if (withAction && actionFn) {
|
|
13799
|
+
result.push(actionColumn);
|
|
13800
|
+
}
|
|
13801
|
+
return result;
|
|
13802
|
+
}, [columns, withIndex, withAction, actionFn]);
|
|
13751
13803
|
const isStripedProps = {
|
|
13752
13804
|
striped: "even",
|
|
13753
13805
|
highlightOnHover: true,
|
|
@@ -13756,7 +13808,7 @@ const SimpleTable = _ref => {
|
|
|
13756
13808
|
};
|
|
13757
13809
|
return /*#__PURE__*/React.createElement(core.Table, isStriped && isStripedProps, /*#__PURE__*/React.createElement(core.Table.Thead, null, /*#__PURE__*/React.createElement(core.Table.Tr, {
|
|
13758
13810
|
bg: isStriped ? "gray.1" : "transparent"
|
|
13759
|
-
},
|
|
13811
|
+
}, finalColumns.map((column, index) => {
|
|
13760
13812
|
return /*#__PURE__*/React.createElement(SimpleHeader, _extends({
|
|
13761
13813
|
key: `column-${index}`
|
|
13762
13814
|
}, column));
|
|
@@ -13764,7 +13816,7 @@ const SimpleTable = _ref => {
|
|
|
13764
13816
|
return /*#__PURE__*/React.createElement(SimpleBody, {
|
|
13765
13817
|
key: index,
|
|
13766
13818
|
row,
|
|
13767
|
-
columns,
|
|
13819
|
+
columns: finalColumns,
|
|
13768
13820
|
withAction,
|
|
13769
13821
|
withIndex,
|
|
13770
13822
|
actionFn,
|
|
@@ -14735,6 +14787,39 @@ function withProviders(Component) {
|
|
|
14735
14787
|
return WrappedComponent;
|
|
14736
14788
|
}
|
|
14737
14789
|
|
|
14790
|
+
/**
|
|
14791
|
+
* String utility functions for text manipulation
|
|
14792
|
+
*/
|
|
14793
|
+
const StringHelpers = {
|
|
14794
|
+
/**
|
|
14795
|
+
* Extracts text between curly braces from a string
|
|
14796
|
+
* @param input - Input string that may contain text in braces
|
|
14797
|
+
* @returns The text between braces, or empty string if not found
|
|
14798
|
+
* @example
|
|
14799
|
+
* extractBetweenBraces("Hello {world}") // returns "world"
|
|
14800
|
+
* extractBetweenBraces("No braces") // returns ""
|
|
14801
|
+
*/
|
|
14802
|
+
extractBetweenBraces: input => {
|
|
14803
|
+
const regex = /^[^{]*\{([^}]*)\}[^{]*$/;
|
|
14804
|
+
const match = input.match(regex);
|
|
14805
|
+
return match ? match[1] : "";
|
|
14806
|
+
},
|
|
14807
|
+
/**
|
|
14808
|
+
* Removes text within curly braces from a string
|
|
14809
|
+
* @param input - Input string that may contain text in braces
|
|
14810
|
+
* @returns The string with braces and their content removed, trimmed
|
|
14811
|
+
* @example
|
|
14812
|
+
* extractOutsideBraces("Hello {world}") // returns "Hello"
|
|
14813
|
+
* extractOutsideBraces("No braces") // returns "No braces"
|
|
14814
|
+
*/
|
|
14815
|
+
extractOutsideBraces: input => {
|
|
14816
|
+
const regex = /\{[^}]*\}/g;
|
|
14817
|
+
return input.replace(regex, "").trim();
|
|
14818
|
+
}
|
|
14819
|
+
};
|
|
14820
|
+
const extractBetweenBraces = StringHelpers.extractBetweenBraces;
|
|
14821
|
+
const extractOutsideBraces = StringHelpers.extractOutsideBraces;
|
|
14822
|
+
|
|
14738
14823
|
exports.ApplicationMenu = ApplicationMenu;
|
|
14739
14824
|
exports.ApplicationPanel = ApplicationPanel;
|
|
14740
14825
|
exports.AvatarLabelPanel = AvatarLabelPanel;
|
|
@@ -14781,6 +14866,8 @@ exports.TwoFactorModal = TwoFactorModal;
|
|
|
14781
14866
|
exports.UserMenu = UserMenu;
|
|
14782
14867
|
exports.apiClient = apiClient;
|
|
14783
14868
|
exports.createApiClient = createApiClient;
|
|
14869
|
+
exports.extractBetweenBraces = extractBetweenBraces;
|
|
14870
|
+
exports.extractOutsideBraces = extractOutsideBraces;
|
|
14784
14871
|
exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
|
|
14785
14872
|
exports.theme = theme;
|
|
14786
14873
|
exports.useManagedModals = useManagedModals;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Clg3JrJr.js');
|
|
4
4
|
require('@mantine/modals');
|
|
5
5
|
require('react');
|
|
6
6
|
require('@mantine/core');
|
|
@@ -74,6 +74,8 @@ exports.TwoFactorModal = index.TwoFactorModal;
|
|
|
74
74
|
exports.UserMenu = index.UserMenu;
|
|
75
75
|
exports.apiClient = index.apiClient;
|
|
76
76
|
exports.createApiClient = index.createApiClient;
|
|
77
|
+
exports.extractBetweenBraces = index.extractBetweenBraces;
|
|
78
|
+
exports.extractOutsideBraces = index.extractOutsideBraces;
|
|
77
79
|
exports.theme = index.theme;
|
|
78
80
|
exports.useManagedModals = index.useManagedModals;
|
|
79
81
|
exports.useModal = index.useModal;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { modals } from '@mantine/modals';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { useRef, useMemo, useEffect, useState } from 'react';
|
|
4
|
-
import { Center, Image, Space, Popover, Button, Stack, Divider, Group, Text, Menu, Avatar, Badge, NavLink, Card,
|
|
4
|
+
import { Center, Image, Space, Popover, Button, Stack, Divider, Group, Text, Menu, Avatar, Badge, NavLink, Card, PillsInput, ActionIcon, Pill, Box, Title, SegmentedControl, Breadcrumbs, Anchor, ColorSwatch, AspectRatio, Overlay, rem, SimpleGrid, Indicator, Table, createTheme, PinInput, Drawer as Drawer$1, ScrollArea, NumberInput, PasswordInput, TextInput, Textarea, Grid, MantineProvider } from '@mantine/core';
|
|
5
5
|
import { DotLottieReact } from '@lottiefiles/dotlottie-react';
|
|
6
6
|
import _extends from '@babel/runtime/helpers/extends';
|
|
7
7
|
import HighchartsReact from 'highcharts-react-official';
|
|
@@ -12151,7 +12151,7 @@ const initChart$1 = props => {
|
|
|
12151
12151
|
}
|
|
12152
12152
|
|
|
12153
12153
|
// Fallback: use dynamic import (async, but will work in Vite/Storybook)
|
|
12154
|
-
import('./heatmap-
|
|
12154
|
+
import('./heatmap-D3ePhBTg.js').then(function (n) { return n.h; }).then(heatmapModule => {
|
|
12155
12155
|
const moduleFn = typeof heatmapModule === "function" ? heatmapModule : heatmapModule?.default || heatmapModule;
|
|
12156
12156
|
if (typeof moduleFn === "function") {
|
|
12157
12157
|
moduleFn(Highcharts);
|
|
@@ -12952,39 +12952,78 @@ const SearchPanel = _ref3 => {
|
|
|
12952
12952
|
searchState,
|
|
12953
12953
|
filterFn,
|
|
12954
12954
|
searchFn,
|
|
12955
|
+
onPillRemove,
|
|
12955
12956
|
children,
|
|
12956
12957
|
...rest
|
|
12957
12958
|
} = _ref3;
|
|
12958
|
-
const [
|
|
12959
|
+
const [searchPills, setSearchPills] = searchState || useState([]);
|
|
12960
|
+
const [inputValue, setInputValue] = useState("");
|
|
12959
12961
|
const form = useForm({
|
|
12960
12962
|
initialValues: {
|
|
12961
|
-
search:
|
|
12963
|
+
search: ""
|
|
12962
12964
|
}
|
|
12963
12965
|
});
|
|
12966
|
+
const handleAddPill = value => {
|
|
12967
|
+
const trimmedValue = value.trim();
|
|
12968
|
+
if (trimmedValue && !searchPills.includes(trimmedValue)) {
|
|
12969
|
+
const newPills = [...searchPills, trimmedValue];
|
|
12970
|
+
setSearchPills(newPills);
|
|
12971
|
+
setInputValue("");
|
|
12972
|
+
form.setFieldValue("search", "");
|
|
12973
|
+
}
|
|
12974
|
+
};
|
|
12975
|
+
const handleRemovePill = value => {
|
|
12976
|
+
const newPills = searchPills.filter(pill => pill !== value);
|
|
12977
|
+
setSearchPills(newPills);
|
|
12978
|
+
if (onPillRemove) {
|
|
12979
|
+
onPillRemove(value);
|
|
12980
|
+
}
|
|
12981
|
+
};
|
|
12982
|
+
const handleSubmit = values => {
|
|
12983
|
+
if (inputValue.trim()) {
|
|
12984
|
+
handleAddPill(inputValue);
|
|
12985
|
+
}
|
|
12986
|
+
if (searchFn) {
|
|
12987
|
+
searchFn({
|
|
12988
|
+
search: searchPills
|
|
12989
|
+
});
|
|
12990
|
+
}
|
|
12991
|
+
};
|
|
12992
|
+
const handleKeyDown = event => {
|
|
12993
|
+
if (event.key === "Enter" && inputValue.trim()) {
|
|
12994
|
+
event.preventDefault();
|
|
12995
|
+
handleAddPill(inputValue);
|
|
12996
|
+
} else if (event.key === "Backspace" && inputValue.length === 0 && searchPills.length > 0) {
|
|
12997
|
+
event.preventDefault();
|
|
12998
|
+
handleRemovePill(searchPills[searchPills.length - 1]);
|
|
12999
|
+
}
|
|
13000
|
+
};
|
|
12964
13001
|
return /*#__PURE__*/React__default.createElement(SimplePanel, rest, /*#__PURE__*/React__default.createElement(Stack, null, /*#__PURE__*/React__default.createElement("form", {
|
|
12965
|
-
onSubmit: form.onSubmit(
|
|
12966
|
-
searchFn ? searchFn(values) : void 0;
|
|
12967
|
-
})
|
|
13002
|
+
onSubmit: form.onSubmit(handleSubmit)
|
|
12968
13003
|
}, /*#__PURE__*/React__default.createElement(Group, {
|
|
12969
13004
|
gap: "xs"
|
|
12970
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
12971
|
-
fw: 300,
|
|
12972
|
-
name: "search",
|
|
13005
|
+
}, /*#__PURE__*/React__default.createElement(PillsInput, {
|
|
12973
13006
|
size: "md",
|
|
12974
13007
|
radius: "md",
|
|
12975
13008
|
flex: 1,
|
|
12976
|
-
value: search,
|
|
12977
|
-
placeholder: placeholder,
|
|
12978
13009
|
leftSection: /*#__PURE__*/React__default.createElement(Icons, searchIcon),
|
|
12979
13010
|
rightSection: typeof filterFn == "function" ? /*#__PURE__*/React__default.createElement(ActionIcon, {
|
|
12980
13011
|
variant: "transparent",
|
|
12981
13012
|
onClick: filterFn
|
|
12982
|
-
}, /*#__PURE__*/React__default.createElement(Icons, filterIcon)) :
|
|
13013
|
+
}, /*#__PURE__*/React__default.createElement(Icons, filterIcon)) : undefined
|
|
13014
|
+
}, /*#__PURE__*/React__default.createElement(Pill.Group, null, searchPills.map((pill, index) => /*#__PURE__*/React__default.createElement(Pill, {
|
|
13015
|
+
key: `${pill}-${index}`,
|
|
13016
|
+
withRemoveButton: true,
|
|
13017
|
+
onRemove: () => handleRemovePill(pill)
|
|
13018
|
+
}, pill)), /*#__PURE__*/React__default.createElement(PillsInput.Field, {
|
|
13019
|
+
placeholder: placeholder,
|
|
13020
|
+
value: inputValue,
|
|
12983
13021
|
onChange: e => {
|
|
12984
|
-
|
|
13022
|
+
setInputValue(e.currentTarget.value);
|
|
12985
13023
|
form.setFieldValue("search", e.currentTarget.value);
|
|
12986
|
-
}
|
|
12987
|
-
|
|
13024
|
+
},
|
|
13025
|
+
onKeyDown: handleKeyDown
|
|
13026
|
+
}))), /*#__PURE__*/React__default.createElement(Button, {
|
|
12988
13027
|
variant: "light",
|
|
12989
13028
|
size: "md",
|
|
12990
13029
|
fw: 300,
|
|
@@ -13714,19 +13753,32 @@ const SimpleTable = _ref => {
|
|
|
13714
13753
|
actionFn,
|
|
13715
13754
|
isStriped
|
|
13716
13755
|
} = _ref;
|
|
13717
|
-
columns
|
|
13718
|
-
const
|
|
13719
|
-
|
|
13720
|
-
|
|
13721
|
-
|
|
13722
|
-
|
|
13723
|
-
|
|
13724
|
-
|
|
13725
|
-
|
|
13726
|
-
|
|
13727
|
-
|
|
13728
|
-
|
|
13729
|
-
|
|
13756
|
+
// Memoize the final columns array to avoid mutations on every render
|
|
13757
|
+
const finalColumns = useMemo(() => {
|
|
13758
|
+
// Create a new array to avoid mutating the original
|
|
13759
|
+
const sortedColumns = [...columns].sort((a, b) => a.order - b.order);
|
|
13760
|
+
const indexColumn = {
|
|
13761
|
+
order: -99,
|
|
13762
|
+
id: "index",
|
|
13763
|
+
label: "Id"
|
|
13764
|
+
};
|
|
13765
|
+
const actionColumn = {
|
|
13766
|
+
order: 99999,
|
|
13767
|
+
id: "action",
|
|
13768
|
+
label: ""
|
|
13769
|
+
};
|
|
13770
|
+
|
|
13771
|
+
// Build final array without mutations
|
|
13772
|
+
const result = [];
|
|
13773
|
+
if (withIndex) {
|
|
13774
|
+
result.push(indexColumn);
|
|
13775
|
+
}
|
|
13776
|
+
result.push(...sortedColumns);
|
|
13777
|
+
if (withAction && actionFn) {
|
|
13778
|
+
result.push(actionColumn);
|
|
13779
|
+
}
|
|
13780
|
+
return result;
|
|
13781
|
+
}, [columns, withIndex, withAction, actionFn]);
|
|
13730
13782
|
const isStripedProps = {
|
|
13731
13783
|
striped: "even",
|
|
13732
13784
|
highlightOnHover: true,
|
|
@@ -13735,7 +13787,7 @@ const SimpleTable = _ref => {
|
|
|
13735
13787
|
};
|
|
13736
13788
|
return /*#__PURE__*/React__default.createElement(Table, isStriped && isStripedProps, /*#__PURE__*/React__default.createElement(Table.Thead, null, /*#__PURE__*/React__default.createElement(Table.Tr, {
|
|
13737
13789
|
bg: isStriped ? "gray.1" : "transparent"
|
|
13738
|
-
},
|
|
13790
|
+
}, finalColumns.map((column, index) => {
|
|
13739
13791
|
return /*#__PURE__*/React__default.createElement(SimpleHeader, _extends({
|
|
13740
13792
|
key: `column-${index}`
|
|
13741
13793
|
}, column));
|
|
@@ -13743,7 +13795,7 @@ const SimpleTable = _ref => {
|
|
|
13743
13795
|
return /*#__PURE__*/React__default.createElement(SimpleBody, {
|
|
13744
13796
|
key: index,
|
|
13745
13797
|
row,
|
|
13746
|
-
columns,
|
|
13798
|
+
columns: finalColumns,
|
|
13747
13799
|
withAction,
|
|
13748
13800
|
withIndex,
|
|
13749
13801
|
actionFn,
|
|
@@ -14714,4 +14766,37 @@ function withProviders(Component) {
|
|
|
14714
14766
|
return WrappedComponent;
|
|
14715
14767
|
}
|
|
14716
14768
|
|
|
14717
|
-
|
|
14769
|
+
/**
|
|
14770
|
+
* String utility functions for text manipulation
|
|
14771
|
+
*/
|
|
14772
|
+
const StringHelpers = {
|
|
14773
|
+
/**
|
|
14774
|
+
* Extracts text between curly braces from a string
|
|
14775
|
+
* @param input - Input string that may contain text in braces
|
|
14776
|
+
* @returns The text between braces, or empty string if not found
|
|
14777
|
+
* @example
|
|
14778
|
+
* extractBetweenBraces("Hello {world}") // returns "world"
|
|
14779
|
+
* extractBetweenBraces("No braces") // returns ""
|
|
14780
|
+
*/
|
|
14781
|
+
extractBetweenBraces: input => {
|
|
14782
|
+
const regex = /^[^{]*\{([^}]*)\}[^{]*$/;
|
|
14783
|
+
const match = input.match(regex);
|
|
14784
|
+
return match ? match[1] : "";
|
|
14785
|
+
},
|
|
14786
|
+
/**
|
|
14787
|
+
* Removes text within curly braces from a string
|
|
14788
|
+
* @param input - Input string that may contain text in braces
|
|
14789
|
+
* @returns The string with braces and their content removed, trimmed
|
|
14790
|
+
* @example
|
|
14791
|
+
* extractOutsideBraces("Hello {world}") // returns "Hello"
|
|
14792
|
+
* extractOutsideBraces("No braces") // returns "No braces"
|
|
14793
|
+
*/
|
|
14794
|
+
extractOutsideBraces: input => {
|
|
14795
|
+
const regex = /\{[^}]*\}/g;
|
|
14796
|
+
return input.replace(regex, "").trim();
|
|
14797
|
+
}
|
|
14798
|
+
};
|
|
14799
|
+
const extractBetweenBraces = StringHelpers.extractBetweenBraces;
|
|
14800
|
+
const extractOutsideBraces = StringHelpers.extractOutsideBraces;
|
|
14801
|
+
|
|
14802
|
+
export { extractOutsideBraces as $, ApplicationMenu as A, BasicHeatmap as B, CalendarHeatmap as C, DonutChart as D, EqualizerColumn as E, File as F, SimpleForm as G, MaskedTilePanel as H, InterpolatedHeatmap as I, TilePanel as J, useModal as K, LabelPanel as L, MultiAxisArea as M, useManagedModals as N, useUrlFilters as O, PageTitle as P, DEFAULT_PAGE_SIZE as Q, MAX_PAGE_SIZE as R, SimpleColumn as S, TitledPanel as T, UserMenu as U, DEFAULT_API_TIMEOUT as V, createApiClient as W, apiClient as X, ModalContentWrapper as Y, withProviders as Z, extractBetweenBraces as _, StackedColumn as a, SimpleArea as b, StackedArea as c, Icons as d, DynamicLogo as e, DynamicShigaLogo as f, getDefaultExportFromCjs as g, SideMenu as h, SimplePanel as i, SearchPanel as j, AvatarLabelPanel as k, SimpleText as l, TitleWithIndex as m, ConnectionPanel as n, ApplicationPanel as o, SubscriptionPlans as p, PaymentMethod as q, PaymentMethodAdd as r, SimpleTable as s, theme as t, ErrorModal as u, InfoModal as v, SimpleModal as w, SuccessModal as x, TwoFactorModal as y, Drawer as z };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as ApplicationMenu, o as ApplicationPanel, k as AvatarLabelPanel, B as BasicHeatmap, C as CalendarHeatmap, n as ConnectionPanel, V as DEFAULT_API_TIMEOUT, Q as DEFAULT_PAGE_SIZE, D as DonutChart, z as Drawer, e as DynamicLogo, f as DynamicShigaLogo, E as EqualizerColumn, u as ErrorModal, F as File, d as Icons, v as InfoModal, I as InterpolatedHeatmap, L as LabelPanel, R as MAX_PAGE_SIZE, H as MaskedTilePanel, Y as ModalContentWrapper, M as MultiAxisArea, P as PageTitle, q as PaymentMethod, r as PaymentMethodAdd, j as SearchPanel, h as SideMenu, b as SimpleArea, S as SimpleColumn, G as SimpleForm, w as SimpleModal, i as SimplePanel, s as SimpleTable, l as SimpleText, c as StackedArea, a as StackedColumn, p as SubscriptionPlans, x as SuccessModal, J as TilePanel, m as TitleWithIndex, T as TitledPanel, y as TwoFactorModal, U as UserMenu, X as apiClient, W as createApiClient, t as theme, N as useManagedModals, K as useModal, O as useUrlFilters, Z as withProviders } from './index-
|
|
1
|
+
export { A as ApplicationMenu, o as ApplicationPanel, k as AvatarLabelPanel, B as BasicHeatmap, C as CalendarHeatmap, n as ConnectionPanel, V as DEFAULT_API_TIMEOUT, Q as DEFAULT_PAGE_SIZE, D as DonutChart, z as Drawer, e as DynamicLogo, f as DynamicShigaLogo, E as EqualizerColumn, u as ErrorModal, F as File, d as Icons, v as InfoModal, I as InterpolatedHeatmap, L as LabelPanel, R as MAX_PAGE_SIZE, H as MaskedTilePanel, Y as ModalContentWrapper, M as MultiAxisArea, P as PageTitle, q as PaymentMethod, r as PaymentMethodAdd, j as SearchPanel, h as SideMenu, b as SimpleArea, S as SimpleColumn, G as SimpleForm, w as SimpleModal, i as SimplePanel, s as SimpleTable, l as SimpleText, c as StackedArea, a as StackedColumn, p as SubscriptionPlans, x as SuccessModal, J as TilePanel, m as TitleWithIndex, T as TitledPanel, y as TwoFactorModal, U as UserMenu, X as apiClient, W as createApiClient, _ as extractBetweenBraces, $ as extractOutsideBraces, t as theme, N as useManagedModals, K as useModal, O as useUrlFilters, Z as withProviders } from './index-rnjdI3M1.js';
|
|
2
2
|
import '@mantine/modals';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '@mantine/core';
|
|
@@ -20,7 +20,8 @@ export interface SearchPanelProps extends PanelProps {
|
|
|
20
20
|
searchIcon?: IconsProps;
|
|
21
21
|
filterIcon?: IconsProps;
|
|
22
22
|
searchText?: string;
|
|
23
|
-
searchState?: [string, (value: string) => void];
|
|
23
|
+
searchState?: [string[], (value: string[]) => void];
|
|
24
24
|
searchFn?: (value: Record<string, any>) => void;
|
|
25
25
|
filterFn?: () => void;
|
|
26
|
+
onPillRemove?: (value: string) => void;
|
|
26
27
|
}
|
package/build/typings/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./stringHelpers";
|
package/package.json
CHANGED