@j2-health/design-system 0.5.5 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/README.md +10 -9
  2. package/dist/index.cjs +15 -1
  3. package/dist/index.d.ts +7 -0
  4. package/dist/index.js +9 -2
  5. package/dist/index2.js +9 -2
  6. package/dist/src/components/alert/Alert.cjs +4 -2
  7. package/dist/src/components/alert/Alert.cjs.map +1 -1
  8. package/dist/src/components/alert/Alert.d.ts +2 -2
  9. package/dist/src/components/alert/Alert.js +3 -2
  10. package/dist/src/components/alert/Alert.js.map +1 -1
  11. package/dist/src/components/button/Button.cjs +7 -2
  12. package/dist/src/components/button/Button.cjs.map +1 -1
  13. package/dist/src/components/button/Button.d.ts +10 -2
  14. package/dist/src/components/button/Button.js +5 -2
  15. package/dist/src/components/button/Button.js.map +1 -1
  16. package/dist/src/components/card/Card.cjs +16 -2
  17. package/dist/src/components/card/Card.cjs.map +1 -1
  18. package/dist/src/components/card/Card.d.ts +7 -1
  19. package/dist/src/components/card/Card.js +16 -2
  20. package/dist/src/components/card/Card.js.map +1 -1
  21. package/dist/src/components/changeChip/ChangeChip.cjs +52 -0
  22. package/dist/src/components/changeChip/ChangeChip.cjs.map +1 -0
  23. package/dist/src/components/changeChip/ChangeChip.d.ts +40 -0
  24. package/dist/src/components/changeChip/ChangeChip.js +49 -0
  25. package/dist/src/components/changeChip/ChangeChip.js.map +1 -0
  26. package/dist/src/components/changeChip/index.d.ts +1 -0
  27. package/dist/src/components/collapse/Collapse.cjs +9 -2
  28. package/dist/src/components/collapse/Collapse.cjs.map +1 -1
  29. package/dist/src/components/collapse/Collapse.d.ts +7 -1
  30. package/dist/src/components/collapse/Collapse.js +9 -2
  31. package/dist/src/components/collapse/Collapse.js.map +1 -1
  32. package/dist/src/components/collapse/Collapse.module.css.cjs +7 -4
  33. package/dist/src/components/collapse/Collapse.module.css.cjs.map +1 -1
  34. package/dist/src/components/collapse/Collapse.module.css.js +7 -5
  35. package/dist/src/components/collapse/Collapse.module.css.js.map +1 -1
  36. package/dist/src/components/dropdown/Dropdown.cjs +6 -1
  37. package/dist/src/components/dropdown/Dropdown.cjs.map +1 -1
  38. package/dist/src/components/dropdown/Dropdown.d.ts +8 -1
  39. package/dist/src/components/dropdown/Dropdown.js +6 -1
  40. package/dist/src/components/dropdown/Dropdown.js.map +1 -1
  41. package/dist/src/components/emptyState/EmptyState.cjs +39 -0
  42. package/dist/src/components/emptyState/EmptyState.cjs.map +1 -0
  43. package/dist/src/components/emptyState/EmptyState.d.ts +20 -0
  44. package/dist/src/components/emptyState/EmptyState.js +37 -0
  45. package/dist/src/components/emptyState/EmptyState.js.map +1 -0
  46. package/dist/src/components/emptyState/index.d.ts +1 -0
  47. package/dist/src/components/input/AntdInput.d.ts +1 -1
  48. package/dist/src/components/input/AntdSearchInput.d.ts +1 -1
  49. package/dist/src/components/listRow/ListRow.cjs +65 -0
  50. package/dist/src/components/listRow/ListRow.cjs.map +1 -0
  51. package/dist/src/components/listRow/ListRow.d.ts +41 -0
  52. package/dist/src/components/listRow/ListRow.js +63 -0
  53. package/dist/src/components/listRow/ListRow.js.map +1 -0
  54. package/dist/src/components/listRow/index.d.ts +1 -0
  55. package/dist/src/components/modal/Modal.cjs +9 -3
  56. package/dist/src/components/modal/Modal.cjs.map +1 -1
  57. package/dist/src/components/modal/Modal.d.ts +3 -1
  58. package/dist/src/components/modal/Modal.js +10 -4
  59. package/dist/src/components/modal/Modal.js.map +1 -1
  60. package/dist/src/components/navMenu/NavMenu.cjs +2 -2
  61. package/dist/src/components/navMenu/NavMenu.cjs.map +1 -1
  62. package/dist/src/components/navMenu/NavMenu.d.ts +3 -1
  63. package/dist/src/components/navMenu/NavMenu.js +2 -2
  64. package/dist/src/components/navMenu/NavMenu.js.map +1 -1
  65. package/dist/src/components/popover/Popover.cjs.map +1 -1
  66. package/dist/src/components/popover/Popover.d.ts +1 -1
  67. package/dist/src/components/popover/Popover.js.map +1 -1
  68. package/dist/src/components/popover/Popover.module.css.cjs +12 -9
  69. package/dist/src/components/popover/Popover.module.css.cjs.map +1 -1
  70. package/dist/src/components/popover/Popover.module.css.js +12 -10
  71. package/dist/src/components/popover/Popover.module.css.js.map +1 -1
  72. package/dist/src/components/select/SummarizedSelect.cjs +26 -13
  73. package/dist/src/components/select/SummarizedSelect.cjs.map +1 -1
  74. package/dist/src/components/select/SummarizedSelect.d.ts +23 -4
  75. package/dist/src/components/select/SummarizedSelect.js +26 -13
  76. package/dist/src/components/select/SummarizedSelect.js.map +1 -1
  77. package/dist/src/components/select/SummarizedSelect.module.css.cjs +15 -9
  78. package/dist/src/components/select/SummarizedSelect.module.css.cjs.map +1 -1
  79. package/dist/src/components/select/SummarizedSelect.module.css.js +14 -10
  80. package/dist/src/components/select/SummarizedSelect.module.css.js.map +1 -1
  81. package/dist/src/components/statusPill/StatusPill.cjs +47 -0
  82. package/dist/src/components/statusPill/StatusPill.cjs.map +1 -0
  83. package/dist/src/components/statusPill/StatusPill.d.ts +28 -0
  84. package/dist/src/components/statusPill/StatusPill.js +45 -0
  85. package/dist/src/components/statusPill/StatusPill.js.map +1 -0
  86. package/dist/src/components/statusPill/StatusPill.module.css.cjs +20 -0
  87. package/dist/src/components/statusPill/StatusPill.module.css.cjs.map +1 -0
  88. package/dist/src/components/statusPill/StatusPill.module.css.js +16 -0
  89. package/dist/src/components/statusPill/StatusPill.module.css.js.map +1 -0
  90. package/dist/src/components/statusPill/index.d.ts +1 -0
  91. package/dist/src/components/swatch/Swatch.cjs +50 -0
  92. package/dist/src/components/swatch/Swatch.cjs.map +1 -0
  93. package/dist/src/components/swatch/Swatch.d.ts +24 -0
  94. package/dist/src/components/swatch/Swatch.js +48 -0
  95. package/dist/src/components/swatch/Swatch.js.map +1 -0
  96. package/dist/src/components/swatch/index.d.ts +1 -0
  97. package/dist/src/components/swatchStrip/SwatchStrip.cjs +50 -0
  98. package/dist/src/components/swatchStrip/SwatchStrip.cjs.map +1 -0
  99. package/dist/src/components/swatchStrip/SwatchStrip.d.ts +25 -0
  100. package/dist/src/components/swatchStrip/SwatchStrip.js +50 -0
  101. package/dist/src/components/swatchStrip/SwatchStrip.js.map +1 -0
  102. package/dist/src/components/swatchStrip/index.d.ts +1 -0
  103. package/dist/src/components/switch/Switch.cjs +7 -3
  104. package/dist/src/components/switch/Switch.cjs.map +1 -1
  105. package/dist/src/components/switch/Switch.d.ts +1 -1
  106. package/dist/src/components/switch/Switch.js +5 -3
  107. package/dist/src/components/switch/Switch.js.map +1 -1
  108. package/dist/src/components/tabs/Tabs.cjs +6 -1
  109. package/dist/src/components/tabs/Tabs.cjs.map +1 -1
  110. package/dist/src/components/tabs/Tabs.d.ts +10 -2
  111. package/dist/src/components/tabs/Tabs.js +4 -1
  112. package/dist/src/components/tabs/Tabs.js.map +1 -1
  113. package/dist/src/components/tabs/Tabs.module.css.cjs +13 -0
  114. package/dist/src/components/tabs/Tabs.module.css.cjs.map +1 -0
  115. package/dist/src/components/tabs/Tabs.module.css.js +11 -0
  116. package/dist/src/components/tabs/Tabs.module.css.js.map +1 -0
  117. package/dist/src/components/tag/Tag.cjs +13 -6
  118. package/dist/src/components/tag/Tag.cjs.map +1 -1
  119. package/dist/src/components/tag/Tag.d.ts +13 -2
  120. package/dist/src/components/tag/Tag.js +13 -6
  121. package/dist/src/components/tag/Tag.js.map +1 -1
  122. package/dist/src/components/thresholdBar/ThresholdBar.cjs +128 -0
  123. package/dist/src/components/thresholdBar/ThresholdBar.cjs.map +1 -0
  124. package/dist/src/components/thresholdBar/ThresholdBar.d.ts +36 -0
  125. package/dist/src/components/thresholdBar/ThresholdBar.js +125 -0
  126. package/dist/src/components/thresholdBar/ThresholdBar.js.map +1 -0
  127. package/dist/src/components/thresholdBar/ThresholdBar.module.css.cjs +19 -0
  128. package/dist/src/components/thresholdBar/ThresholdBar.module.css.cjs.map +1 -0
  129. package/dist/src/components/thresholdBar/ThresholdBar.module.css.js +15 -0
  130. package/dist/src/components/thresholdBar/ThresholdBar.module.css.js.map +1 -0
  131. package/dist/src/components/thresholdBar/index.d.ts +1 -0
  132. package/dist/style.css +342 -41
  133. package/dist/tailwind.cjs +56 -0
  134. package/dist/tailwind.cjs.map +1 -1
  135. package/dist/tailwind.config.d.ts +112 -0
  136. package/dist/tailwind.js +56 -0
  137. package/dist/tailwind.js.map +1 -1
  138. package/package.json +2 -2
  139. package/src/stylesheets/Colors.stories.tsx +163 -0
  140. package/src/stylesheets/base.css +110 -0
package/README.md CHANGED
@@ -201,12 +201,15 @@ consequences worth knowing before you change anything here:
201
201
  11.5.1, which is exactly what Node 24.5.0 ships. The workflow asserts this
202
202
  rather than letting it surface later as an unexplained 401.
203
203
 
204
- To release a new version — maintainers only, since step 2 needs write access to
205
- this repository:
204
+ To release a new version, bump `version` in `package.json` in a pull request —
205
+ on its own, or in the PR carrying the change you want to release — and merge it.
206
+ That is the whole procedure: the merge to `main` triggers the publish workflow,
207
+ which checks that `version` changed and is not already on npm, then publishes it
208
+ and creates the matching `vX.Y.Z` tag. A merge that touches `package.json`
209
+ without changing `version` (a dependency bump, say) publishes nothing.
206
210
 
207
- 1. Bump `version` in `package.json` in a pull request — on its own, or in the PR
208
- carrying the change you want to release — and merge it.
209
- 2. Dispatch the publish workflow against `main`:
211
+ If an automatic release needs re-running, dispatch the workflow against `main` —
212
+ maintainers only, since it needs write access to this repository:
210
213
 
211
214
  ```bash
212
215
  $ gh workflow run publish-workflow.yml --ref main
@@ -217,10 +220,8 @@ Pick the ref carefully: the publish job is _skipped_ rather than failed on any
217
220
  other ref, so a dispatch from a feature branch reports success without
218
221
  publishing.
219
222
 
220
- That is the whole procedure. The workflow publishes the version `package.json`
221
- declares and then creates the matching `vX.Y.Z` tag itself, so you do not
222
- normally tag by hand — the `tag` job's own comments cover the one case that
223
- needs it, where publishing succeeds and tagging fails.
223
+ You do not normally tag by hand — the `tag` job's own comments cover the one
224
+ case that needs it, where publishing succeeds and tagging fails.
224
225
 
225
226
  `npm version` is not the tool here, despite being the obvious one: it writes the
226
227
  bump as a local commit, and `main` requires a pull request, so that commit has
package/dist/index.cjs CHANGED
@@ -9,11 +9,14 @@ const require_Breadcrumb = require("./src/components/breadcrumb/Breadcrumb.cjs")
9
9
  const require_Button = require("./src/components/button/Button.cjs");
10
10
  const require_BulkActionBar = require("./src/components/bulkActionBar/BulkActionBar.cjs");
11
11
  const require_Card = require("./src/components/card/Card.cjs");
12
+ const require_Swatch = require("./src/components/swatch/Swatch.cjs");
13
+ const require_ChangeChip = require("./src/components/changeChip/ChangeChip.cjs");
12
14
  const require_Checkbox = require("./src/components/checkbox/Checkbox.cjs");
13
15
  const require_CheckboxTree = require("./src/components/checkboxTree/CheckboxTree.cjs");
14
16
  const require_Collapse = require("./src/components/collapse/Collapse.cjs");
15
17
  const require_Drawer = require("./src/components/drawer/Drawer.cjs");
16
18
  const require_Dropdown = require("./src/components/dropdown/Dropdown.cjs");
19
+ const require_EmptyState = require("./src/components/emptyState/EmptyState.cjs");
17
20
  const require_filterHelpers = require("./src/components/filterform/filterHelpers.cjs");
18
21
  const require_useFilterField = require("./src/components/filterform/useFilterField.cjs");
19
22
  const require_FiltersForm = require("./src/components/filterform/FiltersForm.cjs");
@@ -22,6 +25,8 @@ const require_Input = require("./src/components/input/Input.cjs");
22
25
  const require_AntdInput = require("./src/components/input/AntdInput.cjs");
23
26
  const require_AntdSearchInput = require("./src/components/input/AntdSearchInput.cjs");
24
27
  const require_InputNumber = require("./src/components/inputnumber/InputNumber.cjs");
28
+ const require_Radio = require("./src/components/radio/Radio.cjs");
29
+ const require_ListRow = require("./src/components/listRow/ListRow.cjs");
25
30
  const require_Popover = require("./src/components/popover/Popover.cjs");
26
31
  const require_Tooltip = require("./src/components/tooltip/Tooltip.cjs");
27
32
  const require_ListPopover = require("./src/components/listpopover/ListPopover.cjs");
@@ -35,7 +40,6 @@ const require_useNotification = require("./src/components/notification/useNotifi
35
40
  const require_NotificationModal = require("./src/components/notificationModal/NotificationModal.cjs");
36
41
  const require_Pagination = require("./src/components/pagination/Pagination.cjs");
37
42
  const require_Progress = require("./src/components/progress/Progress.cjs");
38
- const require_Radio = require("./src/components/radio/Radio.cjs");
39
43
  const require_Rate = require("./src/components/rate/Rate.cjs");
40
44
  const require_Select = require("./src/components/select/Select.cjs");
41
45
  const require_AntdSelect = require("./src/components/select/AntdSelect.cjs");
@@ -43,11 +47,14 @@ const require_Tag = require("./src/components/tag/Tag.cjs");
43
47
  const require_SummarizedSelect = require("./src/components/select/SummarizedSelect.cjs");
44
48
  const require_Skeleton = require("./src/components/skeleton/Skeleton.cjs");
45
49
  const require_Spinner = require("./src/components/spinner/Spinner.cjs");
50
+ const require_StatusPill = require("./src/components/statusPill/StatusPill.cjs");
46
51
  const require_useSteps = require("./src/components/steps/useSteps.cjs");
47
52
  const require_Steps = require("./src/components/steps/Steps.cjs");
53
+ const require_SwatchStrip = require("./src/components/swatchStrip/SwatchStrip.cjs");
48
54
  const require_Switch = require("./src/components/switch/Switch.cjs");
49
55
  const require_Table = require("./src/components/table/Table.cjs");
50
56
  const require_Tabs = require("./src/components/tabs/Tabs.cjs");
57
+ const require_ThresholdBar = require("./src/components/thresholdBar/ThresholdBar.cjs");
51
58
  const require_VennDiagram = require("./src/components/vennDiagram/VennDiagram.cjs");
52
59
  const require_UserProfile = require("./src/components/legacyNavMenu/UserProfile.cjs");
53
60
  const require_LegacyNavMenu = require("./src/components/legacyNavMenu/LegacyNavMenu.cjs");
@@ -64,11 +71,13 @@ exports.Breadcrumb = require_Breadcrumb.Breadcrumb;
64
71
  exports.BulkActionBar = require_BulkActionBar.BulkActionBar;
65
72
  exports.Button = require_Button.Button;
66
73
  exports.Card = require_Card.Card;
74
+ exports.ChangeChip = require_ChangeChip.ChangeChip;
67
75
  exports.Checkbox = require_Checkbox.Checkbox;
68
76
  exports.CheckboxTree = require_CheckboxTree.CheckboxTree;
69
77
  exports.Collapse = require_Collapse.Collapse;
70
78
  exports.Drawer = require_Drawer.Drawer;
71
79
  exports.Dropdown = require_Dropdown.Dropdown;
80
+ exports.EmptyState = require_EmptyState.EmptyState;
72
81
  exports.FiltersForm = require_FiltersForm.FiltersForm;
73
82
  exports.Form = require_Form.Form;
74
83
  Object.defineProperty(exports, "HighchartsReact", {
@@ -81,6 +90,7 @@ exports.Input = require_Input.Input;
81
90
  exports.InputNumber = require_InputNumber.InputNumber;
82
91
  exports.LegacyNavMenu = require_LegacyNavMenu.LegacyNavMenu;
83
92
  exports.ListPopover = require_ListPopover.ListPopover;
93
+ exports.ListRow = require_ListRow.ListRow;
84
94
  exports.ManageColumnsPanel = require_ManageColumnsPanel.ManageColumnsPanel;
85
95
  exports.Menu = require_Menu.Menu;
86
96
  exports.Modal = require_Modal.Modal;
@@ -97,12 +107,16 @@ exports.Select = require_Select.Select;
97
107
  exports.SelectAll = require_SelectAll.SelectAll;
98
108
  exports.Skeleton = require_Skeleton.Skeleton;
99
109
  exports.Spinner = require_Spinner.Spinner;
110
+ exports.StatusPill = require_StatusPill.StatusPill;
100
111
  exports.Steps = require_Steps.Steps;
101
112
  exports.SummarizedSelect = require_SummarizedSelect.SummarizedSelect;
113
+ exports.Swatch = require_Swatch.Swatch;
114
+ exports.SwatchStrip = require_SwatchStrip.SwatchStrip;
102
115
  exports.Switch = require_Switch.Switch;
103
116
  exports.Table = require_Table.Table;
104
117
  exports.Tabs = require_Tabs.Tabs;
105
118
  exports.Tag = require_Tag.Tag;
119
+ exports.ThresholdBar = require_ThresholdBar.ThresholdBar;
106
120
  exports.Tooltip = require_Tooltip.Tooltip;
107
121
  exports.UserProfile = require_UserProfile.UserProfile;
108
122
  exports.VennDiagram = require_VennDiagram.VennDiagram;
package/dist/index.d.ts CHANGED
@@ -7,15 +7,18 @@ export * from './src/components/breadcrumb/index.js';
7
7
  export * from './src/components/bulkActionBar/index.js';
8
8
  export * from './src/components/button/index.js';
9
9
  export * from './src/components/card/index.js';
10
+ export * from './src/components/changeChip/index.js';
10
11
  export * from './src/components/checkbox/index.js';
11
12
  export * from './src/components/checkboxTree/index.js';
12
13
  export * from './src/components/collapse/index.js';
13
14
  export * from './src/components/drawer/index.js';
14
15
  export * from './src/components/dropdown/index.js';
16
+ export * from './src/components/emptyState/index.js';
15
17
  export * from './src/components/filterform/index.js';
16
18
  export * from './src/components/form/index.js';
17
19
  export * from './src/components/input/index.js';
18
20
  export * from './src/components/inputnumber/index.js';
21
+ export * from './src/components/listRow/index.js';
19
22
  export * from './src/components/listpopover/index.js';
20
23
  export * from './src/components/manageColumns/index.js';
21
24
  export * from './src/components/menu/index.js';
@@ -32,11 +35,15 @@ export * from './src/components/rate/index.js';
32
35
  export * from './src/components/select/index.js';
33
36
  export * from './src/components/skeleton/index.js';
34
37
  export * from './src/components/spinner/index.js';
38
+ export * from './src/components/statusPill/index.js';
35
39
  export * from './src/components/steps/index.js';
40
+ export * from './src/components/swatch/index.js';
41
+ export * from './src/components/swatchStrip/index.js';
36
42
  export * from './src/components/switch/index.js';
37
43
  export * from './src/components/table/index.js';
38
44
  export * from './src/components/tabs/index.js';
39
45
  export * from './src/components/tag/index.js';
46
+ export * from './src/components/thresholdBar/index.js';
40
47
  export * from './src/components/tooltip/index.js';
41
48
  export * from './src/components/vennDiagram/index.js';
42
49
  export * from './src/components/legacyNavMenu/index.js';
package/dist/index.js CHANGED
@@ -8,11 +8,14 @@ import { Breadcrumb } from "./src/components/breadcrumb/Breadcrumb.js";
8
8
  import { Button } from "./src/components/button/Button.js";
9
9
  import { BulkActionBar } from "./src/components/bulkActionBar/BulkActionBar.js";
10
10
  import { Card } from "./src/components/card/Card.js";
11
+ import { Swatch } from "./src/components/swatch/Swatch.js";
12
+ import { ChangeChip } from "./src/components/changeChip/ChangeChip.js";
11
13
  import { Checkbox } from "./src/components/checkbox/Checkbox.js";
12
14
  import { CheckboxTree } from "./src/components/checkboxTree/CheckboxTree.js";
13
15
  import { Collapse } from "./src/components/collapse/Collapse.js";
14
16
  import { Drawer } from "./src/components/drawer/Drawer.js";
15
17
  import { Dropdown } from "./src/components/dropdown/Dropdown.js";
18
+ import { EmptyState } from "./src/components/emptyState/EmptyState.js";
16
19
  import { isMultiValueTextOperator, normalizeMultiValues } from "./src/components/filterform/filterHelpers.js";
17
20
  import { MultiValueTextOperatorOptions, operatorOptionsFor } from "./src/components/filterform/useFilterField.js";
18
21
  import { FiltersForm } from "./src/components/filterform/FiltersForm.js";
@@ -21,6 +24,8 @@ import { Input } from "./src/components/input/Input.js";
21
24
  import { AntdInput } from "./src/components/input/AntdInput.js";
22
25
  import { AntdSearchInput } from "./src/components/input/AntdSearchInput.js";
23
26
  import { InputNumber } from "./src/components/inputnumber/InputNumber.js";
27
+ import { Radio, RadioGroup } from "./src/components/radio/Radio.js";
28
+ import { ListRow } from "./src/components/listRow/ListRow.js";
24
29
  import { Popover } from "./src/components/popover/Popover.js";
25
30
  import { Tooltip } from "./src/components/tooltip/Tooltip.js";
26
31
  import { ListPopover } from "./src/components/listpopover/ListPopover.js";
@@ -34,7 +39,6 @@ import { useNotification } from "./src/components/notification/useNotification.j
34
39
  import { NotificationModal } from "./src/components/notificationModal/NotificationModal.js";
35
40
  import { Pagination, withDesignSystemPaginationOverrides } from "./src/components/pagination/Pagination.js";
36
41
  import { Progress } from "./src/components/progress/Progress.js";
37
- import { Radio, RadioGroup } from "./src/components/radio/Radio.js";
38
42
  import { Rate } from "./src/components/rate/Rate.js";
39
43
  import { Select } from "./src/components/select/Select.js";
40
44
  import { AntdSelect } from "./src/components/select/AntdSelect.js";
@@ -42,13 +46,16 @@ import { Tag } from "./src/components/tag/Tag.js";
42
46
  import { SummarizedSelect } from "./src/components/select/SummarizedSelect.js";
43
47
  import { Skeleton } from "./src/components/skeleton/Skeleton.js";
44
48
  import { Spinner } from "./src/components/spinner/Spinner.js";
49
+ import { StatusPill } from "./src/components/statusPill/StatusPill.js";
45
50
  import { useSteps } from "./src/components/steps/useSteps.js";
46
51
  import { Steps } from "./src/components/steps/Steps.js";
52
+ import { SwatchStrip } from "./src/components/swatchStrip/SwatchStrip.js";
47
53
  import { Switch } from "./src/components/switch/Switch.js";
48
54
  import { Table } from "./src/components/table/Table.js";
49
55
  import { Tabs } from "./src/components/tabs/Tabs.js";
56
+ import { ThresholdBar } from "./src/components/thresholdBar/ThresholdBar.js";
50
57
  import { VennDiagram } from "./src/components/vennDiagram/VennDiagram.js";
51
58
  import { UserProfile } from "./src/components/legacyNavMenu/UserProfile.js";
52
59
  import { LegacyNavMenu } from "./src/components/legacyNavMenu/LegacyNavMenu.js";
53
60
  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 };
61
+ export { Alert, AntdInput, AntdSearchInput, AntdSelect, AppConfigProvider, BarChart, Breadcrumb, BulkActionBar, Button, Card, ChangeChip, Checkbox, CheckboxTree, Collapse, Drawer, Dropdown, EmptyState, FiltersForm, Form, HighchartsReact, Input, InputNumber, LegacyNavMenu, ListPopover, ListRow, ManageColumnsPanel, Menu, Modal, MultiValueTextOperatorOptions, NavMenu, NotificationModal, Pagination, Popover, Progress, Radio, RadioGroup, Rate, Select, SelectAll, Skeleton, Spinner, StatusPill, Steps, SummarizedSelect, Swatch, SwatchStrip, Switch, Table, Tabs, Tag, ThresholdBar, Tooltip, UserProfile, VennDiagram, appTheme, icons, isMultiValueTextOperator, normalizeMultiValues, operatorOptionsFor, tailwindPreset, useMessage, useNotification, useSteps, withDesignSystemPaginationOverrides };
package/dist/index2.js CHANGED
@@ -8,11 +8,14 @@ import { Breadcrumb } from "./src/components/breadcrumb/Breadcrumb.js";
8
8
  import { Button } from "./src/components/button/Button.js";
9
9
  import { BulkActionBar } from "./src/components/bulkActionBar/BulkActionBar.js";
10
10
  import { Card } from "./src/components/card/Card.js";
11
+ import { Swatch } from "./src/components/swatch/Swatch.js";
12
+ import { ChangeChip } from "./src/components/changeChip/ChangeChip.js";
11
13
  import { Checkbox } from "./src/components/checkbox/Checkbox.js";
12
14
  import { CheckboxTree } from "./src/components/checkboxTree/CheckboxTree.js";
13
15
  import { Collapse } from "./src/components/collapse/Collapse.js";
14
16
  import { Drawer } from "./src/components/drawer/Drawer.js";
15
17
  import { Dropdown } from "./src/components/dropdown/Dropdown.js";
18
+ import { EmptyState } from "./src/components/emptyState/EmptyState.js";
16
19
  import { isMultiValueTextOperator, normalizeMultiValues } from "./src/components/filterform/filterHelpers.js";
17
20
  import { MultiValueTextOperatorOptions, operatorOptionsFor } from "./src/components/filterform/useFilterField.js";
18
21
  import { FiltersForm } from "./src/components/filterform/FiltersForm.js";
@@ -21,6 +24,8 @@ import { Input } from "./src/components/input/Input.js";
21
24
  import { AntdInput } from "./src/components/input/AntdInput.js";
22
25
  import { AntdSearchInput } from "./src/components/input/AntdSearchInput.js";
23
26
  import { InputNumber } from "./src/components/inputnumber/InputNumber.js";
27
+ import { Radio, RadioGroup } from "./src/components/radio/Radio.js";
28
+ import { ListRow } from "./src/components/listRow/ListRow.js";
24
29
  import { Popover } from "./src/components/popover/Popover.js";
25
30
  import { Tooltip } from "./src/components/tooltip/Tooltip.js";
26
31
  import { ListPopover } from "./src/components/listpopover/ListPopover.js";
@@ -34,7 +39,6 @@ import { useNotification } from "./src/components/notification/useNotification.j
34
39
  import { NotificationModal } from "./src/components/notificationModal/NotificationModal.js";
35
40
  import { Pagination, withDesignSystemPaginationOverrides } from "./src/components/pagination/Pagination.js";
36
41
  import { Progress } from "./src/components/progress/Progress.js";
37
- import { Radio, RadioGroup } from "./src/components/radio/Radio.js";
38
42
  import { Rate } from "./src/components/rate/Rate.js";
39
43
  import { Select } from "./src/components/select/Select.js";
40
44
  import { AntdSelect } from "./src/components/select/AntdSelect.js";
@@ -42,13 +46,16 @@ import { Tag } from "./src/components/tag/Tag.js";
42
46
  import { SummarizedSelect } from "./src/components/select/SummarizedSelect.js";
43
47
  import { Skeleton } from "./src/components/skeleton/Skeleton.js";
44
48
  import { Spinner } from "./src/components/spinner/Spinner.js";
49
+ import { StatusPill } from "./src/components/statusPill/StatusPill.js";
45
50
  import { useSteps } from "./src/components/steps/useSteps.js";
46
51
  import { Steps } from "./src/components/steps/Steps.js";
52
+ import { SwatchStrip } from "./src/components/swatchStrip/SwatchStrip.js";
47
53
  import { Switch } from "./src/components/switch/Switch.js";
48
54
  import { Table } from "./src/components/table/Table.js";
49
55
  import { Tabs } from "./src/components/tabs/Tabs.js";
56
+ import { ThresholdBar } from "./src/components/thresholdBar/ThresholdBar.js";
50
57
  import { VennDiagram } from "./src/components/vennDiagram/VennDiagram.js";
51
58
  import { UserProfile } from "./src/components/legacyNavMenu/UserProfile.js";
52
59
  import { LegacyNavMenu } from "./src/components/legacyNavMenu/LegacyNavMenu.js";
53
60
  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 };
61
+ export { Alert, AntdInput, AntdSearchInput, AntdSelect, AppConfigProvider, BarChart, Breadcrumb, BulkActionBar, Button, Card, ChangeChip, Checkbox, CheckboxTree, Collapse, Drawer, Dropdown, EmptyState, FiltersForm, Form, HighchartsReact, Input, InputNumber, LegacyNavMenu, ListPopover, ListRow, ManageColumnsPanel, Menu, Modal, MultiValueTextOperatorOptions, NavMenu, NotificationModal, Pagination, Popover, Progress, Radio, RadioGroup, Rate, Select, SelectAll, Skeleton, Spinner, StatusPill, Steps, SummarizedSelect, Swatch, SwatchStrip, Switch, Table, Tabs, Tag, ThresholdBar, Tooltip, UserProfile, VennDiagram, appTheme, icons, isMultiValueTextOperator, normalizeMultiValues, operatorOptionsFor, tailwindPreset, useMessage, useNotification, useSteps, withDesignSystemPaginationOverrides };
@@ -7,8 +7,10 @@ let antd = require("antd");
7
7
  let _phosphor_icons_react = require("@phosphor-icons/react");
8
8
  _phosphor_icons_react = require_runtime.__toESM(_phosphor_icons_react, 1);
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
10
+ let classnames = require("classnames");
11
+ classnames = require_runtime.__toESM(classnames, 1);
10
12
  //#region src/components/alert/Alert.tsx
11
- var Alert = ({ description, type, closable = false, showIcon = true, banner = false, message, title, closeIcon, closeText, onClose, afterClose, ...props }) => {
13
+ var Alert = ({ description, type, closable = false, showIcon = true, banner = false, message, title, closeIcon, closeText, onClose, afterClose, className, ...props }) => {
12
14
  const { token } = antd.theme.useToken();
13
15
  const icon = react$1.useMemo(() => {
14
16
  const size = description ? token.sizeLG : token.size;
@@ -60,7 +62,7 @@ var Alert = ({ description, type, closable = false, showIcon = true, banner = fa
60
62
  }
61
63
  }, [type]);
62
64
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Alert, {
63
- className: require_Alert_module.default.alert,
65
+ className: (0, classnames.default)(require_Alert_module.default.alert, className),
64
66
  icon,
65
67
  closable: closable || closeText ? {
66
68
  closeIcon: closeText || (closeIcon ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_phosphor_icons_react.XIcon, {
@@ -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","cx","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 cx from 'classnames'\nimport styles from './Alert.module.css'\ntype Props = Expand<Omit<AlertProps, 'type'>> & {\n description?: React.ReactNode\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 className,\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={cx(styles.alert, className)}\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":";;;;;;;;;;;;AAoBA,IAAM,SAAS,EACb,aACA,MACA,WAAW,OACX,WAAW,MACX,SAAS,OACT,SACA,OACA,WACA,WACA,SACA,YACA,WACA,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,YAAA,GAAWC,WAAAA,QAAAA,CAAGC,qBAAAA,QAAO,OAAO,SAAS;EAC/B;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,11 +1,11 @@
1
1
  import { AlertProps } from 'antd';
2
2
  import * as React from 'react';
3
3
  type Props = Expand<Omit<AlertProps, 'type'>> & {
4
- description?: string;
4
+ description?: React.ReactNode;
5
5
  type: 'success' | 'info' | 'warning' | 'error' | 'loading';
6
6
  closable?: boolean;
7
7
  showIcon?: boolean;
8
8
  banner?: boolean;
9
9
  };
10
- declare const Alert: ({ description, type, closable, showIcon, banner, message, title, closeIcon, closeText, onClose, afterClose, ...props }: Props) => React.JSX.Element;
10
+ declare const Alert: ({ description, type, closable, showIcon, banner, message, title, closeIcon, closeText, onClose, afterClose, className, ...props }: Props) => React.JSX.Element;
11
11
  export { Alert };
@@ -3,8 +3,9 @@ import * as React from "react";
3
3
  import { Alert, theme } from "antd";
4
4
  import { CheckCircleIcon, CircleNotchIcon, InfoIcon, WarningCircleIcon, XCircleIcon, XIcon } from "@phosphor-icons/react";
5
5
  import { jsx } from "react/jsx-runtime";
6
+ import cx from "classnames";
6
7
  //#region src/components/alert/Alert.tsx
7
- var Alert$1 = ({ description, type, closable = false, showIcon = true, banner = false, message, title, closeIcon, closeText, onClose, afterClose, ...props }) => {
8
+ var Alert$1 = ({ description, type, closable = false, showIcon = true, banner = false, message, title, closeIcon, closeText, onClose, afterClose, className, ...props }) => {
8
9
  const { token } = theme.useToken();
9
10
  const icon = React.useMemo(() => {
10
11
  const size = description ? token.sizeLG : token.size;
@@ -56,7 +57,7 @@ var Alert$1 = ({ description, type, closable = false, showIcon = true, banner =
56
57
  }
57
58
  }, [type]);
58
59
  return /* @__PURE__ */ jsx(Alert, {
59
- className: Alert_module_default.alert,
60
+ className: cx(Alert_module_default.alert, className),
60
61
  icon,
61
62
  closable: closable || closeText ? {
62
63
  closeIcon: closeText || (closeIcon ?? /* @__PURE__ */ jsx(XIcon, {
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","names":["Alert","AntdAlert","styles"],"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,IAAMA,WAAS,EACb,aACA,MACA,WAAW,OACX,WAAW,MACX,SAAS,OACT,SACA,OACA,WACA,WACA,SACA,YACA,GAAG,YACQ;CACX,MAAM,EAAE,UAAU,MAAM,SAAS;CACjC,MAAM,OAAO,MAAM,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,oBAAC,iBAAD;KAAiB,MAAK;KAAqC;IAAO,CAAA;IAEtE,KAAK,SACH,OAAO,oBAAC,aAAD;KAAa,MAAK;KAAmC;IAAO,CAAA;IACrE,KAAK,QACH,OAAO,oBAAC,UAAD;KAAU,MAAK;KAAkC;IAAO,CAAA;IACjE,KAAK,WACH,OACE,oBAAC,mBAAD;KACE,MAAK;KACC;IACP,CAAA;IAEL,KAAK,WACH,OACE,oBAAC,iBAAD;KACE,MAAK;KACC;KACN,QAAO;KACP,OAAO,EACL,WAAW,0BACb;IACD,CAAA;IAEL,SACE,OAAO;GACX;EACF,EAAA,CAAG;EAEH,OAAO,YACL,oBAAC,QAAD;GAAM,OAAO;GAAY,UAAA;EAAkB,CAAA,IAE3C;CAEJ,GAAG;EAAC;EAAM;EAAa,MAAM;EAAM,MAAM;CAAM,CAAC;CAEhD,MAAM,WAAW,MAAM,cACuB;EAC5C,QAAQ,MAAR;GACE,KAAK,WACH,OAAO;GACT,SACE,OAAO;EACX;CACF,GAAG,CAAC,IAAI,CAAC;CAET,OACE,oBAACC,OAAD;EACE,WAAWC,qBAAO;EACZ;EACN,UACE,YAAY,YACR;GACE,WACE,cACC,aAAa,oBAAC,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.js","names":["Alert","AntdAlert","styles"],"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 cx from 'classnames'\nimport styles from './Alert.module.css'\ntype Props = Expand<Omit<AlertProps, 'type'>> & {\n description?: React.ReactNode\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 className,\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={cx(styles.alert, className)}\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":";;;;;;;AAoBA,IAAMA,WAAS,EACb,aACA,MACA,WAAW,OACX,WAAW,MACX,SAAS,OACT,SACA,OACA,WACA,WACA,SACA,YACA,WACA,GAAG,YACQ;CACX,MAAM,EAAE,UAAU,MAAM,SAAS;CACjC,MAAM,OAAO,MAAM,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,oBAAC,iBAAD;KAAiB,MAAK;KAAqC;IAAO,CAAA;IAEtE,KAAK,SACH,OAAO,oBAAC,aAAD;KAAa,MAAK;KAAmC;IAAO,CAAA;IACrE,KAAK,QACH,OAAO,oBAAC,UAAD;KAAU,MAAK;KAAkC;IAAO,CAAA;IACjE,KAAK,WACH,OACE,oBAAC,mBAAD;KACE,MAAK;KACC;IACP,CAAA;IAEL,KAAK,WACH,OACE,oBAAC,iBAAD;KACE,MAAK;KACC;KACN,QAAO;KACP,OAAO,EACL,WAAW,0BACb;IACD,CAAA;IAEL,SACE,OAAO;GACX;EACF,EAAA,CAAG;EAEH,OAAO,YACL,oBAAC,QAAD;GAAM,OAAO;GAAY,UAAA;EAAkB,CAAA,IAE3C;CAEJ,GAAG;EAAC;EAAM;EAAa,MAAM;EAAM,MAAM;CAAM,CAAC;CAEhD,MAAM,WAAW,MAAM,cACuB;EAC5C,QAAQ,MAAR;GACE,KAAK,WACH,OAAO;GACT,SACE,OAAO;EACX;CACF,GAAG,CAAC,IAAI,CAAC;CAET,OACE,oBAACC,OAAD;EACE,WAAW,GAAGC,qBAAO,OAAO,SAAS;EAC/B;EACN,UACE,YAAY,YACR;GACE,WACE,cACC,aAAa,oBAAC,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,15 +1,20 @@
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
1
2
  ;/* empty css */
2
3
  let antd = require("antd");
3
4
  let react_jsx_runtime = require("react/jsx-runtime");
5
+ let classnames = require("classnames");
6
+ classnames = require_runtime.__toESM(classnames, 1);
4
7
  //#region src/components/button/Button.tsx
5
- var Button = ({ type, size, ghost, danger, shape, ...props }) => {
8
+ var Button = ({ type, size, ghost, danger, shape, inline, className, ...props }) => {
9
+ const isXs = size === "xs";
6
10
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Button, {
7
11
  ...props,
8
12
  type,
9
- size,
13
+ size: isXs ? "small" : size,
10
14
  ghost,
11
15
  danger,
12
16
  shape,
17
+ className: (0, classnames.default)(isXs && "j2-btn-xs", inline && type === "link" && "j2-btn-inline", className),
13
18
  children: props.children
14
19
  });
15
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Button.cjs","names":["AntdButton"],"sources":["../../../../src/components/button/Button.tsx"],"sourcesContent":["import { Button as AntdButton, ButtonProps } from 'antd'\nimport './Button.css'\n\nexport type Props = Expand<ButtonProps>\n\nconst Button = ({ type, size, ghost, danger, shape, ...props }: Props) => {\n return (\n <AntdButton\n {...props}\n type={type}\n size={size}\n ghost={ghost}\n danger={danger}\n shape={shape}\n >\n {props.children}\n </AntdButton>\n )\n}\n\nexport { Button }\n"],"mappings":";;;;AAKA,IAAM,UAAU,EAAE,MAAM,MAAM,OAAO,QAAQ,OAAO,GAAG,YAAmB;CACxE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,KAAAA,QAAD;EACE,GAAI;EACE;EACA;EACC;EACC;EACD;EAEN,UAAA,MAAM;CACG,CAAA;AAEhB"}
1
+ {"version":3,"file":"Button.cjs","names":["AntdButton","cx"],"sources":["../../../../src/components/button/Button.tsx"],"sourcesContent":["import { Button as AntdButton, ButtonProps } from 'antd'\nimport cx from 'classnames'\nimport './Button.css'\n\nexport type Props = Expand<\n Omit<ButtonProps, 'size'> & {\n /** `'xs'` is a 20px button for dense toolbars and bands. */\n size?: ButtonProps['size'] | 'xs'\n /**\n * With `type=\"link\"`: no padding or fixed height, so the button sits in a\n * line of text like a link.\n */\n inline?: boolean\n }\n>\n\nconst Button = ({\n type,\n size,\n ghost,\n danger,\n shape,\n inline,\n className,\n ...props\n}: Props) => {\n const isXs = size === 'xs'\n return (\n <AntdButton\n {...props}\n type={type}\n size={isXs ? 'small' : size}\n ghost={ghost}\n danger={danger}\n shape={shape}\n className={cx(\n isXs && 'j2-btn-xs',\n inline && type === 'link' && 'j2-btn-inline',\n className\n )}\n >\n {props.children}\n </AntdButton>\n )\n}\n\nexport { Button }\n"],"mappings":";;;;;;;AAgBA,IAAM,UAAU,EACd,MACA,MACA,OACA,QACA,OACA,QACA,WACA,GAAG,YACQ;CACX,MAAM,OAAO,SAAS;CACtB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,KAAAA,QAAD;EACE,GAAI;EACE;EACN,MAAM,OAAO,UAAU;EAChB;EACC;EACD;EACP,YAAA,GAAWC,WAAAA,QAAAA,CACT,QAAQ,aACR,UAAU,SAAS,UAAU,iBAC7B,SACF;EAEC,UAAA,MAAM;CACG,CAAA;AAEhB"}
@@ -1,4 +1,12 @@
1
1
  import { ButtonProps } from 'antd';
2
- export type Props = Expand<ButtonProps>;
3
- declare const Button: ({ type, size, ghost, danger, shape, ...props }: Props) => import('react').JSX.Element;
2
+ export type Props = Expand<Omit<ButtonProps, 'size'> & {
3
+ /** `'xs'` is a 20px button for dense toolbars and bands. */
4
+ size?: ButtonProps['size'] | 'xs';
5
+ /**
6
+ * With `type="link"`: no padding or fixed height, so the button sits in a
7
+ * line of text like a link.
8
+ */
9
+ inline?: boolean;
10
+ }>;
11
+ declare const Button: ({ type, size, ghost, danger, shape, inline, className, ...props }: Props) => import('react').JSX.Element;
4
12
  export { Button };
@@ -1,15 +1,18 @@
1
1
  /* empty css */
2
2
  import { Button } from "antd";
3
3
  import { jsx } from "react/jsx-runtime";
4
+ import cx from "classnames";
4
5
  //#region src/components/button/Button.tsx
5
- var Button$1 = ({ type, size, ghost, danger, shape, ...props }) => {
6
+ var Button$1 = ({ type, size, ghost, danger, shape, inline, className, ...props }) => {
7
+ const isXs = size === "xs";
6
8
  return /* @__PURE__ */ jsx(Button, {
7
9
  ...props,
8
10
  type,
9
- size,
11
+ size: isXs ? "small" : size,
10
12
  ghost,
11
13
  danger,
12
14
  shape,
15
+ className: cx(isXs && "j2-btn-xs", inline && type === "link" && "j2-btn-inline", className),
13
16
  children: props.children
14
17
  });
15
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["Button","AntdButton"],"sources":["../../../../src/components/button/Button.tsx"],"sourcesContent":["import { Button as AntdButton, ButtonProps } from 'antd'\nimport './Button.css'\n\nexport type Props = Expand<ButtonProps>\n\nconst Button = ({ type, size, ghost, danger, shape, ...props }: Props) => {\n return (\n <AntdButton\n {...props}\n type={type}\n size={size}\n ghost={ghost}\n danger={danger}\n shape={shape}\n >\n {props.children}\n </AntdButton>\n )\n}\n\nexport { Button }\n"],"mappings":";;;;AAKA,IAAMA,YAAU,EAAE,MAAM,MAAM,OAAO,QAAQ,OAAO,GAAG,YAAmB;CACxE,OACE,oBAACC,QAAD;EACE,GAAI;EACE;EACA;EACC;EACC;EACD;EAEN,UAAA,MAAM;CACG,CAAA;AAEhB"}
1
+ {"version":3,"file":"Button.js","names":["Button","AntdButton"],"sources":["../../../../src/components/button/Button.tsx"],"sourcesContent":["import { Button as AntdButton, ButtonProps } from 'antd'\nimport cx from 'classnames'\nimport './Button.css'\n\nexport type Props = Expand<\n Omit<ButtonProps, 'size'> & {\n /** `'xs'` is a 20px button for dense toolbars and bands. */\n size?: ButtonProps['size'] | 'xs'\n /**\n * With `type=\"link\"`: no padding or fixed height, so the button sits in a\n * line of text like a link.\n */\n inline?: boolean\n }\n>\n\nconst Button = ({\n type,\n size,\n ghost,\n danger,\n shape,\n inline,\n className,\n ...props\n}: Props) => {\n const isXs = size === 'xs'\n return (\n <AntdButton\n {...props}\n type={type}\n size={isXs ? 'small' : size}\n ghost={ghost}\n danger={danger}\n shape={shape}\n className={cx(\n isXs && 'j2-btn-xs',\n inline && type === 'link' && 'j2-btn-inline',\n className\n )}\n >\n {props.children}\n </AntdButton>\n )\n}\n\nexport { Button }\n"],"mappings":";;;;;AAgBA,IAAMA,YAAU,EACd,MACA,MACA,OACA,QACA,OACA,QACA,WACA,GAAG,YACQ;CACX,MAAM,OAAO,SAAS;CACtB,OACE,oBAACC,QAAD;EACE,GAAI;EACE;EACN,MAAM,OAAO,UAAU;EAChB;EACC;EACD;EACP,WAAW,GACT,QAAQ,aACR,UAAU,SAAS,UAAU,iBAC7B,SACF;EAEC,UAAA,MAAM;CACG,CAAA;AAEhB"}
@@ -5,11 +5,25 @@ let react_jsx_runtime = require("react/jsx-runtime");
5
5
  let classnames = require("classnames");
6
6
  classnames = require_runtime.__toESM(classnames, 1);
7
7
  //#region src/components/card/Card.tsx
8
- var Card = ({ title, children, loading, size = "default", innerVariant = "default", className, ...props }) => {
8
+ var Card = ({ title, children, loading, size = "default", innerVariant = "default", selected, className, ...props }) => {
9
+ const isSelectable = selected !== void 0 && Boolean(props.onClick);
9
10
  const isInnerBasic = props.type === "inner" && innerVariant === "basic";
10
11
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Card, {
11
- className: (0, classnames.default)("j2-card", `j2-card-${size}`, isInnerBasic && "inner-basic", className),
12
+ className: (0, classnames.default)("j2-card", `j2-card-${size}`, isInnerBasic && "inner-basic", selected && "j2-card-selected", isSelectable && "j2-card-selectable", className),
12
13
  ...props,
14
+ ...isSelectable && {
15
+ role: "button",
16
+ tabIndex: 0,
17
+ "aria-pressed": selected,
18
+ onKeyDown: (event) => {
19
+ props.onKeyDown?.(event);
20
+ if (event.defaultPrevented || event.target !== event.currentTarget) return;
21
+ if (event.key === "Enter" || event.key === " ") {
22
+ event.preventDefault();
23
+ event.currentTarget.click();
24
+ }
25
+ }
26
+ },
13
27
  size: size === "small" ? "small" : "medium",
14
28
  title,
15
29
  loading,
@@ -1 +1 @@
1
- {"version":3,"file":"Card.cjs","names":["AntdCard","cx"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import { Card as AntdCard, CardProps } from 'antd'\nimport cx from 'classnames'\n\n// import this file to enable styling defined in there\nimport './Card.css'\n\nexport type Props = Omit<CardProps, 'size'> & {\n /** Card title */\n title?: string\n /** Card contents */\n children: React.ReactNode\n /** Loading state */\n loading?: boolean\n /** Card size */\n size?: 'default' | 'small' | 'compact' | 'large'\n /**\n * Inner card type variant.\n * It allows inner card to have variants independent of other props.\n * Works only with type=\"inner\".\n */\n innerVariant?: 'default' | 'basic'\n}\n\nconst Card = ({\n title,\n children,\n loading,\n size = 'default',\n innerVariant = 'default',\n className,\n ...props\n}: Props) => {\n const isInner = props.type === 'inner'\n const isInnerBasic = isInner && innerVariant === 'basic'\n return (\n <AntdCard\n className={cx(\n 'j2-card',\n `j2-card-${size}`,\n isInnerBasic && 'inner-basic',\n className\n )}\n {...props}\n size={size === 'small' ? 'small' : 'medium'}\n title={title}\n loading={loading}\n >\n {children}\n </AntdCard>\n )\n}\n\nexport { Card }\n"],"mappings":";;;;;;;AAuBA,IAAM,QAAQ,EACZ,OACA,UACA,SACA,OAAO,WACP,eAAe,WACf,WACA,GAAG,YACQ;CAEX,MAAM,eADU,MAAM,SAAS,WACC,iBAAiB;CACjD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,KAAAA,MAAD;EACE,YAAA,GAAWC,WAAAA,QAAAA,CACT,WACA,WAAW,QACX,gBAAgB,eAChB,SACF;EACA,GAAI;EACJ,MAAM,SAAS,UAAU,UAAU;EAC5B;EACE;EAER;CACO,CAAA;AAEd"}
1
+ {"version":3,"file":"Card.cjs","names":["AntdCard","cx"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import { Card as AntdCard, CardProps } from 'antd'\nimport cx from 'classnames'\n\n// import this file to enable styling defined in there\nimport './Card.css'\n\nexport type Props = Omit<CardProps, 'size'> & {\n /** Card title */\n title?: string\n /** Card contents */\n children: React.ReactNode\n /** Loading state */\n loading?: boolean\n /** Card size */\n size?: 'default' | 'small' | 'compact' | 'large'\n /**\n * Inner card type variant.\n * It allows inner card to have variants independent of other props.\n * Works only with type=\"inner\".\n */\n innerVariant?: 'default' | 'basic'\n /**\n * Marks the card as the chosen one of a set. With `onClick`, the card also\n * becomes a toggle button: focusable, Enter or Space activates it, and it\n * reports `aria-pressed`.\n */\n selected?: boolean\n}\n\nconst Card = ({\n title,\n children,\n loading,\n size = 'default',\n innerVariant = 'default',\n selected,\n className,\n ...props\n}: Props) => {\n const isSelectable = selected !== undefined && Boolean(props.onClick)\n const isInner = props.type === 'inner'\n const isInnerBasic = isInner && innerVariant === 'basic'\n return (\n <AntdCard\n className={cx(\n 'j2-card',\n `j2-card-${size}`,\n isInnerBasic && 'inner-basic',\n selected && 'j2-card-selected',\n isSelectable && 'j2-card-selectable',\n className\n )}\n {...props}\n {...(isSelectable && {\n role: 'button',\n tabIndex: 0,\n 'aria-pressed': selected,\n onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => {\n props.onKeyDown?.(event)\n // Keys from a focusable child (a link, a button) belong to it.\n if (event.defaultPrevented || event.target !== event.currentTarget)\n return\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n // A real click, so `onClick` gets the MouseEvent it is typed for.\n event.currentTarget.click()\n }\n },\n })}\n size={size === 'small' ? 'small' : 'medium'}\n title={title}\n loading={loading}\n >\n {children}\n </AntdCard>\n )\n}\n\nexport { Card }\n"],"mappings":";;;;;;;AA6BA,IAAM,QAAQ,EACZ,OACA,UACA,SACA,OAAO,WACP,eAAe,WACf,UACA,WACA,GAAG,YACQ;CACX,MAAM,eAAe,aAAa,KAAA,KAAa,QAAQ,MAAM,OAAO;CAEpE,MAAM,eADU,MAAM,SAAS,WACC,iBAAiB;CACjD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,KAAAA,MAAD;EACE,YAAA,GAAWC,WAAAA,QAAAA,CACT,WACA,WAAW,QACX,gBAAgB,eAChB,YAAY,oBACZ,gBAAgB,sBAChB,SACF;EACA,GAAI;EACJ,GAAK,gBAAgB;GACnB,MAAM;GACN,UAAU;GACV,gBAAgB;GAChB,YAAY,UAA+C;IACzD,MAAM,YAAY,KAAK;IAEvB,IAAI,MAAM,oBAAoB,MAAM,WAAW,MAAM,eACnD;IACF,IAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;KAC9C,MAAM,eAAe;KAErB,MAAM,cAAc,MAAM;IAC5B;GACF;EACF;EACA,MAAM,SAAS,UAAU,UAAU;EAC5B;EACE;EAER;CACO,CAAA;AAEd"}
@@ -14,6 +14,12 @@ export type Props = Omit<CardProps, 'size'> & {
14
14
  * Works only with type="inner".
15
15
  */
16
16
  innerVariant?: 'default' | 'basic';
17
+ /**
18
+ * Marks the card as the chosen one of a set. With `onClick`, the card also
19
+ * becomes a toggle button: focusable, Enter or Space activates it, and it
20
+ * reports `aria-pressed`.
21
+ */
22
+ selected?: boolean;
17
23
  };
18
- declare const Card: ({ title, children, loading, size, innerVariant, className, ...props }: Props) => import('react').JSX.Element;
24
+ declare const Card: ({ title, children, loading, size, innerVariant, selected, className, ...props }: Props) => import('react').JSX.Element;
19
25
  export { Card };
@@ -3,11 +3,25 @@ import { Card } from "antd";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import cx from "classnames";
5
5
  //#region src/components/card/Card.tsx
6
- var Card$1 = ({ title, children, loading, size = "default", innerVariant = "default", className, ...props }) => {
6
+ var Card$1 = ({ title, children, loading, size = "default", innerVariant = "default", selected, className, ...props }) => {
7
+ const isSelectable = selected !== void 0 && Boolean(props.onClick);
7
8
  const isInnerBasic = props.type === "inner" && innerVariant === "basic";
8
9
  return /* @__PURE__ */ jsx(Card, {
9
- className: cx("j2-card", `j2-card-${size}`, isInnerBasic && "inner-basic", className),
10
+ className: cx("j2-card", `j2-card-${size}`, isInnerBasic && "inner-basic", selected && "j2-card-selected", isSelectable && "j2-card-selectable", className),
10
11
  ...props,
12
+ ...isSelectable && {
13
+ role: "button",
14
+ tabIndex: 0,
15
+ "aria-pressed": selected,
16
+ onKeyDown: (event) => {
17
+ props.onKeyDown?.(event);
18
+ if (event.defaultPrevented || event.target !== event.currentTarget) return;
19
+ if (event.key === "Enter" || event.key === " ") {
20
+ event.preventDefault();
21
+ event.currentTarget.click();
22
+ }
23
+ }
24
+ },
11
25
  size: size === "small" ? "small" : "medium",
12
26
  title,
13
27
  loading,
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["Card","AntdCard"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import { Card as AntdCard, CardProps } from 'antd'\nimport cx from 'classnames'\n\n// import this file to enable styling defined in there\nimport './Card.css'\n\nexport type Props = Omit<CardProps, 'size'> & {\n /** Card title */\n title?: string\n /** Card contents */\n children: React.ReactNode\n /** Loading state */\n loading?: boolean\n /** Card size */\n size?: 'default' | 'small' | 'compact' | 'large'\n /**\n * Inner card type variant.\n * It allows inner card to have variants independent of other props.\n * Works only with type=\"inner\".\n */\n innerVariant?: 'default' | 'basic'\n}\n\nconst Card = ({\n title,\n children,\n loading,\n size = 'default',\n innerVariant = 'default',\n className,\n ...props\n}: Props) => {\n const isInner = props.type === 'inner'\n const isInnerBasic = isInner && innerVariant === 'basic'\n return (\n <AntdCard\n className={cx(\n 'j2-card',\n `j2-card-${size}`,\n isInnerBasic && 'inner-basic',\n className\n )}\n {...props}\n size={size === 'small' ? 'small' : 'medium'}\n title={title}\n loading={loading}\n >\n {children}\n </AntdCard>\n )\n}\n\nexport { Card }\n"],"mappings":";;;;;AAuBA,IAAMA,UAAQ,EACZ,OACA,UACA,SACA,OAAO,WACP,eAAe,WACf,WACA,GAAG,YACQ;CAEX,MAAM,eADU,MAAM,SAAS,WACC,iBAAiB;CACjD,OACE,oBAACC,MAAD;EACE,WAAW,GACT,WACA,WAAW,QACX,gBAAgB,eAChB,SACF;EACA,GAAI;EACJ,MAAM,SAAS,UAAU,UAAU;EAC5B;EACE;EAER;CACO,CAAA;AAEd"}
1
+ {"version":3,"file":"Card.js","names":["Card","AntdCard"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import { Card as AntdCard, CardProps } from 'antd'\nimport cx from 'classnames'\n\n// import this file to enable styling defined in there\nimport './Card.css'\n\nexport type Props = Omit<CardProps, 'size'> & {\n /** Card title */\n title?: string\n /** Card contents */\n children: React.ReactNode\n /** Loading state */\n loading?: boolean\n /** Card size */\n size?: 'default' | 'small' | 'compact' | 'large'\n /**\n * Inner card type variant.\n * It allows inner card to have variants independent of other props.\n * Works only with type=\"inner\".\n */\n innerVariant?: 'default' | 'basic'\n /**\n * Marks the card as the chosen one of a set. With `onClick`, the card also\n * becomes a toggle button: focusable, Enter or Space activates it, and it\n * reports `aria-pressed`.\n */\n selected?: boolean\n}\n\nconst Card = ({\n title,\n children,\n loading,\n size = 'default',\n innerVariant = 'default',\n selected,\n className,\n ...props\n}: Props) => {\n const isSelectable = selected !== undefined && Boolean(props.onClick)\n const isInner = props.type === 'inner'\n const isInnerBasic = isInner && innerVariant === 'basic'\n return (\n <AntdCard\n className={cx(\n 'j2-card',\n `j2-card-${size}`,\n isInnerBasic && 'inner-basic',\n selected && 'j2-card-selected',\n isSelectable && 'j2-card-selectable',\n className\n )}\n {...props}\n {...(isSelectable && {\n role: 'button',\n tabIndex: 0,\n 'aria-pressed': selected,\n onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => {\n props.onKeyDown?.(event)\n // Keys from a focusable child (a link, a button) belong to it.\n if (event.defaultPrevented || event.target !== event.currentTarget)\n return\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n // A real click, so `onClick` gets the MouseEvent it is typed for.\n event.currentTarget.click()\n }\n },\n })}\n size={size === 'small' ? 'small' : 'medium'}\n title={title}\n loading={loading}\n >\n {children}\n </AntdCard>\n )\n}\n\nexport { Card }\n"],"mappings":";;;;;AA6BA,IAAMA,UAAQ,EACZ,OACA,UACA,SACA,OAAO,WACP,eAAe,WACf,UACA,WACA,GAAG,YACQ;CACX,MAAM,eAAe,aAAa,KAAA,KAAa,QAAQ,MAAM,OAAO;CAEpE,MAAM,eADU,MAAM,SAAS,WACC,iBAAiB;CACjD,OACE,oBAACC,MAAD;EACE,WAAW,GACT,WACA,WAAW,QACX,gBAAgB,eAChB,YAAY,oBACZ,gBAAgB,sBAChB,SACF;EACA,GAAI;EACJ,GAAK,gBAAgB;GACnB,MAAM;GACN,UAAU;GACV,gBAAgB;GAChB,YAAY,UAA+C;IACzD,MAAM,YAAY,KAAK;IAEvB,IAAI,MAAM,oBAAoB,MAAM,WAAW,MAAM,eACnD;IACF,IAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;KAC9C,MAAM,eAAe;KAErB,MAAM,cAAc,MAAM;IAC5B;GACF;EACF;EACA,MAAM,SAAS,UAAU,UAAU;EAC5B;EACE;EAER;CACO,CAAA;AAEd"}