@fangxinyan/lumina 0.8.0 → 0.9.0

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 (223) hide show
  1. package/dist/Alert.cjs +5 -5
  2. package/dist/Alert.js +4 -4
  3. package/dist/AppShell.cjs +8 -8
  4. package/dist/AppShell.js +4 -4
  5. package/dist/AutoComplete.cjs +7 -7
  6. package/dist/AutoComplete.js +6 -6
  7. package/dist/Avatar.cjs +4 -4
  8. package/dist/Avatar.js +3 -3
  9. package/dist/Badge.cjs +4 -4
  10. package/dist/Badge.js +3 -3
  11. package/dist/Button.cjs +6 -6
  12. package/dist/Button.js +4 -4
  13. package/dist/Calendar.cjs +5 -5
  14. package/dist/Calendar.js +4 -4
  15. package/dist/Card.cjs +7 -7
  16. package/dist/Card.js +6 -6
  17. package/dist/Cascader.cjs +7 -7
  18. package/dist/Cascader.js +6 -6
  19. package/dist/{Checkbox-IHFML4FV.css → Checkbox-YQ43GFUI.css} +7 -0
  20. package/dist/Checkbox.cjs +5 -5
  21. package/dist/Checkbox.d.cts +2 -0
  22. package/dist/Checkbox.d.ts +2 -0
  23. package/dist/Checkbox.js +4 -4
  24. package/dist/Collapse.cjs +5 -5
  25. package/dist/Collapse.js +4 -4
  26. package/dist/ColorPicker.cjs +7 -7
  27. package/dist/ColorPicker.js +6 -6
  28. package/dist/CommandPalette.cjs +7 -7
  29. package/dist/CommandPalette.js +6 -6
  30. package/dist/ContextMenu.cjs +4 -4
  31. package/dist/ContextMenu.js +3 -3
  32. package/dist/DatePicker.cjs +9 -9
  33. package/dist/DatePicker.js +8 -8
  34. package/dist/DateTimePicker.cjs +9 -9
  35. package/dist/DateTimePicker.js +8 -8
  36. package/dist/Divider.cjs +4 -4
  37. package/dist/Divider.js +3 -3
  38. package/dist/Drawer.cjs +5 -5
  39. package/dist/Drawer.js +4 -4
  40. package/dist/Empty.cjs +4 -4
  41. package/dist/Empty.js +3 -3
  42. package/dist/Form.cjs +6 -6
  43. package/dist/Form.js +3 -3
  44. package/dist/Icon.cjs +51 -51
  45. package/dist/Icon.js +3 -3
  46. package/dist/Image.cjs +9 -9
  47. package/dist/Image.js +5 -5
  48. package/dist/Input.cjs +7 -7
  49. package/dist/Input.js +5 -5
  50. package/dist/InputNumber.cjs +7 -7
  51. package/dist/InputNumber.js +6 -6
  52. package/dist/List.cjs +4 -4
  53. package/dist/List.js +3 -3
  54. package/dist/Message.cjs +8 -8
  55. package/dist/Message.js +4 -4
  56. package/dist/Modal.cjs +6 -6
  57. package/dist/Modal.js +5 -5
  58. package/dist/Pagination.cjs +9 -9
  59. package/dist/Pagination.js +8 -8
  60. package/dist/Popover.cjs +4 -4
  61. package/dist/Popover.js +3 -3
  62. package/dist/Progress.cjs +4 -4
  63. package/dist/Progress.js +3 -3
  64. package/dist/Radio.cjs +5 -5
  65. package/dist/Radio.js +3 -3
  66. package/dist/{Select-TU37MAHZ.css → Select-QPBB73KA.css} +34 -5
  67. package/dist/Select.cjs +8 -8
  68. package/dist/Select.d.cts +12 -1
  69. package/dist/Select.d.ts +12 -1
  70. package/dist/Select.js +7 -7
  71. package/dist/Skeleton.cjs +4 -4
  72. package/dist/Skeleton.js +3 -3
  73. package/dist/Slider.cjs +4 -4
  74. package/dist/Slider.js +3 -3
  75. package/dist/Spin.cjs +4 -4
  76. package/dist/Spin.js +3 -3
  77. package/dist/Splitter.cjs +4 -4
  78. package/dist/Splitter.js +3 -3
  79. package/dist/StatusBar.cjs +5 -5
  80. package/dist/StatusBar.js +3 -3
  81. package/dist/Surface.cjs +5 -5
  82. package/dist/Surface.js +3 -3
  83. package/dist/{Switch-TATU3LPB.css → Switch-3JV3LCPX.css} +3 -0
  84. package/dist/Switch.cjs +4 -4
  85. package/dist/Switch.d.cts +2 -0
  86. package/dist/Switch.d.ts +2 -0
  87. package/dist/Switch.js +3 -3
  88. package/dist/Table.cjs +12 -12
  89. package/dist/Table.js +11 -11
  90. package/dist/TablePro.cjs +13 -13
  91. package/dist/TablePro.js +12 -12
  92. package/dist/Tabs.cjs +4 -4
  93. package/dist/Tabs.js +3 -3
  94. package/dist/Tag.cjs +5 -5
  95. package/dist/Tag.js +4 -4
  96. package/dist/Textarea.cjs +6 -6
  97. package/dist/Textarea.js +4 -4
  98. package/dist/Theme.cjs +19 -19
  99. package/dist/Theme.js +1 -1
  100. package/dist/ThemePanel.cjs +14 -14
  101. package/dist/ThemePanel.js +11 -11
  102. package/dist/TimePicker.cjs +8 -8
  103. package/dist/TimePicker.js +7 -7
  104. package/dist/Timeline.cjs +5 -5
  105. package/dist/Timeline.js +4 -4
  106. package/dist/Tooltip.cjs +4 -4
  107. package/dist/Tooltip.js +3 -3
  108. package/dist/Typography.cjs +9 -9
  109. package/dist/Typography.js +4 -4
  110. package/dist/{chunk-LQMOYVQF.js → chunk-2BM65ITV.js} +2 -2
  111. package/dist/{chunk-UQI4R32R.js → chunk-2COQYOVG.js} +4 -4
  112. package/dist/{chunk-63RSKQID.js → chunk-2NECDEAJ.js} +3 -3
  113. package/dist/{chunk-I4YPBAQ5.js → chunk-2NXLVPF4.js} +3 -3
  114. package/dist/{chunk-7QAVPVMW.js → chunk-2V6RQQRI.js} +4 -4
  115. package/dist/{chunk-ZEYK37VW.cjs → chunk-2XDLXAZT.cjs} +6 -6
  116. package/dist/{chunk-TYZ6L7E6.cjs → chunk-33YRXHVK.cjs} +6 -6
  117. package/dist/{chunk-3EMWDDWK.cjs → chunk-3D5RJA7R.cjs} +16 -16
  118. package/dist/{chunk-VX6MZO4K.cjs → chunk-3J7HOTD6.cjs} +6 -6
  119. package/dist/{chunk-ARUN2DMD.js → chunk-427CDZDU.js} +2 -2
  120. package/dist/{chunk-IJDM2U3B.js → chunk-4JANYBXO.js} +2 -2
  121. package/dist/{chunk-ZHVR4YPB.cjs → chunk-4LYJRFD2.cjs} +3 -3
  122. package/dist/{chunk-LG62MPMU.cjs → chunk-4MZW2KBN.cjs} +11 -11
  123. package/dist/{chunk-F7WUCOBP.cjs → chunk-4ZSFMWLF.cjs} +24 -24
  124. package/dist/{chunk-FMUHLIHB.cjs → chunk-53I3PWRH.cjs} +3 -3
  125. package/dist/{chunk-JHM7MN3G.js → chunk-563SQXH7.js} +3 -3
  126. package/dist/{chunk-DRDDQCDD.js → chunk-5HLNFDV4.js} +1 -1
  127. package/dist/{chunk-2HIN5NFM.js → chunk-5VLANZAJ.js} +3 -3
  128. package/dist/{chunk-ALAG4ZUH.js → chunk-6OVWY63D.js} +2 -2
  129. package/dist/{chunk-434Y2JVW.cjs → chunk-6WEXRX7K.cjs} +7 -7
  130. package/dist/{chunk-MCDW3VKZ.cjs → chunk-76CTKBXD.cjs} +3 -3
  131. package/dist/{chunk-VA3JWOAB.cjs → chunk-7IWUBBYX.cjs} +15 -15
  132. package/dist/{chunk-PNKNZREC.cjs → chunk-7KA5D37Z.cjs} +27 -27
  133. package/dist/{chunk-Y2MT6PI6.js → chunk-7NKNQRK6.js} +4 -4
  134. package/dist/{chunk-EAUB6FEN.js → chunk-7PUYEPLK.js} +4 -4
  135. package/dist/{chunk-7VLAHOA7.cjs → chunk-7ZMUCSCJ.cjs} +8 -8
  136. package/dist/{chunk-RPO7657K.js → chunk-A34P5CU7.js} +3 -3
  137. package/dist/{chunk-FKCPSVC4.cjs → chunk-ADPXWCTK.cjs} +9 -9
  138. package/dist/{chunk-QDCPVI3S.cjs → chunk-AE5XWZ24.cjs} +14 -14
  139. package/dist/{chunk-RR7KWH26.cjs → chunk-AEY76EAH.cjs} +3 -3
  140. package/dist/{chunk-DURKCGEM.js → chunk-AL2PYVVP.js} +74 -38
  141. package/dist/{chunk-PIJV2FHO.cjs → chunk-AQN3PD24.cjs} +30 -30
  142. package/dist/{chunk-RMGFRAZ2.cjs → chunk-AR3MT2ZT.cjs} +10 -10
  143. package/dist/{chunk-3F424R5P.js → chunk-AXZNZ2IH.js} +3 -3
  144. package/dist/{chunk-HVPUGYBY.js → chunk-BDPJ2BPN.js} +4 -4
  145. package/dist/{chunk-HQFKXTX6.js → chunk-BOBT7JUB.js} +2 -2
  146. package/dist/{chunk-O6G3F5L4.js → chunk-CFKAKB2B.js} +5 -5
  147. package/dist/{chunk-U5YYOOLC.cjs → chunk-CLJLBFNU.cjs} +4 -4
  148. package/dist/{chunk-HYHBCHFM.cjs → chunk-CNV7R2OZ.cjs} +7 -7
  149. package/dist/{chunk-ULTDRMGN.js → chunk-CPVUDSIY.js} +6 -6
  150. package/dist/{chunk-QDY56GGO.js → chunk-D2N7OXMK.js} +2 -2
  151. package/dist/{chunk-LJVQQEME.js → chunk-DQMG4XPX.js} +6 -6
  152. package/dist/{chunk-STQDKMS5.cjs → chunk-GFGMGJ5A.cjs} +13 -13
  153. package/dist/{chunk-BKW5PXEO.js → chunk-GMFOY7RD.js} +5 -5
  154. package/dist/{chunk-GTFP7HA3.cjs → chunk-GW77XQEF.cjs} +15 -15
  155. package/dist/{chunk-DU2DSERH.js → chunk-HAIWLYLR.js} +3 -3
  156. package/dist/{chunk-VVRXNGYL.cjs → chunk-HJGPUE67.cjs} +9 -9
  157. package/dist/{chunk-WHBKQZU5.cjs → chunk-HMN65CDW.cjs} +6 -6
  158. package/dist/{chunk-MUZQWIMR.cjs → chunk-I2YL5XE4.cjs} +18 -18
  159. package/dist/{chunk-EE5KXDRK.cjs → chunk-I4GJZLJU.cjs} +6 -6
  160. package/dist/{chunk-QDMFXRPI.js → chunk-INCTDROH.js} +2 -2
  161. package/dist/{chunk-2BIOTRQC.js → chunk-ISK2RW7F.js} +2 -2
  162. package/dist/{chunk-OLYSSZHP.js → chunk-IU6PLLEL.js} +10 -10
  163. package/dist/{chunk-J5UEQ3ZQ.js → chunk-J7D5CQDK.js} +2 -2
  164. package/dist/{chunk-WMISXERU.js → chunk-JMYUO7V7.js} +7 -7
  165. package/dist/{chunk-SF7BPXDJ.cjs → chunk-K3KHQ77L.cjs} +86 -50
  166. package/dist/{chunk-AURYNA6G.js → chunk-KFCWDFBW.js} +2 -2
  167. package/dist/{chunk-KCDOC3HS.cjs → chunk-KPBZKHCS.cjs} +8 -6
  168. package/dist/{chunk-PQOBBASY.js → chunk-L2NEYHYG.js} +2 -2
  169. package/dist/{chunk-VQEMMJHC.js → chunk-LACXN5CI.js} +2 -2
  170. package/dist/{chunk-T4RR6NVU.cjs → chunk-M3JYP3V4.cjs} +7 -7
  171. package/dist/{chunk-FY73C7JK.js → chunk-MEBAE7DB.js} +4 -4
  172. package/dist/{chunk-5AXNUX3J.js → chunk-MFJHI472.js} +2 -2
  173. package/dist/{chunk-4SKHRPDH.js → chunk-MKVONDTB.js} +6 -6
  174. package/dist/{chunk-JBS353O4.cjs → chunk-MV56FOAD.cjs} +3 -3
  175. package/dist/{chunk-LEDESWNL.js → chunk-O6PRE6MZ.js} +5 -3
  176. package/dist/{chunk-EUTK2ZRJ.cjs → chunk-OBNGHJ3N.cjs} +3 -3
  177. package/dist/{chunk-62VV5COT.js → chunk-OGMI3TO5.js} +3 -3
  178. package/dist/{chunk-YAYSXZZZ.cjs → chunk-PYCAGTO7.cjs} +3 -3
  179. package/dist/{chunk-6DKPJ5LV.cjs → chunk-QI6BJJXM.cjs} +6 -6
  180. package/dist/{chunk-Y22PTPA7.js → chunk-QK3E6FAQ.js} +5 -5
  181. package/dist/{chunk-KATJAJUU.js → chunk-QSLXUNLM.js} +6 -4
  182. package/dist/{chunk-E66PSVBU.cjs → chunk-QTMI4ZA4.cjs} +5 -5
  183. package/dist/{chunk-LDX6Q6RK.cjs → chunk-RA5BULQ3.cjs} +3 -3
  184. package/dist/{chunk-BIPOXOHP.cjs → chunk-RWM44VCZ.cjs} +9 -9
  185. package/dist/{chunk-JKUXA3U6.cjs → chunk-RXITGNPX.cjs} +5 -5
  186. package/dist/{chunk-YPMQC5HX.js → chunk-RYF5ADJW.js} +3 -3
  187. package/dist/{chunk-SXLRWYQQ.js → chunk-SXT672KF.js} +5 -5
  188. package/dist/{chunk-U3SG2YT2.js → chunk-TALNKJQ2.js} +3 -3
  189. package/dist/{chunk-3IZZBM56.js → chunk-TNQJA5JF.js} +3 -3
  190. package/dist/{chunk-Q565GDVK.cjs → chunk-TPFY5SKB.cjs} +9 -9
  191. package/dist/{chunk-RERMZNF3.cjs → chunk-TTRU4TLQ.cjs} +3 -3
  192. package/dist/{chunk-UE4HFGJ6.js → chunk-TUXF2G2O.js} +4 -4
  193. package/dist/{chunk-3DKFS44V.js → chunk-TY5LOU3A.js} +3 -3
  194. package/dist/{chunk-6RQJXSWN.js → chunk-U7V2FOIM.js} +3 -3
  195. package/dist/{chunk-HQNDVNTQ.js → chunk-UCE53RYR.js} +5 -5
  196. package/dist/{chunk-WROF2PVG.cjs → chunk-UQF7E32V.cjs} +6 -4
  197. package/dist/{chunk-NRJXZPZR.cjs → chunk-V6BLBIY6.cjs} +17 -17
  198. package/dist/{chunk-2AUXUZ3Z.cjs → chunk-VDVKY2IX.cjs} +4 -4
  199. package/dist/{chunk-YKHIIC7M.js → chunk-VLQ6XIAL.js} +2 -2
  200. package/dist/{chunk-GFKWSDD6.cjs → chunk-VNP5WB6M.cjs} +6 -6
  201. package/dist/{chunk-PJFYIXBX.cjs → chunk-VTN6YLRJ.cjs} +11 -11
  202. package/dist/{chunk-YBGMTQ2V.js → chunk-XFJTJVWD.js} +3 -3
  203. package/dist/{chunk-77HU7JWK.cjs → chunk-XHKSUKKL.cjs} +6 -6
  204. package/dist/{chunk-K5HGHOG7.js → chunk-Y3WFWA52.js} +2 -2
  205. package/dist/{chunk-QNQSNVCU.cjs → chunk-YU4LBDBD.cjs} +6 -6
  206. package/dist/{chunk-QYPA77OI.cjs → chunk-Z6AG7O4B.cjs} +3 -3
  207. package/dist/{chunk-AUO2YYHB.js → chunk-Z7GKR4LL.js} +4 -4
  208. package/dist/{chunk-ZYIE3BH7.cjs → chunk-ZBRFGD3I.cjs} +3 -3
  209. package/dist/{chunk-5CZA33BK.cjs → chunk-ZCAYS4KR.cjs} +8 -8
  210. package/dist/{chunk-Q5HLC56A.cjs → chunk-ZGZLEJKA.cjs} +4 -4
  211. package/dist/{chunk-YUJ7Z6N2.cjs → chunk-ZT7ZWAF2.cjs} +13 -13
  212. package/dist/index.cjs +189 -189
  213. package/dist/index.d.cts +2 -2
  214. package/dist/index.d.ts +2 -2
  215. package/dist/index.js +52 -52
  216. package/dist/styles.css +58 -19
  217. package/dist/{tokens-CEJVVA3G.css → tokens-223RYVVS.css} +14 -14
  218. package/dist/tokens.css +14 -14
  219. package/docs/llms/checkbox.md +22 -5
  220. package/docs/llms/select.md +31 -0
  221. package/docs/llms/switch.md +22 -5
  222. package/docs/llms.md +1 -1
  223. package/package.json +1 -1
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkPJFYIXBX_cjs = require('./chunk-PJFYIXBX.cjs');
4
- var chunkKCDOC3HS_cjs = require('./chunk-KCDOC3HS.cjs');
3
+ var chunkVTN6YLRJ_cjs = require('./chunk-VTN6YLRJ.cjs');
4
+ var chunkKPBZKHCS_cjs = require('./chunk-KPBZKHCS.cjs');
5
5
  var chunkFJB3243S_cjs = require('./chunk-FJB3243S.cjs');
6
6
  var chunkHSDMJUB6_cjs = require('./chunk-HSDMJUB6.cjs');
7
- var chunkT4RR6NVU_cjs = require('./chunk-T4RR6NVU.cjs');
8
- var chunk2AUXUZ3Z_cjs = require('./chunk-2AUXUZ3Z.cjs');
9
- var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
10
- var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
11
- require('./tokens-CEJVVA3G.css');
7
+ var chunkM3JYP3V4_cjs = require('./chunk-M3JYP3V4.cjs');
8
+ var chunkVDVKY2IX_cjs = require('./chunk-VDVKY2IX.cjs');
9
+ var chunkV6BLBIY6_cjs = require('./chunk-V6BLBIY6.cjs');
10
+ var chunkI4GJZLJU_cjs = require('./chunk-I4GJZLJU.cjs');
11
+ require('./tokens-223RYVVS.css');
12
12
  require('./shared-NJHRNLRH.css');
13
13
  require('./Table-KB6EEBDJ.css');
14
14
  var React = require('react');
@@ -333,8 +333,8 @@ var TableInner = ({
333
333
  caption != null && /* @__PURE__ */ jsxRuntime.jsx("caption", { children: caption }),
334
334
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
335
335
  showExpandCol && /* @__PURE__ */ jsxRuntime.jsx("th", { scope: "col", className: "row-expand", style: { width: 40 } }),
336
- showSelCol && /* @__PURE__ */ jsxRuntime.jsx("th", { scope: "col", className: "row-check", style: { width: 44 }, children: selectionType === "checkbox" && /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
337
- chunkKCDOC3HS_cjs.Checkbox,
336
+ showSelCol && /* @__PURE__ */ jsxRuntime.jsx("th", { scope: "col", className: "row-check", style: { width: 44 }, children: selectionType === "checkbox" && /* @__PURE__ */ jsxRuntime.jsx(chunkV6BLBIY6_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
337
+ chunkKPBZKHCS_cjs.Checkbox,
338
338
  {
339
339
  checked: allSelectedOnPage,
340
340
  indeterminate: someSelectedOnPage,
@@ -354,8 +354,8 @@ var TableInner = ({
354
354
  scope: "col",
355
355
  "aria-sort": c.sortable ? sorted ? sortDir === "asc" ? "ascending" : "descending" : "none" : void 0,
356
356
  children: [
357
- c.sortable ? /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Button", children: /* @__PURE__ */ jsxRuntime.jsxs(
358
- chunkT4RR6NVU_cjs.Button,
357
+ c.sortable ? /* @__PURE__ */ jsxRuntime.jsx(chunkV6BLBIY6_cjs.InternalComponentThemePart, { components: "Button", children: /* @__PURE__ */ jsxRuntime.jsxs(
358
+ chunkM3JYP3V4_cjs.Button,
359
359
  {
360
360
  type: "button",
361
361
  size: "sm",
@@ -365,7 +365,7 @@ var TableInner = ({
365
365
  children: [
366
366
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "th-label", children: c.title }),
367
367
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sort-ind", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(
368
- chunk2AUXUZ3Z_cjs.Icon,
368
+ chunkVDVKY2IX_cjs.Icon,
369
369
  {
370
370
  name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
371
371
  size: 10
@@ -441,7 +441,7 @@ var TableInner = ({
441
441
  e.stopPropagation();
442
442
  toggleExpand(row, k);
443
443
  },
444
- children: /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "chevRight", size: 12 })
444
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkVDVKY2IX_cjs.Icon, { name: "chevRight", size: 12 })
445
445
  }
446
446
  )
447
447
  ]
@@ -468,8 +468,8 @@ var TableInner = ({
468
468
  toggleRow(row, k);
469
469
  }
470
470
  }
471
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
472
- chunkKCDOC3HS_cjs.Checkbox,
471
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkV6BLBIY6_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
472
+ chunkKPBZKHCS_cjs.Checkbox,
473
473
  {
474
474
  checked: isSel,
475
475
  disabled: selProps?.disabled,
@@ -502,8 +502,8 @@ var TableInner = ({
502
502
  )
503
503
  }
504
504
  ),
505
- pagEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Pagination", children: /* @__PURE__ */ jsxRuntime.jsx(
506
- chunkPJFYIXBX_cjs.Pagination,
505
+ pagEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsxRuntime.jsx(chunkV6BLBIY6_cjs.InternalComponentThemePart, { components: "Pagination", children: /* @__PURE__ */ jsxRuntime.jsx(
506
+ chunkVTN6YLRJ_cjs.Pagination,
507
507
  {
508
508
  total: totalCount,
509
509
  pageSize: curPageSize,
@@ -519,7 +519,7 @@ var TableInner = ({
519
519
  };
520
520
  var TableBase = React__namespace.forwardRef(TableInner);
521
521
  TableBase.displayName = "Table";
522
- var Table = chunkNRJXZPZR_cjs.withComponentTheme(
522
+ var Table = chunkV6BLBIY6_cjs.withComponentTheme(
523
523
  TableBase,
524
524
  "Table",
525
525
  ["table", "button", "checkbox", "pagination", "select", "input"]
@@ -532,8 +532,8 @@ function ColumnFilterButton({
532
532
  }) {
533
533
  const [open, setOpen] = React__namespace.useState(false);
534
534
  const [draft, setDraft] = React__namespace.useState(activeValues);
535
- const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
536
- const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme(["Table", "TablePro"]);
535
+ const portalContainer = chunkI4GJZLJU_cjs.usePortalContainer();
536
+ const portalTheme = chunkV6BLBIY6_cjs.useComponentPortalTheme(["Table", "TablePro"]);
537
537
  const panelId = React__namespace.useId();
538
538
  const { triggerRef, floatingRef: panelRef, floatingStyle, zIndex: panelZIndex } = chunkFJB3243S_cjs.useFloating({
539
539
  open,
@@ -572,8 +572,8 @@ function ColumnFilterButton({
572
572
  }, [open]);
573
573
  const toggle = (v) => setDraft((d) => d.includes(v) ? d.filter((x) => x !== v) : [...d, v]);
574
574
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
575
- /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "IconButton", children: /* @__PURE__ */ jsxRuntime.jsx(
576
- chunkT4RR6NVU_cjs.IconButton,
575
+ /* @__PURE__ */ jsxRuntime.jsx(chunkV6BLBIY6_cjs.InternalComponentThemePart, { components: "IconButton", children: /* @__PURE__ */ jsxRuntime.jsx(
576
+ chunkM3JYP3V4_cjs.IconButton,
577
577
  {
578
578
  ref: triggerRef,
579
579
  icon: "filter",
@@ -604,8 +604,8 @@ function ColumnFilterButton({
604
604
  tabIndex: -1,
605
605
  onClick: (e) => e.stopPropagation(),
606
606
  children: [
607
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-filter-options", children: (column.filters ?? []).map((f) => /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
608
- chunkKCDOC3HS_cjs.Checkbox,
607
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-filter-options", children: (column.filters ?? []).map((f) => /* @__PURE__ */ jsxRuntime.jsx(chunkV6BLBIY6_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
608
+ chunkKPBZKHCS_cjs.Checkbox,
609
609
  {
610
610
  className: "table-filter-item",
611
611
  label: f.text,
@@ -613,9 +613,9 @@ function ColumnFilterButton({
613
613
  onChange: () => toggle(f.value)
614
614
  }
615
615
  ) }, String(f.value))) }),
616
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-filter-actions", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Button", children: [
616
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-filter-actions", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkV6BLBIY6_cjs.InternalComponentThemePart, { components: "Button", children: [
617
617
  /* @__PURE__ */ jsxRuntime.jsx(
618
- chunkT4RR6NVU_cjs.Button,
618
+ chunkM3JYP3V4_cjs.Button,
619
619
  {
620
620
  size: "sm",
621
621
  variant: "ghost",
@@ -629,7 +629,7 @@ function ColumnFilterButton({
629
629
  }
630
630
  ),
631
631
  /* @__PURE__ */ jsxRuntime.jsx(
632
- chunkT4RR6NVU_cjs.Button,
632
+ chunkM3JYP3V4_cjs.Button,
633
633
  {
634
634
  size: "sm",
635
635
  variant: "primary",
@@ -1,7 +1,7 @@
1
- import { Spin } from './chunk-PQOBBASY.js';
2
- import { Button } from './chunk-JHM7MN3G.js';
3
- import { InternalComponentThemePart, withComponentTheme } from './chunk-DRDDQCDD.js';
4
- import './tokens-CEJVVA3G.css';
1
+ import { Spin } from './chunk-L2NEYHYG.js';
2
+ import { Button } from './chunk-563SQXH7.js';
3
+ import { InternalComponentThemePart, withComponentTheme } from './chunk-5HLNFDV4.js';
4
+ import './tokens-223RYVVS.css';
5
5
  import './shared-NJHRNLRH.css';
6
6
  import './Card-VPMTWAWZ.css';
7
7
  import * as React from 'react';
@@ -1,8 +1,8 @@
1
- import { Input } from './chunk-UE4HFGJ6.js';
1
+ import { Input } from './chunk-TUXF2G2O.js';
2
2
  import { useOverlayZIndex, useOverlayLayer, OverlayZIndexProvider } from './chunk-2A4GYSN4.js';
3
- import { useComponentPortalTheme, InternalComponentThemePart, withComponentTheme } from './chunk-DRDDQCDD.js';
4
- import { usePortalContainer } from './chunk-ULTDRMGN.js';
5
- import './tokens-CEJVVA3G.css';
3
+ import { useComponentPortalTheme, InternalComponentThemePart, withComponentTheme } from './chunk-5HLNFDV4.js';
4
+ import { usePortalContainer } from './chunk-CPVUDSIY.js';
5
+ import './tokens-223RYVVS.css';
6
6
  import './shared-NJHRNLRH.css';
7
7
  import './CommandPalette-GHTX7AAA.css';
8
8
  import * as React from 'react';
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkHSDMJUB6_cjs = require('./chunk-HSDMJUB6.cjs');
4
- var chunk2AUXUZ3Z_cjs = require('./chunk-2AUXUZ3Z.cjs');
5
- var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
6
- var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
7
- require('./tokens-CEJVVA3G.css');
4
+ var chunkVDVKY2IX_cjs = require('./chunk-VDVKY2IX.cjs');
5
+ var chunkV6BLBIY6_cjs = require('./chunk-V6BLBIY6.cjs');
6
+ var chunkI4GJZLJU_cjs = require('./chunk-I4GJZLJU.cjs');
7
+ require('./tokens-223RYVVS.css');
8
8
  require('./shared-NJHRNLRH.css');
9
9
  require('./Drawer-VCXAXWV6.css');
10
10
  var React = require('react');
@@ -66,8 +66,8 @@ var DrawerBase = React__namespace.forwardRef((props, ref) => {
66
66
  onClick,
67
67
  ...rest
68
68
  } = props;
69
- const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
70
- const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme("Drawer");
69
+ const portalContainer = chunkI4GJZLJU_cjs.usePortalContainer();
70
+ const portalTheme = chunkV6BLBIY6_cjs.useComponentPortalTheme("Drawer");
71
71
  const panelRef = React__namespace.useRef(null);
72
72
  const titleId = React__namespace.useId();
73
73
  const panelZIndex = chunkHSDMJUB6_cjs.useOverlayZIndex(open, zIndex);
@@ -158,7 +158,7 @@ var DrawerBase = React__namespace.forwardRef((props, ref) => {
158
158
  className: "drawer-close",
159
159
  onClick: onClose,
160
160
  "aria-label": "Close",
161
- children: closeIcon ?? /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "x", size: 16 })
161
+ children: closeIcon ?? /* @__PURE__ */ jsxRuntime.jsx(chunkVDVKY2IX_cjs.Icon, { name: "x", size: 16 })
162
162
  }
163
163
  )
164
164
  ] })
@@ -181,7 +181,7 @@ var DrawerBase = React__namespace.forwardRef((props, ref) => {
181
181
  );
182
182
  });
183
183
  DrawerBase.displayName = "Drawer";
184
- var Drawer = chunkNRJXZPZR_cjs.withComponentTheme(
184
+ var Drawer = chunkV6BLBIY6_cjs.withComponentTheme(
185
185
  DrawerBase,
186
186
  "Drawer",
187
187
  "drawer",
@@ -1,8 +1,8 @@
1
1
  import { useFloating } from './chunk-3QXP2ZNP.js';
2
2
  import { useOverlayLayer } from './chunk-2A4GYSN4.js';
3
- import { useComponentPortalTheme, withComponentTheme } from './chunk-DRDDQCDD.js';
4
- import { usePortalContainer } from './chunk-ULTDRMGN.js';
5
- import './tokens-CEJVVA3G.css';
3
+ import { useComponentPortalTheme, withComponentTheme } from './chunk-5HLNFDV4.js';
4
+ import { usePortalContainer } from './chunk-CPVUDSIY.js';
5
+ import './tokens-223RYVVS.css';
6
6
  import './shared-NJHRNLRH.css';
7
7
  import './Popover-LCXLR3EU.css';
8
8
  import * as React from 'react';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunk2AUXUZ3Z_cjs = require('./chunk-2AUXUZ3Z.cjs');
4
- var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
5
- require('./tokens-CEJVVA3G.css');
3
+ var chunkVDVKY2IX_cjs = require('./chunk-VDVKY2IX.cjs');
4
+ var chunkV6BLBIY6_cjs = require('./chunk-V6BLBIY6.cjs');
5
+ require('./tokens-223RYVVS.css');
6
6
  require('./shared-NJHRNLRH.css');
7
7
  require('./AppShell-OWJRJ4ZD.css');
8
8
  var React = require('react');
@@ -66,12 +66,12 @@ var WindowControlsBase = React__namespace.forwardRef(({
66
66
  ] });
67
67
  });
68
68
  WindowControlsBase.displayName = "WindowControls";
69
- var WindowControls = chunkNRJXZPZR_cjs.withComponentTheme(
69
+ var WindowControls = chunkV6BLBIY6_cjs.withComponentTheme(
70
70
  WindowControlsBase,
71
71
  "WindowControls",
72
72
  "app-shell"
73
73
  );
74
- var InternalWindowControls = chunkNRJXZPZR_cjs.withInternalComponentThemePart(
74
+ var InternalWindowControls = chunkV6BLBIY6_cjs.withInternalComponentThemePart(
75
75
  WindowControls,
76
76
  "WindowControls"
77
77
  );
@@ -103,7 +103,7 @@ var TitleBarBase = React__namespace.forwardRef(({
103
103
  ] });
104
104
  });
105
105
  TitleBarBase.displayName = "TitleBar";
106
- var TitleBar = chunkNRJXZPZR_cjs.withComponentTheme(TitleBarBase, "TitleBar", "app-shell");
106
+ var TitleBar = chunkV6BLBIY6_cjs.withComponentTheme(TitleBarBase, "TitleBar", "app-shell");
107
107
  var collectExpandableSidebarKeys = (items) => items.flatMap((item) => [
108
108
  ...item.children?.length ? [item.key] : [],
109
109
  ...item.children ? collectExpandableSidebarKeys(item.children) : []
@@ -157,7 +157,7 @@ var SidebarBase = React__namespace.forwardRef(({
157
157
  item.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sidebar-icon", "aria-hidden": collapsed && !!textLabel, children: item.icon }),
158
158
  !collapsed && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sidebar-label", children: item.label }),
159
159
  !collapsed && item.badge != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sidebar-badge", children: item.badge }),
160
- !collapsed && hasChildren && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `sidebar-expand ${expanded ? "open" : ""}`, "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "chevDown", size: 13 }) })
160
+ !collapsed && hasChildren && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `sidebar-expand ${expanded ? "open" : ""}`, "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkVDVKY2IX_cjs.Icon, { name: "chevDown", size: 13 }) })
161
161
  ]
162
162
  }
163
163
  ),
@@ -171,7 +171,7 @@ var SidebarBase = React__namespace.forwardRef(({
171
171
  ] });
172
172
  });
173
173
  SidebarBase.displayName = "Sidebar";
174
- var Sidebar = chunkNRJXZPZR_cjs.withComponentTheme(SidebarBase, "Sidebar", "app-shell");
174
+ var Sidebar = chunkV6BLBIY6_cjs.withComponentTheme(SidebarBase, "Sidebar", "app-shell");
175
175
  var AppShellBase = React__namespace.forwardRef(({ sidebar, titleBar, children, className = "", ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: `app-shell ${className}`, ...rest, children: [
176
176
  titleBar,
177
177
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "app-shell-body", children: [
@@ -180,7 +180,7 @@ var AppShellBase = React__namespace.forwardRef(({ sidebar, titleBar, children, c
180
180
  ] })
181
181
  ] }));
182
182
  AppShellBase.displayName = "AppShell";
183
- var AppShell = chunkNRJXZPZR_cjs.withComponentTheme(AppShellBase, "AppShell", "app-shell");
183
+ var AppShell = chunkV6BLBIY6_cjs.withComponentTheme(AppShellBase, "AppShell", "app-shell");
184
184
 
185
185
  exports.AppShell = AppShell;
186
186
  exports.Sidebar = Sidebar;
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkFJB3243S_cjs = require('./chunk-FJB3243S.cjs');
4
- var chunkSTQDKMS5_cjs = require('./chunk-STQDKMS5.cjs');
4
+ var chunkGFGMGJ5A_cjs = require('./chunk-GFGMGJ5A.cjs');
5
5
  var chunkHSDMJUB6_cjs = require('./chunk-HSDMJUB6.cjs');
6
- var chunk2AUXUZ3Z_cjs = require('./chunk-2AUXUZ3Z.cjs');
7
- var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
8
- var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
9
- require('./tokens-CEJVVA3G.css');
6
+ var chunkVDVKY2IX_cjs = require('./chunk-VDVKY2IX.cjs');
7
+ var chunkV6BLBIY6_cjs = require('./chunk-V6BLBIY6.cjs');
8
+ var chunkI4GJZLJU_cjs = require('./chunk-I4GJZLJU.cjs');
9
+ require('./tokens-223RYVVS.css');
10
10
  require('./shared-NJHRNLRH.css');
11
11
  require('./Cascader-YBVDK6DC.css');
12
12
  var React = require('react');
@@ -87,8 +87,8 @@ var CascaderBase = React__namespace.forwardRef(({
87
87
  const [path, setPath] = React__namespace.useState(cur);
88
88
  const [query, setQuery] = React__namespace.useState("");
89
89
  const searchRef = React__namespace.useRef(null);
90
- const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
91
- const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme("Cascader");
90
+ const portalContainer = chunkI4GJZLJU_cjs.usePortalContainer();
91
+ const portalTheme = chunkV6BLBIY6_cjs.useComponentPortalTheme("Cascader");
92
92
  const panelId = React__namespace.useId();
93
93
  const searchConfig = typeof showSearch === "object" ? showSearch : {};
94
94
  const searchable = !!showSearch;
@@ -247,10 +247,10 @@ var CascaderBase = React__namespace.forwardRef(({
247
247
  "aria-label": "Clear",
248
248
  "aria-hidden": "true",
249
249
  onClick: clear,
250
- children: /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "x", size: 12 })
250
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkVDVKY2IX_cjs.Icon, { name: "x", size: 12 })
251
251
  }
252
252
  ),
253
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { position: "absolute", right: 12, color: "var(--lmn-cascader-fg-subtle, var(--fg-subtle))" }, children: /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "chevDown", size: 14 }) })
253
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { position: "absolute", right: 12, color: "var(--lmn-cascader-fg-subtle, var(--fg-subtle))" }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkVDVKY2IX_cjs.Icon, { name: "chevDown", size: 14 }) })
254
254
  ]
255
255
  }
256
256
  ),
@@ -266,8 +266,8 @@ var CascaderBase = React__namespace.forwardRef(({
266
266
  ...portalTheme.dataAttributes,
267
267
  style: panelStyle,
268
268
  children: [
269
- searchable && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cascader-search", children: /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Input", children: /* @__PURE__ */ jsxRuntime.jsx(
270
- chunkSTQDKMS5_cjs.Input,
269
+ searchable && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cascader-search", children: /* @__PURE__ */ jsxRuntime.jsx(chunkV6BLBIY6_cjs.InternalComponentThemePart, { components: "Input", children: /* @__PURE__ */ jsxRuntime.jsx(
270
+ chunkGFGMGJ5A_cjs.Input,
271
271
  {
272
272
  ref: searchRef,
273
273
  size: "sm",
@@ -307,10 +307,10 @@ var CascaderBase = React__namespace.forwardRef(({
307
307
  onClick: () => pick(depth, o.value, hasChildren),
308
308
  children: [
309
309
  optionRender ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cascader-item-custom", children: optionRender(o, { depth, selected: isActive, hasChildren }) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
310
- chunk2AUXUZ3Z_cjs.renderIconSlot(o.icon, { size: 13, className: "cascader-icon" }),
310
+ chunkVDVKY2IX_cjs.renderIconSlot(o.icon, { size: 13, className: "cascader-icon" }),
311
311
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cascader-item-label", children: o.label })
312
312
  ] }),
313
- hasChildren && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "chev", children: /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "chevRight", size: 12 }) })
313
+ hasChildren && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "chev", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVDVKY2IX_cjs.Icon, { name: "chevRight", size: 12 }) })
314
314
  ]
315
315
  },
316
316
  o.value
@@ -324,7 +324,7 @@ var CascaderBase = React__namespace.forwardRef(({
324
324
  ] });
325
325
  });
326
326
  CascaderBase.displayName = "Cascader";
327
- var Cascader = chunkNRJXZPZR_cjs.withComponentTheme(
327
+ var Cascader = chunkV6BLBIY6_cjs.withComponentTheme(
328
328
  CascaderBase,
329
329
  "Cascader",
330
330
  ["cascader", "input"]
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
4
- require('./tokens-CEJVVA3G.css');
3
+ var chunkV6BLBIY6_cjs = require('./chunk-V6BLBIY6.cjs');
4
+ require('./tokens-223RYVVS.css');
5
5
  require('./shared-NJHRNLRH.css');
6
6
  require('./Tabs-FB2AMBWL.css');
7
7
  var React = require('react');
@@ -117,6 +117,6 @@ var TabsBase = React__namespace.forwardRef(({
117
117
  );
118
118
  });
119
119
  TabsBase.displayName = "Tabs";
120
- var Tabs = chunkNRJXZPZR_cjs.withComponentTheme(TabsBase, "Tabs", "tabs");
120
+ var Tabs = chunkV6BLBIY6_cjs.withComponentTheme(TabsBase, "Tabs", "tabs");
121
121
 
122
122
  exports.Tabs = Tabs;
@@ -1,19 +1,28 @@
1
- import { Tag } from './chunk-62VV5COT.js';
1
+ import { Tag } from './chunk-OGMI3TO5.js';
2
2
  import { useFloating } from './chunk-3QXP2ZNP.js';
3
- import { Input } from './chunk-UE4HFGJ6.js';
3
+ import { Input } from './chunk-TUXF2G2O.js';
4
4
  import { useOverlayLayer } from './chunk-2A4GYSN4.js';
5
- import { Icon, renderIconSlot } from './chunk-LQMOYVQF.js';
6
- import { withComponentTheme, useComponentPortalTheme, InternalComponentThemePart } from './chunk-DRDDQCDD.js';
7
- import { usePortalContainer } from './chunk-ULTDRMGN.js';
8
- import './tokens-CEJVVA3G.css';
5
+ import { Icon, renderIconSlot } from './chunk-2BM65ITV.js';
6
+ import { withComponentTheme, useComponentPortalTheme, InternalComponentThemePart } from './chunk-5HLNFDV4.js';
7
+ import { usePortalContainer } from './chunk-CPVUDSIY.js';
8
+ import './tokens-223RYVVS.css';
9
9
  import './shared-NJHRNLRH.css';
10
- import './Select-TU37MAHZ.css';
10
+ import './Select-QPBB73KA.css';
11
11
  import * as React from 'react';
12
12
  import { createPortal } from 'react-dom';
13
13
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
14
14
 
15
15
  var isGroup = (it) => Array.isArray(it.options);
16
16
  var flatten = (items) => items.flatMap((it) => isGroup(it) ? it.options : [it]);
17
+ var prioritizePinnedGroups = (items) => {
18
+ const pinnedGroups = [];
19
+ const remainingItems = [];
20
+ items.forEach((item) => {
21
+ if (isGroup(item) && item.pinned) pinnedGroups.push(item);
22
+ else remainingItems.push(item);
23
+ });
24
+ return pinnedGroups.length > 0 ? [...pinnedGroups, ...remainingItems] : items;
25
+ };
17
26
  var defaultFilter = (input, opt, optionFilterProp) => {
18
27
  const q = input.toLowerCase();
19
28
  const propValue = optionFilterProp ? opt[optionFilterProp] : void 0;
@@ -43,6 +52,7 @@ var SelectInner = (props, forwardedRef) => {
43
52
  loading,
44
53
  emptyContent,
45
54
  optionRender,
55
+ optionExtraRender,
46
56
  selectedRender,
47
57
  listHeight = 260,
48
58
  popupStyle,
@@ -169,7 +179,11 @@ var SelectInner = (props, forwardedRef) => {
169
179
  }
170
180
  if (!open) setActiveIdx(-1);
171
181
  }, [open, mergedSearchable]);
172
- const allFlat = React.useMemo(() => flatten(options), [options]);
182
+ const orderedItems = React.useMemo(
183
+ () => prioritizePinnedGroups(options),
184
+ [options]
185
+ );
186
+ const allFlat = React.useMemo(() => flatten(orderedItems), [orderedItems]);
173
187
  const filteredFlat = React.useMemo(() => {
174
188
  if (!query.trim()) return allFlat;
175
189
  if (filterOption === false) return allFlat;
@@ -177,15 +191,17 @@ var SelectInner = (props, forwardedRef) => {
177
191
  return allFlat.filter((o) => f(query, o));
178
192
  }, [allFlat, query, filterOption, optionFilterProp]);
179
193
  const filteredItems = React.useMemo(() => {
180
- if (!query.trim()) return options;
181
- return options.map((it) => {
194
+ if (!query.trim()) {
195
+ return orderedItems.filter((item) => !isGroup(item) || item.options.length > 0);
196
+ }
197
+ return orderedItems.map((it) => {
182
198
  if (!isGroup(it)) {
183
199
  return filteredFlat.includes(it) ? it : null;
184
200
  }
185
201
  const kept = it.options.filter((o) => filteredFlat.includes(o));
186
- return kept.length ? { label: it.label, options: kept } : null;
202
+ return kept.length ? { ...it, options: kept } : null;
187
203
  }).filter((x) => x !== null);
188
- }, [options, filteredFlat, query]);
204
+ }, [orderedItems, filteredFlat, query]);
189
205
  React.useEffect(() => {
190
206
  setActiveIdx((current) => {
191
207
  if (current >= 0 && current < filteredFlat.length && !isOptionDisabled(filteredFlat[current])) {
@@ -315,41 +331,66 @@ var SelectInner = (props, forwardedRef) => {
315
331
  const hasSelection = isMulti ? multiValue.length > 0 : singleValue != null;
316
332
  const showClear = mergedClearable && hasSelection && !disabled;
317
333
  let renderIdx = -1;
318
- const renderOption = (o) => {
334
+ const renderOption = (o, groupPinned = false) => {
319
335
  renderIdx += 1;
320
336
  const idx = renderIdx;
321
337
  const sel = isSelected(o.value);
322
338
  const active = idx === activeIdx;
323
339
  const optionDisabled = isOptionDisabled(o);
340
+ const renderInfo = {
341
+ index: idx,
342
+ selected: sel,
343
+ active,
344
+ disabled: optionDisabled,
345
+ groupPinned
346
+ };
347
+ const extraContent = optionExtraRender ? optionExtraRender(o, renderInfo) : o.extra;
348
+ const hasExtra = extraContent !== null && extraContent !== void 0 && extraContent !== false;
324
349
  return /* @__PURE__ */ jsxs(
325
- "button",
350
+ "div",
326
351
  {
327
- id: `${listboxId}-option-${idx}`,
328
- type: "button",
329
- role: "option",
330
- "aria-selected": sel,
331
- "aria-label": getOptionAriaLabel(o),
332
- disabled: optionDisabled,
333
- className: `menu-item ${sel ? "active" : ""} ${active ? "highlight" : ""}`,
352
+ role: "presentation",
353
+ className: `menu-item-row ${sel ? "active" : ""} ${active ? "highlight" : ""} ${optionDisabled ? "disabled" : ""}`,
334
354
  onMouseEnter: () => {
335
355
  if (!optionDisabled) setActiveIdx(idx);
336
356
  },
337
- onClick: () => isMulti ? toggleMulti(o) : pickSingle(o),
338
357
  children: [
339
- isMulti && /* @__PURE__ */ jsx("span", { className: `menu-check ${sel ? "on" : ""}`, "aria-hidden": true, children: sel && /* @__PURE__ */ jsx(Icon, { name: "check", size: 11, stroke: 3 }) }),
340
- optionRender ? /* @__PURE__ */ jsx("span", { className: "menu-item-custom", children: optionRender(o, { index: idx, selected: sel, active }) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
341
- renderIconSlot(o.icon, { size: 14, className: "menu-item-icon" }),
342
- /* @__PURE__ */ jsxs("span", { className: "menu-item-body", children: [
343
- /* @__PURE__ */ jsx("span", { className: "menu-item-label", children: o.label }),
344
- o.description && /* @__PURE__ */ jsx("span", { className: "menu-item-desc", children: o.description })
345
- ] })
346
- ] }),
347
- !isMulti && /* @__PURE__ */ jsx("span", { className: "tick", children: /* @__PURE__ */ jsx(Icon, { name: "check", size: 12, stroke: 3 }) })
358
+ /* @__PURE__ */ jsxs(
359
+ "button",
360
+ {
361
+ id: `${listboxId}-option-${idx}`,
362
+ type: "button",
363
+ role: "option",
364
+ "aria-selected": sel,
365
+ "aria-label": getOptionAriaLabel(o),
366
+ disabled: optionDisabled,
367
+ className: `menu-item ${sel ? "active" : ""} ${active ? "highlight" : ""}`,
368
+ onClick: () => isMulti ? toggleMulti(o) : pickSingle(o),
369
+ children: [
370
+ isMulti && /* @__PURE__ */ jsx("span", { className: `menu-check ${sel ? "on" : ""}`, "aria-hidden": true, children: sel && /* @__PURE__ */ jsx(Icon, { name: "check", size: 11, stroke: 3 }) }),
371
+ optionRender ? /* @__PURE__ */ jsx("span", { className: "menu-item-custom", children: optionRender(o, renderInfo) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
372
+ renderIconSlot(o.icon, { size: 14, className: "menu-item-icon" }),
373
+ /* @__PURE__ */ jsxs("span", { className: "menu-item-body", children: [
374
+ /* @__PURE__ */ jsx("span", { className: "menu-item-label", children: o.label }),
375
+ o.description && /* @__PURE__ */ jsx("span", { className: "menu-item-desc", children: o.description })
376
+ ] })
377
+ ] }),
378
+ !isMulti && /* @__PURE__ */ jsx("span", { className: "tick", children: /* @__PURE__ */ jsx(Icon, { name: "check", size: 12, stroke: 3 }) })
379
+ ]
380
+ }
381
+ ),
382
+ hasExtra && /* @__PURE__ */ jsx("span", { className: "menu-item-extra", children: extraContent })
348
383
  ]
349
384
  },
350
385
  String(o.value)
351
386
  );
352
387
  };
388
+ const renderMenuItems = (items) => items.map(
389
+ (item, groupIndex) => isGroup(item) ? /* @__PURE__ */ jsxs(React.Fragment, { children: [
390
+ /* @__PURE__ */ jsx("div", { className: "menu-group-label", children: item.label }),
391
+ item.options.map((option) => renderOption(option, !!item.pinned))
392
+ ] }, `g-${groupIndex}-${item.pinned ? "pinned" : "regular"}`) : renderOption(item)
393
+ );
353
394
  return /* @__PURE__ */ jsxs(
354
395
  "div",
355
396
  {
@@ -465,15 +506,10 @@ var SelectInner = (props, forwardedRef) => {
465
506
  children: loading ? /* @__PURE__ */ jsxs("div", { className: "menu-state", children: [
466
507
  /* @__PURE__ */ jsx("span", { className: "menu-state-ico", children: /* @__PURE__ */ jsx("span", { className: "spinner" }) }),
467
508
  /* @__PURE__ */ jsx("span", { children: "\u52A0\u8F7D\u4E2D..." })
468
- ] }) : filteredItems.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "menu-state", children: [
509
+ ] }) : filteredFlat.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "menu-state", children: [
469
510
  /* @__PURE__ */ jsx("span", { className: "menu-state-ico", children: /* @__PURE__ */ jsx(Icon, { name: "search", size: 16 }) }),
470
511
  /* @__PURE__ */ jsx("span", { children: emptyContent ?? "\u6682\u65E0\u5339\u914D\u9879" })
471
- ] }) : filteredItems.map(
472
- (it, gi) => isGroup(it) ? /* @__PURE__ */ jsxs(React.Fragment, { children: [
473
- /* @__PURE__ */ jsx("div", { className: "menu-group-label", children: it.label }),
474
- it.options.map(renderOption)
475
- ] }, `g-${gi}`) : renderOption(it)
476
- )
512
+ ] }) : renderMenuItems(filteredItems)
477
513
  }
478
514
  )
479
515
  ]