@pisell/materials 1.0.1034 → 1.0.1035

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 (254) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +17 -17
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +18 -23
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +27 -32
  11. package/es/components/Pagination/index.js +1 -1
  12. package/es/components/PisellCards/index.d.ts +6 -6
  13. package/es/components/calendar/index.d.ts +2 -2
  14. package/es/components/checkbox/index.d.ts +2 -2
  15. package/es/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +2 -2
  16. package/es/components/dataSourceComponents/fields/Input.Email/index.d.ts +2 -2
  17. package/es/components/dataSourceComponents/fields/Input.Password/index.d.ts +2 -2
  18. package/es/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +3 -3
  19. package/es/components/dataSourceComponents/fields/Input.TextArea/index.d.ts +2 -2
  20. package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  21. package/es/components/date-picker/index.d.ts +2 -2
  22. package/es/components/filter/components/Dropdown/index.js +6 -2
  23. package/es/components/filter/components/FilterButton/index.js +3 -2
  24. package/es/components/filter/components/FilterButton/types.d.ts +5 -2
  25. package/es/components/filter/components/FilterItem/AsyncOptionsSelectWrapper.js +67 -0
  26. package/es/components/filter/components/FilterItem/index.js +105 -6
  27. package/es/components/filter/components/FilterItem/index.less +90 -0
  28. package/es/components/filter/types.d.ts +4 -2
  29. package/es/components/input/index.d.ts +2 -2
  30. package/es/components/pisell-config-provider/context.d.ts +2 -2
  31. package/es/components/pisellCurrency/PisellCurrency.less +163 -25
  32. package/es/components/pisellDatePicker/index.d.ts +2 -2
  33. package/es/components/pisellDateTimeDisplay/PisellDateTimeDisplay.js +11 -10
  34. package/es/components/pisellDateTimeDisplay/types.d.ts +5 -0
  35. package/es/components/pisellEmail/PisellEmail.d.ts +2 -33
  36. package/es/components/pisellEmail/PisellEmail.js +1 -1
  37. package/es/components/pisellEmail/PisellEmail.less +119 -10
  38. package/es/components/pisellEmail/index.d.ts +1 -1
  39. package/es/components/pisellFilter/docs/PisellFilter.md +289 -232
  40. package/es/components/pisellFilter/index.js +66 -11
  41. package/es/components/pisellLongText/PisellLongText.less +72 -4
  42. package/es/components/pisellLookup/PisellLookup.js +3 -3
  43. package/es/components/pisellLookup/PisellLookup.less +14 -9
  44. package/es/components/pisellLookup/components/LookupTrigger.js +6 -2
  45. package/es/components/pisellMetricCard/PisellMetricCard.d.ts +38 -0
  46. package/es/components/pisellMetricCard/PisellMetricCard.js +136 -0
  47. package/es/components/pisellMetricCard/components/MetricComparison.js +54 -0
  48. package/es/components/pisellMetricCard/components/MetricTitle.js +41 -0
  49. package/es/components/pisellMetricCard/components/MetricValue.js +26 -0
  50. package/es/components/pisellMetricCard/components/TrendIcon.js +26 -0
  51. package/es/components/pisellMetricCard/docs/pisellMetricCard.$tab-design.md +2 -6
  52. package/es/components/pisellMetricCard/index.d.ts +2 -0
  53. package/es/components/pisellMetricCard/types.d.ts +143 -0
  54. package/es/components/pisellMetricCard/utils/calculateTrend.js +22 -0
  55. package/es/components/pisellMetricCard/utils/formatMetricValue.js +52 -0
  56. package/es/components/pisellMultipleSelect/PisellMultipleSelect.less +151 -124
  57. package/es/components/pisellMultipleSelect/components/EditView.js +8 -1
  58. package/es/components/pisellMultipleSelect/components/ReadOnlyView.js +18 -6
  59. package/es/components/pisellNumber/PisellNumber.less +135 -17
  60. package/es/components/pisellPercent/PisellPercent.less +142 -24
  61. package/es/components/pisellPhone/PisellPhone.less +122 -27
  62. package/es/components/pisellPhone/components/EditView.js +1 -1
  63. package/es/components/pisellPhone/components/ReadOnlyView.js +15 -5
  64. package/es/components/pisellPhone/utils/countryCodeHelper.js +1 -10
  65. package/es/components/pisellRating/PisellRating.less +20 -12
  66. package/es/components/pisellRecordBoard/PisellRecordBoard.js +148 -0
  67. package/es/components/pisellRecordBoard/README.md +183 -0
  68. package/es/components/pisellRecordBoard/context/RecordBoardContext.js +7 -0
  69. package/es/components/pisellRecordBoard/context/RecordBoardProvider.js +14 -0
  70. package/es/components/pisellRecordBoard/docs/PisellRecordBoard.$tab-design.md +128 -0
  71. package/es/components/pisellRecordBoard/docs/PisellRecordBoard.$tab-dev.md +82 -0
  72. package/es/components/pisellRecordBoard/docs/PisellRecordBoard.$tab-test.md +70 -0
  73. package/es/components/pisellRecordBoard/docs/PisellRecordBoard.md +552 -0
  74. package/es/components/pisellRecordBoard/hooks/useRecordBoardContext.d.ts +20 -0
  75. package/es/components/pisellRecordBoard/hooks/useRecordBoardContext.js +16 -0
  76. package/es/components/pisellRecordBoard/index.d.ts +40 -0
  77. package/es/components/pisellRecordBoard/index.js +28 -0
  78. package/es/components/pisellRecordBoard/layouts/CardLayout/CardList.d.ts +15 -0
  79. package/es/components/pisellRecordBoard/layouts/CardLayout/CardList.js +24 -0
  80. package/es/components/pisellRecordBoard/layouts/CardLayout/index.d.ts +15 -0
  81. package/es/components/pisellRecordBoard/layouts/CardLayout/index.js +21 -0
  82. package/es/components/pisellRecordBoard/layouts/GridLayout/Grid.d.ts +17 -0
  83. package/es/components/pisellRecordBoard/layouts/GridLayout/Grid.js +105 -0
  84. package/es/components/pisellRecordBoard/layouts/GridLayout/Grid.less +13 -0
  85. package/es/components/pisellRecordBoard/layouts/GridLayout/index.d.ts +15 -0
  86. package/es/components/pisellRecordBoard/layouts/GridLayout/index.js +21 -0
  87. package/es/components/pisellRecordBoard/shellFrame/BatchActionBar/index.d.ts +12 -0
  88. package/es/components/pisellRecordBoard/shellFrame/BatchActionBar/index.js +69 -0
  89. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/ColumnSettingPopover.js +40 -0
  90. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +60 -0
  91. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.less +2 -0
  92. package/es/components/pisellRecordBoard/shellFrame/Pagination/index.d.ts +17 -0
  93. package/es/components/pisellRecordBoard/shellFrame/Pagination/index.js +52 -0
  94. package/es/components/pisellRecordBoard/shellFrame/Pagination/index.less +61 -0
  95. package/es/components/pisellRecordBoard/shellFrame/Search/index.d.ts +13 -0
  96. package/es/components/pisellRecordBoard/shellFrame/Search/index.js +34 -0
  97. package/es/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +77 -0
  98. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.d.ts +14 -0
  99. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +136 -0
  100. package/es/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.d.ts +2 -0
  101. package/es/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +62 -0
  102. package/es/components/pisellRecordBoard/shellFrame/ToolBarReset/index.d.ts +2 -0
  103. package/es/components/pisellRecordBoard/shellFrame/ToolBarReset/index.js +45 -0
  104. package/es/components/pisellRecordBoard/shellFrame/ToolBarReset/index.less +41 -0
  105. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +27 -0
  106. package/es/components/pisellRecordBoard/shellFrame/index.js +38 -0
  107. package/es/components/pisellRecordBoard/types.d.ts +259 -0
  108. package/es/components/pisellRecordBoard/utils/recordBoardColumns.js +287 -0
  109. package/es/components/pisellShellFrame/PisellShellFrame.d.ts +16 -0
  110. package/es/components/pisellShellFrame/PisellShellFrame.js +60 -0
  111. package/es/components/pisellShellFrame/PisellShellFrame.less +73 -0
  112. package/es/components/pisellShellFrame/README.md +58 -0
  113. package/es/components/pisellShellFrame/index.d.ts +2 -0
  114. package/es/components/pisellShellFrame/types.d.ts +60 -0
  115. package/es/components/pisellSingleSelect/PisellSingleSelect.less +88 -46
  116. package/es/components/pisellSingleSelect/components/EditView.js +8 -1
  117. package/es/components/pisellSingleSelect/components/ReadOnlyView.js +8 -2
  118. package/es/components/pisellUrl/PisellUrl.d.ts +2 -33
  119. package/es/components/pisellUrl/PisellUrl.js +1 -1
  120. package/es/components/pisellUrl/PisellUrl.less +120 -11
  121. package/es/components/pisellUrl/index.d.ts +1 -1
  122. package/es/components/radio/index.d.ts +2 -2
  123. package/es/components/section-footers/index.d.ts +2 -2
  124. package/es/components/skeleton/index.d.ts +2 -2
  125. package/es/components/sort/index.js +12 -1
  126. package/es/components/sort/types.d.ts +8 -2
  127. package/es/components/time-picker/index.d.ts +2 -2
  128. package/es/index.d.ts +19 -11
  129. package/es/index.js +19 -15
  130. package/es/locales/en-US.js +16 -2
  131. package/es/locales/zh-CN.js +18 -4
  132. package/es/locales/zh-TW.js +18 -4
  133. package/es/utils/tagColor.js +31 -0
  134. package/lib/components/Pagination/index.js +1 -1
  135. package/lib/components/checkbox/index.d.ts +2 -2
  136. package/lib/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +2 -2
  137. package/lib/components/dataSourceComponents/fields/Checkbox/WithMode.d.ts +2 -2
  138. package/lib/components/dataSourceComponents/fields/Input.Password/index.d.ts +2 -2
  139. package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
  140. package/lib/components/dataSourceComponents/fields/Input.TextArea/index.d.ts +2 -2
  141. package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  142. package/lib/components/filter/components/Dropdown/index.js +6 -2
  143. package/lib/components/filter/components/FilterButton/index.js +3 -2
  144. package/lib/components/filter/components/FilterButton/types.d.ts +5 -2
  145. package/lib/components/filter/components/FilterItem/AsyncOptionsSelectWrapper.js +69 -0
  146. package/lib/components/filter/components/FilterItem/index.js +106 -6
  147. package/lib/components/filter/components/FilterItem/index.less +90 -0
  148. package/lib/components/filter/types.d.ts +4 -2
  149. package/lib/components/input/index.d.ts +2 -2
  150. package/lib/components/pisell-config-provider/context.d.ts +2 -2
  151. package/lib/components/pisellCurrency/PisellCurrency.less +163 -25
  152. package/lib/components/pisellDatePicker/index.d.ts +2 -2
  153. package/lib/components/pisellDateTimeDisplay/PisellDateTimeDisplay.js +11 -10
  154. package/lib/components/pisellDateTimeDisplay/types.d.ts +5 -0
  155. package/lib/components/pisellEmail/PisellEmail.d.ts +2 -33
  156. package/lib/components/pisellEmail/PisellEmail.js +1 -1
  157. package/lib/components/pisellEmail/PisellEmail.less +119 -10
  158. package/lib/components/pisellEmail/index.d.ts +1 -1
  159. package/lib/components/pisellFilter/docs/PisellFilter.md +289 -232
  160. package/lib/components/pisellFilter/index.js +65 -10
  161. package/lib/components/pisellLongText/PisellLongText.less +72 -4
  162. package/lib/components/pisellLookup/PisellLookup.js +3 -3
  163. package/lib/components/pisellLookup/PisellLookup.less +14 -9
  164. package/lib/components/pisellLookup/components/LookupTrigger.js +6 -2
  165. package/lib/components/pisellMetricCard/PisellMetricCard.d.ts +38 -0
  166. package/lib/components/pisellMetricCard/PisellMetricCard.js +138 -0
  167. package/lib/components/pisellMetricCard/components/MetricComparison.js +56 -0
  168. package/lib/components/pisellMetricCard/components/MetricTitle.js +43 -0
  169. package/lib/components/pisellMetricCard/components/MetricValue.js +28 -0
  170. package/lib/components/pisellMetricCard/components/TrendIcon.js +28 -0
  171. package/lib/components/pisellMetricCard/docs/pisellMetricCard.$tab-design.md +2 -6
  172. package/lib/components/pisellMetricCard/index.d.ts +2 -0
  173. package/lib/components/pisellMetricCard/types.d.ts +143 -0
  174. package/lib/components/pisellMetricCard/utils/calculateTrend.js +23 -0
  175. package/lib/components/pisellMetricCard/utils/formatMetricValue.js +53 -0
  176. package/lib/components/pisellMultipleSelect/PisellMultipleSelect.less +151 -124
  177. package/lib/components/pisellMultipleSelect/components/EditView.js +7 -0
  178. package/lib/components/pisellMultipleSelect/components/ReadOnlyView.js +17 -5
  179. package/lib/components/pisellNumber/PisellNumber.less +135 -17
  180. package/lib/components/pisellPercent/PisellPercent.less +142 -24
  181. package/lib/components/pisellPhone/PisellPhone.less +122 -27
  182. package/lib/components/pisellPhone/components/EditView.js +1 -1
  183. package/lib/components/pisellPhone/components/ReadOnlyView.js +15 -5
  184. package/lib/components/pisellPhone/utils/countryCodeHelper.js +0 -10
  185. package/lib/components/pisellRating/PisellRating.less +20 -12
  186. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +150 -0
  187. package/lib/components/pisellRecordBoard/README.md +183 -0
  188. package/lib/components/pisellRecordBoard/context/RecordBoardContext.js +8 -0
  189. package/lib/components/pisellRecordBoard/context/RecordBoardProvider.js +16 -0
  190. package/lib/components/pisellRecordBoard/docs/PisellRecordBoard.$tab-design.md +128 -0
  191. package/lib/components/pisellRecordBoard/docs/PisellRecordBoard.$tab-dev.md +82 -0
  192. package/lib/components/pisellRecordBoard/docs/PisellRecordBoard.$tab-test.md +70 -0
  193. package/lib/components/pisellRecordBoard/docs/PisellRecordBoard.md +552 -0
  194. package/lib/components/pisellRecordBoard/hooks/useRecordBoardContext.d.ts +20 -0
  195. package/lib/components/pisellRecordBoard/hooks/useRecordBoardContext.js +17 -0
  196. package/lib/components/pisellRecordBoard/index.d.ts +40 -0
  197. package/lib/components/pisellRecordBoard/index.js +28 -0
  198. package/lib/components/pisellRecordBoard/layouts/CardLayout/CardList.d.ts +15 -0
  199. package/lib/components/pisellRecordBoard/layouts/CardLayout/CardList.js +26 -0
  200. package/lib/components/pisellRecordBoard/layouts/CardLayout/index.d.ts +15 -0
  201. package/lib/components/pisellRecordBoard/layouts/CardLayout/index.js +23 -0
  202. package/lib/components/pisellRecordBoard/layouts/GridLayout/Grid.d.ts +17 -0
  203. package/lib/components/pisellRecordBoard/layouts/GridLayout/Grid.js +107 -0
  204. package/lib/components/pisellRecordBoard/layouts/GridLayout/Grid.less +13 -0
  205. package/lib/components/pisellRecordBoard/layouts/GridLayout/index.d.ts +15 -0
  206. package/lib/components/pisellRecordBoard/layouts/GridLayout/index.js +23 -0
  207. package/lib/components/pisellRecordBoard/shellFrame/BatchActionBar/index.d.ts +12 -0
  208. package/lib/components/pisellRecordBoard/shellFrame/BatchActionBar/index.js +71 -0
  209. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/ColumnSettingPopover.js +43 -0
  210. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +62 -0
  211. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.less +2 -0
  212. package/lib/components/pisellRecordBoard/shellFrame/Pagination/index.d.ts +17 -0
  213. package/lib/components/pisellRecordBoard/shellFrame/Pagination/index.js +54 -0
  214. package/lib/components/pisellRecordBoard/shellFrame/Pagination/index.less +61 -0
  215. package/lib/components/pisellRecordBoard/shellFrame/Search/index.d.ts +13 -0
  216. package/lib/components/pisellRecordBoard/shellFrame/Search/index.js +36 -0
  217. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +77 -0
  218. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.d.ts +14 -0
  219. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +139 -0
  220. package/lib/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +64 -0
  221. package/lib/components/pisellRecordBoard/shellFrame/ToolBarReset/index.d.ts +2 -0
  222. package/lib/components/pisellRecordBoard/shellFrame/ToolBarReset/index.js +47 -0
  223. package/lib/components/pisellRecordBoard/shellFrame/ToolBarReset/index.less +41 -0
  224. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +26 -0
  225. package/lib/components/pisellRecordBoard/shellFrame/index.js +40 -0
  226. package/lib/components/pisellRecordBoard/types.d.ts +259 -0
  227. package/lib/components/pisellRecordBoard/utils/recordBoardColumns.js +292 -0
  228. package/lib/components/pisellShellFrame/PisellShellFrame.d.ts +16 -0
  229. package/lib/components/pisellShellFrame/PisellShellFrame.js +62 -0
  230. package/lib/components/pisellShellFrame/PisellShellFrame.less +73 -0
  231. package/lib/components/pisellShellFrame/README.md +58 -0
  232. package/lib/components/pisellShellFrame/index.d.ts +2 -0
  233. package/lib/components/pisellShellFrame/types.d.ts +60 -0
  234. package/lib/components/pisellSingleSelect/PisellSingleSelect.less +88 -46
  235. package/lib/components/pisellSingleSelect/components/EditView.js +7 -0
  236. package/lib/components/pisellSingleSelect/components/ReadOnlyView.js +8 -2
  237. package/lib/components/pisellUrl/PisellUrl.d.ts +2 -33
  238. package/lib/components/pisellUrl/PisellUrl.js +1 -1
  239. package/lib/components/pisellUrl/PisellUrl.less +120 -11
  240. package/lib/components/pisellUrl/index.d.ts +1 -1
  241. package/lib/components/radio/index.d.ts +2 -2
  242. package/lib/components/section-footers/index.d.ts +2 -2
  243. package/lib/components/skeleton/index.d.ts +2 -2
  244. package/lib/components/sort/index.js +12 -1
  245. package/lib/components/sort/types.d.ts +8 -2
  246. package/lib/components/time-picker/index.d.ts +2 -2
  247. package/lib/components/upload/index.d.ts +2 -2
  248. package/lib/index.d.ts +19 -11
  249. package/lib/index.js +33 -25
  250. package/lib/locales/en-US.js +16 -2
  251. package/lib/locales/zh-CN.js +18 -4
  252. package/lib/locales/zh-TW.js +18 -4
  253. package/lib/utils/tagColor.js +32 -0
  254. package/package.json +3 -3
@@ -0,0 +1,77 @@
1
+ /** 左侧:div + flex 布局,下单时间快筛 + Find(占满剩余宽度)+ slots.topLeft */
2
+ .record-board-toolbar-top-left {
3
+ display: flex;
4
+ flex-wrap: nowrap;
5
+ align-items: center;
6
+ width: 100%;
7
+ //gap: 16px;
8
+
9
+ .record-board-toolbar-find-wrap {
10
+ flex: 1;
11
+ min-width: 0;
12
+ display: flex;
13
+ align-items: center;
14
+
15
+ .ant-input,
16
+ .ant-input-affix-wrapper {
17
+ width: 100%;
18
+ max-width: 100%;
19
+ }
20
+ }
21
+ }
22
+
23
+ .record-board-toolbar-quick-filter-form {
24
+ display: inline-flex;
25
+ flex-wrap: nowrap;
26
+ align-items: center;
27
+ }
28
+
29
+ /**
30
+ * RecordBoard 工具栏「筛选」按钮样式
31
+ * 依据 Figma Pisell 2.0 Component Library - Filter Button (node-id=13586-90537)
32
+ * - 边框: 1px solid #E5E7EB (neutral-200)
33
+ * - 圆角: 8px
34
+ * - 背景: #FFFFFF (neutral-0)
35
+ * - 文字: 16px Medium, line-height 24px, #374151 (neutral-700)
36
+ * - 图标: 16px, #6B7280 (neutral-500)
37
+ * - 内边距: 12px 20px,高度 50px
38
+ */
39
+ .record-board-toolbar-filter-btn {
40
+ height: 50px !important;
41
+ padding: 12px 20px !important;
42
+ font-size: 16px !important;
43
+ font-weight: 600 !important;
44
+ line-height: 24px !important;
45
+ color: #374151 !important;
46
+ background-color: #ffffff !important;
47
+ border: 1px solid #e5e7eb !important;
48
+ border-width: 1px !important;
49
+ border-radius: 8px !important;
50
+ box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05) !important;
51
+
52
+ .anticon {
53
+ font-size: 16px;
54
+ color: #6b7280;
55
+ }
56
+
57
+ &.pisell-lowcode-btn-lg {
58
+ height: 50px !important;
59
+ padding: 12px 20px !important;
60
+ font-size: 16px !important;
61
+ }
62
+
63
+ &:hover:not(:disabled) {
64
+ color: #374151 !important;
65
+ background-color: #f9fafb !important;
66
+ border-color: #e5e7eb !important;
67
+
68
+ .anticon {
69
+ color: #6b7280;
70
+ }
71
+ }
72
+
73
+ &:focus-visible {
74
+ outline: none;
75
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
76
+ }
77
+ }
@@ -0,0 +1,14 @@
1
+ import { RecordBoardToolBarProps as RecordBoardToolBarProps$1 } from "../../types.js";
2
+ import React from "react";
3
+ import "./ToolBarFilter.less";
4
+
5
+ //#region src/components/pisellRecordBoard/shellFrame/ToolBar/index.d.ts
6
+ /**
7
+ * RecordBoard 下的工具栏:使用 PisellToolBar。
8
+ * 左侧默认 PisellFind(inline);右侧默认 PisellFilter。通过 childComponentProps.toolBar.search / toolBar.filter 为对象时透传对应组件 props,为 false 时不渲染。
9
+ * 可透传 topLeft、topRight、bottomLeft、bottomRight、tabs。
10
+ */
11
+ declare const RecordBoardToolBar: React.FC<RecordBoardToolBarProps>;
12
+ type RecordBoardToolBarProps = RecordBoardToolBarProps$1;
13
+ //#endregion
14
+ export { RecordBoardToolBar };
@@ -0,0 +1,136 @@
1
+ import { _objectSpread2 } from "../../../../_virtual/_@oxc-project_runtime@0.108.0/helpers/objectSpread2.js";
2
+ import { getText } from "../../../../locales/index.js";
3
+ import sort_default from "../../../sort/index.js";
4
+ import { PisellFind } from "../../../pisellFind/index.js";
5
+ import { useRecordBoardContext } from "../../hooks/useRecordBoardContext.js";
6
+ import { deriveFilterFromColumns, deriveSortFromColumns } from "../../utils/recordBoardColumns.js";
7
+ import ToolBar_default$1 from "../../../pisellGridPro/ToolBar/index.js";
8
+ import pisellFilter_default from "../../../pisellFilter/index.js";
9
+ import ToolBarReset_default from "../ToolBarReset/index.js";
10
+ import ToolBarQuickFilter_default from "../ToolBarQuickFilter/index.js";
11
+ import ColumnSetting_default from "../ColumnSetting/index.js";
12
+ import { Button, Space } from "antd";
13
+ import React, { useCallback, useMemo } from "react";
14
+ import SwitchVertical01 from "@pisell/icon/es/SwitchVertical01";
15
+ import "./ToolBarFilter.less";
16
+
17
+ //#region src/components/pisellRecordBoard/shellFrame/ToolBar/index.tsx
18
+ /** 默认搜索参数字段名,与 context.searchParams 对应 */
19
+ const DEFAULT_SEARCH_FIELD = "keyword";
20
+ /** 筛选在 searchParams 中的字段名 */
21
+ const FILTER_PARAMS_FIELD = "filter";
22
+ /** 排序在 searchParams 中的字段名 */
23
+ const SORT_PARAMS_FIELD = "sort";
24
+ /** 筛选无值时使用的默认筛选项,避免点开为空;业务可通过 childComponentProps.toolBar.filter.defaultFilterValue 覆盖。文案通过 getText 多语言。 */
25
+ function getDefaultFilterValue() {
26
+ return {
27
+ quickFilter: [],
28
+ otherFilter: []
29
+ };
30
+ }
31
+ /**
32
+ * RecordBoard 下的工具栏:使用 PisellToolBar。
33
+ * 左侧默认 PisellFind(inline);右侧默认 PisellFilter。通过 childComponentProps.toolBar.search / toolBar.filter 为对象时透传对应组件 props,为 false 时不渲染。
34
+ * 可透传 topLeft、topRight、bottomLeft、bottomRight、tabs。
35
+ */
36
+ const RecordBoardToolBar = (props) => {
37
+ var _ctx$childComponentPr, _ctx$childComponentPr2, _searchParams$DEFAULT, _ctx$childComponentPr3, _formFiltersPrefix, _size;
38
+ const ctx = useRecordBoardContext({ displayName: "toolBar" });
39
+ const { searchParams, onSearch } = ctx;
40
+ const slots = (_ctx$childComponentPr = (_ctx$childComponentPr2 = ctx.childComponentProps) === null || _ctx$childComponentPr2 === void 0 ? void 0 : _ctx$childComponentPr2.toolBar) !== null && _ctx$childComponentPr !== void 0 ? _ctx$childComponentPr : {};
41
+ const keyword = (_searchParams$DEFAULT = searchParams === null || searchParams === void 0 ? void 0 : searchParams[DEFAULT_SEARCH_FIELD]) !== null && _searchParams$DEFAULT !== void 0 ? _searchParams$DEFAULT : "";
42
+ const handleSearch = useCallback((value) => {
43
+ onSearch(_objectSpread2(_objectSpread2({}, searchParams), {}, { [DEFAULT_SEARCH_FIELD]: value || void 0 }));
44
+ }, [onSearch, searchParams]);
45
+ const gridColumns = (_ctx$childComponentPr3 = ctx.childComponentProps) === null || _ctx$childComponentPr3 === void 0 || (_ctx$childComponentPr3 = _ctx$childComponentPr3.grid) === null || _ctx$childComponentPr3 === void 0 ? void 0 : _ctx$childComponentPr3.columns;
46
+ const derivedFilterFromColumns = useMemo(() => Array.isArray(gridColumns) && gridColumns.length > 0 ? deriveFilterFromColumns(gridColumns) : null, [gridColumns]);
47
+ const derivedSortFromColumnsList = useMemo(() => Array.isArray(gridColumns) && gridColumns.length > 0 ? deriveSortFromColumns(gridColumns) : [], [gridColumns]);
48
+ const searchConfig = slots.search;
49
+ /** 默认 inline:triggerType="input" + displayType="inline",放在 toolbar 左侧,显示搜索按钮。受控需传 onChange 才能输入。 */
50
+ const searchNode = searchConfig === false ? null : /* @__PURE__ */ React.createElement(PisellFind, _objectSpread2({
51
+ triggerType: "input",
52
+ displayType: "inline",
53
+ showConfirmButton: true,
54
+ value: keyword,
55
+ onChange: (v) => handleSearch(v),
56
+ onSearch: handleSearch
57
+ }, typeof searchConfig === "object" && searchConfig !== null ? searchConfig : {}));
58
+ const quickFilterConfig = slots.quickFilter;
59
+ const quickFilterList = useMemo(() => {
60
+ var _ref;
61
+ if (quickFilterConfig === false) return [];
62
+ const fromConfig = typeof quickFilterConfig === "object" && quickFilterConfig !== null && Array.isArray(quickFilterConfig.filterList) ? quickFilterConfig.filterList : null;
63
+ return (_ref = fromConfig !== null && fromConfig !== void 0 ? fromConfig : derivedFilterFromColumns === null || derivedFilterFromColumns === void 0 ? void 0 : derivedFilterFromColumns.quickFilter) !== null && _ref !== void 0 ? _ref : [];
64
+ }, [quickFilterConfig, derivedFilterFromColumns === null || derivedFilterFromColumns === void 0 ? void 0 : derivedFilterFromColumns.quickFilter]);
65
+ const quickFilterNode = quickFilterList.length > 0 ? /* @__PURE__ */ React.createElement(ToolBarQuickFilter_default, {
66
+ filterList: quickFilterList,
67
+ formFiltersPrefix: typeof quickFilterConfig === "object" && quickFilterConfig !== null ? (_formFiltersPrefix = quickFilterConfig.formFiltersPrefix) !== null && _formFiltersPrefix !== void 0 ? _formFiltersPrefix : "" : "",
68
+ size: typeof quickFilterConfig === "object" && quickFilterConfig !== null ? (_size = quickFilterConfig.size) !== null && _size !== void 0 ? _size : "large" : "large"
69
+ }) : null;
70
+ const topLeft = /* @__PURE__ */ React.createElement("div", { className: "record-board-toolbar-top-left" }, quickFilterNode, searchNode ? /* @__PURE__ */ React.createElement("div", { className: "record-board-toolbar-find-wrap" }, searchNode) : null, slots.topLeft);
71
+ const sortConfig = slots.sort;
72
+ const hideSort = sortConfig === false;
73
+ const sortValue = searchParams === null || searchParams === void 0 ? void 0 : searchParams[SORT_PARAMS_FIELD];
74
+ const handleSortChange = useCallback((val) => {
75
+ onSearch(_objectSpread2(_objectSpread2({}, searchParams), {}, { [SORT_PARAMS_FIELD]: val || void 0 }));
76
+ }, [onSearch, searchParams]);
77
+ const sortList = useMemo(() => {
78
+ const fromConfig = typeof sortConfig === "object" && sortConfig !== null && Array.isArray(sortConfig.list) ? sortConfig.list : null;
79
+ return fromConfig !== null && fromConfig !== void 0 ? fromConfig : derivedSortFromColumnsList;
80
+ }, [sortConfig, derivedSortFromColumnsList]);
81
+ const sortNode = hideSort ? null : /* @__PURE__ */ React.createElement(sort_default, _objectSpread2(_objectSpread2({}, typeof sortConfig === "object" && sortConfig !== null ? sortConfig : {}), {}, {
82
+ list: sortList,
83
+ value: sortValue,
84
+ onChange: handleSortChange,
85
+ placement: "bottomLeft",
86
+ button: /* @__PURE__ */ React.createElement(Button, {
87
+ className: "record-board-toolbar-filter-btn",
88
+ icon: /* @__PURE__ */ React.createElement(SwitchVertical01, null),
89
+ size: "large"
90
+ }, getText("sort-button-text"))
91
+ }));
92
+ const filterConfig = slots.filter;
93
+ const hideFilter = filterConfig === false;
94
+ const filterValue = searchParams === null || searchParams === void 0 ? void 0 : searchParams[FILTER_PARAMS_FIELD];
95
+ const hasFilterItems = Array.isArray(filterValue === null || filterValue === void 0 ? void 0 : filterValue.quickFilter) && filterValue.quickFilter.length > 0 || Array.isArray(filterValue === null || filterValue === void 0 ? void 0 : filterValue.otherFilter) && filterValue.otherFilter.length > 0;
96
+ const effectiveFilterValue = useMemo(() => {
97
+ var _base$values;
98
+ const base = filterValue != null && hasFilterItems ? filterValue : typeof filterConfig === "object" && filterConfig !== null && filterConfig.defaultFilterValue ? filterConfig.defaultFilterValue : derivedFilterFromColumns && (derivedFilterFromColumns.quickFilter.length > 0 || derivedFilterFromColumns.otherFilter.length > 0) ? derivedFilterFromColumns : getDefaultFilterValue();
99
+ return _objectSpread2(_objectSpread2({}, base), {}, { values: (_base$values = base.values) !== null && _base$values !== void 0 ? _base$values : {} });
100
+ }, [
101
+ filterValue,
102
+ hasFilterItems,
103
+ filterConfig,
104
+ derivedFilterFromColumns
105
+ ]);
106
+ const filterValueForPisellFilter = useMemo(() => _objectSpread2(_objectSpread2({}, effectiveFilterValue), {}, { quickFilter: [] }), [effectiveFilterValue]);
107
+ const handleFilterChange = useCallback((value) => {
108
+ onSearch(_objectSpread2(_objectSpread2({}, searchParams), {}, { [FILTER_PARAMS_FIELD]: value }));
109
+ }, [onSearch, searchParams]);
110
+ const filterNode = hideFilter ? null : /* @__PURE__ */ React.createElement(pisellFilter_default, _objectSpread2({
111
+ value: filterValueForPisellFilter,
112
+ onChange: handleFilterChange,
113
+ hasForm: true,
114
+ quickFilterMaxLength: 100,
115
+ formFiltersPrefix: "",
116
+ size: "large",
117
+ buttonClassName: "record-board-toolbar-filter-btn",
118
+ hiddenQuickFilter: true
119
+ }, typeof filterConfig === "object" && filterConfig !== null ? filterConfig : {}));
120
+ const showColumnSetting = slots.columnSetting !== false && Array.isArray(gridColumns) && gridColumns.length > 0;
121
+ const topRight = /* @__PURE__ */ React.createElement(Space, null, showColumnSetting ? /* @__PURE__ */ React.createElement(ColumnSetting_default, null) : null, sortNode, filterNode, /* @__PURE__ */ React.createElement(ToolBarReset_default, { size: "large" }), slots.topRight);
122
+ return /* @__PURE__ */ React.createElement(ToolBar_default$1, {
123
+ className: slots.className,
124
+ style: slots.style,
125
+ tabs: slots.tabs,
126
+ topLeft,
127
+ topRight,
128
+ bottomLeft: slots.bottomLeft,
129
+ bottomRight: slots.bottomRight
130
+ });
131
+ };
132
+ RecordBoardToolBar.displayName = "RecordBoard.ToolBar";
133
+ var ToolBar_default = RecordBoardToolBar;
134
+
135
+ //#endregion
136
+ export { ToolBar_default as default };
@@ -0,0 +1,2 @@
1
+ import "../../../filter/types.js";
2
+ import React from "react";
@@ -0,0 +1,62 @@
1
+ import { _objectSpread2 } from "../../../../_virtual/_@oxc-project_runtime@0.108.0/helpers/objectSpread2.js";
2
+ import QuickFilter_default from "../../../filter/components/QuickFilter/index.js";
3
+ import { useRecordBoardContext } from "../../hooks/useRecordBoardContext.js";
4
+ import { Form } from "antd";
5
+ import React, { useCallback, useEffect } from "react";
6
+
7
+ //#region src/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.tsx
8
+ /** 筛选在 searchParams 中的字段名,与 ToolBar 一致 */
9
+ const FILTER_PARAMS_FIELD = "filter";
10
+ /**
11
+ * RecordBoard 工具栏左侧内联快速筛选:将 quickFilter 直接展示在 ToolBar 左侧,不放入 Filter 弹层。
12
+ * 与 searchParams.filter 联动,变更写入 searchParams.filter.values 并触发 onSearch。
13
+ * 启用时建议 ToolBar 对 PisellFilter 传 hiddenQuickFilter: true,仅保留高级筛选在弹层内。
14
+ */
15
+ const ToolBarQuickFilter = ({ filterList = [], formFiltersPrefix = "", size = "large" }) => {
16
+ var _filterValue$values;
17
+ const { searchParams, onSearch } = useRecordBoardContext();
18
+ const [form] = Form.useForm();
19
+ const filterValue = searchParams === null || searchParams === void 0 ? void 0 : searchParams[FILTER_PARAMS_FIELD];
20
+ const currentValues = (_filterValue$values = filterValue === null || filterValue === void 0 ? void 0 : filterValue.values) !== null && _filterValue$values !== void 0 ? _filterValue$values : {};
21
+ useEffect(() => {
22
+ const next = typeof currentValues === "object" && currentValues !== null ? currentValues : {};
23
+ const byNames = filterList.reduce((acc, item) => {
24
+ var _item$name, _next$String;
25
+ const name = (_item$name = item.name) !== null && _item$name !== void 0 ? _item$name : item.key;
26
+ if (name != null) acc[String(name)] = (_next$String = next[String(name)]) !== null && _next$String !== void 0 ? _next$String : void 0;
27
+ return acc;
28
+ }, {});
29
+ form.setFieldsValue(byNames);
30
+ }, [
31
+ currentValues,
32
+ form,
33
+ filterList
34
+ ]);
35
+ const handleValuesChange = useCallback((_, allValues) => {
36
+ if (typeof allValues !== "object" || allValues === null) return;
37
+ const nextFilter = _objectSpread2(_objectSpread2({}, filterValue), {}, { values: _objectSpread2(_objectSpread2({}, currentValues), allValues) });
38
+ onSearch(_objectSpread2(_objectSpread2({}, searchParams), {}, { [FILTER_PARAMS_FIELD]: nextFilter }));
39
+ }, [
40
+ searchParams,
41
+ filterValue,
42
+ currentValues,
43
+ onSearch
44
+ ]);
45
+ if (!Array.isArray(filterList) || filterList.length === 0) return null;
46
+ return /* @__PURE__ */ React.createElement(Form, {
47
+ form,
48
+ layout: "inline",
49
+ size,
50
+ onValuesChange: handleValuesChange,
51
+ style: { marginRight: 0 },
52
+ className: "record-board-toolbar-quick-filter-form"
53
+ }, /* @__PURE__ */ React.createElement(QuickFilter_default, {
54
+ value: { quickFilter: filterList },
55
+ formFiltersPrefix
56
+ }));
57
+ };
58
+ ToolBarQuickFilter.displayName = "RecordBoard.ToolBarQuickFilter";
59
+ var ToolBarQuickFilter_default = ToolBarQuickFilter;
60
+
61
+ //#endregion
62
+ export { ToolBarQuickFilter_default as default };
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ import "./index.less";
@@ -0,0 +1,45 @@
1
+ import { _objectSpread2 } from "../../../../_virtual/_@oxc-project_runtime@0.108.0/helpers/objectSpread2.js";
2
+ import { getText } from "../../../../locales/index.js";
3
+ import { useRecordBoardContext } from "../../hooks/useRecordBoardContext.js";
4
+ import { Button } from "antd";
5
+ import React, { useCallback } from "react";
6
+ import { ReloadOutlined } from "@ant-design/icons";
7
+ import "./index.less";
8
+
9
+ //#region src/components/pisellRecordBoard/shellFrame/ToolBarReset/index.tsx
10
+ /** 筛选在 searchParams 中的字段名,与 ToolBar 一致 */
11
+ const FILTER_PARAMS_FIELD = "filter";
12
+ /** 排序在 searchParams 中的字段名,与 ToolBar 一致 */
13
+ const SORT_PARAMS_FIELD = "sort";
14
+ /**
15
+ * RecordBoard 工具栏重置按钮:清空筛选与排序并刷新表格。
16
+ * 点击后以空 filter.values、清空 sort 调用 onSearch,并调用 onReset(若提供)。
17
+ */
18
+ const ToolBarReset = ({ size = "large", type = "default", children }) => {
19
+ const defaultResetText = getText("record-board-toolbar-reset");
20
+ const { searchParams, onSearch, onReset } = useRecordBoardContext();
21
+ const handleReset = useCallback(() => {
22
+ const currentFilter = searchParams === null || searchParams === void 0 ? void 0 : searchParams[FILTER_PARAMS_FIELD];
23
+ onSearch(_objectSpread2(_objectSpread2({}, searchParams), {}, {
24
+ [FILTER_PARAMS_FIELD]: _objectSpread2(_objectSpread2({}, currentFilter), {}, { values: {} }),
25
+ [SORT_PARAMS_FIELD]: void 0
26
+ }));
27
+ onReset === null || onReset === void 0 || onReset();
28
+ }, [
29
+ searchParams,
30
+ onSearch,
31
+ onReset
32
+ ]);
33
+ return /* @__PURE__ */ React.createElement(Button, {
34
+ className: "record-board-toolbar-reset",
35
+ type,
36
+ icon: /* @__PURE__ */ React.createElement(ReloadOutlined, null),
37
+ onClick: handleReset,
38
+ size
39
+ }, children !== null && children !== void 0 ? children : defaultResetText);
40
+ };
41
+ ToolBarReset.displayName = "RecordBoard.ToolBarReset";
42
+ var ToolBarReset_default = ToolBarReset;
43
+
44
+ //#endregion
45
+ export { ToolBarReset_default as default };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * ToolBarReset 按钮样式
3
+ * 依据 Figma Pisell 2.0 Component Library - Secondary Button (node-id=13629-5167)
4
+ * - 边框: 1px solid #E5E7EB (neutral-200)
5
+ * - 圆角: 8px
6
+ * - 背景: #FFFFFF (neutral-0)
7
+ * - 文字: 16px Medium, line-height 24px, #374151 (neutral-700)
8
+ * - 内边距: 12px 20px,高度 50px
9
+ */
10
+ .record-board-toolbar-reset {
11
+ &.pisell-lowcode-btn {
12
+ height: 50px;
13
+ padding: 12px 20px;
14
+ font-size: 16px;
15
+ font-weight: 600;
16
+ line-height: 24px;
17
+ color: #374151;
18
+ background-color: #ffffff;
19
+ border: 1px solid #e5e7eb;
20
+ border-width: 1px;
21
+ border-radius: 8px;
22
+ box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
23
+
24
+ &.pisell-lowcode-btn-lg {
25
+ height: 50px;
26
+ padding: 12px 20px;
27
+ font-size: 16px;
28
+ }
29
+
30
+ &:hover:not(:disabled) {
31
+ color: #374151;
32
+ background-color: #f9fafb;
33
+ border-color: #e5e7eb;
34
+ }
35
+
36
+ &:focus-visible {
37
+ outline: none;
38
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,27 @@
1
+ import { RecordBoardToolBar } from "./ToolBar/index.js";
2
+ import { RecordBoardBatchActionBar } from "./BatchActionBar/index.js";
3
+ import { RecordBoardPagination } from "./Pagination/index.js";
4
+ import { RecordBoardSearch } from "./Search/index.js";
5
+ import "./ToolBarReset/index.js";
6
+ import "./ToolBarQuickFilter/index.js";
7
+ import React from "react";
8
+
9
+ //#region src/components/pisellRecordBoard/shellFrame/index.d.ts
10
+ /**
11
+ * Shell Frame:基于 PisellShellFrame 的 RecordBoard 壳层。
12
+ * 提供工具栏、多选操作条、分页;与 Layout 同级,包裹在 Layout 外层。
13
+ *
14
+ * 使用方式:
15
+ * <PisellRecordBoard>
16
+ * <PisellRecordBoard.ShellFrame>
17
+ * <PisellRecordBoard.GridLayout />
18
+ * </PisellRecordBoard.ShellFrame>
19
+ * </PisellRecordBoard>
20
+ */
21
+ declare const RecordBoardShellFrame: React.FC<{
22
+ children?: React.ReactNode;
23
+ className?: string;
24
+ style?: React.CSSProperties;
25
+ }>;
26
+ //#endregion
27
+ export { RecordBoardShellFrame };
@@ -0,0 +1,38 @@
1
+ import { PisellShellFrame } from "../../pisellShellFrame/PisellShellFrame.js";
2
+ import ToolBarReset_default from "./ToolBarReset/index.js";
3
+ import ToolBarQuickFilter_default from "./ToolBarQuickFilter/index.js";
4
+ import ToolBar_default from "./ToolBar/index.js";
5
+ import BatchActionBar_default from "./BatchActionBar/index.js";
6
+ import Pagination_default from "./Pagination/index.js";
7
+ import Search_default from "./Search/index.js";
8
+ import React from "react";
9
+
10
+ //#region src/components/pisellRecordBoard/shellFrame/index.tsx
11
+ /**
12
+ * Shell Frame:基于 PisellShellFrame 的 RecordBoard 壳层。
13
+ * 提供工具栏、多选操作条、分页;与 Layout 同级,包裹在 Layout 外层。
14
+ *
15
+ * 使用方式:
16
+ * <PisellRecordBoard>
17
+ * <PisellRecordBoard.ShellFrame>
18
+ * <PisellRecordBoard.GridLayout />
19
+ * </PisellRecordBoard.ShellFrame>
20
+ * </PisellRecordBoard>
21
+ */
22
+ const RecordBoardShellFrame = ({ children, className, style }) => {
23
+ return /* @__PURE__ */ React.createElement(PisellShellFrame, {
24
+ className,
25
+ style,
26
+ config: {
27
+ showToolbar: true,
28
+ showBatchActionBar: true
29
+ },
30
+ toolbar: /* @__PURE__ */ React.createElement(ToolBar_default, null),
31
+ batchActionBar: /* @__PURE__ */ React.createElement(BatchActionBar_default, null)
32
+ }, children, /* @__PURE__ */ React.createElement(Pagination_default, null));
33
+ };
34
+ RecordBoardShellFrame.displayName = "RecordBoard.ShellFrame";
35
+ var shellFrame_default = RecordBoardShellFrame;
36
+
37
+ //#endregion
38
+ export { shellFrame_default as default };