@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,139 @@
1
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.js');
2
+ const require_objectSpread2 = require('../../../../_virtual/_@oxc-project_runtime@0.108.0/helpers/objectSpread2.js');
3
+ const require_index = require('../../../../locales/index.js');
4
+ const require_index$1 = require('../../../sort/index.js');
5
+ const require_index$2 = require('../../../pisellFind/index.js');
6
+ const require_useRecordBoardContext = require('../../hooks/useRecordBoardContext.js');
7
+ const require_recordBoardColumns = require('../../utils/recordBoardColumns.js');
8
+ const require_index$3 = require('../../../pisellGridPro/ToolBar/index.js');
9
+ const require_index$4 = require('../../../pisellFilter/index.js');
10
+ const require_index$5 = require('../ToolBarReset/index.js');
11
+ const require_index$6 = require('../ToolBarQuickFilter/index.js');
12
+ const require_index$7 = require('../ColumnSetting/index.js');
13
+ let antd = require("antd");
14
+ let react = require("react");
15
+ react = require_rolldown_runtime.__toESM(react);
16
+ let _pisell_icon_es_SwitchVertical01 = require("@pisell/icon/es/SwitchVertical01");
17
+ _pisell_icon_es_SwitchVertical01 = require_rolldown_runtime.__toESM(_pisell_icon_es_SwitchVertical01);
18
+ require("./ToolBarFilter.less");
19
+
20
+ //#region src/components/pisellRecordBoard/shellFrame/ToolBar/index.tsx
21
+ /** 默认搜索参数字段名,与 context.searchParams 对应 */
22
+ const DEFAULT_SEARCH_FIELD = "keyword";
23
+ /** 筛选在 searchParams 中的字段名 */
24
+ const FILTER_PARAMS_FIELD = "filter";
25
+ /** 排序在 searchParams 中的字段名 */
26
+ const SORT_PARAMS_FIELD = "sort";
27
+ /** 筛选无值时使用的默认筛选项,避免点开为空;业务可通过 childComponentProps.toolBar.filter.defaultFilterValue 覆盖。文案通过 getText 多语言。 */
28
+ function getDefaultFilterValue() {
29
+ return {
30
+ quickFilter: [],
31
+ otherFilter: []
32
+ };
33
+ }
34
+ /**
35
+ * RecordBoard 下的工具栏:使用 PisellToolBar。
36
+ * 左侧默认 PisellFind(inline);右侧默认 PisellFilter。通过 childComponentProps.toolBar.search / toolBar.filter 为对象时透传对应组件 props,为 false 时不渲染。
37
+ * 可透传 topLeft、topRight、bottomLeft、bottomRight、tabs。
38
+ */
39
+ const RecordBoardToolBar = (props) => {
40
+ var _ctx$childComponentPr, _ctx$childComponentPr2, _searchParams$DEFAULT, _ctx$childComponentPr3, _formFiltersPrefix, _size;
41
+ const ctx = require_useRecordBoardContext.useRecordBoardContext({ displayName: "toolBar" });
42
+ const { searchParams, onSearch } = ctx;
43
+ 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 : {};
44
+ const keyword = (_searchParams$DEFAULT = searchParams === null || searchParams === void 0 ? void 0 : searchParams[DEFAULT_SEARCH_FIELD]) !== null && _searchParams$DEFAULT !== void 0 ? _searchParams$DEFAULT : "";
45
+ const handleSearch = (0, react.useCallback)((value) => {
46
+ onSearch(require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, searchParams), {}, { [DEFAULT_SEARCH_FIELD]: value || void 0 }));
47
+ }, [onSearch, searchParams]);
48
+ 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;
49
+ const derivedFilterFromColumns = (0, react.useMemo)(() => Array.isArray(gridColumns) && gridColumns.length > 0 ? require_recordBoardColumns.deriveFilterFromColumns(gridColumns) : null, [gridColumns]);
50
+ const derivedSortFromColumnsList = (0, react.useMemo)(() => Array.isArray(gridColumns) && gridColumns.length > 0 ? require_recordBoardColumns.deriveSortFromColumns(gridColumns) : [], [gridColumns]);
51
+ const searchConfig = slots.search;
52
+ /** 默认 inline:triggerType="input" + displayType="inline",放在 toolbar 左侧,显示搜索按钮。受控需传 onChange 才能输入。 */
53
+ const searchNode = searchConfig === false ? null : /* @__PURE__ */ react.default.createElement(require_index$2.PisellFind, require_objectSpread2._objectSpread2({
54
+ triggerType: "input",
55
+ displayType: "inline",
56
+ showConfirmButton: true,
57
+ value: keyword,
58
+ onChange: (v) => handleSearch(v),
59
+ onSearch: handleSearch
60
+ }, typeof searchConfig === "object" && searchConfig !== null ? searchConfig : {}));
61
+ const quickFilterConfig = slots.quickFilter;
62
+ const quickFilterList = (0, react.useMemo)(() => {
63
+ var _ref;
64
+ if (quickFilterConfig === false) return [];
65
+ const fromConfig = typeof quickFilterConfig === "object" && quickFilterConfig !== null && Array.isArray(quickFilterConfig.filterList) ? quickFilterConfig.filterList : null;
66
+ return (_ref = fromConfig !== null && fromConfig !== void 0 ? fromConfig : derivedFilterFromColumns === null || derivedFilterFromColumns === void 0 ? void 0 : derivedFilterFromColumns.quickFilter) !== null && _ref !== void 0 ? _ref : [];
67
+ }, [quickFilterConfig, derivedFilterFromColumns === null || derivedFilterFromColumns === void 0 ? void 0 : derivedFilterFromColumns.quickFilter]);
68
+ const quickFilterNode = quickFilterList.length > 0 ? /* @__PURE__ */ react.default.createElement(require_index$6.default, {
69
+ filterList: quickFilterList,
70
+ formFiltersPrefix: typeof quickFilterConfig === "object" && quickFilterConfig !== null ? (_formFiltersPrefix = quickFilterConfig.formFiltersPrefix) !== null && _formFiltersPrefix !== void 0 ? _formFiltersPrefix : "" : "",
71
+ size: typeof quickFilterConfig === "object" && quickFilterConfig !== null ? (_size = quickFilterConfig.size) !== null && _size !== void 0 ? _size : "large" : "large"
72
+ }) : null;
73
+ const topLeft = /* @__PURE__ */ react.default.createElement("div", { className: "record-board-toolbar-top-left" }, quickFilterNode, searchNode ? /* @__PURE__ */ react.default.createElement("div", { className: "record-board-toolbar-find-wrap" }, searchNode) : null, slots.topLeft);
74
+ const sortConfig = slots.sort;
75
+ const hideSort = sortConfig === false;
76
+ const sortValue = searchParams === null || searchParams === void 0 ? void 0 : searchParams[SORT_PARAMS_FIELD];
77
+ const handleSortChange = (0, react.useCallback)((val) => {
78
+ onSearch(require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, searchParams), {}, { [SORT_PARAMS_FIELD]: val || void 0 }));
79
+ }, [onSearch, searchParams]);
80
+ const sortList = (0, react.useMemo)(() => {
81
+ const fromConfig = typeof sortConfig === "object" && sortConfig !== null && Array.isArray(sortConfig.list) ? sortConfig.list : null;
82
+ return fromConfig !== null && fromConfig !== void 0 ? fromConfig : derivedSortFromColumnsList;
83
+ }, [sortConfig, derivedSortFromColumnsList]);
84
+ const sortNode = hideSort ? null : /* @__PURE__ */ react.default.createElement(require_index$1.default, require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, typeof sortConfig === "object" && sortConfig !== null ? sortConfig : {}), {}, {
85
+ list: sortList,
86
+ value: sortValue,
87
+ onChange: handleSortChange,
88
+ placement: "bottomLeft",
89
+ button: /* @__PURE__ */ react.default.createElement(antd.Button, {
90
+ className: "record-board-toolbar-filter-btn",
91
+ icon: /* @__PURE__ */ react.default.createElement(_pisell_icon_es_SwitchVertical01.default, null),
92
+ size: "large"
93
+ }, require_index.getText("sort-button-text"))
94
+ }));
95
+ const filterConfig = slots.filter;
96
+ const hideFilter = filterConfig === false;
97
+ const filterValue = searchParams === null || searchParams === void 0 ? void 0 : searchParams[FILTER_PARAMS_FIELD];
98
+ 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;
99
+ const effectiveFilterValue = (0, react.useMemo)(() => {
100
+ var _base$values;
101
+ 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();
102
+ return require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, base), {}, { values: (_base$values = base.values) !== null && _base$values !== void 0 ? _base$values : {} });
103
+ }, [
104
+ filterValue,
105
+ hasFilterItems,
106
+ filterConfig,
107
+ derivedFilterFromColumns
108
+ ]);
109
+ const filterValueForPisellFilter = (0, react.useMemo)(() => require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, effectiveFilterValue), {}, { quickFilter: [] }), [effectiveFilterValue]);
110
+ const handleFilterChange = (0, react.useCallback)((value) => {
111
+ onSearch(require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, searchParams), {}, { [FILTER_PARAMS_FIELD]: value }));
112
+ }, [onSearch, searchParams]);
113
+ const filterNode = hideFilter ? null : /* @__PURE__ */ react.default.createElement(require_index$4.default, require_objectSpread2._objectSpread2({
114
+ value: filterValueForPisellFilter,
115
+ onChange: handleFilterChange,
116
+ hasForm: true,
117
+ quickFilterMaxLength: 100,
118
+ formFiltersPrefix: "",
119
+ size: "large",
120
+ buttonClassName: "record-board-toolbar-filter-btn",
121
+ hiddenQuickFilter: true
122
+ }, typeof filterConfig === "object" && filterConfig !== null ? filterConfig : {}));
123
+ const showColumnSetting = slots.columnSetting !== false && Array.isArray(gridColumns) && gridColumns.length > 0;
124
+ const topRight = /* @__PURE__ */ react.default.createElement(antd.Space, null, showColumnSetting ? /* @__PURE__ */ react.default.createElement(require_index$7.default, null) : null, sortNode, filterNode, /* @__PURE__ */ react.default.createElement(require_index$5.default, { size: "large" }), slots.topRight);
125
+ return /* @__PURE__ */ react.default.createElement(require_index$3.default, {
126
+ className: slots.className,
127
+ style: slots.style,
128
+ tabs: slots.tabs,
129
+ topLeft,
130
+ topRight,
131
+ bottomLeft: slots.bottomLeft,
132
+ bottomRight: slots.bottomRight
133
+ });
134
+ };
135
+ RecordBoardToolBar.displayName = "RecordBoard.ToolBar";
136
+ var ToolBar_default = RecordBoardToolBar;
137
+
138
+ //#endregion
139
+ exports.default = ToolBar_default;
@@ -0,0 +1,64 @@
1
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.js');
2
+ const require_objectSpread2 = require('../../../../_virtual/_@oxc-project_runtime@0.108.0/helpers/objectSpread2.js');
3
+ const require_index = require('../../../filter/components/QuickFilter/index.js');
4
+ const require_useRecordBoardContext = require('../../hooks/useRecordBoardContext.js');
5
+ let antd = require("antd");
6
+ let react = require("react");
7
+ react = require_rolldown_runtime.__toESM(react);
8
+
9
+ //#region src/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.tsx
10
+ /** 筛选在 searchParams 中的字段名,与 ToolBar 一致 */
11
+ const FILTER_PARAMS_FIELD = "filter";
12
+ /**
13
+ * RecordBoard 工具栏左侧内联快速筛选:将 quickFilter 直接展示在 ToolBar 左侧,不放入 Filter 弹层。
14
+ * 与 searchParams.filter 联动,变更写入 searchParams.filter.values 并触发 onSearch。
15
+ * 启用时建议 ToolBar 对 PisellFilter 传 hiddenQuickFilter: true,仅保留高级筛选在弹层内。
16
+ */
17
+ const ToolBarQuickFilter = ({ filterList = [], formFiltersPrefix = "", size = "large" }) => {
18
+ var _filterValue$values;
19
+ const { searchParams, onSearch } = require_useRecordBoardContext.useRecordBoardContext();
20
+ const [form] = antd.Form.useForm();
21
+ const filterValue = searchParams === null || searchParams === void 0 ? void 0 : searchParams[FILTER_PARAMS_FIELD];
22
+ const currentValues = (_filterValue$values = filterValue === null || filterValue === void 0 ? void 0 : filterValue.values) !== null && _filterValue$values !== void 0 ? _filterValue$values : {};
23
+ (0, react.useEffect)(() => {
24
+ const next = typeof currentValues === "object" && currentValues !== null ? currentValues : {};
25
+ const byNames = filterList.reduce((acc, item) => {
26
+ var _item$name, _next$String;
27
+ const name = (_item$name = item.name) !== null && _item$name !== void 0 ? _item$name : item.key;
28
+ if (name != null) acc[String(name)] = (_next$String = next[String(name)]) !== null && _next$String !== void 0 ? _next$String : void 0;
29
+ return acc;
30
+ }, {});
31
+ form.setFieldsValue(byNames);
32
+ }, [
33
+ currentValues,
34
+ form,
35
+ filterList
36
+ ]);
37
+ const handleValuesChange = (0, react.useCallback)((_, allValues) => {
38
+ if (typeof allValues !== "object" || allValues === null) return;
39
+ const nextFilter = require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, filterValue), {}, { values: require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, currentValues), allValues) });
40
+ onSearch(require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, searchParams), {}, { [FILTER_PARAMS_FIELD]: nextFilter }));
41
+ }, [
42
+ searchParams,
43
+ filterValue,
44
+ currentValues,
45
+ onSearch
46
+ ]);
47
+ if (!Array.isArray(filterList) || filterList.length === 0) return null;
48
+ return /* @__PURE__ */ react.default.createElement(antd.Form, {
49
+ form,
50
+ layout: "inline",
51
+ size,
52
+ onValuesChange: handleValuesChange,
53
+ style: { marginRight: 0 },
54
+ className: "record-board-toolbar-quick-filter-form"
55
+ }, /* @__PURE__ */ react.default.createElement(require_index.default, {
56
+ value: { quickFilter: filterList },
57
+ formFiltersPrefix
58
+ }));
59
+ };
60
+ ToolBarQuickFilter.displayName = "RecordBoard.ToolBarQuickFilter";
61
+ var ToolBarQuickFilter_default = ToolBarQuickFilter;
62
+
63
+ //#endregion
64
+ exports.default = ToolBarQuickFilter_default;
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ import "./index.less";
@@ -0,0 +1,47 @@
1
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.js');
2
+ const require_objectSpread2 = require('../../../../_virtual/_@oxc-project_runtime@0.108.0/helpers/objectSpread2.js');
3
+ const require_index = require('../../../../locales/index.js');
4
+ const require_useRecordBoardContext = require('../../hooks/useRecordBoardContext.js');
5
+ let antd = require("antd");
6
+ let react = require("react");
7
+ react = require_rolldown_runtime.__toESM(react);
8
+ let _ant_design_icons = require("@ant-design/icons");
9
+ require("./index.less");
10
+
11
+ //#region src/components/pisellRecordBoard/shellFrame/ToolBarReset/index.tsx
12
+ /** 筛选在 searchParams 中的字段名,与 ToolBar 一致 */
13
+ const FILTER_PARAMS_FIELD = "filter";
14
+ /** 排序在 searchParams 中的字段名,与 ToolBar 一致 */
15
+ const SORT_PARAMS_FIELD = "sort";
16
+ /**
17
+ * RecordBoard 工具栏重置按钮:清空筛选与排序并刷新表格。
18
+ * 点击后以空 filter.values、清空 sort 调用 onSearch,并调用 onReset(若提供)。
19
+ */
20
+ const ToolBarReset = ({ size = "large", type = "default", children }) => {
21
+ const defaultResetText = require_index.getText("record-board-toolbar-reset");
22
+ const { searchParams, onSearch, onReset } = require_useRecordBoardContext.useRecordBoardContext();
23
+ const handleReset = (0, react.useCallback)(() => {
24
+ const currentFilter = searchParams === null || searchParams === void 0 ? void 0 : searchParams[FILTER_PARAMS_FIELD];
25
+ onSearch(require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, searchParams), {}, {
26
+ [FILTER_PARAMS_FIELD]: require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, currentFilter), {}, { values: {} }),
27
+ [SORT_PARAMS_FIELD]: void 0
28
+ }));
29
+ onReset === null || onReset === void 0 || onReset();
30
+ }, [
31
+ searchParams,
32
+ onSearch,
33
+ onReset
34
+ ]);
35
+ return /* @__PURE__ */ react.default.createElement(antd.Button, {
36
+ className: "record-board-toolbar-reset",
37
+ type,
38
+ icon: /* @__PURE__ */ react.default.createElement(_ant_design_icons.ReloadOutlined, null),
39
+ onClick: handleReset,
40
+ size
41
+ }, children !== null && children !== void 0 ? children : defaultResetText);
42
+ };
43
+ ToolBarReset.displayName = "RecordBoard.ToolBarReset";
44
+ var ToolBarReset_default = ToolBarReset;
45
+
46
+ //#endregion
47
+ exports.default = ToolBarReset_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,26 @@
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 React from "react";
7
+
8
+ //#region src/components/pisellRecordBoard/shellFrame/index.d.ts
9
+ /**
10
+ * Shell Frame:基于 PisellShellFrame 的 RecordBoard 壳层。
11
+ * 提供工具栏、多选操作条、分页;与 Layout 同级,包裹在 Layout 外层。
12
+ *
13
+ * 使用方式:
14
+ * <PisellRecordBoard>
15
+ * <PisellRecordBoard.ShellFrame>
16
+ * <PisellRecordBoard.GridLayout />
17
+ * </PisellRecordBoard.ShellFrame>
18
+ * </PisellRecordBoard>
19
+ */
20
+ declare const RecordBoardShellFrame: React.FC<{
21
+ children?: React.ReactNode;
22
+ className?: string;
23
+ style?: React.CSSProperties;
24
+ }>;
25
+ //#endregion
26
+ export { RecordBoardShellFrame };
@@ -0,0 +1,40 @@
1
+ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.js');
2
+ const require_PisellShellFrame = require('../../pisellShellFrame/PisellShellFrame.js');
3
+ const require_index = require('./ToolBarReset/index.js');
4
+ const require_index$1 = require('./ToolBarQuickFilter/index.js');
5
+ const require_index$2 = require('./ToolBar/index.js');
6
+ const require_index$3 = require('./BatchActionBar/index.js');
7
+ const require_index$4 = require('./Pagination/index.js');
8
+ const require_index$5 = require('./Search/index.js');
9
+ let react = require("react");
10
+ react = require_rolldown_runtime.__toESM(react);
11
+
12
+ //#region src/components/pisellRecordBoard/shellFrame/index.tsx
13
+ /**
14
+ * Shell Frame:基于 PisellShellFrame 的 RecordBoard 壳层。
15
+ * 提供工具栏、多选操作条、分页;与 Layout 同级,包裹在 Layout 外层。
16
+ *
17
+ * 使用方式:
18
+ * <PisellRecordBoard>
19
+ * <PisellRecordBoard.ShellFrame>
20
+ * <PisellRecordBoard.GridLayout />
21
+ * </PisellRecordBoard.ShellFrame>
22
+ * </PisellRecordBoard>
23
+ */
24
+ const RecordBoardShellFrame = ({ children, className, style }) => {
25
+ return /* @__PURE__ */ react.default.createElement(require_PisellShellFrame.PisellShellFrame, {
26
+ className,
27
+ style,
28
+ config: {
29
+ showToolbar: true,
30
+ showBatchActionBar: true
31
+ },
32
+ toolbar: /* @__PURE__ */ react.default.createElement(require_index$2.default, null),
33
+ batchActionBar: /* @__PURE__ */ react.default.createElement(require_index$3.default, null)
34
+ }, children, /* @__PURE__ */ react.default.createElement(require_index$4.default, null));
35
+ };
36
+ RecordBoardShellFrame.displayName = "RecordBoard.ShellFrame";
37
+ var shellFrame_default = RecordBoardShellFrame;
38
+
39
+ //#endregion
40
+ exports.default = shellFrame_default;