@j2-health/design-system 0.5.2 → 0.5.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/dist/_virtual/_rolldown/runtime.cjs +0 -12
- package/dist/index.cjs +4 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index2.js +54 -0
- package/dist/src/AppConfigProvider.cjs +1 -0
- package/dist/src/AppConfigProvider.cjs.map +1 -1
- package/dist/src/components/alert/Alert.cjs +1 -0
- package/dist/src/components/alert/Alert.cjs.map +1 -1
- package/dist/src/components/checkboxTree/TreeNode.cjs +2 -0
- package/dist/src/components/checkboxTree/TreeNode.cjs.map +1 -1
- package/dist/src/components/collapse/Collapse.cjs +1 -0
- package/dist/src/components/collapse/Collapse.cjs.map +1 -1
- package/dist/src/components/drawer/Drawer.cjs +2 -0
- package/dist/src/components/drawer/Drawer.cjs.map +1 -1
- package/dist/src/components/dropdown/Dropdown.cjs +1 -0
- package/dist/src/components/dropdown/Dropdown.cjs.map +1 -1
- package/dist/src/components/filterform/FilterGroup.cjs +1 -0
- package/dist/src/components/filterform/FilterGroup.cjs.map +1 -1
- package/dist/src/components/filterform/FiltersForm.cjs +1 -0
- package/dist/src/components/filterform/FiltersForm.cjs.map +1 -1
- package/dist/src/components/inputnumber/InputNumber.cjs +1 -0
- package/dist/src/components/inputnumber/InputNumber.cjs.map +1 -1
- package/dist/src/components/listpopover/ListPopover.cjs +1 -0
- package/dist/src/components/listpopover/ListPopover.cjs.map +1 -1
- package/dist/src/components/manageColumns/ManageColumnsItem.cjs +1 -0
- package/dist/src/components/manageColumns/ManageColumnsItem.cjs.map +1 -1
- package/dist/src/components/message/useMessage.cjs +1 -0
- package/dist/src/components/message/useMessage.cjs.map +1 -1
- package/dist/src/components/modal/Modal.cjs +1 -0
- package/dist/src/components/modal/Modal.cjs.map +1 -1
- package/dist/src/components/notification/useNotification.cjs +1 -0
- package/dist/src/components/notification/useNotification.cjs.map +1 -1
- package/dist/src/components/notificationModal/NotificationModal.cjs +2 -0
- package/dist/src/components/notificationModal/NotificationModal.cjs.map +1 -1
- package/dist/src/components/pagination/Pagination.cjs +1 -0
- package/dist/src/components/pagination/Pagination.cjs.map +1 -1
- package/dist/src/components/rate/Rate.cjs +2 -0
- package/dist/src/components/rate/Rate.cjs.map +1 -1
- package/dist/src/components/select/AntdSelect.cjs +1 -0
- package/dist/src/components/select/AntdSelect.cjs.map +1 -1
- package/dist/src/components/select/Select.cjs +1 -0
- package/dist/src/components/select/Select.cjs.map +1 -1
- package/dist/src/components/select/SummarizedSelect.cjs +6 -5
- package/dist/src/components/select/SummarizedSelect.cjs.map +1 -1
- package/dist/src/components/select/SummarizedSelect.js +5 -5
- package/dist/src/components/select/SummarizedSelect.js.map +1 -1
- package/dist/src/components/select/SummarizedSelect.module.css.cjs +8 -8
- package/dist/src/components/select/SummarizedSelect.module.css.cjs.map +1 -1
- package/dist/src/components/select/SummarizedSelect.module.css.js +8 -8
- package/dist/src/components/select/SummarizedSelect.module.css.js.map +1 -1
- package/dist/src/components/steps/Steps.cjs +1 -0
- package/dist/src/components/steps/Steps.cjs.map +1 -1
- package/dist/src/components/table/Table.cjs +1 -0
- package/dist/src/components/table/Table.cjs.map +1 -1
- package/dist/src/components/tag/Tag.cjs +1 -0
- package/dist/src/components/tag/Tag.cjs.map +1 -1
- package/dist/style.css +32 -21
- package/package.json +6 -6
- package/dist/_virtual/_rolldown/runtime.js +0 -27
- package/dist/src/components/icons/index.cjs +0 -22
- package/dist/src/components/icons/index.cjs.map +0 -1
- package/dist/src/components/icons/index.js +0 -10
- package/dist/src/components/icons/index.js.map +0 -1
|
@@ -5,15 +5,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __exportAll = (all, no_symbols) => {
|
|
9
|
-
let target = {};
|
|
10
|
-
for (var name in all) __defProp(target, name, {
|
|
11
|
-
get: all[name],
|
|
12
|
-
enumerable: true
|
|
13
|
-
});
|
|
14
|
-
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
15
|
-
return target;
|
|
16
|
-
};
|
|
17
8
|
var __copyProps = (to, from, except, desc) => {
|
|
18
9
|
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
19
10
|
key = keys[i];
|
|
@@ -24,12 +15,9 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
15
|
}
|
|
25
16
|
return to;
|
|
26
17
|
};
|
|
27
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
28
18
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
29
19
|
value: mod,
|
|
30
20
|
enumerable: true
|
|
31
21
|
}) : target, mod));
|
|
32
22
|
//#endregion
|
|
33
|
-
exports.__exportAll = __exportAll;
|
|
34
|
-
exports.__reExport = __reExport;
|
|
35
23
|
exports.__toESM = __toESM;
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
|
|
2
3
|
const require_tailwind = require("./tailwind.cjs");
|
|
3
4
|
const require_appTheme = require("./src/appTheme.cjs");
|
|
4
5
|
const require_AppConfigProvider = require("./src/AppConfigProvider.cjs");
|
|
@@ -38,7 +39,6 @@ const require_Radio = require("./src/components/radio/Radio.cjs");
|
|
|
38
39
|
const require_Rate = require("./src/components/rate/Rate.cjs");
|
|
39
40
|
const require_Select = require("./src/components/select/Select.cjs");
|
|
40
41
|
const require_AntdSelect = require("./src/components/select/AntdSelect.cjs");
|
|
41
|
-
const require_index = require("./src/components/icons/index.cjs");
|
|
42
42
|
const require_Tag = require("./src/components/tag/Tag.cjs");
|
|
43
43
|
const require_SummarizedSelect = require("./src/components/select/SummarizedSelect.cjs");
|
|
44
44
|
const require_Skeleton = require("./src/components/skeleton/Skeleton.cjs");
|
|
@@ -52,6 +52,8 @@ const require_VennDiagram = require("./src/components/vennDiagram/VennDiagram.cj
|
|
|
52
52
|
const require_UserProfile = require("./src/components/legacyNavMenu/UserProfile.cjs");
|
|
53
53
|
const require_LegacyNavMenu = require("./src/components/legacyNavMenu/LegacyNavMenu.cjs");
|
|
54
54
|
let _highcharts_react = require("@highcharts/react");
|
|
55
|
+
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
56
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
55
57
|
exports.Alert = require_Alert.Alert;
|
|
56
58
|
exports.AntdInput = require_AntdInput.AntdInput;
|
|
57
59
|
exports.AntdSearchInput = require_AntdSearchInput.AntdSearchInput;
|
|
@@ -108,7 +110,7 @@ exports.appTheme = require_appTheme.appTheme;
|
|
|
108
110
|
Object.defineProperty(exports, "icons", {
|
|
109
111
|
enumerable: true,
|
|
110
112
|
get: function() {
|
|
111
|
-
return
|
|
113
|
+
return _phosphor_icons_react;
|
|
112
114
|
}
|
|
113
115
|
});
|
|
114
116
|
exports.isMultiValueTextOperator = require_filterHelpers.isMultiValueTextOperator;
|
package/dist/index.d.ts
CHANGED
|
@@ -40,5 +40,5 @@ export * from './src/components/tag/index.js';
|
|
|
40
40
|
export * from './src/components/tooltip/index.js';
|
|
41
41
|
export * from './src/components/vennDiagram/index.js';
|
|
42
42
|
export * from './src/components/legacyNavMenu/index.js';
|
|
43
|
-
import * as icons from '
|
|
43
|
+
import * as icons from '@phosphor-icons/react';
|
|
44
44
|
export { icons };
|
package/dist/index.js
CHANGED
|
@@ -38,7 +38,6 @@ import { Radio, RadioGroup } from "./src/components/radio/Radio.js";
|
|
|
38
38
|
import { Rate } from "./src/components/rate/Rate.js";
|
|
39
39
|
import { Select } from "./src/components/select/Select.js";
|
|
40
40
|
import { AntdSelect } from "./src/components/select/AntdSelect.js";
|
|
41
|
-
import { icons_exports } from "./src/components/icons/index.js";
|
|
42
41
|
import { Tag } from "./src/components/tag/Tag.js";
|
|
43
42
|
import { SummarizedSelect } from "./src/components/select/SummarizedSelect.js";
|
|
44
43
|
import { Skeleton } from "./src/components/skeleton/Skeleton.js";
|
|
@@ -51,4 +50,5 @@ import { Tabs } from "./src/components/tabs/Tabs.js";
|
|
|
51
50
|
import { VennDiagram } from "./src/components/vennDiagram/VennDiagram.js";
|
|
52
51
|
import { UserProfile } from "./src/components/legacyNavMenu/UserProfile.js";
|
|
53
52
|
import { LegacyNavMenu } from "./src/components/legacyNavMenu/LegacyNavMenu.js";
|
|
54
|
-
|
|
53
|
+
import { icons } from "./index2.js";
|
|
54
|
+
export { Alert, AntdInput, AntdSearchInput, AntdSelect, AppConfigProvider, BarChart, Breadcrumb, BulkActionBar, Button, Card, Checkbox, CheckboxTree, Collapse, Drawer, Dropdown, FiltersForm, Form, HighchartsReact, Input, InputNumber, LegacyNavMenu, ListPopover, ManageColumnsPanel, Menu, Modal, MultiValueTextOperatorOptions, NavMenu, NotificationModal, Pagination, Popover, Progress, Radio, RadioGroup, Rate, Select, SelectAll, Skeleton, Spinner, Steps, SummarizedSelect, Switch, Table, Tabs, Tag, Tooltip, UserProfile, VennDiagram, appTheme, icons, isMultiValueTextOperator, normalizeMultiValues, operatorOptionsFor, tailwindPreset, useMessage, useNotification, useSteps, withDesignSystemPaginationOverrides };
|
package/dist/index2.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { tailwindPreset } from "./tailwind.js";
|
|
2
|
+
import { appTheme } from "./src/appTheme.js";
|
|
3
|
+
import { AppConfigProvider } from "./src/AppConfigProvider.js";
|
|
4
|
+
import { Alert } from "./src/components/alert/Alert.js";
|
|
5
|
+
import { BarChart } from "./src/components/barchart/BarChart.js";
|
|
6
|
+
import { HighchartsReact } from "./src/components/barchart/index.js";
|
|
7
|
+
import { Breadcrumb } from "./src/components/breadcrumb/Breadcrumb.js";
|
|
8
|
+
import { Button } from "./src/components/button/Button.js";
|
|
9
|
+
import { BulkActionBar } from "./src/components/bulkActionBar/BulkActionBar.js";
|
|
10
|
+
import { Card } from "./src/components/card/Card.js";
|
|
11
|
+
import { Checkbox } from "./src/components/checkbox/Checkbox.js";
|
|
12
|
+
import { CheckboxTree } from "./src/components/checkboxTree/CheckboxTree.js";
|
|
13
|
+
import { Collapse } from "./src/components/collapse/Collapse.js";
|
|
14
|
+
import { Drawer } from "./src/components/drawer/Drawer.js";
|
|
15
|
+
import { Dropdown } from "./src/components/dropdown/Dropdown.js";
|
|
16
|
+
import { isMultiValueTextOperator, normalizeMultiValues } from "./src/components/filterform/filterHelpers.js";
|
|
17
|
+
import { MultiValueTextOperatorOptions, operatorOptionsFor } from "./src/components/filterform/useFilterField.js";
|
|
18
|
+
import { FiltersForm } from "./src/components/filterform/FiltersForm.js";
|
|
19
|
+
import { Form } from "./src/components/form/Form.js";
|
|
20
|
+
import { Input } from "./src/components/input/Input.js";
|
|
21
|
+
import { AntdInput } from "./src/components/input/AntdInput.js";
|
|
22
|
+
import { AntdSearchInput } from "./src/components/input/AntdSearchInput.js";
|
|
23
|
+
import { InputNumber } from "./src/components/inputnumber/InputNumber.js";
|
|
24
|
+
import { Popover } from "./src/components/popover/Popover.js";
|
|
25
|
+
import { Tooltip } from "./src/components/tooltip/Tooltip.js";
|
|
26
|
+
import { ListPopover } from "./src/components/listpopover/ListPopover.js";
|
|
27
|
+
import { SelectAll } from "./src/components/manageColumns/SelectAll.js";
|
|
28
|
+
import { ManageColumnsPanel } from "./src/components/manageColumns/ManageColumnsPanel.js";
|
|
29
|
+
import { Menu } from "./src/components/menu/Menu.js";
|
|
30
|
+
import { useMessage } from "./src/components/message/useMessage.js";
|
|
31
|
+
import { Modal } from "./src/components/modal/Modal.js";
|
|
32
|
+
import { NavMenu } from "./src/components/navMenu/NavMenu.js";
|
|
33
|
+
import { useNotification } from "./src/components/notification/useNotification.js";
|
|
34
|
+
import { NotificationModal } from "./src/components/notificationModal/NotificationModal.js";
|
|
35
|
+
import { Pagination, withDesignSystemPaginationOverrides } from "./src/components/pagination/Pagination.js";
|
|
36
|
+
import { Progress } from "./src/components/progress/Progress.js";
|
|
37
|
+
import { Radio, RadioGroup } from "./src/components/radio/Radio.js";
|
|
38
|
+
import { Rate } from "./src/components/rate/Rate.js";
|
|
39
|
+
import { Select } from "./src/components/select/Select.js";
|
|
40
|
+
import { AntdSelect } from "./src/components/select/AntdSelect.js";
|
|
41
|
+
import { Tag } from "./src/components/tag/Tag.js";
|
|
42
|
+
import { SummarizedSelect } from "./src/components/select/SummarizedSelect.js";
|
|
43
|
+
import { Skeleton } from "./src/components/skeleton/Skeleton.js";
|
|
44
|
+
import { Spinner } from "./src/components/spinner/Spinner.js";
|
|
45
|
+
import { useSteps } from "./src/components/steps/useSteps.js";
|
|
46
|
+
import { Steps } from "./src/components/steps/Steps.js";
|
|
47
|
+
import { Switch } from "./src/components/switch/Switch.js";
|
|
48
|
+
import { Table } from "./src/components/table/Table.js";
|
|
49
|
+
import { Tabs } from "./src/components/tabs/Tabs.js";
|
|
50
|
+
import { VennDiagram } from "./src/components/vennDiagram/VennDiagram.js";
|
|
51
|
+
import { UserProfile } from "./src/components/legacyNavMenu/UserProfile.js";
|
|
52
|
+
import { LegacyNavMenu } from "./src/components/legacyNavMenu/LegacyNavMenu.js";
|
|
53
|
+
import * as icons from "@phosphor-icons/react";
|
|
54
|
+
export { Alert, AntdInput, AntdSearchInput, AntdSelect, AppConfigProvider, BarChart, Breadcrumb, BulkActionBar, Button, Card, Checkbox, CheckboxTree, Collapse, Drawer, Dropdown, FiltersForm, Form, HighchartsReact, Input, InputNumber, LegacyNavMenu, ListPopover, ManageColumnsPanel, Menu, Modal, MultiValueTextOperatorOptions, NavMenu, NotificationModal, Pagination, Popover, Progress, Radio, RadioGroup, Rate, Select, SelectAll, Skeleton, Spinner, Steps, SummarizedSelect, Switch, Table, Tabs, Tag, Tooltip, UserProfile, VennDiagram, appTheme, icons, isMultiValueTextOperator, normalizeMultiValues, operatorOptionsFor, tailwindPreset, useMessage, useNotification, useSteps, withDesignSystemPaginationOverrides };
|
|
@@ -4,6 +4,7 @@ let react = require("react");
|
|
|
4
4
|
react = require_runtime.__toESM(react, 1);
|
|
5
5
|
let antd = require("antd");
|
|
6
6
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
7
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
7
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
9
|
//#region src/AppConfigProvider.tsx
|
|
9
10
|
var AppConfigProvider = ({ children }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppConfigProvider.cjs","names":["ConfigProvider","appTheme","IconContext"],"sources":["../../src/AppConfigProvider.tsx"],"sourcesContent":["import React from 'react'\nimport { ConfigProvider } from 'antd'\nimport { IconContext } from '@phosphor-icons/react'\nimport { appTheme } from './appTheme'\n\nexport const AppConfigProvider = ({\n children,\n}: {\n children: React.ReactNode\n}) => {\n return (\n <ConfigProvider theme={appTheme}>\n <IconContext.Provider value={{ weight: 'duotone', size: 16 }}>\n {children}\n </IconContext.Provider>\n </ConfigProvider>\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AppConfigProvider.cjs","names":["ConfigProvider","appTheme","IconContext"],"sources":["../../src/AppConfigProvider.tsx"],"sourcesContent":["import React from 'react'\nimport { ConfigProvider } from 'antd'\nimport { IconContext } from '@phosphor-icons/react'\nimport { appTheme } from './appTheme'\n\nexport const AppConfigProvider = ({\n children,\n}: {\n children: React.ReactNode\n}) => {\n return (\n <ConfigProvider theme={appTheme}>\n <IconContext.Provider value={{ weight: 'duotone', size: 16 }}>\n {children}\n </IconContext.Provider>\n </ConfigProvider>\n )\n}\n"],"mappings":";;;;;;;;;AAKA,IAAa,qBAAqB,EAChC,eAGI;CACJ,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,KAAAA,gBAAD;EAAgB,OAAOC,iBAAAA;EACrB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,YAAY,UAAb;GAAsB,OAAO;IAAE,QAAQ;IAAW,MAAM;GAAG;GACxD;EACmB,CAAA;CACR,CAAA;AAEpB"}
|
|
@@ -5,6 +5,7 @@ let react$1 = require_runtime.__toESM(react, 1);
|
|
|
5
5
|
react = require_runtime.__toESM(react);
|
|
6
6
|
let antd = require("antd");
|
|
7
7
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
8
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
8
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
10
|
//#region src/components/alert/Alert.tsx
|
|
10
11
|
var Alert = ({ description, type, closable = false, showIcon = true, banner = false, message, title, closeIcon, closeText, onClose, afterClose, ...props }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.cjs","names":["theme","React","CheckCircleIcon","XCircleIcon","InfoIcon","WarningCircleIcon","CircleNotchIcon","AntdAlert","styles","XIcon"],"sources":["../../../../src/components/alert/Alert.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Alert as AntdAlert, AlertProps, theme } from 'antd'\nimport {\n CheckCircleIcon,\n InfoIcon,\n WarningCircleIcon,\n XIcon,\n XCircleIcon,\n CircleNotchIcon,\n} from '@phosphor-icons/react'\nimport styles from './Alert.module.css'\ntype Props = Expand<Omit<AlertProps, 'type'>> & {\n description?: string\n type: 'success' | 'info' | 'warning' | 'error' | 'loading'\n closable?: boolean\n showIcon?: boolean\n banner?: boolean\n}\n\nconst Alert = ({\n description,\n type,\n closable = false,\n showIcon = true,\n banner = false,\n message,\n title,\n closeIcon,\n closeText,\n onClose,\n afterClose,\n ...props\n}: Props) => {\n const { token } = theme.useToken()\n const icon = React.useMemo(() => {\n const size = description ? token.sizeLG : token.size\n const iconStyle = !description\n ? { display: 'flex', alignItems: 'center' }\n : undefined\n\n const iconElement = (() => {\n switch (type) {\n case 'success':\n return (\n <CheckCircleIcon fill=\"var(--j2-color-success-text)\" size={size} />\n )\n case 'error':\n return <XCircleIcon fill=\"var(--j2-color-error-text)\" size={size} />\n case 'info':\n return <InfoIcon fill=\"var(--j2-color-info-text)\" size={size} />\n case 'warning':\n return (\n <WarningCircleIcon\n fill=\"var(--j2-color-warning-text)\"\n size={size}\n />\n )\n case 'loading':\n return (\n <CircleNotchIcon\n fill=\"var(--j2-color-info-text)\"\n size={size}\n weight=\"regular\"\n style={{\n animation: 'spin 1s linear infinite',\n }}\n />\n )\n default:\n return null\n }\n })()\n\n return iconStyle ? (\n <span style={iconStyle}>{iconElement}</span>\n ) : (\n iconElement\n )\n }, [type, description, token.size, token.sizeLG])\n\n const antDType = React.useMemo(():\n 'success' | 'info' | 'warning' | 'error' => {\n switch (type) {\n case 'loading':\n return 'info'\n default:\n return type as 'success' | 'info' | 'warning' | 'error'\n }\n }, [type])\n\n return (\n <AntdAlert\n className={styles.alert}\n icon={icon}\n closable={\n closable || closeText\n ? {\n closeIcon:\n closeText ||\n (closeIcon ?? <XIcon size={token.size} weight=\"regular\" />),\n onClose,\n afterClose,\n }\n : false\n }\n showIcon={showIcon}\n type={antDType}\n banner={banner}\n description={description}\n title={title ?? message}\n {...props}\n />\n )\n}\n\nexport { Alert }\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Alert.cjs","names":["theme","React","CheckCircleIcon","XCircleIcon","InfoIcon","WarningCircleIcon","CircleNotchIcon","AntdAlert","styles","XIcon"],"sources":["../../../../src/components/alert/Alert.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Alert as AntdAlert, AlertProps, theme } from 'antd'\nimport {\n CheckCircleIcon,\n InfoIcon,\n WarningCircleIcon,\n XIcon,\n XCircleIcon,\n CircleNotchIcon,\n} from '@phosphor-icons/react'\nimport styles from './Alert.module.css'\ntype Props = Expand<Omit<AlertProps, 'type'>> & {\n description?: string\n type: 'success' | 'info' | 'warning' | 'error' | 'loading'\n closable?: boolean\n showIcon?: boolean\n banner?: boolean\n}\n\nconst Alert = ({\n description,\n type,\n closable = false,\n showIcon = true,\n banner = false,\n message,\n title,\n closeIcon,\n closeText,\n onClose,\n afterClose,\n ...props\n}: Props) => {\n const { token } = theme.useToken()\n const icon = React.useMemo(() => {\n const size = description ? token.sizeLG : token.size\n const iconStyle = !description\n ? { display: 'flex', alignItems: 'center' }\n : undefined\n\n const iconElement = (() => {\n switch (type) {\n case 'success':\n return (\n <CheckCircleIcon fill=\"var(--j2-color-success-text)\" size={size} />\n )\n case 'error':\n return <XCircleIcon fill=\"var(--j2-color-error-text)\" size={size} />\n case 'info':\n return <InfoIcon fill=\"var(--j2-color-info-text)\" size={size} />\n case 'warning':\n return (\n <WarningCircleIcon\n fill=\"var(--j2-color-warning-text)\"\n size={size}\n />\n )\n case 'loading':\n return (\n <CircleNotchIcon\n fill=\"var(--j2-color-info-text)\"\n size={size}\n weight=\"regular\"\n style={{\n animation: 'spin 1s linear infinite',\n }}\n />\n )\n default:\n return null\n }\n })()\n\n return iconStyle ? (\n <span style={iconStyle}>{iconElement}</span>\n ) : (\n iconElement\n )\n }, [type, description, token.size, token.sizeLG])\n\n const antDType = React.useMemo(():\n 'success' | 'info' | 'warning' | 'error' => {\n switch (type) {\n case 'loading':\n return 'info'\n default:\n return type as 'success' | 'info' | 'warning' | 'error'\n }\n }, [type])\n\n return (\n <AntdAlert\n className={styles.alert}\n icon={icon}\n closable={\n closable || closeText\n ? {\n closeIcon:\n closeText ||\n (closeIcon ?? <XIcon size={token.size} weight=\"regular\" />),\n onClose,\n afterClose,\n }\n : false\n }\n showIcon={showIcon}\n type={antDType}\n banner={banner}\n description={description}\n title={title ?? message}\n {...props}\n />\n )\n}\n\nexport { Alert }\n"],"mappings":";;;;;;;;;;AAmBA,IAAM,SAAS,EACb,aACA,MACA,WAAW,OACX,WAAW,MACX,SAAS,OACT,SACA,OACA,WACA,WACA,SACA,YACA,GAAG,YACQ;CACX,MAAM,EAAE,UAAUA,KAAAA,MAAM,SAAS;CACjC,MAAM,OAAOC,QAAM,cAAc;EAC/B,MAAM,OAAO,cAAc,MAAM,SAAS,MAAM;EAChD,MAAM,YAAY,CAAC,cACf;GAAE,SAAS;GAAQ,YAAY;EAAS,IACxC,KAAA;EAEJ,MAAM,qBAAqB;GACzB,QAAQ,MAAR;IACE,KAAK,WACH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,iBAAD;KAAiB,MAAK;KAAqC;IAAO,CAAA;IAEtE,KAAK,SACH,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,aAAD;KAAa,MAAK;KAAmC;IAAO,CAAA;IACrE,KAAK,QACH,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,UAAD;KAAU,MAAK;KAAkC;IAAO,CAAA;IACjE,KAAK,WACH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,mBAAD;KACE,MAAK;KACC;IACP,CAAA;IAEL,KAAK,WACH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,iBAAD;KACE,MAAK;KACC;KACN,QAAO;KACP,OAAO,EACL,WAAW,0BACb;IACD,CAAA;IAEL,SACE,OAAO;GACX;EACF,EAAA,CAAG;EAEH,OAAO,YACL,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,OAAO;GAAY,UAAA;EAAkB,CAAA,IAE3C;CAEJ,GAAG;EAAC;EAAM;EAAa,MAAM;EAAM,MAAM;CAAM,CAAC;CAEhD,MAAM,WAAWL,QAAM,cACuB;EAC5C,QAAQ,MAAR;GACE,KAAK,WACH,OAAO;GACT,SACE,OAAO;EACX;CACF,GAAG,CAAC,IAAI,CAAC;CAET,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACM,KAAAA,OAAD;EACE,WAAWC,qBAAAA,QAAO;EACZ;EACN,UACE,YAAY,YACR;GACE,WACE,cACC,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,OAAD;IAAO,MAAM,MAAM;IAAM,QAAO;GAAW,CAAA;GAC3D;GACA;EACF,IACA;EAEI;EACV,MAAM;EACE;EACK;EACb,OAAO,SAAS;EAChB,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
1
2
|
const require_Checkbox = require("../checkbox/Checkbox.cjs");
|
|
2
3
|
const require_utils = require("./utils.cjs");
|
|
3
4
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
5
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
4
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
7
|
//#region src/components/checkboxTree/TreeNode.tsx
|
|
6
8
|
var TreeNode = ({ node, level, leafNodeValues, onCheck, disabled, expandedKeys, onToggleExpand, lazyChildren }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeNode.cjs","names":["getNodeCheckState","Checkbox","CaretDownIcon"],"sources":["../../../../src/components/checkboxTree/TreeNode.tsx"],"sourcesContent":["import { CaretDownIcon } from '@phosphor-icons/react'\nimport { Checkbox } from '../checkbox'\nimport { CheckboxTreeDataNode } from './CheckboxTree'\nimport { getNodeCheckState } from './utils'\n\ntype TreeNodeProps = {\n node: CheckboxTreeDataNode\n level: number\n leafNodeValues: Record<string | number, boolean>\n onCheck: (\n key: string | number,\n checked: boolean,\n node: CheckboxTreeDataNode\n ) => void\n disabled: boolean\n expandedKeys: Set<string | number>\n onToggleExpand: (key: string | number) => void\n lazyChildren: boolean\n}\n\nexport const TreeNode = ({\n node,\n level,\n leafNodeValues,\n onCheck,\n disabled,\n expandedKeys,\n onToggleExpand,\n lazyChildren,\n}: TreeNodeProps) => {\n const { checked: isChecked, indeterminate } = getNodeCheckState(\n node,\n leafNodeValues\n )\n const isIndeterminate = lazyChildren && indeterminate\n const isDisabled = disabled || node.disabled\n const hasChildren = node.children && node.children.length > 0\n const isExpanded = expandedKeys.has(node.key)\n\n return (\n <div>\n <div\n className=\"flex items-center min-h-6 mb-1\"\n style={{ paddingLeft: level * 20 }}\n >\n <Checkbox\n checked={isChecked}\n indeterminate={isIndeterminate}\n disabled={isDisabled}\n onChange={(e) => onCheck(node.key, e.target.checked, node)}\n >\n {node.title}\n </Checkbox>\n {hasChildren && !isDisabled && (\n <button\n type=\"button\"\n onClick={() => onToggleExpand(node.key)}\n className=\"flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0\"\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'}${typeof node.title === 'string' ? ` ${node.title}` : ''}`}\n >\n <CaretDownIcon\n size={14}\n style={{\n transform: `rotate(${isExpanded ? 0 : -90}deg)`,\n transition: 'transform 150ms ease',\n }}\n />\n </button>\n )}\n </div>\n\n {hasChildren && (\n <div\n style={{\n display: 'grid',\n gridTemplateRows: isExpanded ? '1fr' : '0fr',\n transition: 'grid-template-rows 150ms ease',\n }}\n >\n <div style={{ overflow: 'hidden' }}>\n {(!lazyChildren || isExpanded) &&\n node.children!.map((childNode) => (\n <TreeNode\n key={childNode.key}\n node={childNode}\n level={level + 1}\n leafNodeValues={leafNodeValues}\n onCheck={onCheck}\n disabled={disabled}\n expandedKeys={expandedKeys}\n onToggleExpand={onToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TreeNode.cjs","names":["getNodeCheckState","Checkbox","CaretDownIcon"],"sources":["../../../../src/components/checkboxTree/TreeNode.tsx"],"sourcesContent":["import { CaretDownIcon } from '@phosphor-icons/react'\nimport { Checkbox } from '../checkbox'\nimport { CheckboxTreeDataNode } from './CheckboxTree'\nimport { getNodeCheckState } from './utils'\n\ntype TreeNodeProps = {\n node: CheckboxTreeDataNode\n level: number\n leafNodeValues: Record<string | number, boolean>\n onCheck: (\n key: string | number,\n checked: boolean,\n node: CheckboxTreeDataNode\n ) => void\n disabled: boolean\n expandedKeys: Set<string | number>\n onToggleExpand: (key: string | number) => void\n lazyChildren: boolean\n}\n\nexport const TreeNode = ({\n node,\n level,\n leafNodeValues,\n onCheck,\n disabled,\n expandedKeys,\n onToggleExpand,\n lazyChildren,\n}: TreeNodeProps) => {\n const { checked: isChecked, indeterminate } = getNodeCheckState(\n node,\n leafNodeValues\n )\n const isIndeterminate = lazyChildren && indeterminate\n const isDisabled = disabled || node.disabled\n const hasChildren = node.children && node.children.length > 0\n const isExpanded = expandedKeys.has(node.key)\n\n return (\n <div>\n <div\n className=\"flex items-center min-h-6 mb-1\"\n style={{ paddingLeft: level * 20 }}\n >\n <Checkbox\n checked={isChecked}\n indeterminate={isIndeterminate}\n disabled={isDisabled}\n onChange={(e) => onCheck(node.key, e.target.checked, node)}\n >\n {node.title}\n </Checkbox>\n {hasChildren && !isDisabled && (\n <button\n type=\"button\"\n onClick={() => onToggleExpand(node.key)}\n className=\"flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0\"\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'}${typeof node.title === 'string' ? ` ${node.title}` : ''}`}\n >\n <CaretDownIcon\n size={14}\n style={{\n transform: `rotate(${isExpanded ? 0 : -90}deg)`,\n transition: 'transform 150ms ease',\n }}\n />\n </button>\n )}\n </div>\n\n {hasChildren && (\n <div\n style={{\n display: 'grid',\n gridTemplateRows: isExpanded ? '1fr' : '0fr',\n transition: 'grid-template-rows 150ms ease',\n }}\n >\n <div style={{ overflow: 'hidden' }}>\n {(!lazyChildren || isExpanded) &&\n node.children!.map((childNode) => (\n <TreeNode\n key={childNode.key}\n node={childNode}\n level={level + 1}\n leafNodeValues={leafNodeValues}\n onCheck={onCheck}\n disabled={disabled}\n expandedKeys={expandedKeys}\n onToggleExpand={onToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;AAoBA,IAAa,YAAY,EACvB,MACA,OACA,gBACA,SACA,UACA,cACA,gBACA,mBACmB;CACnB,MAAM,EAAE,SAAS,WAAW,kBAAkBA,cAAAA,kBAC5C,MACA,cACF;CACA,MAAM,kBAAkB,gBAAgB;CACxC,MAAM,aAAa,YAAY,KAAK;CACpC,MAAM,cAAc,KAAK,YAAY,KAAK,SAAS,SAAS;CAC5D,MAAM,aAAa,aAAa,IAAI,KAAK,GAAG;CAE5C,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,WAAU;EACV,OAAO,EAAE,aAAa,QAAQ,GAAG;EAFnC,UAAA,CAIE,iBAAA,GAAA,kBAAA,IAAA,CAACC,iBAAAA,UAAD;GACE,SAAS;GACT,eAAe;GACf,UAAU;GACV,WAAW,MAAM,QAAQ,KAAK,KAAK,EAAE,OAAO,SAAS,IAAI;GAExD,UAAA,KAAK;EACE,CAAA,GACT,eAAe,CAAC,cACf,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;GACE,MAAK;GACL,eAAe,eAAe,KAAK,GAAG;GACtC,WAAU;GACV,iBAAe;GACf,cAAY,GAAG,aAAa,aAAa,WAAW,OAAO,KAAK,UAAU,WAAW,IAAI,KAAK,UAAU;GAExG,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,eAAD;IACE,MAAM;IACN,OAAO;KACL,WAAW,UAAU,aAAa,IAAI,IAAI;KAC1C,YAAY;IACd;GACD,CAAA;EACK,CAAA,CAEP;CAEJ,CAAA,GAAA,eACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,OAAO;GACL,SAAS;GACT,kBAAkB,aAAa,QAAQ;GACvC,YAAY;EACd;EAEA,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,OAAO,EAAE,UAAU,SAAS;GAC7B,WAAA,CAAC,gBAAgB,eACjB,KAAK,SAAU,KAAK,cAClB,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;IAEE,MAAM;IACN,OAAO,QAAQ;IACC;IACP;IACC;IACI;IACE;IACF;GACf,GATM,UAAU,GAShB,CACF;EACA,CAAA;CACF,CAAA,CAEJ,EAAA,CAAA;AAET"}
|
|
@@ -5,6 +5,7 @@ let react$1 = require_runtime.__toESM(react, 1);
|
|
|
5
5
|
react = require_runtime.__toESM(react);
|
|
6
6
|
let antd = require("antd");
|
|
7
7
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
8
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
8
9
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
10
|
//#region src/components/collapse/Collapse.tsx
|
|
10
11
|
var stateConfig = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapse.cjs","names":["styles","InfoIcon","WarningCircleIcon","XCircleIcon","React","_Fragment","AntdCollapse","CaretDownIcon"],"sources":["../../../../src/components/collapse/Collapse.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Collapse as AntdCollapse, CollapseProps } from 'antd'\nimport {\n CaretDownIcon,\n InfoIcon,\n WarningCircleIcon,\n XCircleIcon,\n} from '@phosphor-icons/react'\nimport styles from './Collapse.module.css'\n\nexport type CollapseState = 'default' | 'warning' | 'error'\n\nexport type Props = Expand<CollapseProps> & {\n state?: CollapseState\n showIcon?: boolean\n}\n\nconst stateConfig: Record<\n CollapseState,\n { className: string; Icon: React.ElementType; color: string }\n> = {\n default: {\n className: styles.default,\n Icon: InfoIcon,\n color: 'var(--j2-color-text)',\n },\n warning: {\n className: styles.warning,\n Icon: WarningCircleIcon,\n color: 'var(--j2-color-warning-text)',\n },\n error: {\n className: styles.error,\n Icon: XCircleIcon,\n color: 'var(--j2-color-error-text)',\n },\n}\n\nconst Collapse = ({\n state = 'default',\n showIcon = false,\n className,\n items,\n ...props\n}: Props) => {\n const { className: stateClass, Icon, color } = stateConfig[state]\n\n const icon = React.useMemo(() => {\n if (!showIcon) return null\n return <Icon size={14} fill={color} style={{ flexShrink: 0 }} />\n }, [state, showIcon])\n\n const itemsWithIcon = React.useMemo(() => {\n if (!icon || !items) return items\n return (items as NonNullable<CollapseProps['items']>).map((item) => ({\n ...item,\n label: (\n <>\n {icon}\n {item.label}\n </>\n ),\n }))\n }, [items, icon])\n\n return (\n <AntdCollapse\n {...props}\n items={itemsWithIcon}\n className={[stateClass, className].filter(Boolean).join(' ')}\n expandIcon={({ isActive }) => (\n <CaretDownIcon\n size={14}\n style={{ transform: `rotate(${isActive ? 0 : -90}deg)` }}\n />\n )}\n />\n )\n}\n\nexport { Collapse }\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Collapse.cjs","names":["styles","InfoIcon","WarningCircleIcon","XCircleIcon","React","_Fragment","AntdCollapse","CaretDownIcon"],"sources":["../../../../src/components/collapse/Collapse.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Collapse as AntdCollapse, CollapseProps } from 'antd'\nimport {\n CaretDownIcon,\n InfoIcon,\n WarningCircleIcon,\n XCircleIcon,\n} from '@phosphor-icons/react'\nimport styles from './Collapse.module.css'\n\nexport type CollapseState = 'default' | 'warning' | 'error'\n\nexport type Props = Expand<CollapseProps> & {\n state?: CollapseState\n showIcon?: boolean\n}\n\nconst stateConfig: Record<\n CollapseState,\n { className: string; Icon: React.ElementType; color: string }\n> = {\n default: {\n className: styles.default,\n Icon: InfoIcon,\n color: 'var(--j2-color-text)',\n },\n warning: {\n className: styles.warning,\n Icon: WarningCircleIcon,\n color: 'var(--j2-color-warning-text)',\n },\n error: {\n className: styles.error,\n Icon: XCircleIcon,\n color: 'var(--j2-color-error-text)',\n },\n}\n\nconst Collapse = ({\n state = 'default',\n showIcon = false,\n className,\n items,\n ...props\n}: Props) => {\n const { className: stateClass, Icon, color } = stateConfig[state]\n\n const icon = React.useMemo(() => {\n if (!showIcon) return null\n return <Icon size={14} fill={color} style={{ flexShrink: 0 }} />\n }, [state, showIcon])\n\n const itemsWithIcon = React.useMemo(() => {\n if (!icon || !items) return items\n return (items as NonNullable<CollapseProps['items']>).map((item) => ({\n ...item,\n label: (\n <>\n {icon}\n {item.label}\n </>\n ),\n }))\n }, [items, icon])\n\n return (\n <AntdCollapse\n {...props}\n items={itemsWithIcon}\n className={[stateClass, className].filter(Boolean).join(' ')}\n expandIcon={({ isActive }) => (\n <CaretDownIcon\n size={14}\n style={{ transform: `rotate(${isActive ? 0 : -90}deg)` }}\n />\n )}\n />\n )\n}\n\nexport { Collapse }\n"],"mappings":";;;;;;;;;;AAiBA,IAAM,cAGF;CACF,SAAS;EACP,WAAWA,wBAAAA,QAAO;EAClB,MAAMC,sBAAAA;EACN,OAAO;CACT;CACA,SAAS;EACP,WAAWD,wBAAAA,QAAO;EAClB,MAAME,sBAAAA;EACN,OAAO;CACT;CACA,OAAO;EACL,WAAWF,wBAAAA,QAAO;EAClB,MAAMG,sBAAAA;EACN,OAAO;CACT;AACF;AAEA,IAAM,YAAY,EAChB,QAAQ,WACR,WAAW,OACX,WACA,OACA,GAAG,YACQ;CACX,MAAM,EAAE,WAAW,YAAY,MAAM,UAAU,YAAY;CAE3D,MAAM,OAAOC,QAAM,cAAc;EAC/B,IAAI,CAAC,UAAU,OAAO;EACtB,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;GAAM,MAAM;GAAI,MAAM;GAAO,OAAO,EAAE,YAAY,EAAE;EAAI,CAAA;CACjE,GAAG,CAAC,OAAO,QAAQ,CAAC;CAEpB,MAAM,gBAAgBA,QAAM,cAAc;EACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,OAAO;EAC5B,OAAQ,MAA8C,KAAK,UAAU;GACnE,GAAG;GACH,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAAC,kBAAAA,UAAA,EAAA,UAAA,CACG,MACA,KAAK,KACN,EAAA,CAAA;EAEN,EAAE;CACJ,GAAG,CAAC,OAAO,IAAI,CAAC;CAEhB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,KAAAA,UAAD;EACE,GAAI;EACJ,OAAO;EACP,WAAW,CAAC,YAAY,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;EAC3D,aAAa,EAAE,eACb,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,eAAD;GACE,MAAM;GACN,OAAO,EAAE,WAAW,UAAU,WAAW,IAAI,IAAI,MAAM;EACxD,CAAA;CAEJ,CAAA;AAEL"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
1
2
|
const require_Button = require("../button/Button.cjs");
|
|
2
3
|
;/* empty css */
|
|
3
4
|
let antd = require("antd");
|
|
4
5
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
6
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
5
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
8
|
//#region src/components/drawer/Drawer.tsx
|
|
7
9
|
var Drawer = ({ fillPage = false, footer, extraContent, ...props }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.cjs","names":["AntdDrawer","Space","Button","XIcon"],"sources":["../../../../src/components/drawer/Drawer.tsx"],"sourcesContent":["import { Drawer as AntdDrawer, DrawerProps, Space } from 'antd'\nimport { Button } from '../button'\nimport { XIcon } from '@phosphor-icons/react'\nimport './Drawer.css'\n\ntype AllProps = Omit<DrawerProps, 'extra' | 'closable'> & {\n fillPage?: boolean\n footer?: React.ReactNode\n extraContent?: React.ReactNode\n}\n\nexport type Props = Expand<AllProps>\n\nexport const Drawer = ({\n fillPage = false,\n footer,\n extraContent,\n ...props\n}: Props) => {\n return (\n <AntdDrawer\n {...props}\n closable={false}\n {...(fillPage && {\n size:\n props.placement === 'top' || props.placement === 'bottom'\n ? '100vh'\n : '100vw',\n })}\n {...(footer && { footer })}\n extra={\n <Space>\n {extraContent}\n <Button\n className=\"p-0\"\n type=\"link\"\n onClick={props.onClose}\n aria-label=\"Close\"\n >\n <XIcon size={22} weight=\"regular\" />\n </Button>\n </Space>\n }\n className=\"j2-drawer\"\n />\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Drawer.cjs","names":["AntdDrawer","Space","Button","XIcon"],"sources":["../../../../src/components/drawer/Drawer.tsx"],"sourcesContent":["import { Drawer as AntdDrawer, DrawerProps, Space } from 'antd'\nimport { Button } from '../button'\nimport { XIcon } from '@phosphor-icons/react'\nimport './Drawer.css'\n\ntype AllProps = Omit<DrawerProps, 'extra' | 'closable'> & {\n fillPage?: boolean\n footer?: React.ReactNode\n extraContent?: React.ReactNode\n}\n\nexport type Props = Expand<AllProps>\n\nexport const Drawer = ({\n fillPage = false,\n footer,\n extraContent,\n ...props\n}: Props) => {\n return (\n <AntdDrawer\n {...props}\n closable={false}\n {...(fillPage && {\n size:\n props.placement === 'top' || props.placement === 'bottom'\n ? '100vh'\n : '100vw',\n })}\n {...(footer && { footer })}\n extra={\n <Space>\n {extraContent}\n <Button\n className=\"p-0\"\n type=\"link\"\n onClick={props.onClose}\n aria-label=\"Close\"\n >\n <XIcon size={22} weight=\"regular\" />\n </Button>\n </Space>\n }\n className=\"j2-drawer\"\n />\n )\n}\n"],"mappings":";;;;;;;;AAaA,IAAa,UAAU,EACrB,WAAW,OACX,QACA,cACA,GAAG,YACQ;CACX,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,KAAAA,QAAD;EACE,GAAI;EACJ,UAAU;EACV,GAAK,YAAY,EACf,MACE,MAAM,cAAc,SAAS,MAAM,cAAc,WAC7C,UACA,QACR;EACA,GAAK,UAAU,EAAE,OAAO;EACxB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,KAAAA,OAAD,EAAA,UAAA,CACG,cACD,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;GACE,WAAU;GACV,MAAK;GACL,SAAS,MAAM;GACf,cAAW;GAEX,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,OAAD;IAAO,MAAM;IAAI,QAAO;GAAW,CAAA;EAC7B,CAAA,CACH,EAAA,CAAA;EAET,WAAU;CACX,CAAA;AAEL"}
|
|
@@ -3,6 +3,7 @@ const require_Button = require("../button/Button.cjs");
|
|
|
3
3
|
;/* empty css */
|
|
4
4
|
let antd = require("antd");
|
|
5
5
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
6
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
6
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
8
|
let classnames = require("classnames");
|
|
8
9
|
classnames = require_runtime.__toESM(classnames, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.cjs","names":["Typography","CaretDownIcon","cx","_Fragment","Button","AntdDropdown"],"sources":["../../../../src/components/dropdown/Dropdown.tsx"],"sourcesContent":["import { Dropdown as AntdDropdown, DropdownProps, Typography } from 'antd'\nimport cx from 'classnames'\nimport { Button } from '../button'\nimport { CaretDownIcon } from '@phosphor-icons/react'\nimport './Dropdown.css'\n\nconst { Link } = Typography\n\nexport type Props = DropdownProps & {\n type?: 'basic' | 'basic-inline' | 'twofold'\n label?: string\n icon?: React.ReactNode\n menuType?: 'default' | 'slim'\n targetClassName?: string\n}\n\nexport type TargetProps = {\n label?: string\n type?: 'basic' | 'basic-inline' | 'twofold'\n disabled?: boolean\n icon?: React.ReactNode\n className?: string\n}\n\nconst LabelWithCaret = ({ label }: { label: string | undefined }) => (\n <div className=\"flex items-center gap-2\">\n {label}\n <CaretDownIcon weight=\"regular\" />\n </div>\n)\n\nconst Target = ({ label, type, disabled, icon, className }: TargetProps) => {\n if (type === 'basic-inline') {\n return (\n <Link\n disabled={disabled}\n className={cx('flex items-center gap-1', className)}\n >\n {icon ? (\n <>\n {icon}\n {label}\n </>\n ) : (\n <LabelWithCaret label={label} />\n )}\n </Link>\n )\n }\n\n return (\n <Button disabled={disabled} icon={icon} className={className}>\n {icon ? label : <LabelWithCaret label={label} />}\n </Button>\n )\n}\n\nconst Dropdown = ({\n label,\n type,\n icon,\n menu,\n menuType = 'default',\n targetClassName,\n ...props\n}: Props) => {\n let menuProp = menu\n\n if (menuType === 'slim' && typeof menu === 'object') {\n menuProp = {\n ...menu,\n className: cx(menu.className, 'j2-dropdown-slim-menu'),\n }\n }\n\n if (type === 'twofold') {\n return (\n <AntdDropdown.Button {...props} menu={menuProp}>\n {icon ? (\n <>\n {icon} {label}\n </>\n ) : (\n label\n )}\n </AntdDropdown.Button>\n )\n }\n\n return (\n <AntdDropdown {...props} menu={menuProp}>\n <div>\n <Target\n label={label}\n type={type}\n disabled={props.disabled}\n icon={icon}\n className={targetClassName}\n />\n </div>\n </AntdDropdown>\n )\n}\n\nexport { Dropdown }\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Dropdown.cjs","names":["Typography","CaretDownIcon","cx","_Fragment","Button","AntdDropdown"],"sources":["../../../../src/components/dropdown/Dropdown.tsx"],"sourcesContent":["import { Dropdown as AntdDropdown, DropdownProps, Typography } from 'antd'\nimport cx from 'classnames'\nimport { Button } from '../button'\nimport { CaretDownIcon } from '@phosphor-icons/react'\nimport './Dropdown.css'\n\nconst { Link } = Typography\n\nexport type Props = DropdownProps & {\n type?: 'basic' | 'basic-inline' | 'twofold'\n label?: string\n icon?: React.ReactNode\n menuType?: 'default' | 'slim'\n targetClassName?: string\n}\n\nexport type TargetProps = {\n label?: string\n type?: 'basic' | 'basic-inline' | 'twofold'\n disabled?: boolean\n icon?: React.ReactNode\n className?: string\n}\n\nconst LabelWithCaret = ({ label }: { label: string | undefined }) => (\n <div className=\"flex items-center gap-2\">\n {label}\n <CaretDownIcon weight=\"regular\" />\n </div>\n)\n\nconst Target = ({ label, type, disabled, icon, className }: TargetProps) => {\n if (type === 'basic-inline') {\n return (\n <Link\n disabled={disabled}\n className={cx('flex items-center gap-1', className)}\n >\n {icon ? (\n <>\n {icon}\n {label}\n </>\n ) : (\n <LabelWithCaret label={label} />\n )}\n </Link>\n )\n }\n\n return (\n <Button disabled={disabled} icon={icon} className={className}>\n {icon ? label : <LabelWithCaret label={label} />}\n </Button>\n )\n}\n\nconst Dropdown = ({\n label,\n type,\n icon,\n menu,\n menuType = 'default',\n targetClassName,\n ...props\n}: Props) => {\n let menuProp = menu\n\n if (menuType === 'slim' && typeof menu === 'object') {\n menuProp = {\n ...menu,\n className: cx(menu.className, 'j2-dropdown-slim-menu'),\n }\n }\n\n if (type === 'twofold') {\n return (\n <AntdDropdown.Button {...props} menu={menuProp}>\n {icon ? (\n <>\n {icon} {label}\n </>\n ) : (\n label\n )}\n </AntdDropdown.Button>\n )\n }\n\n return (\n <AntdDropdown {...props} menu={menuProp}>\n <div>\n <Target\n label={label}\n type={type}\n disabled={props.disabled}\n icon={icon}\n className={targetClassName}\n />\n </div>\n </AntdDropdown>\n )\n}\n\nexport { Dropdown }\n"],"mappings":";;;;;;;;;;AAMA,IAAM,EAAE,SAASA,KAAAA;AAkBjB,IAAM,kBAAkB,EAAE,YACxB,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;CAAK,WAAU;CAAf,UAAA,CACG,OACD,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,eAAD,EAAe,QAAO,UAAW,CAAA,CAC9B;;AAGP,IAAM,UAAU,EAAE,OAAO,MAAM,UAAU,MAAM,gBAA6B;CAC1E,IAAI,SAAS,gBACX,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;EACY;EACV,YAAA,GAAWC,WAAAA,QAAAA,CAAG,2BAA2B,SAAS;EAEjD,UAAA,OACC,iBAAA,GAAA,kBAAA,KAAA,CAAAC,kBAAAA,UAAA,EAAA,UAAA,CACG,MACA,KACD,EAAA,CAAA,IAEF,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD,EAAuB,MAAQ,CAAA;CAE7B,CAAA;CAIV,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;EAAkB;EAAgB;EAAiB;EAChD,UAAA,OAAO,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD,EAAuB,MAAQ,CAAA;CACzC,CAAA;AAEZ;AAEA,IAAM,YAAY,EAChB,OACA,MACA,MACA,MACA,WAAW,WACX,iBACA,GAAG,YACQ;CACX,IAAI,WAAW;CAEf,IAAI,aAAa,UAAU,OAAO,SAAS,UACzC,WAAW;EACT,GAAG;EACH,YAAA,GAAWF,WAAAA,QAAAA,CAAG,KAAK,WAAW,uBAAuB;CACvD;CAGF,IAAI,SAAS,WACX,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACG,KAAAA,SAAa,QAAd;EAAqB,GAAI;EAAO,MAAM;EACnC,UAAA,OACC,iBAAA,GAAA,kBAAA,KAAA,CAAAF,kBAAAA,UAAA,EAAA,UAAA;GACG;GAAK;GAAE;EACR,EAAA,CAAA,IAEF;CAEiB,CAAA;CAIzB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,KAAAA,UAAD;EAAc,GAAI;EAAO,MAAM;EAC7B,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GACS;GACD;GACN,UAAU,MAAM;GACV;GACN,WAAW;EACZ,CAAA,EACE,CAAA;CACO,CAAA;AAElB"}
|
|
@@ -3,6 +3,7 @@ const require_Button = require("../button/Button.cjs");
|
|
|
3
3
|
const require_FiltersForm_module = require("./FiltersForm.module.css.cjs");
|
|
4
4
|
const require_FilterInput = require("./FilterInput.cjs");
|
|
5
5
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
6
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
6
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
8
|
let classnames = require("classnames");
|
|
8
9
|
classnames = require_runtime.__toESM(classnames, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterGroup.cjs","names":["cx","s","FilterInput","Button","TrashIcon"],"sources":["../../../../src/components/filterform/FilterGroup.tsx"],"sourcesContent":["import { Button } from '../button'\nimport { TrashIcon } from '@phosphor-icons/react'\nimport { FilterInput } from './FilterInput'\nimport cx from 'classnames'\nimport s from './FiltersForm.module.css'\nimport { FilterConfig } from '.'\nimport { FormFilter } from './types'\n\ntype FilterGroupProps = {\n filterGroup: {\n field: string\n filters: FormFilter[]\n }\n groupIndex: number\n filterConfigs: FilterConfig[]\n className?: string\n onRemove: (index: number) => void\n onChange: (filter: FormFilter, index: number) => void\n onDone: (filter: FormFilter, index: number) => void\n}\n\nexport const FilterGroup = ({\n filterGroup,\n groupIndex,\n filterConfigs,\n className,\n onRemove,\n onChange,\n onDone,\n}: FilterGroupProps) => {\n return (\n <div\n key={filterGroup.field}\n className={cx(\n 'flex flex-col gap-4',\n {\n [s.filterFormGroupContainer]: filterGroup.filters.length > 1,\n 'p-3': filterGroup.filters.length > 1,\n 'pr-3': filterGroup.filters.length === 1,\n },\n className\n )}\n >\n {filterGroup.filters.map((filter, filterIndex) => (\n <div\n key={`${groupIndex}:${filterIndex}-input-container`}\n className=\"flex items-center justify-between\"\n >\n {filterIndex >= 1 && (\n <span className={cx(s.filterFormConjunction, 'mr-3')}>and</span>\n )}\n <FilterInput\n key={`${groupIndex}:${filterIndex}`}\n value={filter}\n filterConfigs={filterConfigs}\n className=\"flex-1\"\n onChange={(filter) => onChange(filter, filterIndex)}\n onBlur={(filter) => onDone(filter, filterIndex)}\n />\n <Button\n type=\"text\"\n icon={<TrashIcon />}\n onClick={() => onRemove(filterIndex)}\n />\n </div>\n ))}\n </div>\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterGroup.cjs","names":["cx","s","FilterInput","Button","TrashIcon"],"sources":["../../../../src/components/filterform/FilterGroup.tsx"],"sourcesContent":["import { Button } from '../button'\nimport { TrashIcon } from '@phosphor-icons/react'\nimport { FilterInput } from './FilterInput'\nimport cx from 'classnames'\nimport s from './FiltersForm.module.css'\nimport { FilterConfig } from '.'\nimport { FormFilter } from './types'\n\ntype FilterGroupProps = {\n filterGroup: {\n field: string\n filters: FormFilter[]\n }\n groupIndex: number\n filterConfigs: FilterConfig[]\n className?: string\n onRemove: (index: number) => void\n onChange: (filter: FormFilter, index: number) => void\n onDone: (filter: FormFilter, index: number) => void\n}\n\nexport const FilterGroup = ({\n filterGroup,\n groupIndex,\n filterConfigs,\n className,\n onRemove,\n onChange,\n onDone,\n}: FilterGroupProps) => {\n return (\n <div\n key={filterGroup.field}\n className={cx(\n 'flex flex-col gap-4',\n {\n [s.filterFormGroupContainer]: filterGroup.filters.length > 1,\n 'p-3': filterGroup.filters.length > 1,\n 'pr-3': filterGroup.filters.length === 1,\n },\n className\n )}\n >\n {filterGroup.filters.map((filter, filterIndex) => (\n <div\n key={`${groupIndex}:${filterIndex}-input-container`}\n className=\"flex items-center justify-between\"\n >\n {filterIndex >= 1 && (\n <span className={cx(s.filterFormConjunction, 'mr-3')}>and</span>\n )}\n <FilterInput\n key={`${groupIndex}:${filterIndex}`}\n value={filter}\n filterConfigs={filterConfigs}\n className=\"flex-1\"\n onChange={(filter) => onChange(filter, filterIndex)}\n onBlur={(filter) => onDone(filter, filterIndex)}\n />\n <Button\n type=\"text\"\n icon={<TrashIcon />}\n onClick={() => onRemove(filterIndex)}\n />\n </div>\n ))}\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;AAqBA,IAAa,eAAe,EAC1B,aACA,YACA,eACA,WACA,UACA,UACA,aACsB;CACtB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAEE,YAAA,GAAWA,WAAAA,QAAAA,CACT,uBACA;IACGC,2BAAAA,QAAE,2BAA2B,YAAY,QAAQ,SAAS;GAC3D,OAAO,YAAY,QAAQ,SAAS;GACpC,QAAQ,YAAY,QAAQ,WAAW;EACzC,GACA,SACF;EAEC,UAAA,YAAY,QAAQ,KAAK,QAAQ,gBAChC,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;GAEE,WAAU;GAFZ,UAAA;IAIG,eAAe,KACd,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;KAAM,YAAA,GAAWD,WAAAA,QAAAA,CAAGC,2BAAAA,QAAE,uBAAuB,MAAM;KAAG,UAAA;IAAS,CAAA;IAEjE,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,aAAD;KAEE,OAAO;KACQ;KACf,WAAU;KACV,WAAW,WAAW,SAAS,QAAQ,WAAW;KAClD,SAAS,WAAW,OAAO,QAAQ,WAAW;IAC/C,GANM,GAAG,WAAW,GAAG,aAMvB;IACD,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;KACE,MAAK;KACL,MAAM,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,WAAD,CAAY,CAAA;KAClB,eAAe,SAAS,WAAW;IACpC,CAAA;GACE;EAnBE,GAAA,GAAG,WAAW,GAAG,YAAY,iBAmB/B,CACN;CACE,GAlCE,YAAY,KAkCd;AAET"}
|
|
@@ -7,6 +7,7 @@ const require_useFiltersForm = require("./useFiltersForm.cjs");
|
|
|
7
7
|
const require_FilterGroup = require("./FilterGroup.cjs");
|
|
8
8
|
let react = require("react");
|
|
9
9
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
10
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
10
11
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
12
|
let classnames = require("classnames");
|
|
12
13
|
classnames = require_runtime.__toESM(classnames, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiltersForm.cjs","names":["useFiltersForm","isFilter","isEmptyFilter","useMemo","cx","s","FilterGroup","FilterInput","Button","TrashIcon","PlusCircleIcon"],"sources":["../../../../src/components/filterform/FiltersForm.tsx"],"sourcesContent":["import { Button } from '../button'\nimport { PlusCircleIcon, TrashIcon } from '@phosphor-icons/react'\nimport s from './FiltersForm.module.css'\nimport cx from 'classnames'\nimport { FilterForm, FilterConfig } from '.'\nimport { isEmptyFilter, isFilter } from './filterHelpers'\nimport { useMemo } from 'react'\nimport { FilterInput } from './FilterInput'\nimport { useFiltersForm } from './useFiltersForm'\nimport { FilterGroup } from './FilterGroup'\n\ntype Props = {\n filterConfigs: FilterConfig[]\n title?: string\n onSubmit: (values: FilterForm) => void\n initialValues?: FilterForm\n maxFiltersPerField?: number\n}\n\nexport const FiltersForm = ({\n title,\n filterConfigs,\n onSubmit,\n initialValues,\n maxFiltersPerField = 5,\n}: Props) => {\n const {\n dispatch,\n filterGroups,\n newFilter,\n isNewFilterInputOpen,\n isValid,\n isEmpty,\n } = useFiltersForm({\n initialValues,\n })\n\n const handleSubmit = () => {\n // A rule still in the \"new rule\" input only joins `filterGroups` when\n // that input blurs. Clicking Apply does blur it, but the commit is not\n // guaranteed to have landed by the time this handler reads the groups\n // (the inputs defer their blur so a chip committed during it isn't\n // lost), so a user who types a value and clicks Apply straight away\n // would submit without the rule they just wrote. `newFilter` tracks\n // that input on every change, so include it here when it is complete;\n // once the blur commit lands it is cleared, so it is never counted twice.\n // `errors` lives on the form-side FormFilter, so it is read before\n // `isFilter` narrows to the public Filter type.\n const pending =\n newFilter &&\n (newFilter.errors?.length ?? 0) === 0 &&\n isFilter(newFilter) &&\n !isEmptyFilter(newFilter)\n ? [newFilter]\n : []\n onSubmit({\n filters: [\n ...filterGroups\n .flatMap((group) => group.filters)\n .filter((filter) => isFilter(filter))\n .filter((filter) => !isEmptyFilter(filter)),\n ...pending,\n ],\n })\n }\n\n const availableFilterConfigs = useMemo(() => {\n const filterFieldCounts = filterGroups.reduce(\n (acc, filterGroup) => {\n acc[filterGroup.field] = filterGroup.filters.length\n return acc\n },\n {} as Record<string, number>\n )\n\n return filterConfigs.map((config) => ({\n ...config,\n disabled: (filterFieldCounts[config.field] || 0) >= maxFiltersPerField,\n }))\n }, [\n filterConfigs,\n filterGroups.map((g) => `${g.field}-${g.filters.length}`).join(','),\n maxFiltersPerField,\n ])\n\n return (\n <div className={cx(s.j2FilterForm)}>\n <div\n className={cx(\n s.filterFormFieldsContainer,\n 'flex flex-col gap-4',\n 'p-4 mb-6'\n )}\n >\n {title && <span className={s.filterFormTitle}>{title}</span>}\n {filterGroups.map((filterGroup, groupIndex) => (\n <div\n key={`filter-group-${filterGroup.field}-${filterGroup.filters.length}`}\n className={cx('flex gap-3', {\n 'items-center': filterGroup.filters.length === 1,\n })}\n >\n {groupIndex > 0 ? (\n <span\n className={cx(s.filterFormConjunction, {\n 'pt-4': filterGroup.filters.length > 1,\n })}\n >\n and\n </span>\n ) : null}\n <FilterGroup\n filterGroup={filterGroup}\n groupIndex={groupIndex}\n filterConfigs={availableFilterConfigs}\n className=\"grow\"\n onChange={(filter, filterIndex) => {\n dispatch({\n type: 'changeFilter',\n payload: { groupIndex, filterIndex, filter },\n })\n }}\n onDone={(filter, filterIndex) => {\n dispatch({\n type: 'updateFilter',\n payload: { groupIndex, filterIndex, filter },\n })\n }}\n onRemove={(filterIndex) => {\n dispatch({\n type: 'removeFilter',\n payload: { groupIndex, filterIndex },\n })\n }}\n />\n </div>\n ))}\n {isNewFilterInputOpen && (\n <div className={cx('flex gap-3 items-center')}>\n {filterGroups.length > 0 ? (\n <span className={cx(s.filterFormConjunction)}>and</span>\n ) : null}\n <div className={cx('flex items-center justify-between', 'grow')}>\n <FilterInput\n key={JSON.stringify(filterGroups)}\n filterConfigs={availableFilterConfigs}\n className=\"flex-1\"\n onChange={(filter) => {\n dispatch({ type: 'changeNewFilter', payload: filter })\n }}\n onBlur={(filter) => {\n dispatch({ type: 'addNewFilter', payload: filter })\n }}\n />\n <div className=\"mr-3\">\n {filterGroups.length > 0 ? (\n <Button\n type=\"text\"\n icon={<TrashIcon />}\n onClick={() => dispatch({ type: 'removeNewFilter' })}\n />\n ) : (\n <div className=\"w-8\" />\n )}\n </div>\n </div>\n </div>\n )}\n <div className=\"flex items-center\">\n <Button\n icon={<PlusCircleIcon />}\n onClick={() => dispatch({ type: 'openNewFilterInput' })}\n disabled={!isValid}\n >\n Add Rule\n </Button>\n <Button\n type=\"text\"\n onClick={() => {\n dispatch({\n type: 'clearAllFilters',\n })\n }}\n >\n Clear All Rules\n </Button>\n </div>\n </div>\n <div className=\"flex justify-end\">\n <Button\n onClick={handleSubmit}\n type=\"primary\"\n disabled={isEmpty ? false : !isValid}\n >\n Apply Filters\n </Button>\n </div>\n </div>\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FiltersForm.cjs","names":["useFiltersForm","isFilter","isEmptyFilter","useMemo","cx","s","FilterGroup","FilterInput","Button","TrashIcon","PlusCircleIcon"],"sources":["../../../../src/components/filterform/FiltersForm.tsx"],"sourcesContent":["import { Button } from '../button'\nimport { PlusCircleIcon, TrashIcon } from '@phosphor-icons/react'\nimport s from './FiltersForm.module.css'\nimport cx from 'classnames'\nimport { FilterForm, FilterConfig } from '.'\nimport { isEmptyFilter, isFilter } from './filterHelpers'\nimport { useMemo } from 'react'\nimport { FilterInput } from './FilterInput'\nimport { useFiltersForm } from './useFiltersForm'\nimport { FilterGroup } from './FilterGroup'\n\ntype Props = {\n filterConfigs: FilterConfig[]\n title?: string\n onSubmit: (values: FilterForm) => void\n initialValues?: FilterForm\n maxFiltersPerField?: number\n}\n\nexport const FiltersForm = ({\n title,\n filterConfigs,\n onSubmit,\n initialValues,\n maxFiltersPerField = 5,\n}: Props) => {\n const {\n dispatch,\n filterGroups,\n newFilter,\n isNewFilterInputOpen,\n isValid,\n isEmpty,\n } = useFiltersForm({\n initialValues,\n })\n\n const handleSubmit = () => {\n // A rule still in the \"new rule\" input only joins `filterGroups` when\n // that input blurs. Clicking Apply does blur it, but the commit is not\n // guaranteed to have landed by the time this handler reads the groups\n // (the inputs defer their blur so a chip committed during it isn't\n // lost), so a user who types a value and clicks Apply straight away\n // would submit without the rule they just wrote. `newFilter` tracks\n // that input on every change, so include it here when it is complete;\n // once the blur commit lands it is cleared, so it is never counted twice.\n // `errors` lives on the form-side FormFilter, so it is read before\n // `isFilter` narrows to the public Filter type.\n const pending =\n newFilter &&\n (newFilter.errors?.length ?? 0) === 0 &&\n isFilter(newFilter) &&\n !isEmptyFilter(newFilter)\n ? [newFilter]\n : []\n onSubmit({\n filters: [\n ...filterGroups\n .flatMap((group) => group.filters)\n .filter((filter) => isFilter(filter))\n .filter((filter) => !isEmptyFilter(filter)),\n ...pending,\n ],\n })\n }\n\n const availableFilterConfigs = useMemo(() => {\n const filterFieldCounts = filterGroups.reduce(\n (acc, filterGroup) => {\n acc[filterGroup.field] = filterGroup.filters.length\n return acc\n },\n {} as Record<string, number>\n )\n\n return filterConfigs.map((config) => ({\n ...config,\n disabled: (filterFieldCounts[config.field] || 0) >= maxFiltersPerField,\n }))\n }, [\n filterConfigs,\n filterGroups.map((g) => `${g.field}-${g.filters.length}`).join(','),\n maxFiltersPerField,\n ])\n\n return (\n <div className={cx(s.j2FilterForm)}>\n <div\n className={cx(\n s.filterFormFieldsContainer,\n 'flex flex-col gap-4',\n 'p-4 mb-6'\n )}\n >\n {title && <span className={s.filterFormTitle}>{title}</span>}\n {filterGroups.map((filterGroup, groupIndex) => (\n <div\n key={`filter-group-${filterGroup.field}-${filterGroup.filters.length}`}\n className={cx('flex gap-3', {\n 'items-center': filterGroup.filters.length === 1,\n })}\n >\n {groupIndex > 0 ? (\n <span\n className={cx(s.filterFormConjunction, {\n 'pt-4': filterGroup.filters.length > 1,\n })}\n >\n and\n </span>\n ) : null}\n <FilterGroup\n filterGroup={filterGroup}\n groupIndex={groupIndex}\n filterConfigs={availableFilterConfigs}\n className=\"grow\"\n onChange={(filter, filterIndex) => {\n dispatch({\n type: 'changeFilter',\n payload: { groupIndex, filterIndex, filter },\n })\n }}\n onDone={(filter, filterIndex) => {\n dispatch({\n type: 'updateFilter',\n payload: { groupIndex, filterIndex, filter },\n })\n }}\n onRemove={(filterIndex) => {\n dispatch({\n type: 'removeFilter',\n payload: { groupIndex, filterIndex },\n })\n }}\n />\n </div>\n ))}\n {isNewFilterInputOpen && (\n <div className={cx('flex gap-3 items-center')}>\n {filterGroups.length > 0 ? (\n <span className={cx(s.filterFormConjunction)}>and</span>\n ) : null}\n <div className={cx('flex items-center justify-between', 'grow')}>\n <FilterInput\n key={JSON.stringify(filterGroups)}\n filterConfigs={availableFilterConfigs}\n className=\"flex-1\"\n onChange={(filter) => {\n dispatch({ type: 'changeNewFilter', payload: filter })\n }}\n onBlur={(filter) => {\n dispatch({ type: 'addNewFilter', payload: filter })\n }}\n />\n <div className=\"mr-3\">\n {filterGroups.length > 0 ? (\n <Button\n type=\"text\"\n icon={<TrashIcon />}\n onClick={() => dispatch({ type: 'removeNewFilter' })}\n />\n ) : (\n <div className=\"w-8\" />\n )}\n </div>\n </div>\n </div>\n )}\n <div className=\"flex items-center\">\n <Button\n icon={<PlusCircleIcon />}\n onClick={() => dispatch({ type: 'openNewFilterInput' })}\n disabled={!isValid}\n >\n Add Rule\n </Button>\n <Button\n type=\"text\"\n onClick={() => {\n dispatch({\n type: 'clearAllFilters',\n })\n }}\n >\n Clear All Rules\n </Button>\n </div>\n </div>\n <div className=\"flex justify-end\">\n <Button\n onClick={handleSubmit}\n type=\"primary\"\n disabled={isEmpty ? false : !isValid}\n >\n Apply Filters\n </Button>\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ const require_FormikField = require("../form/FormikField.cjs");
|
|
|
3
3
|
const require_InputNumber_module = require("./InputNumber.module.css.cjs");
|
|
4
4
|
let antd = require("antd");
|
|
5
5
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
6
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
6
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
8
|
let classnames = require("classnames");
|
|
8
9
|
classnames = require_runtime.__toESM(classnames, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputNumber.cjs","names":["FormikField","AntdInputNumber","cx","styles","CaretUpIcon","CaretDownIcon"],"sources":["../../../../src/components/inputnumber/InputNumber.tsx"],"sourcesContent":["import { InputNumber as AntdInputNumber, type InputNumberProps } from 'antd'\nimport { FormikField, type FormikFieldProps } from '../form/FormikField'\nimport cx from 'classnames'\nimport styles from './InputNumber.module.css'\nimport { CaretDownIcon, CaretUpIcon } from '@phosphor-icons/react'\ntype Props = Expand<InputNumberProps & FormikFieldProps> & {\n name: string\n max?: number\n min?: number\n step?: number\n}\n\nexport const InputNumber = ({\n size = 'large',\n step = 1,\n name,\n max,\n min,\n validate,\n fast,\n onChange,\n onBlur,\n ...props\n}: Props) => {\n return (\n <FormikField name={name} validate={validate} fast={fast}>\n {({ field, form }) => (\n <AntdInputNumber\n name={name}\n id={name}\n max={max}\n min={min}\n step={step}\n className={cx(styles.j2InputNumber, props.className)}\n upHandler={<CaretUpIcon weight=\"bold\" size={12} />}\n downHandler={<CaretDownIcon weight=\"bold\" size={12} />}\n size={size}\n {...props}\n value={field.value}\n onChange={(value) => {\n void form.setFieldValue(name, value)\n onChange?.(value)\n }}\n onBlur={(event) => {\n field.onBlur(event)\n onBlur?.(event)\n }}\n />\n )}\n </FormikField>\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InputNumber.cjs","names":["FormikField","AntdInputNumber","cx","styles","CaretUpIcon","CaretDownIcon"],"sources":["../../../../src/components/inputnumber/InputNumber.tsx"],"sourcesContent":["import { InputNumber as AntdInputNumber, type InputNumberProps } from 'antd'\nimport { FormikField, type FormikFieldProps } from '../form/FormikField'\nimport cx from 'classnames'\nimport styles from './InputNumber.module.css'\nimport { CaretDownIcon, CaretUpIcon } from '@phosphor-icons/react'\ntype Props = Expand<InputNumberProps & FormikFieldProps> & {\n name: string\n max?: number\n min?: number\n step?: number\n}\n\nexport const InputNumber = ({\n size = 'large',\n step = 1,\n name,\n max,\n min,\n validate,\n fast,\n onChange,\n onBlur,\n ...props\n}: Props) => {\n return (\n <FormikField name={name} validate={validate} fast={fast}>\n {({ field, form }) => (\n <AntdInputNumber\n name={name}\n id={name}\n max={max}\n min={min}\n step={step}\n className={cx(styles.j2InputNumber, props.className)}\n upHandler={<CaretUpIcon weight=\"bold\" size={12} />}\n downHandler={<CaretDownIcon weight=\"bold\" size={12} />}\n size={size}\n {...props}\n value={field.value}\n onChange={(value) => {\n void form.setFieldValue(name, value)\n onChange?.(value)\n }}\n onBlur={(event) => {\n field.onBlur(event)\n onBlur?.(event)\n }}\n />\n )}\n </FormikField>\n )\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAa,eAAe,EAC1B,OAAO,SACP,OAAO,GACP,MACA,KACA,KACA,UACA,MACA,UACA,QACA,GAAG,YACQ;CACX,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,oBAAAA,aAAD;EAAmB;EAAgB;EAAgB;EAC/C,WAAA,EAAE,OAAO,WACT,iBAAA,GAAA,kBAAA,IAAA,CAACC,KAAAA,aAAD;GACQ;GACN,IAAI;GACC;GACA;GACC;GACN,YAAA,GAAWC,WAAAA,QAAAA,CAAGC,2BAAAA,QAAO,eAAe,MAAM,SAAS;GACnD,WAAW,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,aAAD;IAAa,QAAO;IAAO,MAAM;GAAK,CAAA;GACjD,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,eAAD;IAAe,QAAO;IAAO,MAAM;GAAK,CAAA;GAC/C;GACN,GAAI;GACJ,OAAO,MAAM;GACb,WAAW,UAAU;IACnB,KAAU,cAAc,MAAM,KAAK;IACnC,WAAW,KAAK;GAClB;GACA,SAAS,UAAU;IACjB,MAAM,OAAO,KAAK;IAClB,SAAS,KAAK;GAChB;EACD,CAAA;CAEQ,CAAA;AAEjB"}
|
|
@@ -4,6 +4,7 @@ const require_Popover = require("../popover/Popover.cjs");
|
|
|
4
4
|
const require_Tooltip = require("../tooltip/Tooltip.cjs");
|
|
5
5
|
const require_ListPopover_module = require("./ListPopover.module.css.cjs");
|
|
6
6
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
7
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
7
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
9
|
let classnames = require("classnames");
|
|
9
10
|
classnames = require_runtime.__toESM(classnames, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListPopover.cjs","names":["Tooltip","Button","CopyIcon","cx","s","Popover"],"sources":["../../../../src/components/listpopover/ListPopover.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport cx from 'classnames'\nimport { Popover } from '../popover/Popover'\nimport { Button } from '../button/Button'\nimport { CopyIcon } from '@phosphor-icons/react'\nimport { Tooltip } from '../tooltip'\nimport { OpenMessageFunc } from '../message/useMessage'\nimport s from './ListPopover.module.css'\n\nexport type PopoverObjectItem = { categoryName: string; items: string[] }\nexport type PopoverItem = string | PopoverObjectItem\n\ntype _ContentProps = {\n items: PopoverItem[]\n openMessage: OpenMessageFunc\n renderItem?: (label: string) => ReactNode\n}\n\ntype PopoverContentProps = Expand<_ContentProps>\n\nconst CopyButton = ({\n openMessage,\n textToCopy,\n}: {\n openMessage: OpenMessageFunc\n textToCopy: string\n}) => (\n <Tooltip title=\"Copy to Clipboard\" className=\"ml-2\" arrow={false}>\n <Button\n type=\"text\"\n icon={\n <CopyIcon\n onClick={() => {\n navigator.clipboard.writeText(textToCopy)\n openMessage('success', 'Copied to Clipboard')\n }}\n />\n }\n ></Button>\n </Tooltip>\n)\n\nconst StringListItem = ({\n item,\n openMessage,\n renderItem,\n}: {\n item: string\n openMessage: OpenMessageFunc\n renderItem?: (label: string) => ReactNode\n}) => {\n return (\n <div key={item} className={cx('flex items-center')}>\n <div className={cx('overflow-hidden text-nowrap text-ellipsis')}>\n {renderItem ? renderItem(item) : item}\n </div>\n <CopyButton openMessage={openMessage} textToCopy={item} />\n </div>\n )\n}\n\nconst ObjectListItem = ({\n item,\n openMessage,\n index,\n renderItem,\n}: {\n item: PopoverObjectItem\n openMessage: OpenMessageFunc\n index: number\n renderItem?: (label: string) => ReactNode\n}) => {\n return (\n <div className={cx({ 'mt-2': index != 0 })}>\n <p\n className={cx(\n 'overflow-hidden text-nowrap text-ellipsis',\n s.categoryName\n )}\n title={item.categoryName}\n >\n {item.categoryName}\n </p>\n {item.items.map((subItem, index) => (\n <div key={`${subItem}:${index}`} className={cx('flex items-center')}>\n <div className={cx('overflow-hidden text-nowrap text-ellipsis')}>\n {renderItem ? renderItem(subItem) : subItem}\n </div>\n <CopyButton openMessage={openMessage} textToCopy={subItem} />\n </div>\n ))}\n </div>\n )\n}\n\nconst PopoverContent = ({\n items,\n openMessage,\n renderItem,\n}: PopoverContentProps) => {\n return (\n <div className={cx('max-w-[400px] max-h-[198px]')}>\n {items.map((item, i) =>\n typeof item === 'string' ? (\n <StringListItem\n key={item}\n item={item}\n openMessage={openMessage}\n renderItem={renderItem}\n />\n ) : (\n <ObjectListItem\n index={i}\n key={item.categoryName}\n item={item}\n openMessage={openMessage}\n renderItem={renderItem}\n />\n )\n )}\n </div>\n )\n}\n\ntype Props = {\n items: PopoverItem[]\n column: string\n openMessage: OpenMessageFunc\n children: React.ReactNode\n renderItem?: (label: string) => ReactNode\n}\n\nexport type ListPopoverProps = Expand<Props>\n\nconst ListPopover = ({\n children,\n items,\n column,\n openMessage,\n renderItem,\n}: ListPopoverProps) => {\n return (\n <Popover\n title={`${column} (${items.length})`}\n content={\n <PopoverContent\n items={items}\n openMessage={openMessage}\n renderItem={renderItem}\n />\n }\n trigger=\"click\"\n scrollable={true}\n arrow={false}\n contentPadding={false}\n >\n <div className=\"w-full overflow-hidden\">\n <Button\n className={cx(\n 'p-0 h-auto w-full overflow-hidden text-left justify-start'\n )}\n type={items.length > 0 ? 'link' : 'text'}\n >\n {children}\n </Button>\n </div>\n </Popover>\n )\n}\n\nexport { ListPopover }\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ListPopover.cjs","names":["Tooltip","Button","CopyIcon","cx","s","Popover"],"sources":["../../../../src/components/listpopover/ListPopover.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport cx from 'classnames'\nimport { Popover } from '../popover/Popover'\nimport { Button } from '../button/Button'\nimport { CopyIcon } from '@phosphor-icons/react'\nimport { Tooltip } from '../tooltip'\nimport { OpenMessageFunc } from '../message/useMessage'\nimport s from './ListPopover.module.css'\n\nexport type PopoverObjectItem = { categoryName: string; items: string[] }\nexport type PopoverItem = string | PopoverObjectItem\n\ntype _ContentProps = {\n items: PopoverItem[]\n openMessage: OpenMessageFunc\n renderItem?: (label: string) => ReactNode\n}\n\ntype PopoverContentProps = Expand<_ContentProps>\n\nconst CopyButton = ({\n openMessage,\n textToCopy,\n}: {\n openMessage: OpenMessageFunc\n textToCopy: string\n}) => (\n <Tooltip title=\"Copy to Clipboard\" className=\"ml-2\" arrow={false}>\n <Button\n type=\"text\"\n icon={\n <CopyIcon\n onClick={() => {\n navigator.clipboard.writeText(textToCopy)\n openMessage('success', 'Copied to Clipboard')\n }}\n />\n }\n ></Button>\n </Tooltip>\n)\n\nconst StringListItem = ({\n item,\n openMessage,\n renderItem,\n}: {\n item: string\n openMessage: OpenMessageFunc\n renderItem?: (label: string) => ReactNode\n}) => {\n return (\n <div key={item} className={cx('flex items-center')}>\n <div className={cx('overflow-hidden text-nowrap text-ellipsis')}>\n {renderItem ? renderItem(item) : item}\n </div>\n <CopyButton openMessage={openMessage} textToCopy={item} />\n </div>\n )\n}\n\nconst ObjectListItem = ({\n item,\n openMessage,\n index,\n renderItem,\n}: {\n item: PopoverObjectItem\n openMessage: OpenMessageFunc\n index: number\n renderItem?: (label: string) => ReactNode\n}) => {\n return (\n <div className={cx({ 'mt-2': index != 0 })}>\n <p\n className={cx(\n 'overflow-hidden text-nowrap text-ellipsis',\n s.categoryName\n )}\n title={item.categoryName}\n >\n {item.categoryName}\n </p>\n {item.items.map((subItem, index) => (\n <div key={`${subItem}:${index}`} className={cx('flex items-center')}>\n <div className={cx('overflow-hidden text-nowrap text-ellipsis')}>\n {renderItem ? renderItem(subItem) : subItem}\n </div>\n <CopyButton openMessage={openMessage} textToCopy={subItem} />\n </div>\n ))}\n </div>\n )\n}\n\nconst PopoverContent = ({\n items,\n openMessage,\n renderItem,\n}: PopoverContentProps) => {\n return (\n <div className={cx('max-w-[400px] max-h-[198px]')}>\n {items.map((item, i) =>\n typeof item === 'string' ? (\n <StringListItem\n key={item}\n item={item}\n openMessage={openMessage}\n renderItem={renderItem}\n />\n ) : (\n <ObjectListItem\n index={i}\n key={item.categoryName}\n item={item}\n openMessage={openMessage}\n renderItem={renderItem}\n />\n )\n )}\n </div>\n )\n}\n\ntype Props = {\n items: PopoverItem[]\n column: string\n openMessage: OpenMessageFunc\n children: React.ReactNode\n renderItem?: (label: string) => ReactNode\n}\n\nexport type ListPopoverProps = Expand<Props>\n\nconst ListPopover = ({\n children,\n items,\n column,\n openMessage,\n renderItem,\n}: ListPopoverProps) => {\n return (\n <Popover\n title={`${column} (${items.length})`}\n content={\n <PopoverContent\n items={items}\n openMessage={openMessage}\n renderItem={renderItem}\n />\n }\n trigger=\"click\"\n scrollable={true}\n arrow={false}\n contentPadding={false}\n >\n <div className=\"w-full overflow-hidden\">\n <Button\n className={cx(\n 'p-0 h-auto w-full overflow-hidden text-left justify-start'\n )}\n type={items.length > 0 ? 'link' : 'text'}\n >\n {children}\n </Button>\n </div>\n </Popover>\n )\n}\n\nexport { ListPopover }\n"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
|
2
2
|
const require_Checkbox = require("../checkbox/Checkbox.cjs");
|
|
3
3
|
let react = require("react");
|
|
4
4
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
5
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
5
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
7
|
let classnames = require("classnames");
|
|
7
8
|
classnames = require_runtime.__toESM(classnames, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageColumnsItem.cjs","names":["memo","useCallback","useSortable","CSS","cx","Checkbox","DotsSixIcon"],"sources":["../../../../src/components/manageColumns/ManageColumnsItem.tsx"],"sourcesContent":["import { memo, useCallback } from 'react'\nimport cx from 'classnames'\nimport { DotsSixIcon } from '@phosphor-icons/react'\nimport { useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\n\nimport { Checkbox } from '../checkbox'\n\nexport const ManageColumnsItem = memo(function ManageColumnsItem({\n id,\n label,\n visible,\n pinned,\n onToggle,\n}: {\n id: string\n label: string\n visible: boolean\n pinned: boolean\n onToggle: (id: string) => void\n}) {\n const handleToggle = useCallback(() => onToggle(id), [onToggle, id])\n\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({\n id,\n // Boolean shorthand only disables dragging, not dropping onto a pinned row.\n disabled: { draggable: pinned, droppable: pinned },\n })\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n }\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n className={cx(\n 'flex items-center justify-between gap-2 py-1.5 pl-2 -ml-2 bg-white rounded',\n 'has-[button:hover]:bg-j2-gray-2',\n isDragging && 'shadow-md z-10 relative',\n pinned && 'opacity-50'\n )}\n >\n <Checkbox\n checked={visible}\n disabled={pinned}\n onChange={pinned ? undefined : handleToggle}\n className={cx(\n // No gap: antd's own .ant-checkbox-label already pads before children.\n 'flex items-center flex-1 min-w-0',\n pinned ? 'cursor-not-allowed' : 'cursor-pointer'\n )}\n >\n <span className=\"truncate text-j2-lg text-j2-text\" title={label}>\n {label}\n </span>\n </Checkbox>\n {!pinned && (\n <button\n type=\"button\"\n {...attributes}\n {...listeners}\n aria-label={`Drag to reorder ${label}`}\n className=\"p-1 text-j2-text cursor-grab active:cursor-grabbing\"\n >\n <DotsSixIcon size={16} weight=\"bold\" className=\"rotate-90\" />\n </button>\n )}\n </div>\n )\n})\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ManageColumnsItem.cjs","names":["memo","useCallback","useSortable","CSS","cx","Checkbox","DotsSixIcon"],"sources":["../../../../src/components/manageColumns/ManageColumnsItem.tsx"],"sourcesContent":["import { memo, useCallback } from 'react'\nimport cx from 'classnames'\nimport { DotsSixIcon } from '@phosphor-icons/react'\nimport { useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\n\nimport { Checkbox } from '../checkbox'\n\nexport const ManageColumnsItem = memo(function ManageColumnsItem({\n id,\n label,\n visible,\n pinned,\n onToggle,\n}: {\n id: string\n label: string\n visible: boolean\n pinned: boolean\n onToggle: (id: string) => void\n}) {\n const handleToggle = useCallback(() => onToggle(id), [onToggle, id])\n\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({\n id,\n // Boolean shorthand only disables dragging, not dropping onto a pinned row.\n disabled: { draggable: pinned, droppable: pinned },\n })\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n }\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n className={cx(\n 'flex items-center justify-between gap-2 py-1.5 pl-2 -ml-2 bg-white rounded',\n 'has-[button:hover]:bg-j2-gray-2',\n isDragging && 'shadow-md z-10 relative',\n pinned && 'opacity-50'\n )}\n >\n <Checkbox\n checked={visible}\n disabled={pinned}\n onChange={pinned ? undefined : handleToggle}\n className={cx(\n // No gap: antd's own .ant-checkbox-label already pads before children.\n 'flex items-center flex-1 min-w-0',\n pinned ? 'cursor-not-allowed' : 'cursor-pointer'\n )}\n >\n <span className=\"truncate text-j2-lg text-j2-text\" title={label}>\n {label}\n </span>\n </Checkbox>\n {!pinned && (\n <button\n type=\"button\"\n {...attributes}\n {...listeners}\n aria-label={`Drag to reorder ${label}`}\n className=\"p-1 text-j2-text cursor-grab active:cursor-grabbing\"\n >\n <DotsSixIcon size={16} weight=\"bold\" className=\"rotate-90\" />\n </button>\n )}\n </div>\n )\n})\n"],"mappings":";;;;;;;;;;;AAQA,IAAa,qBAAA,GAAoBA,MAAAA,KAAAA,CAAK,SAAS,kBAAkB,EAC/D,IACA,OACA,SACA,QACA,YAOC;CACD,MAAM,gBAAA,GAAeC,MAAAA,YAAAA,OAAkB,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;CAEnE,MAAM,EACJ,YACA,WACA,YACA,WACA,YACA,gBAAA,GACEC,kBAAAA,YAAAA,CAAY;EACd;EAEA,UAAU;GAAE,WAAW;GAAQ,WAAW;EAAO;CACnD,CAAC;CAED,MAAM,QAAQ;EACZ,WAAWC,mBAAAA,IAAI,UAAU,SAAS,SAAS;EAC3C;CACF;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,KAAK;EACE;EACP,YAAA,GAAWC,WAAAA,QAAAA,CACT,8EACA,mCACA,cAAc,2BACd,UAAU,YACZ;EARF,UAAA,CAUE,iBAAA,GAAA,kBAAA,IAAA,CAACC,iBAAAA,UAAD;GACE,SAAS;GACT,UAAU;GACV,UAAU,SAAS,KAAA,IAAY;GAC/B,YAAA,GAAWD,WAAAA,QAAAA,CAET,oCACA,SAAS,uBAAuB,gBAClC;GAEA,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IAAM,WAAU;IAAmC,OAAO;IACvD,UAAA;GACG,CAAA;EACE,CAAA,GACT,CAAC,UACA,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;GACE,MAAK;GACL,GAAI;GACJ,GAAI;GACJ,cAAY,mBAAmB;GAC/B,WAAU;GAEV,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACE,sBAAAA,aAAD;IAAa,MAAM;IAAI,QAAO;IAAO,WAAU;GAAa,CAAA;EACtD,CAAA,CAEP;;AAET,CAAC"}
|
|
@@ -2,6 +2,7 @@ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
|
2
2
|
const require_Message_module = require("./Message.module.css.cjs");
|
|
3
3
|
let antd = require("antd");
|
|
4
4
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
5
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
5
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
7
|
let classnames = require("classnames");
|
|
7
8
|
classnames = require_runtime.__toESM(classnames, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessage.cjs","names":["CheckCircleIcon","cx","styles","WarningCircleIcon","XCircleIcon","message"],"sources":["../../../../src/components/message/useMessage.tsx"],"sourcesContent":["import { message } from 'antd'\nimport styles from './Message.module.css'\nimport cx from 'classnames'\nimport {\n CheckCircleIcon,\n WarningCircleIcon,\n XCircleIcon,\n} from '@phosphor-icons/react'\n\ntype NotificationType = 'success' | 'warning' | 'error'\n\nexport type OpenMessageFunc = (\n type: Expand<NotificationType>,\n messageContent: string\n) => void\n\nconst getIcon = (type: NotificationType) => {\n switch (type) {\n case 'success':\n return (\n <CheckCircleIcon\n weight=\"fill\"\n color=\"var(--j2-color-success)\"\n size={16}\n className={cx(styles.messageIcon)}\n />\n )\n case 'warning':\n return (\n <WarningCircleIcon\n weight=\"fill\"\n color=\"var(--j2-color-warning)\"\n size={16}\n className={cx(styles.messageIcon)}\n />\n )\n case 'error':\n return (\n <XCircleIcon\n weight=\"fill\"\n color=\"var(--j2-color-error)\"\n size={16}\n className={cx(styles.messageIcon)}\n />\n )\n }\n}\n\nexport const useMessage = () => {\n const [messageApi, contextHolder] = message.useMessage()\n\n const openMessage: OpenMessageFunc = (\n type: Expand<NotificationType>,\n messageContent: string\n ) => {\n messageApi.open({\n type: type,\n icon: getIcon(type),\n content: messageContent,\n className: cx({ styles }),\n })\n }\n\n return { openMessage, contextHolder }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMessage.cjs","names":["CheckCircleIcon","cx","styles","WarningCircleIcon","XCircleIcon","message"],"sources":["../../../../src/components/message/useMessage.tsx"],"sourcesContent":["import { message } from 'antd'\nimport styles from './Message.module.css'\nimport cx from 'classnames'\nimport {\n CheckCircleIcon,\n WarningCircleIcon,\n XCircleIcon,\n} from '@phosphor-icons/react'\n\ntype NotificationType = 'success' | 'warning' | 'error'\n\nexport type OpenMessageFunc = (\n type: Expand<NotificationType>,\n messageContent: string\n) => void\n\nconst getIcon = (type: NotificationType) => {\n switch (type) {\n case 'success':\n return (\n <CheckCircleIcon\n weight=\"fill\"\n color=\"var(--j2-color-success)\"\n size={16}\n className={cx(styles.messageIcon)}\n />\n )\n case 'warning':\n return (\n <WarningCircleIcon\n weight=\"fill\"\n color=\"var(--j2-color-warning)\"\n size={16}\n className={cx(styles.messageIcon)}\n />\n )\n case 'error':\n return (\n <XCircleIcon\n weight=\"fill\"\n color=\"var(--j2-color-error)\"\n size={16}\n className={cx(styles.messageIcon)}\n />\n )\n }\n}\n\nexport const useMessage = () => {\n const [messageApi, contextHolder] = message.useMessage()\n\n const openMessage: OpenMessageFunc = (\n type: Expand<NotificationType>,\n messageContent: string\n ) => {\n messageApi.open({\n type: type,\n icon: getIcon(type),\n content: messageContent,\n className: cx({ styles }),\n })\n }\n\n return { openMessage, contextHolder }\n}\n"],"mappings":";;;;;;;;;AAgBA,IAAM,WAAW,SAA2B;CAC1C,QAAQ,MAAR;EACE,KAAK,WACH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,sBAAAA,iBAAD;GACE,QAAO;GACP,OAAM;GACN,MAAM;GACN,YAAA,GAAWC,WAAAA,QAAAA,CAAGC,uBAAAA,QAAO,WAAW;EACjC,CAAA;EAEL,KAAK,WACH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,mBAAD;GACE,QAAO;GACP,OAAM;GACN,MAAM;GACN,YAAA,GAAWF,WAAAA,QAAAA,CAAGC,uBAAAA,QAAO,WAAW;EACjC,CAAA;EAEL,KAAK,SACH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,sBAAAA,aAAD;GACE,QAAO;GACP,OAAM;GACN,MAAM;GACN,YAAA,GAAWH,WAAAA,QAAAA,CAAGC,uBAAAA,QAAO,WAAW;EACjC,CAAA;CAEP;AACF;AAEA,IAAa,mBAAmB;CAC9B,MAAM,CAAC,YAAY,iBAAiBG,KAAAA,QAAQ,WAAW;CAEvD,MAAM,eACJ,MACA,mBACG;EACH,WAAW,KAAK;GACR;GACN,MAAM,QAAQ,IAAI;GAClB,SAAS;GACT,YAAA,GAAWJ,WAAAA,QAAAA,CAAG,EAAE,QAAA,uBAAA,QAAO,CAAC;EAC1B,CAAC;CACH;CAEA,OAAO;EAAE;EAAa;CAAc;AACtC"}
|
|
@@ -2,6 +2,7 @@ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
|
2
2
|
;/* empty css */
|
|
3
3
|
let antd = require("antd");
|
|
4
4
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
5
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
5
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
7
|
let classnames = require("classnames");
|
|
7
8
|
classnames = require_runtime.__toESM(classnames, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.cjs","names":["AntdModal","cx","XIcon"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["import { Modal as AntdModal, ModalProps } from 'antd'\nimport { XIcon } from '@phosphor-icons/react'\nimport './Modal.css'\nimport cx from 'classnames'\n\nexport type Props = {\n withContentPadding?: boolean\n} & Expand<ModalProps>\n\nconst Modal = ({\n open,\n title,\n children,\n onCancel,\n withContentPadding: withPadding = true,\n ...props\n}: Props) => {\n return (\n <AntdModal\n title={title}\n className={cx('j2-modal')}\n centered\n closeIcon={<XIcon size={22} weight=\"regular\" />}\n onCancel={onCancel}\n open={open}\n {...props}\n >\n <div className={cx(withPadding ? 'px-6 py-3' : 'px-0 py-0')}>\n {children}\n </div>\n </AntdModal>\n )\n}\n\nexport { Modal }\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Modal.cjs","names":["AntdModal","cx","XIcon"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["import { Modal as AntdModal, ModalProps } from 'antd'\nimport { XIcon } from '@phosphor-icons/react'\nimport './Modal.css'\nimport cx from 'classnames'\n\nexport type Props = {\n withContentPadding?: boolean\n} & Expand<ModalProps>\n\nconst Modal = ({\n open,\n title,\n children,\n onCancel,\n withContentPadding: withPadding = true,\n ...props\n}: Props) => {\n return (\n <AntdModal\n title={title}\n className={cx('j2-modal')}\n centered\n closeIcon={<XIcon size={22} weight=\"regular\" />}\n onCancel={onCancel}\n open={open}\n {...props}\n >\n <div className={cx(withPadding ? 'px-6 py-3' : 'px-0 py-0')}>\n {children}\n </div>\n </AntdModal>\n )\n}\n\nexport { Modal }\n"],"mappings":";;;;;;;;;AASA,IAAM,SAAS,EACb,MACA,OACA,UACA,UACA,oBAAoB,cAAc,MAClC,GAAG,YACQ;CACX,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,KAAAA,OAAD;EACS;EACP,YAAA,GAAWC,WAAAA,QAAAA,CAAG,UAAU;EACxB,UAAA;EACA,WAAW,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,OAAD;GAAO,MAAM;GAAI,QAAO;EAAW,CAAA;EACpC;EACJ;EACN,GAAI;EAEJ,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,YAAA,GAAWD,WAAAA,QAAAA,CAAG,cAAc,cAAc,WAAW;GACvD;EACE,CAAA;CACI,CAAA;AAEf"}
|
|
@@ -4,6 +4,7 @@ let react = require("react");
|
|
|
4
4
|
react = require_runtime.__toESM(react, 1);
|
|
5
5
|
let antd = require("antd");
|
|
6
6
|
let _phosphor_icons_react = require("@phosphor-icons/react");
|
|
7
|
+
_phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
|
|
7
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
9
|
let classnames = require("classnames");
|
|
9
10
|
classnames = require_runtime.__toESM(classnames, 1);
|