@creekjs/web-components 1.0.12 → 1.0.14

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 (62) hide show
  1. package/.turbo/turbo-father$colon$build.log +21 -21
  2. package/dist/creek-config-provider/CreekConfigContext.d.ts.map +1 -0
  3. package/dist/creek-config-provider/CreekI18nProvider.d.ts.map +1 -0
  4. package/dist/creek-config-provider/index.d.ts.map +1 -0
  5. package/dist/creek-hooks/index.d.ts.map +1 -0
  6. package/dist/creek-hooks/useApp/DrawerHelper.d.ts.map +1 -0
  7. package/dist/creek-hooks/useApp/ModalHelper.d.ts.map +1 -0
  8. package/dist/creek-hooks/useApp/index.d.ts.map +1 -0
  9. package/dist/creek-hooks/useApp/types.d.ts.map +1 -0
  10. package/dist/creek-hooks/useViewportHeight.d.ts.map +1 -0
  11. package/dist/creek-icon/index.d.ts.map +1 -0
  12. package/dist/creek-keep-alive/index.d.ts.map +1 -0
  13. package/dist/creek-layout/ActionRender/FullScreen.d.ts.map +1 -0
  14. package/dist/creek-layout/ActionRender/LayoutSettings.d.ts.map +1 -0
  15. package/dist/creek-layout/ActionRender/UserInfo.d.ts.map +1 -0
  16. package/dist/creek-layout/ActionRender/index.d.ts.map +1 -0
  17. package/dist/creek-layout/CollapseButton.d.ts.map +1 -0
  18. package/dist/creek-layout/Exception/NotFound.d.ts.map +1 -0
  19. package/dist/creek-layout/Exception/NotFoundPage.d.ts.map +1 -0
  20. package/dist/creek-layout/Exception/index.d.ts.map +1 -0
  21. package/dist/creek-layout/index.d.ts.map +1 -0
  22. package/dist/creek-layout/index.js +9 -12
  23. package/dist/creek-layout/index.js.map +2 -2
  24. package/dist/creek-layout/useLayoutSettingsStore.d.ts.map +1 -0
  25. package/dist/creek-loading/index.d.ts.map +1 -0
  26. package/dist/creek-locale-button/index.d.ts.map +1 -0
  27. package/dist/creek-page-container/index.d.ts.map +1 -0
  28. package/dist/creek-style/index.d.ts.map +1 -0
  29. package/dist/creek-style/scrollbar.d.ts.map +1 -0
  30. package/dist/creek-table/SearchTable.d.ts.map +1 -0
  31. package/dist/creek-table/SearchTable.js +18 -0
  32. package/dist/creek-table/SearchTable.js.map +2 -2
  33. package/dist/creek-table/components/DensityIcon.d.ts.map +1 -0
  34. package/dist/creek-table/components/EllipsisTooltip.d.ts.map +1 -0
  35. package/dist/creek-table/components/EllipsisTooltip.js +5 -2
  36. package/dist/creek-table/components/EllipsisTooltip.js.map +2 -2
  37. package/dist/creek-table/components/index.d.ts.map +1 -0
  38. package/dist/creek-table/hooks/index.d.ts.map +1 -0
  39. package/dist/creek-table/hooks/useAdaptiveToolBar.d.ts.map +1 -0
  40. package/dist/creek-table/hooks/useAutoWidthColumns.d.ts.map +1 -0
  41. package/dist/creek-table/hooks/useElementDistance.d.ts.map +1 -0
  42. package/dist/creek-table/hooks/useEllipsisColumns.d.ts.map +1 -0
  43. package/dist/creek-table/hooks/useEllipsisColumns.js +3 -0
  44. package/dist/creek-table/hooks/useEllipsisColumns.js.map +2 -2
  45. package/dist/creek-table/hooks/useIndexColumn.d.ts.map +1 -0
  46. package/dist/creek-table/hooks/useIndexColumn.js +1 -1
  47. package/dist/creek-table/hooks/useIndexColumn.js.map +1 -1
  48. package/dist/creek-table/hooks/useResizableColumns.d.ts.map +1 -0
  49. package/dist/creek-table/hooks/useStatusColumns.d.ts.map +1 -0
  50. package/dist/creek-table/hooks/useTableOptions.d.ts.map +1 -0
  51. package/dist/creek-table/hooks/useTableScrollHeight.d.ts.map +1 -0
  52. package/dist/creek-table/index.d.ts.map +1 -0
  53. package/dist/creek-table/type.d.ts.map +1 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/locales/en_US.d.ts.map +1 -0
  56. package/dist/locales/zh_CN.d.ts.map +1 -0
  57. package/package.json +1 -1
  58. package/src/creek-layout/index.tsx +12 -14
  59. package/src/creek-table/SearchTable.tsx +22 -1
  60. package/src/creek-table/components/EllipsisTooltip.tsx +5 -2
  61. package/src/creek-table/hooks/useEllipsisColumns.tsx +5 -0
  62. package/src/creek-table/hooks/useIndexColumn.tsx +1 -1
@@ -1,54 +1,54 @@
1
1
 
2
2
  
3
- > @creekjs/web-components@1.0.11 father:build /Users/ernestwang/Documents/code-resoorce/creek/packages/web-components
3
+ > @creekjs/web-components@1.0.13 father:build /Users/ernestwang/Documents/code-resoorce/creek/packages/web-components
4
4
  > father build
5
5
 
6
6
  info - Clean output directories
7
7
  info - Bundless for src directory to cjs format
8
- event - Bundless index.tsx to dist/creek-config-provider/index.js (with declaration)
9
- event - Bundless CreekConfigContext.tsx to dist/creek-config-provider/CreekConfigContext.js (with declaration)
8
+ event - Bundless DrawerHelper.tsx to dist/creek-hooks/useApp/DrawerHelper.js (with declaration)
10
9
  event - Bundless index.ts to dist/creek-hooks/index.js (with declaration)
10
+ event - Bundless CreekConfigContext.tsx to dist/creek-config-provider/CreekConfigContext.js (with declaration)
11
11
  event - Bundless CreekI18nProvider.tsx to dist/creek-config-provider/CreekI18nProvider.js (with declaration)
12
- event - Bundless DrawerHelper.tsx to dist/creek-hooks/useApp/DrawerHelper.js (with declaration)
13
- event - Bundless index.tsx to dist/creek-hooks/useApp/index.js (with declaration)
14
12
  event - Bundless ModalHelper.tsx to dist/creek-hooks/useApp/ModalHelper.js (with declaration)
13
+ event - Bundless index.tsx to dist/creek-config-provider/index.js (with declaration)
15
14
  event - Bundless types.ts to dist/creek-hooks/useApp/types.js (with declaration)
15
+ event - Bundless useViewportHeight.tsx to dist/creek-hooks/useViewportHeight.js (with declaration)
16
16
  event - Bundless index.tsx to dist/creek-icon/index.js (with declaration)
17
17
  event - Bundless FullScreen.tsx to dist/creek-layout/ActionRender/FullScreen.js (with declaration)
18
18
  event - Bundless index.tsx to dist/creek-keep-alive/index.js (with declaration)
19
+ event - Bundless index.tsx to dist/creek-layout/Exception/index.js (with declaration)
19
20
  event - Bundless index.tsx to dist/creek-layout/ActionRender/index.js (with declaration)
20
- event - Bundless UserInfo.tsx to dist/creek-layout/ActionRender/UserInfo.js (with declaration)
21
+ event - Bundless index.tsx to dist/creek-hooks/useApp/index.js (with declaration)
21
22
  event - Bundless LayoutSettings.tsx to dist/creek-layout/ActionRender/LayoutSettings.js (with declaration)
22
- event - Bundless index.tsx to dist/creek-layout/Exception/index.js (with declaration)
23
- event - Bundless NotFound.tsx to dist/creek-layout/Exception/NotFound.js (with declaration)
23
+ event - Bundless UserInfo.tsx to dist/creek-layout/ActionRender/UserInfo.js (with declaration)
24
24
  event - Bundless CollapseButton.tsx to dist/creek-layout/CollapseButton.js (with declaration)
25
+ event - Bundless NotFound.tsx to dist/creek-layout/Exception/NotFound.js (with declaration)
25
26
  event - Bundless NotFoundPage.tsx to dist/creek-layout/Exception/NotFoundPage.js (with declaration)
26
- event - Bundless index.tsx to dist/creek-layout/index.js (with declaration)
27
27
  event - Bundless index.tsx to dist/creek-loading/index.js (with declaration)
28
28
  event - Bundless index.tsx to dist/creek-locale-button/index.js (with declaration)
29
+ event - Bundless index.tsx to dist/creek-layout/index.js (with declaration)
29
30
  event - Bundless index.ts to dist/creek-style/index.js (with declaration)
30
31
  event - Bundless scrollbar.ts to dist/creek-style/scrollbar.js (with declaration)
31
- event - Bundless index.tsx to dist/creek-page-container/index.js (with declaration)
32
- event - Bundless EllipsisTooltip.tsx to dist/creek-table/components/EllipsisTooltip.js (with declaration)
33
- event - Bundless DensityIcon.tsx to dist/creek-table/components/DensityIcon.js (with declaration)
34
- event - Bundless index.ts to dist/creek-table/hooks/index.js (with declaration)
35
32
  event - Bundless index.tsx to dist/creek-table/components/index.js (with declaration)
33
+ event - Bundless DensityIcon.tsx to dist/creek-table/components/DensityIcon.js (with declaration)
34
+ event - Bundless useLayoutSettingsStore.ts to dist/creek-layout/useLayoutSettingsStore.js (with declaration)
36
35
  event - Bundless useAdaptiveToolBar.tsx to dist/creek-table/hooks/useAdaptiveToolBar.js (with declaration)
37
- event - Bundless useEllipsisColumns.tsx to dist/creek-table/hooks/useEllipsisColumns.js (with declaration)
36
+ event - Bundless EllipsisTooltip.tsx to dist/creek-table/components/EllipsisTooltip.js (with declaration)
37
+ event - Bundless index.ts to dist/creek-table/hooks/index.js (with declaration)
38
38
  event - Bundless useAutoWidthColumns.tsx to dist/creek-table/hooks/useAutoWidthColumns.js (with declaration)
39
+ event - Bundless useEllipsisColumns.tsx to dist/creek-table/hooks/useEllipsisColumns.js (with declaration)
39
40
  event - Bundless useIndexColumn.tsx to dist/creek-table/hooks/useIndexColumn.js (with declaration)
40
- event - Bundless useResizableColumns.tsx to dist/creek-table/hooks/useResizableColumns.js (with declaration)
41
41
  event - Bundless useElementDistance.tsx to dist/creek-table/hooks/useElementDistance.js (with declaration)
42
42
  event - Bundless index.tsx to dist/creek-table/index.js (with declaration)
43
+ event - Bundless useResizableColumns.tsx to dist/creek-table/hooks/useResizableColumns.js (with declaration)
43
44
  event - Bundless useTableOptions.tsx to dist/creek-table/hooks/useTableOptions.js (with declaration)
45
+ event - Bundless useStatusColumns.tsx to dist/creek-table/hooks/useStatusColumns.js (with declaration)
44
46
  event - Bundless useTableScrollHeight.tsx to dist/creek-table/hooks/useTableScrollHeight.js (with declaration)
45
47
  event - Bundless type.ts to dist/creek-table/type.js (with declaration)
46
- event - Bundless zh_CN.ts to dist/locales/zh_CN.js (with declaration)
47
- event - Bundless useViewportHeight.tsx to dist/creek-hooks/useViewportHeight.js (with declaration)
48
+ event - Bundless SearchTable.tsx to dist/creek-table/SearchTable.js (with declaration)
49
+ event - Bundless index.tsx to dist/creek-page-container/index.js (with declaration)
48
50
  event - Bundless index.tsx to dist/index.js (with declaration)
49
- event - Bundless useLayoutSettingsStore.ts to dist/creek-layout/useLayoutSettingsStore.js (with declaration)
50
51
  event - Bundless en_US.ts to dist/locales/en_US.js (with declaration)
51
- event - Bundless useStatusColumns.tsx to dist/creek-table/hooks/useStatusColumns.js (with declaration)
52
- event - Bundless SearchTable.tsx to dist/creek-table/SearchTable.js (with declaration)
52
+ event - Bundless zh_CN.ts to dist/locales/zh_CN.js (with declaration)
53
53
  event - Generate declaration files...
54
- event - Transformed successfully in 6572 ms (45 files)
54
+ event - Transformed successfully in 7610 ms (45 files)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreekConfigContext.d.ts","sourceRoot":"","sources":["../../src/creek-config-provider/CreekConfigContext.tsx"],"names":[],"mappings":";AAEA,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,kDAA6C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreekI18nProvider.d.ts","sourceRoot":"","sources":["../../src/creek-config-provider/CreekI18nProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUvC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAU3C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAOD,eAAO,MAAM,aAAa;;yBAEH,MAAM;EAC3B,CAAC;AAEH,eAAO,MAAM,YAAY;;yBAHF,MAAM;CAG8B,CAAC;AAE5D,eAAO,MAAM,iBAAiB,UAAW,sBAAsB,4CAqE9D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-config-provider/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAQhD,OAAO,EAAsB,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAc,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOzH,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,sBAAsB,CAAC;AAE9H,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAmCvC,eAAO,MAAM,mBAAmB;YAAW,wBAAwB;;CAQlE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerHelper.d.ts","sourceRoot":"","sources":["../../../src/creek-hooks/useApp/DrawerHelper.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAwC,MAAM,SAAS,CAAC;AAE7E,UAAU,iBAAiB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8BpD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalHelper.d.ts","sourceRoot":"","sources":["../../../src/creek-hooks/useApp/ModalHelper.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,WAAW,EAAqB,MAAM,SAAS,CAAC;AAE1E,UAAU,gBAAgB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8BlD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/creek-hooks/useApp/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAI5E,OAAO,EAGL,gBAAgB,EAChB,eAAe,EAEf,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAsBjB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA6B/D,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;CAiDlB,CAAC;AAEF,cAAc,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/creek-hooks/useApp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAGF,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAC9E,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1G,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAG9D,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5G,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useViewportHeight.d.ts","sourceRoot":"","sources":["../../src/creek-hooks/useViewportHeight.tsx"],"names":[],"mappings":";AAGA,UAAU,wBAAwB;IAChC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAE5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB,aAAa,wBAAwB;IAuJ/D,wBAAwB;;IAExB,kBAAkB;;IAElB,kBAAkB;;IAElB,gBAAgB;;CAGnB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-icon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,IAA8B,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAIrC,OAAO,EAAuB,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,KAAK,wBAAwB,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,wBAAwB,GAAG;IACtD,WAAW,CAAC,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,cAAc,mDAkB9C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-keep-alive/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAQD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAgMxD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullScreen.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/ActionRender/FullScreen.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,8EAU7B,CAAC;AAEH,eAAO,MAAM,UAAU,+CAwBtB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutSettings.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/ActionRender/LayoutSettings.tsx"],"names":[],"mappings":"AAwCA,eAAO,MAAM,cAAc;;;;6CA0B1B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserInfo.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/ActionRender/UserInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,aAAa,EAAS,MAAM,MAAM,CAAC;AAsB9D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,QAAQ,UAAW,aAAa,4CAc5C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/ActionRender/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapseButton.d.ts","sourceRoot":"","sources":["../../src/creek-layout/CollapseButton.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAiBF,eAAO,MAAM,iBAAiB,mFAU5B,CAAC;AAEH,eAAO,MAAM,eAAe,UAAW,oBAAoB,4CAwB1D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotFound.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/Exception/NotFound.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,+CASpB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotFoundPage.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/Exception/NotFoundPage.tsx"],"names":[],"mappings":";AACA,wBAEE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/Exception/index.tsx"],"names":[],"mappings":";AAAA,cAAc,YAAY,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,cAAc,4CAG9C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-layout/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA2B,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAUrF,OAAO,EAAkB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQ1E,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG;IACzC,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE;QACZ,YAAY,EAAE,GAAG,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,IAAI,CAAC;KAC7B,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;CAClC,CAAC;AAQF,eAAO,MAAM,WAAW,UAAW,WAAW,4CA6I7C,CAAC;AAEF,cAAc,aAAa,CAAC"}
@@ -107,23 +107,20 @@ var CreekLayout = (props) => {
107
107
  );
108
108
  });
109
109
  const getTabTitle = (0, import_ahooks.useMemoizedFn)((pathname) => {
110
- const findTitle = (routes) => {
111
- for (const r of routes) {
112
- if (r.path === pathname)
113
- return r.name || r.title;
114
- if (r.children) {
115
- const found = findTitle(r.children);
110
+ const routes = (route == null ? void 0 : route.routes) ?? [];
111
+ const findTitle = (items) => {
112
+ for (const item of items) {
113
+ if (item.path === pathname)
114
+ return item.name ?? item.title;
115
+ if (item.children) {
116
+ const found = findTitle(item.children);
116
117
  if (found)
117
118
  return found;
118
119
  }
119
120
  }
120
- return void 0;
121
121
  };
122
- const title = findTitle((route == null ? void 0 : route.routes) || []) || pathname;
123
- if (hasI18n && typeof title === "string") {
124
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuName, { name: title, path: pathname });
125
- }
126
- return title;
122
+ const title = findTitle(routes) ?? pathname;
123
+ return hasI18n ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuName, { name: title, path: pathname }) : title;
127
124
  });
128
125
  const actions = [...extraActions];
129
126
  if (actualShowFullScreen) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/creek-layout/index.tsx"],
4
- "sourcesContent": ["import { MenuDataItem, ProLayout, ProLayoutProps } from '@ant-design/pro-components';\nimport { useMemoizedFn } from 'ahooks';\nimport { theme } from 'antd';\nimport _ from 'lodash';\nimport { useContext } from 'react';\n\nimport classnames from 'classnames';\n\nimport { IntlContext, useT } from '@creekjs/i18n/react';\n\nimport { CreekKeepAlive, CreekKeepAliveProps } from '../creek-keep-alive';\nimport { CreekLocaleButton } from '../creek-locale-button';\nimport { GlobalScrollbarStyle } from '../creek-style/scrollbar';\nimport { FullScreen, LayoutSettings } from './ActionRender';\nimport { CollapsedButton, useCollapsedStore } from './CollapseButton';\nimport { Exception } from './Exception';\nimport { useLayoutSettingsStore } from './useLayoutSettingsStore';\n\nexport type LayoutProps = ProLayoutProps & {\n runtimeConfig: ProLayoutProps;\n userConfig?: ProLayoutProps;\n navigate?: (path?: string | number) => void;\n showFullScreen?: boolean;\n showLocaleButton?: boolean;\n showSettingsButton?: boolean;\n initialInfo?: {\n initialState: any;\n loading: boolean;\n setInitialState: () => void;\n };\n keepAlive?: boolean | CreekKeepAliveProps;\n extraActions?: React.ReactNode[];\n};\n\nconst MenuName = ({ name, path }: { name?: string; path?: string }) => {\n const t = useT();\n const key = !path || path === '/' ? 'menu.home' : `menu${path.replace(/\\//g, '.')}`;\n return t(key, name);\n};\n\nexport const CreekLayout = (props: LayoutProps) => {\n const {\n route,\n userConfig,\n runtimeConfig,\n children,\n location,\n navigate,\n showFullScreen = false,\n showLocaleButton = false,\n showSettingsButton = false,\n keepAlive = false,\n extraActions = [],\n ...more\n } = props;\n\n const { useToken } = theme;\n const { token } = useToken();\n\n const { collapsed } = useCollapsedStore();\n const settingsStore = useLayoutSettingsStore();\n\n const actualShowFullScreen = settingsStore.showFullScreen ?? showFullScreen;\n const actualShowLocaleButton = settingsStore.showLocaleButton ?? showLocaleButton;\n const colorPrimary = settingsStore.colorPrimary || token.colorPrimary;\n const actualKeepAlive = settingsStore.keepAlive ?? keepAlive;\n\n const _userConfig = { ...userConfig, ...runtimeConfig };\n\n const intlContext = useContext(IntlContext);\n const hasI18n = !!intlContext && actualShowLocaleButton;\n\n const menuDataRender = useMemoizedFn((menuData: MenuDataItem[]) => {\n // 根据当前是否开启了国际化(上下文是否存在)以及用户配置来判断是否包裹菜单翻译\n const isLocaleEnabled = hasI18n;\n\n const mapMenu = (items: MenuDataItem[]): MenuDataItem[] => {\n return items.map((item) => {\n return {\n ...item,\n name: (isLocaleEnabled ? <MenuName name={item.name} path={item.path} /> : item.name) as string,\n children: item.children ? mapMenu(item.children) : undefined,\n };\n });\n };\n return mapMenu(menuData);\n });\n\n const menuItemRender: ProLayoutProps['menuItemRender'] = useMemoizedFn((itemProps, defaultDom) => {\n return (\n <span\n onClick={() => {\n if (navigate) {\n navigate(itemProps.path);\n }\n }}\n >\n {defaultDom}\n </span>\n );\n });\n\n const getTabTitle = useMemoizedFn((pathname: string) => {\n const findTitle = (routes: any[]): string | React.ReactNode | undefined => {\n for (const r of routes) {\n if (r.path === pathname) return r.name || r.title;\n if (r.children) {\n const found = findTitle(r.children);\n if (found) return found;\n }\n }\n return undefined;\n };\n const title = findTitle(route?.routes || []) || pathname;\n \n if (hasI18n && typeof title === 'string') {\n return <MenuName name={title} path={pathname} />;\n }\n \n return title;\n });\n\n const actions: React.ReactNode[] = [...extraActions];\n\n if (actualShowFullScreen) {\n actions.push(<FullScreen key=\"full-screen\" />);\n }\n\n if (actualShowLocaleButton) {\n actions.push(<CreekLocaleButton key=\"locale-button\" />);\n }\n\n if (showSettingsButton) {\n actions.push(<LayoutSettings key=\"settings\" defaultShowFullScreen={showFullScreen} defaultShowLocaleButton={showLocaleButton} defaultKeepAlive={_.isBoolean(keepAlive) ? keepAlive : true} />);\n }\n\n const keepAliveProps = _.isBoolean(keepAlive) ? {} : keepAlive;\n\n const layoutContent = (\n <ProLayout\n className={classnames('creek-layout-container', _userConfig?.className)}\n route={route}\n title={_userConfig?.title}\n siderWidth={200}\n location={location}\n menuDataRender={menuDataRender}\n menuItemRender={menuItemRender}\n actionsRender={() => actions}\n token={{\n header: {\n colorBgHeader: '#fff',\n colorHeaderTitle: 'rgba(0, 0, 0, 0.80);',\n colorTextMenuSelected: colorPrimary,\n heightLayoutHeader: 48,\n },\n sider: {\n colorMenuBackground: '#f7f8fa',\n colorBgMenuItemSelected: 'transparent',\n colorTextMenuActive: colorPrimary,\n colorTextMenuSelected: colorPrimary,\n colorTextMenuItemHover: colorPrimary,\n colorTextMenu: '#333',\n },\n pageContainer: {\n paddingBlockPageContainerContent: 0,\n paddingInlinePageContainerContent: 0,\n colorBgPageContainer: 'linear-gradient(180deg, #F7F9FF 0%, #FFF 45.59%);',\n },\n }}\n fixSiderbar\n fixedHeader\n collapsed={collapsed}\n collapsedButtonRender={(collapsed) => {\n return <CollapsedButton collapsed={collapsed} />;\n }}\n {...more}\n >\n <GlobalScrollbarStyle />\n <Exception>{actualKeepAlive ? <CreekKeepAlive getTabTitle={getTabTitle} {...keepAliveProps} /> : children}</Exception>\n </ProLayout>\n );\n\n return layoutContent;\n};\n\nexport * from './Exception';\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { MenuDataItem, ProLayout, ProLayoutProps } from '@ant-design/pro-components';\nimport { useMemoizedFn } from 'ahooks';\nimport { theme } from 'antd';\nimport _ from 'lodash';\nimport { useContext } from 'react';\n\nimport classnames from 'classnames';\n\nimport { IntlContext, useT } from '@creekjs/i18n/react';\n\nimport { CreekKeepAlive, CreekKeepAliveProps } from '../creek-keep-alive';\nimport { CreekLocaleButton } from '../creek-locale-button';\nimport { GlobalScrollbarStyle } from '../creek-style/scrollbar';\nimport { FullScreen, LayoutSettings } from './ActionRender';\nimport { CollapsedButton, useCollapsedStore } from './CollapseButton';\nimport { Exception } from './Exception';\nimport { useLayoutSettingsStore } from './useLayoutSettingsStore';\n\nexport type LayoutProps = ProLayoutProps & {\n runtimeConfig: ProLayoutProps;\n userConfig?: ProLayoutProps;\n navigate?: (path?: string | number) => void;\n showFullScreen?: boolean;\n showLocaleButton?: boolean;\n showSettingsButton?: boolean;\n initialInfo?: {\n initialState: any;\n loading: boolean;\n setInitialState: () => void;\n };\n keepAlive?: boolean | CreekKeepAliveProps;\n extraActions?: React.ReactNode[];\n};\n\nconst MenuName = ({ name, path }: { name?: string; path?: string }) => {\n const t = useT();\n const key = !path || path === '/' ? 'menu.home' : `menu${path.replace(/\\//g, '.')}`;\n return t(key, name);\n};\n\nexport const CreekLayout = (props: LayoutProps) => {\n const {\n route,\n userConfig,\n runtimeConfig,\n children,\n location,\n navigate,\n showFullScreen = false,\n showLocaleButton = false,\n showSettingsButton = false,\n keepAlive = false,\n extraActions = [],\n ...more\n } = props;\n\n const { useToken } = theme;\n const { token } = useToken();\n\n const { collapsed } = useCollapsedStore();\n const settingsStore = useLayoutSettingsStore();\n\n const actualShowFullScreen = settingsStore.showFullScreen ?? showFullScreen;\n const actualShowLocaleButton = settingsStore.showLocaleButton ?? showLocaleButton;\n const colorPrimary = settingsStore.colorPrimary || token.colorPrimary;\n const actualKeepAlive = settingsStore.keepAlive ?? keepAlive;\n\n const _userConfig = { ...userConfig, ...runtimeConfig };\n\n const intlContext = useContext(IntlContext);\n const hasI18n = !!intlContext && actualShowLocaleButton;\n\n const menuDataRender = useMemoizedFn((menuData: MenuDataItem[]) => {\n // 根据当前是否开启了国际化(上下文是否存在)以及用户配置来判断是否包裹菜单翻译\n const isLocaleEnabled = hasI18n;\n\n const mapMenu = (items: MenuDataItem[]): MenuDataItem[] => {\n return items.map((item) => {\n return {\n ...item,\n name: (isLocaleEnabled ? <MenuName name={item.name} path={item.path} /> : item.name) as string,\n children: item.children ? mapMenu(item.children) : undefined,\n };\n });\n };\n return mapMenu(menuData);\n });\n\n const menuItemRender: ProLayoutProps['menuItemRender'] = useMemoizedFn((itemProps, defaultDom) => {\n return (\n <span\n onClick={() => {\n if (navigate) {\n navigate(itemProps.path);\n }\n }}\n >\n {defaultDom}\n </span>\n );\n });\n\n const getTabTitle = useMemoizedFn((pathname: string): string | React.ReactNode => {\n const routes = (route?.routes ?? []) as MenuDataItem[];\n\n const findTitle = (items: MenuDataItem[]): string | undefined => {\n for (const item of items) {\n if (item.path === pathname) return item.name ?? item.title;\n if (item.children) {\n const found = findTitle(item.children);\n if (found) return found;\n }\n }\n };\n\n const title = findTitle(routes) ?? pathname;\n\n return hasI18n ? <MenuName name={title} path={pathname} /> : title;\n });\n\n const actions: React.ReactNode[] = [...extraActions];\n\n if (actualShowFullScreen) {\n actions.push(<FullScreen key=\"full-screen\" />);\n }\n\n if (actualShowLocaleButton) {\n actions.push(<CreekLocaleButton key=\"locale-button\" />);\n }\n\n if (showSettingsButton) {\n actions.push(<LayoutSettings key=\"settings\" defaultShowFullScreen={showFullScreen} defaultShowLocaleButton={showLocaleButton} defaultKeepAlive={_.isBoolean(keepAlive) ? keepAlive : true} />);\n }\n\n const keepAliveProps = _.isBoolean(keepAlive) ? {} : keepAlive;\n\n const layoutContent = (\n <ProLayout\n className={classnames('creek-layout-container', _userConfig?.className)}\n route={route}\n title={_userConfig?.title}\n siderWidth={200}\n location={location}\n menuDataRender={menuDataRender}\n menuItemRender={menuItemRender}\n actionsRender={() => actions}\n token={{\n header: {\n colorBgHeader: '#fff',\n colorHeaderTitle: 'rgba(0, 0, 0, 0.80);',\n colorTextMenuSelected: colorPrimary,\n heightLayoutHeader: 48,\n },\n sider: {\n colorMenuBackground: '#f7f8fa',\n colorBgMenuItemSelected: 'transparent',\n colorTextMenuActive: colorPrimary,\n colorTextMenuSelected: colorPrimary,\n colorTextMenuItemHover: colorPrimary,\n colorTextMenu: '#333',\n },\n pageContainer: {\n paddingBlockPageContainerContent: 0,\n paddingInlinePageContainerContent: 0,\n colorBgPageContainer: 'linear-gradient(180deg, #F7F9FF 0%, #FFF 45.59%);',\n },\n }}\n fixSiderbar\n fixedHeader\n collapsed={collapsed}\n collapsedButtonRender={(collapsed) => {\n return <CollapsedButton collapsed={collapsed} />;\n }}\n {...more}\n >\n <GlobalScrollbarStyle />\n <Exception>{actualKeepAlive ? <CreekKeepAlive getTabTitle={getTabTitle} {...keepAliveProps} /> : children}</Exception>\n </ProLayout>\n );\n\n return layoutContent;\n};\n\nexport * from './Exception';\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_react", "_", "classnames", "collapsed"]
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLayoutSettingsStore.d.ts","sourceRoot":"","sources":["../../src/creek-layout/useLayoutSettingsStore.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;CAC/D,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAalC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-loading/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,SAAS,CAA+B;IACvD,OAAO,CAAC,MAAM,CAAC,IAAI,CAA8C;IAEjE,OAAO,CAAC,MAAM,CAAC,eAAe;IAS9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IAMtD,MAAM,CAAC,KAAK;CAWb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-locale-button/index.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,iBAAiB,+CAkC7B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-page-container/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAEzD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAiBhE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-style/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollbar.d.ts","sourceRoot":"","sources":["../../src/creek-style/scrollbar.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,oBAAoB,8CA0B/B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchTable.d.ts","sourceRoot":"","sources":["../../src/creek-table/SearchTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,4BAA4B,CAAC;AASlE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAiFF,eAAO,MAAM,cAAc,0EAA2E,gBAAgB,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,4CAgFrI,CAAC"}
@@ -92,6 +92,11 @@ var useStyles = (0, import_antd_style.createStyles)(({ token }, options) => {
92
92
  padding: token.paddingXS
93
93
  }
94
94
  },
95
+ // 树形数据展开图标样式
96
+ [`.${prefixCls}-table-row-expand-icon`]: {
97
+ marginInlineEnd: 4,
98
+ flexShrink: 0
99
+ },
95
100
  // 如果没有 headerTitle,toolbar 展示在 headerTitle 的区域
96
101
  [`.${prefixCls}-pro-table-list-toolbar-right`]: !hasHeaderTitle ? {
97
102
  flex: 1
@@ -119,8 +124,19 @@ var SearchProTable = (props) => {
119
124
  size,
120
125
  headerTitle,
121
126
  showIndex = true,
127
+ expandable,
122
128
  ...restProps
123
129
  } = props;
130
+ const finalExpandable = (0, import_react.useMemo)(() => {
131
+ if (!showIndex)
132
+ return expandable;
133
+ if (!expandable)
134
+ return { columnPos: 1 };
135
+ if (expandable.columnPos === void 0) {
136
+ return { ...expandable, columnPos: 1 };
137
+ }
138
+ return expandable;
139
+ }, [expandable, showIndex]);
124
140
  const proTableRef = (0, import_react.useRef)(null);
125
141
  const [resizedWidths, setResizedWidths] = (0, import_ahooks.useSafeState)({});
126
142
  const { finalOptions, tableSize, finalOptionsRender } = (0, import_hooks.useTableOptions)(options, size, optionsRender);
@@ -141,6 +157,8 @@ var SearchProTable = (props) => {
141
157
  optionsRender: finalOptionsRender,
142
158
  size: tableSize,
143
159
  ...restProps,
160
+ pagination,
161
+ expandable: finalExpandable,
144
162
  className: (0, import_classnames.default)(styles["creek-table-container"], className),
145
163
  columns: resizableColumns,
146
164
  bordered,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/creek-table/SearchTable.tsx"],
4
- "sourcesContent": ["import { ParamsType, ProTable } from '@ant-design/pro-components';\nimport { useSafeState } from 'ahooks';\nimport { createStyles } from 'antd-style';\nimport classnames from 'classnames';\nimport { useRef } from 'react';\n\nimport { GlobalScrollbarStyle } from '../creek-style';\nimport { useAutoWidthColumns, useEllipsisColumns, useIndexColumn, useResizableColumns, useTableOptions, useTableScrollHeight } from './hooks';\n\nimport { CreekTableProps } from './type';\n\nexport type SearchTableStyleOptions = {\n prefixCls?: string;\n scrollY?: number;\n tableContainerHeight?: number;\n tableHeight?: number;\n bordered?: boolean;\n hasHeaderTitle?: boolean;\n hasScroll?: boolean;\n};\n\nconst useStyles = createStyles(({ token }, options: SearchTableStyleOptions) => {\n const { prefixCls = 'ant', scrollY, tableHeight, bordered, hasHeaderTitle, tableContainerHeight, hasScroll } = options;\n return {\n 'creek-table-container': {\n overflow: 'hidden',\n position: 'relative',\n height: tableHeight ? `${tableHeight}px` : 'auto',\n backgroundColor: token.colorBgContainer,\n [`.${prefixCls}-table`]: {\n minHeight: `${tableContainerHeight}px`,\n },\n [`.${prefixCls}-table-container`]: {\n borderBottom: 'none',\n overflow: 'hidden'\n },\n \n [`.${prefixCls}-table-header`]: {\n borderRight: (bordered && hasScroll) ? `1px solid ${token.colorBorderSecondary}` : 'none',\n },\n [`.${prefixCls}-table-body`]: {\n overflowY: 'auto',\n maxHeight: `${scrollY}px`,\n borderRight: (bordered && hasScroll) ? `1px solid ${token.colorBorderSecondary}` : 'none',\n },\n // 兼容非 scroll.y 模式下的 table 容器\n [`.${prefixCls}-table-content`]: {\n overflowY: 'hidden',\n maxHeight: scrollY ? `${scrollY}px` : undefined,\n },\n\n [`.${prefixCls}-table-cell-scrollbar`]: {\n boxShadow: bordered ? 'none!important' : 'inherit',\n borderInlineEnd: bordered ? `none!important` : 'none',\n display: hasScroll ? 'table-cell' : 'none',\n width: hasScroll ? 'initial' : '0px!important',\n minWidth: hasScroll ? 'initial' : '0px!important',\n maxWidth: hasScroll ? 'initial' : '0px!important',\n padding: hasScroll ? 'initial' : '0px!important',\n margin: hasScroll ? 'initial' : '0px!important',\n },\n\n [`.${prefixCls}-pagination`]: {\n [`.${prefixCls}-pagination-total-text`]: {\n flex: 1,\n },\n },\n [`.${prefixCls}-pro-table-search`]: {\n marginBlockEnd: 0,\n borderBottom: `1px solid ${token.colorBorderSecondary}`,\n },\n\n [`.${prefixCls}-pro-query-filter-container`]: {\n [`.${prefixCls}-pro-query-filter`]: {\n padding: token.paddingXS,\n },\n },\n\n // 如果没有 headerTitle,toolbar 展示在 headerTitle 的区域\n [`.${prefixCls}-pro-table-list-toolbar-right`]: !hasHeaderTitle\n ? {\n flex: 1,\n }\n : {},\n [`.${prefixCls}-pro-table-list-toolbar-setting-items`]: !hasHeaderTitle\n ? {\n marginLeft: 'auto',\n }\n : {},\n },\n };\n});\n\n// 独立的 ProTable 组件\nexport const SearchProTable = <T extends ParamsType, U extends ParamsType, ValueType = 'text'>(props: CreekTableProps<T, U, ValueType>) => {\n const {\n columns,\n prefixCls = 'ant',\n className,\n optionsRender,\n tableViewRender,\n pagination,\n pageFixedBottom = true,\n pageFixedBottomConfig,\n resizable = true,\n bordered = true,\n options,\n size,\n headerTitle,\n showIndex = true,\n ...restProps\n } = props;\n\n const proTableRef = useRef<HTMLDivElement>(null);\n\n // 状态提升:管理列宽调整状态,以便 useAutoWidthColumns 能感知到\n const [resizedWidths, setResizedWidths] = useSafeState<Record<string, number>>({});\n\n // 使用自定义 Hook 管理 options 和 size\n const { finalOptions, tableSize, finalOptionsRender } = useTableOptions<T, U, ValueType>(options, size, optionsRender);\n\n const columnsWithIndex = useIndexColumn<T, ValueType>(columns, showIndex);\n\n // 处理 columns,默认开启 ellipsis\n const processedColumns = useEllipsisColumns(columnsWithIndex);\n\n const { columns: adaptiveColumns, totalWidth } = useAutoWidthColumns<T, ValueType>(processedColumns, proTableRef, resizedWidths, bordered, tableSize);\n\n const { columns: resizableColumns, components } = useResizableColumns<T, ValueType>(adaptiveColumns, resizable, resizedWidths, setResizedWidths, proTableRef);\n\n const { scrollY, tableHeight, tableContainerHeight, hasScroll } = useTableScrollHeight(prefixCls, proTableRef, pageFixedBottom, pageFixedBottomConfig?.bottomFix);\n\n const { styles } = useStyles({ scrollY, tableHeight, prefixCls, bordered, hasHeaderTitle: !!headerTitle, tableContainerHeight, hasScroll });\n\n\n return (\n <div ref={proTableRef}>\n <GlobalScrollbarStyle />\n {/* 自定义滚动条 */}\n <ProTable<T, U, ValueType>\n components={components}\n headerTitle={headerTitle}\n options={finalOptions}\n optionsRender={finalOptionsRender}\n size={tableSize}\n {...restProps}\n className={classnames(styles['creek-table-container'], className)}\n columns={resizableColumns}\n bordered={bordered}\n scroll={{\n y: hasScroll ? scrollY || restProps.scroll?.y : undefined,\n x: totalWidth ?? restProps.scroll?.x,\n }}\n toolbar={{\n ...restProps.toolbar,\n }}\n />\n </div>\n );\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { ParamsType, ProTable } from '@ant-design/pro-components';\nimport { useSafeState } from 'ahooks';\nimport { createStyles } from 'antd-style';\nimport classnames from 'classnames';\nimport { useMemo, useRef } from 'react';\n\nimport { GlobalScrollbarStyle } from '../creek-style';\nimport { useAutoWidthColumns, useEllipsisColumns, useIndexColumn, useResizableColumns, useTableOptions, useTableScrollHeight } from './hooks';\n\nimport { CreekTableProps } from './type';\n\nexport type SearchTableStyleOptions = {\n prefixCls?: string;\n scrollY?: number;\n tableContainerHeight?: number;\n tableHeight?: number;\n bordered?: boolean;\n hasHeaderTitle?: boolean;\n hasScroll?: boolean;\n};\n\nconst useStyles = createStyles(({ token }, options: SearchTableStyleOptions) => {\n const { prefixCls = 'ant', scrollY, tableHeight, bordered, hasHeaderTitle, tableContainerHeight, hasScroll } = options;\n return {\n 'creek-table-container': {\n overflow: 'hidden',\n position: 'relative',\n height: tableHeight ? `${tableHeight}px` : 'auto',\n backgroundColor: token.colorBgContainer,\n [`.${prefixCls}-table`]: {\n minHeight: `${tableContainerHeight}px`,\n },\n [`.${prefixCls}-table-container`]: {\n borderBottom: 'none',\n overflow: 'hidden'\n },\n \n [`.${prefixCls}-table-header`]: {\n borderRight: (bordered && hasScroll) ? `1px solid ${token.colorBorderSecondary}` : 'none',\n },\n [`.${prefixCls}-table-body`]: {\n overflowY: 'auto',\n maxHeight: `${scrollY}px`,\n borderRight: (bordered && hasScroll) ? `1px solid ${token.colorBorderSecondary}` : 'none',\n },\n // 兼容非 scroll.y 模式下的 table 容器\n [`.${prefixCls}-table-content`]: {\n overflowY: 'hidden',\n maxHeight: scrollY ? `${scrollY}px` : undefined,\n },\n\n [`.${prefixCls}-table-cell-scrollbar`]: {\n boxShadow: bordered ? 'none!important' : 'inherit',\n borderInlineEnd: bordered ? `none!important` : 'none',\n display: hasScroll ? 'table-cell' : 'none',\n width: hasScroll ? 'initial' : '0px!important',\n minWidth: hasScroll ? 'initial' : '0px!important',\n maxWidth: hasScroll ? 'initial' : '0px!important',\n padding: hasScroll ? 'initial' : '0px!important',\n margin: hasScroll ? 'initial' : '0px!important',\n },\n\n [`.${prefixCls}-pagination`]: {\n [`.${prefixCls}-pagination-total-text`]: {\n flex: 1,\n },\n },\n [`.${prefixCls}-pro-table-search`]: {\n marginBlockEnd: 0,\n borderBottom: `1px solid ${token.colorBorderSecondary}`,\n },\n\n [`.${prefixCls}-pro-query-filter-container`]: {\n [`.${prefixCls}-pro-query-filter`]: {\n padding: token.paddingXS,\n },\n },\n\n // 树形数据展开图标样式\n [`.${prefixCls}-table-row-expand-icon`]: {\n marginInlineEnd: 4,\n flexShrink: 0,\n },\n\n // 如果没有 headerTitle,toolbar 展示在 headerTitle 的区域\n [`.${prefixCls}-pro-table-list-toolbar-right`]: !hasHeaderTitle\n ? {\n flex: 1,\n }\n : {},\n [`.${prefixCls}-pro-table-list-toolbar-setting-items`]: !hasHeaderTitle\n ? {\n marginLeft: 'auto',\n }\n : {},\n },\n };\n});\n\n// 独立的 ProTable 组件\nexport const SearchProTable = <T extends ParamsType, U extends ParamsType, ValueType = 'text'>(props: CreekTableProps<T, U, ValueType>) => {\n const {\n columns,\n prefixCls = 'ant',\n className,\n optionsRender,\n tableViewRender,\n pagination,\n pageFixedBottom = true,\n pageFixedBottomConfig,\n resizable = true,\n bordered = true,\n options,\n size,\n headerTitle,\n showIndex = true,\n expandable,\n ...restProps\n } = props;\n\n // 当序号列存在时,将树形展开控件从序号列(第一列 pos=0)移到第一个数据列(pos=1),\n // 避免序号列宽度不足以容纳树形缩进和展开图标导致显示异常\n // 即使 expandable 未提供,也预设 columnPos,因为 Ant Design Table 会自动检测 children 字段开启树形模式\n const finalExpandable = useMemo(() => {\n if (!showIndex) return expandable;\n if (!expandable) return { columnPos: 1 };\n if ((expandable as any).columnPos === undefined) {\n return { ...expandable, columnPos: 1 };\n }\n return expandable;\n }, [expandable, showIndex]);\n\n const proTableRef = useRef<HTMLDivElement>(null);\n\n // 状态提升:管理列宽调整状态,以便 useAutoWidthColumns 能感知到\n const [resizedWidths, setResizedWidths] = useSafeState<Record<string, number>>({});\n\n // 使用自定义 Hook 管理 options 和 size\n const { finalOptions, tableSize, finalOptionsRender } = useTableOptions<T, U, ValueType>(options, size, optionsRender);\n\n const columnsWithIndex = useIndexColumn<T, ValueType>(columns, showIndex);\n\n // 处理 columns,默认开启 ellipsis\n const processedColumns = useEllipsisColumns(columnsWithIndex);\n\n const { columns: adaptiveColumns, totalWidth } = useAutoWidthColumns<T, ValueType>(processedColumns, proTableRef, resizedWidths, bordered, tableSize);\n\n const { columns: resizableColumns, components } = useResizableColumns<T, ValueType>(adaptiveColumns, resizable, resizedWidths, setResizedWidths, proTableRef);\n\n const { scrollY, tableHeight, tableContainerHeight, hasScroll } = useTableScrollHeight(prefixCls, proTableRef, pageFixedBottom, pageFixedBottomConfig?.bottomFix);\n\n const { styles } = useStyles({ scrollY, tableHeight, prefixCls, bordered, hasHeaderTitle: !!headerTitle, tableContainerHeight, hasScroll });\n\n\n return (\n <div ref={proTableRef}>\n <GlobalScrollbarStyle />\n {/* 自定义滚动条 */}\n <ProTable<T, U, ValueType>\n components={components}\n headerTitle={headerTitle}\n options={finalOptions}\n optionsRender={finalOptionsRender}\n size={tableSize}\n {...restProps}\n pagination={pagination}\n expandable={finalExpandable}\n className={classnames(styles['creek-table-container'], className)}\n columns={resizableColumns}\n bordered={bordered}\n scroll={{\n y: hasScroll ? scrollY || restProps.scroll?.y : undefined,\n x: totalWidth ?? restProps.scroll?.x,\n }}\n toolbar={{\n ...restProps.toolbar,\n }}\n />\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["classnames"]
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DensityIcon.d.ts","sourceRoot":"","sources":["../../../src/creek-table/components/DensityIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,UAAU,gBAAgB;IACxB,SAAS,EAAE,QAAQ,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACxC;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgDlD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EllipsisTooltip.d.ts","sourceRoot":"","sources":["../../../src/creek-table/components/EllipsisTooltip.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAsCvE;;;;GAIG;AACH,eAAO,MAAM,eAAe;cAA8B,MAAM,SAAS;6CAwExE,CAAC"}
@@ -41,12 +41,15 @@ var import_jsx_runtime = require("react/jsx-runtime");
41
41
  var useStyles = (0, import_antd_style.createStyles)(({ css, token }) => {
42
42
  return {
43
43
  text: css`
44
- width: 100%;
44
+ max-width: 100%;
45
45
  margin: 0;
46
46
  padding: 0;
47
- // Ensure the wrapper behaves like a block/inline-block that can have width
48
47
  display: block;
49
48
  overflow: hidden;
49
+ // flex: 1 确保在树形表格的 flex 单元格中填充剩余空间(展开图标/层级缩进之后)
50
+ // min-width: 0 允许收缩以配合 Typography.Text 的 ellipsis 截断
51
+ flex: 1;
52
+ min-width: 0;
50
53
  `,
51
54
  tooltipContent: css`
52
55
  max-width: 500px;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/creek-table/components/EllipsisTooltip.tsx"],
4
- "sourcesContent": ["import { CopyOutlined } from '@ant-design/icons';\nimport { ConfigProvider, Flex, Tooltip, Typography, message } from 'antd';\nimport { createStyles } from 'antd-style';\nimport React, { useContext, useEffect, useRef, useState } from 'react';\n\nimport { useT } from '@creekjs/i18n/react';\n\nconst useStyles = createStyles(({ css, token }) => {\n return {\n text: css`\n width: 100%;\n margin: 0;\n padding: 0;\n // Ensure the wrapper behaves like a block/inline-block that can have width\n display: block;\n overflow: hidden;\n `,\n tooltipContent: css`\n max-width: 500px;\n max-height: 300px;\n overflow-y: auto;\n `,\n tooltipText: css`\n word-break: break-all;\n white-space: pre-wrap;\n `,\n copyIcon: css`\n cursor: pointer;\n color: inherit;\n transition: color 0.2s;\n\n &:hover {\n color: ${token.colorPrimary};\n }\n `,\n };\n});\n\n/**\n * 使用 Antd Typography 组件实现省略提示\n * 修复了 findDOMNode 警告问题:通过显式使用 Tooltip 包裹 div 容器\n * 实现了智能提示:只有内容实际溢出时才显示 Tooltip\n */\nexport const EllipsisTooltip = ({ children }: { children: React.ReactNode }) => {\n const t = useT();\n\n const { styles } = useStyles();\n const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const textRef = useRef<HTMLDivElement>(null);\n const [isEllipsis, setIsEllipsis] = useState(false);\n const isSimpleContent = typeof children === 'string' || typeof children === 'number';\n\n useEffect(() => {\n const checkEllipsis = () => {\n if (textRef.current) {\n const prefixCls = getPrefixCls('typography');\n // Typography.Text renders a span or div with .ant-typography\n const typographyEl = textRef.current.querySelector(`.${prefixCls}`);\n if (typographyEl) {\n // For simple ellipsis={true}, Antd uses CSS ellipsis.\n // We can detect if it's truncated by comparing scrollWidth and clientWidth\n // We add a small buffer (1px) for browser sub-pixel rendering differences\n setIsEllipsis(typographyEl.scrollWidth > typographyEl.clientWidth + 1);\n }\n }\n };\n\n // Initial check\n checkEllipsis();\n // Use ResizeObserver for more robust size change detection\n const observer = new ResizeObserver(checkEllipsis);\n if (textRef.current) {\n observer.observe(textRef.current);\n }\n\n return () => {\n observer.disconnect();\n };\n }, [children]);\n\n const text = String(children);\n\n const handleCopy = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n navigator.clipboard\n .writeText(text)\n .then(() => {\n message.success(t('creek-table.components.EllipsisTooltip.fuZhiChengGong', '复制成功'));\n })\n .catch(() => {\n message.error(t('creek-table.components.EllipsisTooltip.fuZhiShiBai', '复制失败'));\n });\n };\n\n // Memoize tooltip title content\n const tooltipTitle = React.useMemo(() => {\n if (!isSimpleContent) {\n return children;\n }\n return (\n <Flex align=\"center\" gap={8} className={styles.tooltipContent}>\n <span className={styles.tooltipText}>{children}</span>\n <CopyOutlined onClick={handleCopy} className={styles.copyIcon} title={t('creek-table.components.EllipsisTooltip.fuZhi', '复制')} />\n </Flex>\n );\n }, [children, isSimpleContent]);\n\n return (\n <Tooltip title={isEllipsis ? tooltipTitle : undefined} placement=\"topLeft\" mouseLeaveDelay={0.2} getPopupContainer={() => document.body}>\n <div ref={textRef} className={styles.text}>\n <Typography.Text ellipsis={true}>{children}</Typography.Text>\n </div>\n </Tooltip>\n );\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6B;AAC7B,kBAAmE;AACnE,wBAA6B;AAC7B,mBAA+D;AAE/D,IAAAA,gBAAqB;AAgGf;AA9FN,IAAM,gBAAY,gCAAa,CAAC,EAAE,KAAK,MAAM,MAAM;AACjD,SAAO;AAAA,IACL,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQN,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhB,aAAa;AAAA;AAAA;AAAA;AAAA,IAIb,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAMG,MAAM;AAAA;AAAA;AAAA,EAGrB;AACF,CAAC;AAOM,IAAM,kBAAkB,CAAC,EAAE,SAAS,MAAqC;AAC9E,QAAM,QAAI,oBAAK;AAEf,QAAM,EAAE,OAAO,IAAI,UAAU;AAC7B,QAAM,EAAE,aAAa,QAAI,yBAAW,2BAAe,aAAa;AAChE,QAAM,cAAU,qBAAuB,IAAI;AAC3C,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAClD,QAAM,kBAAkB,OAAO,aAAa,YAAY,OAAO,aAAa;AAE5E,8BAAU,MAAM;AACd,UAAM,gBAAgB,MAAM;AAC1B,UAAI,QAAQ,SAAS;AACnB,cAAM,YAAY,aAAa,YAAY;AAE3C,cAAM,eAAe,QAAQ,QAAQ,cAAc,IAAI,WAAW;AAClE,YAAI,cAAc;AAIhB,wBAAc,aAAa,cAAc,aAAa,cAAc,CAAC;AAAA,QACvE;AAAA,MACF;AAAA,IACF;AAGA,kBAAc;AAEd,UAAM,WAAW,IAAI,eAAe,aAAa;AACjD,QAAI,QAAQ,SAAS;AACnB,eAAS,QAAQ,QAAQ,OAAO;AAAA,IAClC;AAEA,WAAO,MAAM;AACX,eAAS,WAAW;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,OAAO,OAAO,QAAQ;AAE5B,QAAM,aAAa,CAAC,MAAwB;AAC1C,MAAE,gBAAgB;AAClB,MAAE,eAAe;AACjB,cAAU,UACP,UAAU,IAAI,EACd,KAAK,MAAM;AACV,0BAAQ,QAAQ,EAAE,yDAAyD,MAAM,CAAC;AAAA,IACpF,CAAC,EACA,MAAM,MAAM;AACX,0BAAQ,MAAM,EAAE,sDAAsD,MAAM,CAAC;AAAA,IAC/E,CAAC;AAAA,EACL;AAGA,QAAM,eAAe,aAAAC,QAAM,QAAQ,MAAM;AACvC,QAAI,CAAC,iBAAiB;AACpB,aAAO;AAAA,IACT;AACA,WACE,6CAAC,oBAAK,OAAM,UAAS,KAAK,GAAG,WAAW,OAAO,gBAC7C;AAAA,kDAAC,UAAK,WAAW,OAAO,aAAc,UAAS;AAAA,MAC/C,4CAAC,6BAAa,SAAS,YAAY,WAAW,OAAO,UAAU,OAAO,EAAE,gDAAgD,IAAI,GAAG;AAAA,OACjI;AAAA,EAEJ,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,SACE,4CAAC,uBAAQ,OAAO,aAAa,eAAe,QAAW,WAAU,WAAU,iBAAiB,KAAK,mBAAmB,MAAM,SAAS,MACjI,sDAAC,SAAI,KAAK,SAAS,WAAW,OAAO,MACnC,sDAAC,uBAAW,MAAX,EAAgB,UAAU,MAAO,UAAS,GAC7C,GACF;AAEJ;",
4
+ "sourcesContent": ["import { CopyOutlined } from '@ant-design/icons';\nimport { ConfigProvider, Flex, Tooltip, Typography, message } from 'antd';\nimport { createStyles } from 'antd-style';\nimport React, { useContext, useEffect, useRef, useState } from 'react';\n\nimport { useT } from '@creekjs/i18n/react';\n\nconst useStyles = createStyles(({ css, token }) => {\n return {\n text: css`\n max-width: 100%;\n margin: 0;\n padding: 0;\n display: block;\n overflow: hidden;\n // flex: 1 确保在树形表格的 flex 单元格中填充剩余空间(展开图标/层级缩进之后)\n // min-width: 0 允许收缩以配合 Typography.Text 的 ellipsis 截断\n flex: 1;\n min-width: 0;\n `,\n tooltipContent: css`\n max-width: 500px;\n max-height: 300px;\n overflow-y: auto;\n `,\n tooltipText: css`\n word-break: break-all;\n white-space: pre-wrap;\n `,\n copyIcon: css`\n cursor: pointer;\n color: inherit;\n transition: color 0.2s;\n\n &:hover {\n color: ${token.colorPrimary};\n }\n `,\n };\n});\n\n/**\n * 使用 Antd Typography 组件实现省略提示\n * 修复了 findDOMNode 警告问题:通过显式使用 Tooltip 包裹 div 容器\n * 实现了智能提示:只有内容实际溢出时才显示 Tooltip\n */\nexport const EllipsisTooltip = ({ children }: { children: React.ReactNode }) => {\n const t = useT();\n\n const { styles } = useStyles();\n const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const textRef = useRef<HTMLDivElement>(null);\n const [isEllipsis, setIsEllipsis] = useState(false);\n const isSimpleContent = typeof children === 'string' || typeof children === 'number';\n\n useEffect(() => {\n const checkEllipsis = () => {\n if (textRef.current) {\n const prefixCls = getPrefixCls('typography');\n // Typography.Text renders a span or div with .ant-typography\n const typographyEl = textRef.current.querySelector(`.${prefixCls}`);\n if (typographyEl) {\n // For simple ellipsis={true}, Antd uses CSS ellipsis.\n // We can detect if it's truncated by comparing scrollWidth and clientWidth\n // We add a small buffer (1px) for browser sub-pixel rendering differences\n setIsEllipsis(typographyEl.scrollWidth > typographyEl.clientWidth + 1);\n }\n }\n };\n\n // Initial check\n checkEllipsis();\n // Use ResizeObserver for more robust size change detection\n const observer = new ResizeObserver(checkEllipsis);\n if (textRef.current) {\n observer.observe(textRef.current);\n }\n\n return () => {\n observer.disconnect();\n };\n }, [children]);\n\n const text = String(children);\n\n const handleCopy = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n navigator.clipboard\n .writeText(text)\n .then(() => {\n message.success(t('creek-table.components.EllipsisTooltip.fuZhiChengGong', '复制成功'));\n })\n .catch(() => {\n message.error(t('creek-table.components.EllipsisTooltip.fuZhiShiBai', '复制失败'));\n });\n };\n\n // Memoize tooltip title content\n const tooltipTitle = React.useMemo(() => {\n if (!isSimpleContent) {\n return children;\n }\n return (\n <Flex align=\"center\" gap={8} className={styles.tooltipContent}>\n <span className={styles.tooltipText}>{children}</span>\n <CopyOutlined onClick={handleCopy} className={styles.copyIcon} title={t('creek-table.components.EllipsisTooltip.fuZhi', '复制')} />\n </Flex>\n );\n }, [children, isSimpleContent]);\n\n return (\n <Tooltip title={isEllipsis ? tooltipTitle : undefined} placement=\"topLeft\" mouseLeaveDelay={0.2} getPopupContainer={() => document.body}>\n <div ref={textRef} className={styles.text}>\n <Typography.Text ellipsis={true}>{children}</Typography.Text>\n </div>\n </Tooltip>\n );\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6B;AAC7B,kBAAmE;AACnE,wBAA6B;AAC7B,mBAA+D;AAE/D,IAAAA,gBAAqB;AAmGf;AAjGN,IAAM,gBAAY,gCAAa,CAAC,EAAE,KAAK,MAAM,MAAM;AACjD,SAAO;AAAA,IACL,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWN,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhB,aAAa;AAAA;AAAA;AAAA;AAAA,IAIb,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAMG,MAAM;AAAA;AAAA;AAAA,EAGrB;AACF,CAAC;AAOM,IAAM,kBAAkB,CAAC,EAAE,SAAS,MAAqC;AAC9E,QAAM,QAAI,oBAAK;AAEf,QAAM,EAAE,OAAO,IAAI,UAAU;AAC7B,QAAM,EAAE,aAAa,QAAI,yBAAW,2BAAe,aAAa;AAChE,QAAM,cAAU,qBAAuB,IAAI;AAC3C,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAClD,QAAM,kBAAkB,OAAO,aAAa,YAAY,OAAO,aAAa;AAE5E,8BAAU,MAAM;AACd,UAAM,gBAAgB,MAAM;AAC1B,UAAI,QAAQ,SAAS;AACnB,cAAM,YAAY,aAAa,YAAY;AAE3C,cAAM,eAAe,QAAQ,QAAQ,cAAc,IAAI,WAAW;AAClE,YAAI,cAAc;AAIhB,wBAAc,aAAa,cAAc,aAAa,cAAc,CAAC;AAAA,QACvE;AAAA,MACF;AAAA,IACF;AAGA,kBAAc;AAEd,UAAM,WAAW,IAAI,eAAe,aAAa;AACjD,QAAI,QAAQ,SAAS;AACnB,eAAS,QAAQ,QAAQ,OAAO;AAAA,IAClC;AAEA,WAAO,MAAM;AACX,eAAS,WAAW;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,OAAO,OAAO,QAAQ;AAE5B,QAAM,aAAa,CAAC,MAAwB;AAC1C,MAAE,gBAAgB;AAClB,MAAE,eAAe;AACjB,cAAU,UACP,UAAU,IAAI,EACd,KAAK,MAAM;AACV,0BAAQ,QAAQ,EAAE,yDAAyD,MAAM,CAAC;AAAA,IACpF,CAAC,EACA,MAAM,MAAM;AACX,0BAAQ,MAAM,EAAE,sDAAsD,MAAM,CAAC;AAAA,IAC/E,CAAC;AAAA,EACL;AAGA,QAAM,eAAe,aAAAC,QAAM,QAAQ,MAAM;AACvC,QAAI,CAAC,iBAAiB;AACpB,aAAO;AAAA,IACT;AACA,WACE,6CAAC,oBAAK,OAAM,UAAS,KAAK,GAAG,WAAW,OAAO,gBAC7C;AAAA,kDAAC,UAAK,WAAW,OAAO,aAAc,UAAS;AAAA,MAC/C,4CAAC,6BAAa,SAAS,YAAY,WAAW,OAAO,UAAU,OAAO,EAAE,gDAAgD,IAAI,GAAG;AAAA,OACjI;AAAA,EAEJ,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,SACE,4CAAC,uBAAQ,OAAO,aAAa,eAAe,QAAW,WAAU,WAAU,iBAAiB,KAAK,mBAAmB,MAAM,SAAS,MACjI,sDAAC,SAAI,KAAK,SAAS,WAAW,OAAO,MACnC,sDAAC,uBAAW,MAAX,EAAgB,UAAU,MAAO,UAAS,GAC7C,GACF;AAEJ;",
6
6
  "names": ["import_react", "React"]
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/creek-table/components/index.tsx"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAdaptiveToolBar.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/useAdaptiveToolBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA+B,MAAM,OAAO,CAAC;AAGtE,eAAO,MAAM,kBAAkB,YAAa;IAC1C,YAAY,EAAE,iBAAiB,WAAW,GAAG,IAAI,CAAC,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;;CAoCA,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutoWidthColumns.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/useAutoWidthColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAwC,MAAM,OAAO,CAAC;AA4FxE,eAAO,MAAM,mBAAmB,0BACrB,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,YACrC,UAAU,cAAc,CAAC,kBACnB,OAAO,MAAM,EAAE,MAAM,CAAC,aAC3B,OAAO,SACX,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ;aAClC,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS;gBAAc,MAAM,GAAG,SAAS;CAwLnF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElementDistance.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/useElementDistance.tsx"],"names":[],"mappings":";AAGA,KAAK,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAO/C,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAC;CACX;AAeD,eAAO,MAAM,kBAAkB,wDAAuD,QAAQ,GAAG,IAoChG,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEllipsisColumns.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/useEllipsisColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIzE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,sDACpB,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,2CAwChD,CAAC"}
@@ -31,6 +31,9 @@ var useEllipsisColumns = (columns) => {
31
31
  if (col.valueType === "option") {
32
32
  return col;
33
33
  }
34
+ if (col.disable) {
35
+ return col;
36
+ }
34
37
  return {
35
38
  ...col,
36
39
  // 关闭 Table 自带的 ellipsis title,因为我们要用自己的 Tooltip
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/creek-table/hooks/useEllipsisColumns.tsx"],
4
- "sourcesContent": ["import type { ParamsType, ProColumns } from '@ant-design/pro-components';\nimport React, { useMemo } from 'react';\nimport { EllipsisTooltip } from '../components';\n\n/**\n * 默认开启 ellipsis 的 Hook\n * 1. 如果用户未配置 ellipsis,默认开启,并使用 Tooltip 显示完整内容\n * 2. 如果是 option 列,默认不开启\n * 3. 尊重用户配置\n */\nexport const useEllipsisColumns = <T extends ParamsType, ValueType = 'text'>(\n columns: ProColumns<T, ValueType>[] | undefined,\n) => {\n const processedColumns = useMemo(() => {\n return columns?.map((col) => {\n // 对于操作列,默认不开启 ellipsis\n if (col.valueType === 'option') {\n return col;\n }\n // 其他列默认开启 ellipsis,并使用自定义渲染\n return {\n ...col,\n // 关闭 Table 自带的 ellipsis title,因为我们要用自己的 Tooltip\n // 但保留 ellipsis 属性以确保 Table 传递正确的样式给 cell(虽然我们的 EllipsisTooltip 也有样式)\n // 实际上,为了让 EllipsisTooltip 占据 100% 宽度并生效,最好让 Table cell 也保持一定的约束\n ellipsis: {\n showTitle: false,\n },\n render: (dom: React.ReactNode, entity: T, index: number, action: any, schema: any) => {\n const originalRenderResult = col.render ? (col.render(dom, entity, index, action, schema) as React.ReactNode) : dom;\n \n // 如果内容为空,直接返回\n if (originalRenderResult === null || originalRenderResult === undefined || originalRenderResult === '') {\n return originalRenderResult;\n }\n\n // 如果是简单的文本或数字,使用 EllipsisTooltip 包裹\n return (\n <EllipsisTooltip>{originalRenderResult}</EllipsisTooltip>\n );\n },\n } as ProColumns<T, ValueType>;\n });\n }, [columns]);\n\n return processedColumns;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA+B;AAC/B,wBAAgC;AAoCpB;AA5BL,IAAM,qBAAqB,CAChC,YACG;AACH,QAAM,uBAAmB,sBAAQ,MAAM;AACrC,WAAO,mCAAS,IAAI,CAAC,QAAQ;AAE3B,UAAI,IAAI,cAAc,UAAU;AAC9B,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,QACL,GAAG;AAAA;AAAA;AAAA;AAAA,QAIH,UAAU;AAAA,UACR,WAAW;AAAA,QACb;AAAA,QACA,QAAQ,CAAC,KAAsB,QAAW,OAAe,QAAa,WAAgB;AACpF,gBAAM,uBAAuB,IAAI,SAAU,IAAI,OAAO,KAAK,QAAQ,OAAO,QAAQ,MAAM,IAAwB;AAGhH,cAAI,yBAAyB,QAAQ,yBAAyB,UAAa,yBAAyB,IAAI;AACtG,mBAAO;AAAA,UACT;AAGA,iBACE,4CAAC,qCAAiB,gCAAqB;AAAA,QAE3C;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,SAAO;AACT;",
4
+ "sourcesContent": ["import type { ParamsType, ProColumns } from '@ant-design/pro-components';\nimport React, { useMemo } from 'react';\nimport { EllipsisTooltip } from '../components';\n\n/**\n * 默认开启 ellipsis 的 Hook\n * 1. 如果用户未配置 ellipsis,默认开启,并使用 Tooltip 显示完整内容\n * 2. 如果是 option 列,默认不开启\n * 3. 尊重用户配置\n */\nexport const useEllipsisColumns = <T extends ParamsType, ValueType = 'text'>(\n columns: ProColumns<T, ValueType>[] | undefined,\n) => {\n const processedColumns = useMemo(() => {\n return columns?.map((col) => {\n // 对于操作列,默认不开启 ellipsis\n if (col.valueType === 'option') {\n return col;\n }\n // 对于 disable 的列(如序号列),不包裹 EllipsisTooltip\n // 避免 EllipsisTooltip 的 width:100% div 与展开图标争抢空间导致重叠\n if (col.disable) {\n return col;\n }\n // 其他列默认开启 ellipsis,并使用自定义渲染\n return {\n ...col,\n // 关闭 Table 自带的 ellipsis title,因为我们要用自己的 Tooltip\n // 但保留 ellipsis 属性以确保 Table 传递正确的样式给 cell(虽然我们的 EllipsisTooltip 也有样式)\n // 实际上,为了让 EllipsisTooltip 占据 100% 宽度并生效,最好让 Table cell 也保持一定的约束\n ellipsis: {\n showTitle: false,\n },\n render: (dom: React.ReactNode, entity: T, index: number, action: any, schema: any) => {\n const originalRenderResult = col.render ? (col.render(dom, entity, index, action, schema) as React.ReactNode) : dom;\n \n // 如果内容为空,直接返回\n if (originalRenderResult === null || originalRenderResult === undefined || originalRenderResult === '') {\n return originalRenderResult;\n }\n\n // 如果是简单的文本或数字,使用 EllipsisTooltip 包裹\n return (\n <EllipsisTooltip>{originalRenderResult}</EllipsisTooltip>\n );\n },\n } as ProColumns<T, ValueType>;\n });\n }, [columns]);\n\n return processedColumns;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA+B;AAC/B,wBAAgC;AAyCpB;AAjCL,IAAM,qBAAqB,CAChC,YACG;AACH,QAAM,uBAAmB,sBAAQ,MAAM;AACrC,WAAO,mCAAS,IAAI,CAAC,QAAQ;AAE3B,UAAI,IAAI,cAAc,UAAU;AAC9B,eAAO;AAAA,MACT;AAGA,UAAI,IAAI,SAAS;AACf,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,QACL,GAAG;AAAA;AAAA;AAAA;AAAA,QAIH,UAAU;AAAA,UACR,WAAW;AAAA,QACb;AAAA,QACA,QAAQ,CAAC,KAAsB,QAAW,OAAe,QAAa,WAAgB;AACpF,gBAAM,uBAAuB,IAAI,SAAU,IAAI,OAAO,KAAK,QAAQ,OAAO,QAAQ,MAAM,IAAwB;AAGhH,cAAI,yBAAyB,QAAQ,yBAAyB,UAAa,yBAAyB,IAAI;AACtG,mBAAO;AAAA,UACT;AAGA,iBACE,4CAAC,qCAAiB,gCAAqB;AAAA,QAE3C;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIndexColumn.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/useIndexColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAKxD,eAAO,MAAM,cAAc,0CAA0C,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,cAAkB,OAAO,+BAqBvH,CAAC"}
@@ -33,7 +33,7 @@ var useIndexColumn = (columns = [], showIndex = true) => {
33
33
  const indexColumn = {
34
34
  title: t("creek-table.hooks.useIndexColumn.xuHao", "序号"),
35
35
  dataIndex: "index",
36
- width: 48,
36
+ width: 56,
37
37
  fixed: "left",
38
38
  disable: true,
39
39
  hideInSearch: true,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/creek-table/hooks/useIndexColumn.tsx"],
4
- "sourcesContent": ["import { ProColumns } from '@ant-design/pro-components';\nimport { useMemo } from 'react';\n\nimport { useT } from '@creekjs/i18n/react';\n\nexport const useIndexColumn = <T = any, ValueType = 'text'>(columns: ProColumns<T, ValueType>[] = [], showIndex: boolean = true) => {\n const t = useT();\n\n return useMemo(() => {\n if (!showIndex) {\n return columns;\n }\n const indexColumn: ProColumns<T, ValueType> = {\n title: t('creek-table.hooks.useIndexColumn.xuHao', '序号'),\n dataIndex: 'index',\n width: 48,\n fixed: 'left',\n disable: true,\n hideInSearch: true,\n render: (dom, entity, index, action, schema) => {\n const { current = 1, pageSize = 20 } = action?.pageInfo || {};\n return (current - 1) * pageSize + index + 1;\n },\n };\n return [indexColumn, ...columns];\n }, [columns, showIndex, t]);\n};\n"],
4
+ "sourcesContent": ["import { ProColumns } from '@ant-design/pro-components';\nimport { useMemo } from 'react';\n\nimport { useT } from '@creekjs/i18n/react';\n\nexport const useIndexColumn = <T = any, ValueType = 'text'>(columns: ProColumns<T, ValueType>[] = [], showIndex: boolean = true) => {\n const t = useT();\n\n return useMemo(() => {\n if (!showIndex) {\n return columns;\n }\n const indexColumn: ProColumns<T, ValueType> = {\n title: t('creek-table.hooks.useIndexColumn.xuHao', '序号'),\n dataIndex: 'index',\n width: 56,\n fixed: 'left',\n disable: true,\n hideInSearch: true,\n render: (dom, entity, index, action, schema) => {\n const { current = 1, pageSize = 20 } = action?.pageInfo || {};\n return (current - 1) * pageSize + index + 1;\n },\n };\n return [indexColumn, ...columns];\n }, [columns, showIndex, t]);\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAwB;AAExB,IAAAA,gBAAqB;AAEd,IAAM,iBAAiB,CAA8B,UAAsC,CAAC,GAAG,YAAqB,SAAS;AAClI,QAAM,QAAI,oBAAK;AAEf,aAAO,sBAAQ,MAAM;AACnB,QAAI,CAAC,WAAW;AACd,aAAO;AAAA,IACT;AACA,UAAM,cAAwC;AAAA,MAC5C,OAAO,EAAE,0CAA0C,IAAI;AAAA,MACvD,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,QAAQ,CAAC,KAAK,QAAQ,OAAO,QAAQ,WAAW;AAC9C,cAAM,EAAE,UAAU,GAAG,WAAW,GAAG,KAAI,iCAAQ,aAAY,CAAC;AAC5D,gBAAQ,UAAU,KAAK,WAAW,QAAQ;AAAA,MAC5C;AAAA,IACF;AACA,WAAO,CAAC,aAAa,GAAG,OAAO;AAAA,EACjC,GAAG,CAAC,SAAS,WAAW,CAAC,CAAC;AAC5B;",
6
6
  "names": ["import_react"]
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResizableColumns.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/useResizableColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,OAAO,KAAgE,MAAM,OAAO,CAAC;AACrF,OAAO,EAAa,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,UAAU,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC;IAC9E,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACvE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5E,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAgLD,eAAO,MAAM,mBAAmB,0BACrB,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,cACpC,OAAO,sBACE,OAAO,MAAM,EAAE,MAAM,CAAC,yBACnB,MAAM,QAAQ,CAAC,MAAM,cAAc,CAAC,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,aACxE,MAAM,SAAS,CAAC,cAAc,CAAC;aAEjC,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS;gBACnC;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,aAAa,CAAC,mBAAmB,CAAC,CAAA;SAAE,CAAA;KAAE,GAAG,SAAS;mBACvE,OAAO,MAAM,EAAE,MAAM,CAAC;CA4HtC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStatusColumns.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/useStatusColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA+HxD,eAAO,MAAM,gBAAgB,2BACjB,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,2CA2HrC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableOptions.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/useTableOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAKvE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,4EACjB,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,SAC3C,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,kBAC7B,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC;kBAEjD,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;eAC5C,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC;kBACnC,MAAM,QAAQ,CAAC,MAAM,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC7E,OAAO;wBACA,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC;CA2DpE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableScrollHeight.d.ts","sourceRoot":"","sources":["../../../src/creek-table/hooks/useTableScrollHeight.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,cAAe,MAAM,YAAY,MAAM,SAAS,CAAC,cAAc,CAAC,oBAAmB,OAAO,iBAAuB,MAAM;;;;;CAkHvJ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-table/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,eAAO,MAAM,UAAU,0EAA2E,gBAAgB,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,4CAMjI,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/creek-table/type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,UAAU,EAAE,SAAS,GAAG,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG;IAC7H,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE;QACtB,+BAA+B;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en_US.d.ts","sourceRoot":"","sources":["../../src/locales/en_US.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAuBE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh_CN.d.ts","sourceRoot":"","sources":["../../src/locales/zh_CN.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAuBE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@creekjs/web-components",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [],
@@ -100,24 +100,22 @@ export const CreekLayout = (props: LayoutProps) => {
100
100
  );
101
101
  });
102
102
 
103
- const getTabTitle = useMemoizedFn((pathname: string) => {
104
- const findTitle = (routes: any[]): string | React.ReactNode | undefined => {
105
- for (const r of routes) {
106
- if (r.path === pathname) return r.name || r.title;
107
- if (r.children) {
108
- const found = findTitle(r.children);
103
+ const getTabTitle = useMemoizedFn((pathname: string): string | React.ReactNode => {
104
+ const routes = (route?.routes ?? []) as MenuDataItem[];
105
+
106
+ const findTitle = (items: MenuDataItem[]): string | undefined => {
107
+ for (const item of items) {
108
+ if (item.path === pathname) return item.name ?? item.title;
109
+ if (item.children) {
110
+ const found = findTitle(item.children);
109
111
  if (found) return found;
110
112
  }
111
113
  }
112
- return undefined;
113
114
  };
114
- const title = findTitle(route?.routes || []) || pathname;
115
-
116
- if (hasI18n && typeof title === 'string') {
117
- return <MenuName name={title} path={pathname} />;
118
- }
119
-
120
- return title;
115
+
116
+ const title = findTitle(routes) ?? pathname;
117
+
118
+ return hasI18n ? <MenuName name={title} path={pathname} /> : title;
121
119
  });
122
120
 
123
121
  const actions: React.ReactNode[] = [...extraActions];
@@ -2,7 +2,7 @@ import { ParamsType, ProTable } from '@ant-design/pro-components';
2
2
  import { useSafeState } from 'ahooks';
3
3
  import { createStyles } from 'antd-style';
4
4
  import classnames from 'classnames';
5
- import { useRef } from 'react';
5
+ import { useMemo, useRef } from 'react';
6
6
 
7
7
  import { GlobalScrollbarStyle } from '../creek-style';
8
8
  import { useAutoWidthColumns, useEllipsisColumns, useIndexColumn, useResizableColumns, useTableOptions, useTableScrollHeight } from './hooks';
@@ -76,6 +76,12 @@ const useStyles = createStyles(({ token }, options: SearchTableStyleOptions) =>
76
76
  },
77
77
  },
78
78
 
79
+ // 树形数据展开图标样式
80
+ [`.${prefixCls}-table-row-expand-icon`]: {
81
+ marginInlineEnd: 4,
82
+ flexShrink: 0,
83
+ },
84
+
79
85
  // 如果没有 headerTitle,toolbar 展示在 headerTitle 的区域
80
86
  [`.${prefixCls}-pro-table-list-toolbar-right`]: !hasHeaderTitle
81
87
  ? {
@@ -108,9 +114,22 @@ export const SearchProTable = <T extends ParamsType, U extends ParamsType, Value
108
114
  size,
109
115
  headerTitle,
110
116
  showIndex = true,
117
+ expandable,
111
118
  ...restProps
112
119
  } = props;
113
120
 
121
+ // 当序号列存在时,将树形展开控件从序号列(第一列 pos=0)移到第一个数据列(pos=1),
122
+ // 避免序号列宽度不足以容纳树形缩进和展开图标导致显示异常
123
+ // 即使 expandable 未提供,也预设 columnPos,因为 Ant Design Table 会自动检测 children 字段开启树形模式
124
+ const finalExpandable = useMemo(() => {
125
+ if (!showIndex) return expandable;
126
+ if (!expandable) return { columnPos: 1 };
127
+ if ((expandable as any).columnPos === undefined) {
128
+ return { ...expandable, columnPos: 1 };
129
+ }
130
+ return expandable;
131
+ }, [expandable, showIndex]);
132
+
114
133
  const proTableRef = useRef<HTMLDivElement>(null);
115
134
 
116
135
  // 状态提升:管理列宽调整状态,以便 useAutoWidthColumns 能感知到
@@ -144,6 +163,8 @@ export const SearchProTable = <T extends ParamsType, U extends ParamsType, Value
144
163
  optionsRender={finalOptionsRender}
145
164
  size={tableSize}
146
165
  {...restProps}
166
+ pagination={pagination}
167
+ expandable={finalExpandable}
147
168
  className={classnames(styles['creek-table-container'], className)}
148
169
  columns={resizableColumns}
149
170
  bordered={bordered}
@@ -8,12 +8,15 @@ import { useT } from '@creekjs/i18n/react';
8
8
  const useStyles = createStyles(({ css, token }) => {
9
9
  return {
10
10
  text: css`
11
- width: 100%;
11
+ max-width: 100%;
12
12
  margin: 0;
13
13
  padding: 0;
14
- // Ensure the wrapper behaves like a block/inline-block that can have width
15
14
  display: block;
16
15
  overflow: hidden;
16
+ // flex: 1 确保在树形表格的 flex 单元格中填充剩余空间(展开图标/层级缩进之后)
17
+ // min-width: 0 允许收缩以配合 Typography.Text 的 ellipsis 截断
18
+ flex: 1;
19
+ min-width: 0;
17
20
  `,
18
21
  tooltipContent: css`
19
22
  max-width: 500px;
@@ -17,6 +17,11 @@ export const useEllipsisColumns = <T extends ParamsType, ValueType = 'text'>(
17
17
  if (col.valueType === 'option') {
18
18
  return col;
19
19
  }
20
+ // 对于 disable 的列(如序号列),不包裹 EllipsisTooltip
21
+ // 避免 EllipsisTooltip 的 width:100% div 与展开图标争抢空间导致重叠
22
+ if (col.disable) {
23
+ return col;
24
+ }
20
25
  // 其他列默认开启 ellipsis,并使用自定义渲染
21
26
  return {
22
27
  ...col,
@@ -13,7 +13,7 @@ export const useIndexColumn = <T = any, ValueType = 'text'>(columns: ProColumns<
13
13
  const indexColumn: ProColumns<T, ValueType> = {
14
14
  title: t('creek-table.hooks.useIndexColumn.xuHao', '序号'),
15
15
  dataIndex: 'index',
16
- width: 48,
16
+ width: 56,
17
17
  fixed: 'left',
18
18
  disable: true,
19
19
  hideInSearch: true,