@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.
Files changed (64) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +0 -12
  2. package/dist/index.cjs +4 -2
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +2 -2
  5. package/dist/index2.js +54 -0
  6. package/dist/src/AppConfigProvider.cjs +1 -0
  7. package/dist/src/AppConfigProvider.cjs.map +1 -1
  8. package/dist/src/components/alert/Alert.cjs +1 -0
  9. package/dist/src/components/alert/Alert.cjs.map +1 -1
  10. package/dist/src/components/checkboxTree/TreeNode.cjs +2 -0
  11. package/dist/src/components/checkboxTree/TreeNode.cjs.map +1 -1
  12. package/dist/src/components/collapse/Collapse.cjs +1 -0
  13. package/dist/src/components/collapse/Collapse.cjs.map +1 -1
  14. package/dist/src/components/drawer/Drawer.cjs +2 -0
  15. package/dist/src/components/drawer/Drawer.cjs.map +1 -1
  16. package/dist/src/components/dropdown/Dropdown.cjs +1 -0
  17. package/dist/src/components/dropdown/Dropdown.cjs.map +1 -1
  18. package/dist/src/components/filterform/FilterGroup.cjs +1 -0
  19. package/dist/src/components/filterform/FilterGroup.cjs.map +1 -1
  20. package/dist/src/components/filterform/FiltersForm.cjs +1 -0
  21. package/dist/src/components/filterform/FiltersForm.cjs.map +1 -1
  22. package/dist/src/components/inputnumber/InputNumber.cjs +1 -0
  23. package/dist/src/components/inputnumber/InputNumber.cjs.map +1 -1
  24. package/dist/src/components/listpopover/ListPopover.cjs +1 -0
  25. package/dist/src/components/listpopover/ListPopover.cjs.map +1 -1
  26. package/dist/src/components/manageColumns/ManageColumnsItem.cjs +1 -0
  27. package/dist/src/components/manageColumns/ManageColumnsItem.cjs.map +1 -1
  28. package/dist/src/components/message/useMessage.cjs +1 -0
  29. package/dist/src/components/message/useMessage.cjs.map +1 -1
  30. package/dist/src/components/modal/Modal.cjs +1 -0
  31. package/dist/src/components/modal/Modal.cjs.map +1 -1
  32. package/dist/src/components/notification/useNotification.cjs +1 -0
  33. package/dist/src/components/notification/useNotification.cjs.map +1 -1
  34. package/dist/src/components/notificationModal/NotificationModal.cjs +2 -0
  35. package/dist/src/components/notificationModal/NotificationModal.cjs.map +1 -1
  36. package/dist/src/components/pagination/Pagination.cjs +1 -0
  37. package/dist/src/components/pagination/Pagination.cjs.map +1 -1
  38. package/dist/src/components/rate/Rate.cjs +2 -0
  39. package/dist/src/components/rate/Rate.cjs.map +1 -1
  40. package/dist/src/components/select/AntdSelect.cjs +1 -0
  41. package/dist/src/components/select/AntdSelect.cjs.map +1 -1
  42. package/dist/src/components/select/Select.cjs +1 -0
  43. package/dist/src/components/select/Select.cjs.map +1 -1
  44. package/dist/src/components/select/SummarizedSelect.cjs +6 -5
  45. package/dist/src/components/select/SummarizedSelect.cjs.map +1 -1
  46. package/dist/src/components/select/SummarizedSelect.js +5 -5
  47. package/dist/src/components/select/SummarizedSelect.js.map +1 -1
  48. package/dist/src/components/select/SummarizedSelect.module.css.cjs +8 -8
  49. package/dist/src/components/select/SummarizedSelect.module.css.cjs.map +1 -1
  50. package/dist/src/components/select/SummarizedSelect.module.css.js +8 -8
  51. package/dist/src/components/select/SummarizedSelect.module.css.js.map +1 -1
  52. package/dist/src/components/steps/Steps.cjs +1 -0
  53. package/dist/src/components/steps/Steps.cjs.map +1 -1
  54. package/dist/src/components/table/Table.cjs +1 -0
  55. package/dist/src/components/table/Table.cjs.map +1 -1
  56. package/dist/src/components/tag/Tag.cjs +1 -0
  57. package/dist/src/components/tag/Tag.cjs.map +1 -1
  58. package/dist/style.css +32 -21
  59. package/package.json +6 -6
  60. package/dist/_virtual/_rolldown/runtime.js +0 -27
  61. package/dist/src/components/icons/index.cjs +0 -22
  62. package/dist/src/components/icons/index.cjs.map +0 -1
  63. package/dist/src/components/icons/index.js +0 -10
  64. 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 require_index.icons_exports;
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 './src/components/icons/index.js';
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
- 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_exports as icons, isMultiValueTextOperator, normalizeMultiValues, operatorOptionsFor, tailwindPreset, useMessage, useNotification, useSteps, withDesignSystemPaginationOverrides };
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":";;;;;;;;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"}
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":";;;;;;;;;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
+ {"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":";;;;;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"}
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":";;;;;;;;;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
+ {"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":";;;;;;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"}
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":";;;;;;;;;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"}
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":";;;;;;;;;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"}
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":"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"}
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":";;;;;;;;;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"}
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":"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"}
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":";;;;;;;;;;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"}
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":";;;;;;;;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"}
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":";;;;;;;;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"}
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);