@xlabs-store/core 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1398) hide show
  1. package/LICENSE +21 -0
  2. package/components/index.d.ts +35 -0
  3. package/components/index.js +1 -0
  4. package/components/p-5c86X8JO.js +1 -0
  5. package/components/p-6KpqCGp9.js +1 -0
  6. package/components/p-ADwHM_jT.js +1 -0
  7. package/components/p-AgSyA7Ia.js +1 -0
  8. package/components/p-B-7Hwizp.js +1 -0
  9. package/components/p-B-ClGFfy.js +1 -0
  10. package/components/p-B4R9Mtmk.js +1 -0
  11. package/components/p-B4rO7Sgt.js +1 -0
  12. package/components/p-B5Syz0fw.js +1 -0
  13. package/components/p-B6p-mzW-.js +1 -0
  14. package/components/p-B8SZP5Xz.js +1 -0
  15. package/components/p-BBGHXZqR.js +1 -0
  16. package/components/p-BHLvuyOq.js +1 -0
  17. package/components/p-BM-ap7lt.js +1 -0
  18. package/components/p-BOCR5Zk0.js +1 -0
  19. package/components/p-BPeosvTA.js +1 -0
  20. package/components/p-BRBrLtOz.js +1 -0
  21. package/components/p-BSRP2TGa.js +1 -0
  22. package/components/p-BUjRcJoK.js +1 -0
  23. package/components/p-BVeQ5W_G.js +1 -0
  24. package/components/p-BVnVlCcd.js +1 -0
  25. package/components/p-BZQcq9R_.js +1 -0
  26. package/components/p-BeIFU-wn.js +1 -0
  27. package/components/p-BkEgl31q.js +1 -0
  28. package/components/p-BkPJ1Whr.js +1 -0
  29. package/components/p-BkevSugc.js +1 -0
  30. package/components/p-BkiOFW3H.js +1 -0
  31. package/components/p-BskMfHyY.js +1 -0
  32. package/components/p-Bu2JqZs8.js +1 -0
  33. package/components/p-BvjR2Q5Q.js +1 -0
  34. package/components/p-Bz7MhZ4K.js +1 -0
  35. package/components/p-C3gvR6nN.js +1 -0
  36. package/components/p-C70KKm8p.js +1 -0
  37. package/components/p-C7csgUoA.js +1 -0
  38. package/components/p-CAPfC5Vn.js +1 -0
  39. package/components/p-CEBSDVyp.js +1 -0
  40. package/components/p-CFB6xkAX.js +1 -0
  41. package/components/p-CGIxdOEm.js +1 -0
  42. package/components/p-CGYOWZnh.js +1 -0
  43. package/components/p-CHRrsVXB.js +1 -0
  44. package/components/p-CKUzvJue.js +1 -0
  45. package/components/p-CKVSyuIH.js +1 -0
  46. package/components/p-COpzIi1n.js +1 -0
  47. package/components/p-CRBPzT4B.js +1 -0
  48. package/components/p-CSfrs76m.js +1 -0
  49. package/components/p-C_ZBjXFP.js +1 -0
  50. package/components/p-Cd919NAP.js +1 -0
  51. package/components/p-Ce32Mo_Q.js +1 -0
  52. package/components/p-Ce5L9qbY.js +1 -0
  53. package/components/p-CeBfFEIa.js +1 -0
  54. package/components/p-CfhgoXyB.js +1 -0
  55. package/components/p-Ck6SW8G3.js +1 -0
  56. package/components/p-Co3Y9VjQ.js +1 -0
  57. package/components/p-D66tF8_2.js +1 -0
  58. package/components/p-D7ijqXRY.js +1 -0
  59. package/components/p-D7n-26Q5.js +1 -0
  60. package/components/p-D8ew7Rgv.js +1 -0
  61. package/components/p-DBk4T-b-.js +1 -0
  62. package/components/p-DD-W_fMF.js +1 -0
  63. package/components/p-DElCk9ta.js +1 -0
  64. package/components/p-DEumEVI3.js +1 -0
  65. package/components/p-DGqQ8PT4.js +1 -0
  66. package/components/p-DJ1WhSJ4.js +1 -0
  67. package/components/p-DOxXxhXb.js +1 -0
  68. package/components/p-DRa4o4c6.js +1 -0
  69. package/components/p-DTlSrH8_.js +1 -0
  70. package/components/p-DTvD0UO5.js +1 -0
  71. package/components/p-DVz50Dd3.js +1 -0
  72. package/components/p-DZFphzg1.js +1 -0
  73. package/components/p-DZPUUptR.js +1 -0
  74. package/components/p-D_xaGiZU.js +1 -0
  75. package/components/p-DaL42JUi.js +1 -0
  76. package/components/p-DbRpEXwX.js +1 -0
  77. package/components/p-DcRlYBIl.js +1 -0
  78. package/components/p-Dg0xgMke.js +1 -0
  79. package/components/p-Dgxy93Bg.js +1 -0
  80. package/components/p-Dky_8i8S.js +1 -0
  81. package/components/p-DlwlBBr4.js +1 -0
  82. package/components/p-DoTf8yXn.js +1 -0
  83. package/components/p-DphUq6Z5.js +1 -0
  84. package/components/p-DsgWQbJY.js +1 -0
  85. package/components/p-Dx3yBe39.js +1 -0
  86. package/components/p-DxKMnrS8.js +1 -0
  87. package/components/p-O88oQkR1.js +1 -0
  88. package/components/p-PlUkLT0A.js +1 -0
  89. package/components/p-QTSiPk0I.js +1 -0
  90. package/components/p-TC9DZAbC.js +1 -0
  91. package/components/p-XBF88YT_.js +1 -0
  92. package/components/p-bVsOg7S9.js +1 -0
  93. package/components/p-ccpcKv5U.js +1 -0
  94. package/components/p-en06CSUT.js +1 -0
  95. package/components/p-g6ZBqIze.js +1 -0
  96. package/components/p-noTpj1Kh.js +1 -0
  97. package/components/x-address.d.ts +11 -0
  98. package/components/x-address.js +1 -0
  99. package/components/x-affix.d.ts +11 -0
  100. package/components/x-affix.js +1 -0
  101. package/components/x-alert.d.ts +11 -0
  102. package/components/x-alert.js +1 -0
  103. package/components/x-anchor-link.d.ts +11 -0
  104. package/components/x-anchor-link.js +1 -0
  105. package/components/x-anchor.d.ts +11 -0
  106. package/components/x-anchor.js +1 -0
  107. package/components/x-app.d.ts +11 -0
  108. package/components/x-app.js +1 -0
  109. package/components/x-auto-complete-dropdown-content.d.ts +11 -0
  110. package/components/x-auto-complete-dropdown-content.js +1 -0
  111. package/components/x-auto-complete.d.ts +11 -0
  112. package/components/x-auto-complete.js +1 -0
  113. package/components/x-avatar.d.ts +11 -0
  114. package/components/x-avatar.js +1 -0
  115. package/components/x-back-top.d.ts +11 -0
  116. package/components/x-back-top.js +1 -0
  117. package/components/x-badge.d.ts +11 -0
  118. package/components/x-badge.js +1 -0
  119. package/components/x-breadcrumb-item.d.ts +11 -0
  120. package/components/x-breadcrumb-item.js +1 -0
  121. package/components/x-breadcrumb.d.ts +11 -0
  122. package/components/x-breadcrumb.js +1 -0
  123. package/components/x-button.d.ts +11 -0
  124. package/components/x-button.js +1 -0
  125. package/components/x-captcha.d.ts +11 -0
  126. package/components/x-captcha.js +1 -0
  127. package/components/x-card.d.ts +11 -0
  128. package/components/x-card.js +1 -0
  129. package/components/x-carousel.d.ts +11 -0
  130. package/components/x-carousel.js +1 -0
  131. package/components/x-cascader-dropdown-content.d.ts +11 -0
  132. package/components/x-cascader-dropdown-content.js +1 -0
  133. package/components/x-cascader.d.ts +11 -0
  134. package/components/x-cascader.js +1 -0
  135. package/components/x-checkbox.d.ts +11 -0
  136. package/components/x-checkbox.js +1 -0
  137. package/components/x-col.d.ts +11 -0
  138. package/components/x-col.js +1 -0
  139. package/components/x-collapse-panel.d.ts +11 -0
  140. package/components/x-collapse-panel.js +1 -0
  141. package/components/x-collapse.d.ts +11 -0
  142. package/components/x-collapse.js +1 -0
  143. package/components/x-color-picker-panel.d.ts +11 -0
  144. package/components/x-color-picker-panel.js +1 -0
  145. package/components/x-color-picker.d.ts +11 -0
  146. package/components/x-color-picker.js +1 -0
  147. package/components/x-comment.d.ts +11 -0
  148. package/components/x-comment.js +1 -0
  149. package/components/x-content.d.ts +11 -0
  150. package/components/x-content.js +1 -0
  151. package/components/x-date-picker-dropdown-content.d.ts +11 -0
  152. package/components/x-date-picker-dropdown-content.js +1 -0
  153. package/components/x-date-picker.d.ts +11 -0
  154. package/components/x-date-picker.js +1 -0
  155. package/components/x-descriptions-item.d.ts +11 -0
  156. package/components/x-descriptions-item.js +1 -0
  157. package/components/x-descriptions.d.ts +11 -0
  158. package/components/x-descriptions.js +1 -0
  159. package/components/x-divider.d.ts +11 -0
  160. package/components/x-divider.js +1 -0
  161. package/components/x-drawer-content.d.ts +11 -0
  162. package/components/x-drawer-content.js +1 -0
  163. package/components/x-drawer.d.ts +11 -0
  164. package/components/x-drawer.js +1 -0
  165. package/components/x-dropdown-content.d.ts +11 -0
  166. package/components/x-dropdown-content.js +1 -0
  167. package/components/x-dropdown.d.ts +11 -0
  168. package/components/x-dropdown.js +1 -0
  169. package/components/x-editor.d.ts +11 -0
  170. package/components/x-editor.js +1 -0
  171. package/components/x-empty.d.ts +11 -0
  172. package/components/x-empty.js +1 -0
  173. package/components/x-finder.d.ts +11 -0
  174. package/components/x-finder.js +1 -0
  175. package/components/x-flex.d.ts +11 -0
  176. package/components/x-flex.js +1 -0
  177. package/components/x-float-button.d.ts +11 -0
  178. package/components/x-float-button.js +1 -0
  179. package/components/x-footer.d.ts +11 -0
  180. package/components/x-footer.js +1 -0
  181. package/components/x-form-builder.d.ts +11 -0
  182. package/components/x-form-builder.js +1 -0
  183. package/components/x-form-item.d.ts +11 -0
  184. package/components/x-form-item.js +1 -0
  185. package/components/x-form.d.ts +11 -0
  186. package/components/x-form.js +1 -0
  187. package/components/x-header.d.ts +11 -0
  188. package/components/x-header.js +1 -0
  189. package/components/x-icon.d.ts +11 -0
  190. package/components/x-icon.js +1 -0
  191. package/components/x-image.d.ts +11 -0
  192. package/components/x-image.js +1 -0
  193. package/components/x-infinite-scroll.d.ts +11 -0
  194. package/components/x-infinite-scroll.js +1 -0
  195. package/components/x-input-number.d.ts +11 -0
  196. package/components/x-input-number.js +1 -0
  197. package/components/x-input.d.ts +11 -0
  198. package/components/x-input.js +1 -0
  199. package/components/x-layout.d.ts +11 -0
  200. package/components/x-layout.js +1 -0
  201. package/components/x-list-item.d.ts +11 -0
  202. package/components/x-list-item.js +1 -0
  203. package/components/x-list.d.ts +11 -0
  204. package/components/x-list.js +1 -0
  205. package/components/x-mentions.d.ts +11 -0
  206. package/components/x-mentions.js +1 -0
  207. package/components/x-menu-divider.d.ts +11 -0
  208. package/components/x-menu-divider.js +1 -0
  209. package/components/x-menu-item-group.d.ts +11 -0
  210. package/components/x-menu-item-group.js +1 -0
  211. package/components/x-menu-item.d.ts +11 -0
  212. package/components/x-menu-item.js +1 -0
  213. package/components/x-menu-submenu.d.ts +11 -0
  214. package/components/x-menu-submenu.js +1 -0
  215. package/components/x-menu.d.ts +11 -0
  216. package/components/x-menu.js +1 -0
  217. package/components/x-message.d.ts +11 -0
  218. package/components/x-message.js +1 -0
  219. package/components/x-modal-content.d.ts +11 -0
  220. package/components/x-modal-content.js +1 -0
  221. package/components/x-modal.d.ts +11 -0
  222. package/components/x-modal.js +1 -0
  223. package/components/x-notification.d.ts +11 -0
  224. package/components/x-notification.js +1 -0
  225. package/components/x-page-header.d.ts +11 -0
  226. package/components/x-page-header.js +1 -0
  227. package/components/x-pagination.d.ts +11 -0
  228. package/components/x-pagination.js +1 -0
  229. package/components/x-popconfirm-content.d.ts +11 -0
  230. package/components/x-popconfirm-content.js +1 -0
  231. package/components/x-popconfirm.d.ts +11 -0
  232. package/components/x-popconfirm.js +1 -0
  233. package/components/x-popover-content.d.ts +11 -0
  234. package/components/x-popover-content.js +1 -0
  235. package/components/x-popover.d.ts +11 -0
  236. package/components/x-popover.js +1 -0
  237. package/components/x-progress.d.ts +11 -0
  238. package/components/x-progress.js +1 -0
  239. package/components/x-qr-code.d.ts +11 -0
  240. package/components/x-qr-code.js +1 -0
  241. package/components/x-radio-group.d.ts +11 -0
  242. package/components/x-radio-group.js +1 -0
  243. package/components/x-radio.d.ts +11 -0
  244. package/components/x-radio.js +1 -0
  245. package/components/x-range-picker-dropdown-content.d.ts +11 -0
  246. package/components/x-range-picker-dropdown-content.js +1 -0
  247. package/components/x-range-picker.d.ts +11 -0
  248. package/components/x-range-picker.js +1 -0
  249. package/components/x-rate.d.ts +11 -0
  250. package/components/x-rate.js +1 -0
  251. package/components/x-result.d.ts +11 -0
  252. package/components/x-result.js +1 -0
  253. package/components/x-row.d.ts +11 -0
  254. package/components/x-row.js +1 -0
  255. package/components/x-segmented.d.ts +11 -0
  256. package/components/x-segmented.js +1 -0
  257. package/components/x-select-dropdown-content.d.ts +11 -0
  258. package/components/x-select-dropdown-content.js +1 -0
  259. package/components/x-select-option.d.ts +11 -0
  260. package/components/x-select-option.js +1 -0
  261. package/components/x-select.d.ts +11 -0
  262. package/components/x-select.js +1 -0
  263. package/components/x-sider.d.ts +11 -0
  264. package/components/x-sider.js +1 -0
  265. package/components/x-skeleton.d.ts +11 -0
  266. package/components/x-skeleton.js +1 -0
  267. package/components/x-slider.d.ts +11 -0
  268. package/components/x-slider.js +1 -0
  269. package/components/x-space.d.ts +11 -0
  270. package/components/x-space.js +1 -0
  271. package/components/x-spin.d.ts +11 -0
  272. package/components/x-spin.js +1 -0
  273. package/components/x-splitter-panel.d.ts +11 -0
  274. package/components/x-splitter-panel.js +1 -0
  275. package/components/x-splitter.d.ts +11 -0
  276. package/components/x-splitter.js +1 -0
  277. package/components/x-statistic.d.ts +11 -0
  278. package/components/x-statistic.js +1 -0
  279. package/components/x-step.d.ts +11 -0
  280. package/components/x-step.js +1 -0
  281. package/components/x-steps.d.ts +11 -0
  282. package/components/x-steps.js +1 -0
  283. package/components/x-switch.d.ts +11 -0
  284. package/components/x-switch.js +1 -0
  285. package/components/x-tab-pane.d.ts +11 -0
  286. package/components/x-tab-pane.js +1 -0
  287. package/components/x-table-cell.d.ts +11 -0
  288. package/components/x-table-cell.js +1 -0
  289. package/components/x-table-row.d.ts +11 -0
  290. package/components/x-table-row.js +1 -0
  291. package/components/x-table.d.ts +11 -0
  292. package/components/x-table.js +1 -0
  293. package/components/x-tabs.d.ts +11 -0
  294. package/components/x-tabs.js +1 -0
  295. package/components/x-tag.d.ts +11 -0
  296. package/components/x-tag.js +1 -0
  297. package/components/x-textarea.d.ts +11 -0
  298. package/components/x-textarea.js +1 -0
  299. package/components/x-time-picker-dropdown-content.d.ts +11 -0
  300. package/components/x-time-picker-dropdown-content.js +1 -0
  301. package/components/x-time-picker.d.ts +11 -0
  302. package/components/x-time-picker.js +1 -0
  303. package/components/x-timeline-item.d.ts +11 -0
  304. package/components/x-timeline-item.js +1 -0
  305. package/components/x-timeline.d.ts +11 -0
  306. package/components/x-timeline.js +1 -0
  307. package/components/x-tooltip-content.d.ts +11 -0
  308. package/components/x-tooltip-content.js +1 -0
  309. package/components/x-tooltip.d.ts +11 -0
  310. package/components/x-tooltip.js +1 -0
  311. package/components/x-tour-panel.d.ts +11 -0
  312. package/components/x-tour-panel.js +1 -0
  313. package/components/x-tour.d.ts +11 -0
  314. package/components/x-tour.js +1 -0
  315. package/components/x-transfer.d.ts +11 -0
  316. package/components/x-transfer.js +1 -0
  317. package/components/x-tree-select-dropdown-content.d.ts +11 -0
  318. package/components/x-tree-select-dropdown-content.js +1 -0
  319. package/components/x-tree-select.d.ts +11 -0
  320. package/components/x-tree-select.js +1 -0
  321. package/components/x-tree.d.ts +11 -0
  322. package/components/x-tree.js +1 -0
  323. package/components/x-typography.d.ts +11 -0
  324. package/components/x-typography.js +1 -0
  325. package/components/x-upload.d.ts +11 -0
  326. package/components/x-upload.js +1 -0
  327. package/components/x-virtual-scroll.d.ts +11 -0
  328. package/components/x-virtual-scroll.js +1 -0
  329. package/components/x-workflow-builder.d.ts +11 -0
  330. package/components/x-workflow-builder.js +1 -0
  331. package/components/x-workflow.d.ts +11 -0
  332. package/components/x-workflow.js +1 -0
  333. package/dist/cjs/abstract-control-C4D0eNCC.js +277 -0
  334. package/dist/cjs/config-BP9bROYD.js +63 -0
  335. package/dist/cjs/index-C7sKs9A2.js +2170 -0
  336. package/dist/cjs/index.cjs.js +14 -0
  337. package/dist/cjs/loader.cjs.js +12 -0
  338. package/dist/cjs/locale.service-Cz-aZQnr.js +8203 -0
  339. package/dist/cjs/modal-service-BtAF0mFq.js +399 -0
  340. package/dist/cjs/notification-service-m6I5U9aG.js +602 -0
  341. package/dist/cjs/portal-controller-CtYVbhXL.js +504 -0
  342. package/dist/cjs/schema-builder-CYnX7lKi.js +1505 -0
  343. package/dist/cjs/tree.service-fxLOCSpD.js +339 -0
  344. package/dist/cjs/types-DQ-V76ZQ.js +255 -0
  345. package/dist/cjs/x-address_14.cjs.entry.js +12577 -0
  346. package/dist/cjs/x-affix.cjs.entry.js +182 -0
  347. package/dist/cjs/x-alert_11.cjs.entry.js +3239 -0
  348. package/dist/cjs/x-anchor-link.cjs.entry.js +67 -0
  349. package/dist/cjs/x-anchor.cjs.entry.js +158 -0
  350. package/dist/cjs/x-app.cjs.entry.js +137 -0
  351. package/dist/cjs/x-auto-complete-dropdown-content.cjs.entry.js +69 -0
  352. package/dist/cjs/x-avatar.cjs.entry.js +269 -0
  353. package/dist/cjs/x-back-top.cjs.entry.js +89 -0
  354. package/dist/cjs/x-breadcrumb_5.cjs.entry.js +1554 -0
  355. package/dist/cjs/x-button.cjs.entry.js +174 -0
  356. package/dist/cjs/x-card_12.cjs.entry.js +1386 -0
  357. package/dist/cjs/x-carousel.cjs.entry.js +147 -0
  358. package/dist/cjs/x-cascader-dropdown-content.cjs.entry.js +364 -0
  359. package/dist/cjs/x-checkbox_5.cjs.entry.js +1376 -0
  360. package/dist/cjs/x-collapse-panel.cjs.entry.js +243 -0
  361. package/dist/cjs/x-collapse.cjs.entry.js +291 -0
  362. package/dist/cjs/x-color-picker-panel_2.cjs.entry.js +873 -0
  363. package/dist/cjs/x-color-picker_9.cjs.entry.js +3085 -0
  364. package/dist/cjs/x-comment.cjs.entry.js +189 -0
  365. package/dist/cjs/x-date-picker-dropdown-content.cjs.entry.js +757 -0
  366. package/dist/cjs/x-descriptions-item.cjs.entry.js +108 -0
  367. package/dist/cjs/x-drawer-content.cjs.entry.js +197 -0
  368. package/dist/cjs/x-drawer.cjs.entry.js +294 -0
  369. package/dist/cjs/x-dropdown_2.cjs.entry.js +735 -0
  370. package/dist/cjs/x-empty.cjs.entry.js +64 -0
  371. package/dist/cjs/x-finder.cjs.entry.js +647 -0
  372. package/dist/cjs/x-form-builder.cjs.entry.js +807 -0
  373. package/dist/cjs/x-icon.cjs.entry.js +144 -0
  374. package/dist/cjs/x-infinite-scroll.cjs.entry.js +129 -0
  375. package/dist/cjs/x-list-item.cjs.entry.js +27 -0
  376. package/dist/cjs/x-list.cjs.entry.js +138 -0
  377. package/dist/cjs/x-mentions.cjs.entry.js +275 -0
  378. package/dist/cjs/x-menu-divider.cjs.entry.js +49 -0
  379. package/dist/cjs/x-menu-item-group.cjs.entry.js +149 -0
  380. package/dist/cjs/x-menu-submenu.cjs.entry.js +373 -0
  381. package/dist/cjs/x-message.cjs.entry.js +219 -0
  382. package/dist/cjs/x-modal-content.cjs.entry.js +217 -0
  383. package/dist/cjs/x-notification.cjs.entry.js +325 -0
  384. package/dist/cjs/x-page-header.cjs.entry.js +67 -0
  385. package/dist/cjs/x-popconfirm-content.cjs.entry.js +72 -0
  386. package/dist/cjs/x-popconfirm.cjs.entry.js +181 -0
  387. package/dist/cjs/x-progress.cjs.entry.js +136 -0
  388. package/dist/cjs/x-qr-code.cjs.entry.js +446 -0
  389. package/dist/cjs/x-range-picker-dropdown-content.cjs.entry.js +821 -0
  390. package/dist/cjs/x-select_2.cjs.entry.js +1316 -0
  391. package/dist/cjs/x-skeleton.cjs.entry.js +75 -0
  392. package/dist/cjs/x-spin.cjs.entry.js +62 -0
  393. package/dist/cjs/x-splitter-panel.cjs.entry.js +91 -0
  394. package/dist/cjs/x-splitter.cjs.entry.js +612 -0
  395. package/dist/cjs/x-statistic.cjs.entry.js +104 -0
  396. package/dist/cjs/x-step.cjs.entry.js +179 -0
  397. package/dist/cjs/x-steps.cjs.entry.js +439 -0
  398. package/dist/cjs/x-tab-pane.cjs.entry.js +73 -0
  399. package/dist/cjs/x-table-cell.cjs.entry.js +45 -0
  400. package/dist/cjs/x-table-row.cjs.entry.js +85 -0
  401. package/dist/cjs/x-tabs.cjs.entry.js +609 -0
  402. package/dist/cjs/x-time-picker-dropdown-content.cjs.entry.js +389 -0
  403. package/dist/cjs/x-timeline-item.cjs.entry.js +50 -0
  404. package/dist/cjs/x-timeline.cjs.entry.js +52 -0
  405. package/dist/cjs/x-tour-panel.cjs.entry.js +89 -0
  406. package/dist/cjs/x-tour.cjs.entry.js +344 -0
  407. package/dist/cjs/x-tree-select-dropdown-content.cjs.entry.js +439 -0
  408. package/dist/cjs/x-virtual-scroll.cjs.entry.js +203 -0
  409. package/dist/cjs/x-workflow-builder.cjs.entry.js +366 -0
  410. package/dist/cjs/xlabs-store.cjs.js +24 -0
  411. package/dist/collection/collection-manifest.json +130 -0
  412. package/dist/collection/components/x-address/vietnam-data.js +28 -0
  413. package/dist/collection/components/x-address/x-address.css +367 -0
  414. package/dist/collection/components/x-address/x-address.js +403 -0
  415. package/dist/collection/components/x-affix/x-affix.css +27 -0
  416. package/dist/collection/components/x-affix/x-affix.js +299 -0
  417. package/dist/collection/components/x-alert/x-alert.css +475 -0
  418. package/dist/collection/components/x-alert/x-alert.js +273 -0
  419. package/dist/collection/components/x-anchor/x-anchor.css +74 -0
  420. package/dist/collection/components/x-anchor/x-anchor.js +371 -0
  421. package/dist/collection/components/x-anchor-link/x-anchor-link.css +43 -0
  422. package/dist/collection/components/x-anchor-link/x-anchor-link.js +145 -0
  423. package/dist/collection/components/x-app/x-app.css +14 -0
  424. package/dist/collection/components/x-app/x-app.js +308 -0
  425. package/dist/collection/components/x-auto-complete/auto-complete-dropdown-content/auto-complete-dropdown-content.css +410 -0
  426. package/dist/collection/components/x-auto-complete/auto-complete-dropdown-content/auto-complete-dropdown-content.js +166 -0
  427. package/dist/collection/components/x-auto-complete/auto-complete-dropdown-content/index.js +1 -0
  428. package/dist/collection/components/x-auto-complete/auto-complete-dropdown-content/types.js +1 -0
  429. package/dist/collection/components/x-auto-complete/types.js +61 -0
  430. package/dist/collection/components/x-auto-complete/x-auto-complete.css +535 -0
  431. package/dist/collection/components/x-auto-complete/x-auto-complete.js +1829 -0
  432. package/dist/collection/components/x-avatar/types.js +1 -0
  433. package/dist/collection/components/x-avatar/x-avatar.css +128 -0
  434. package/dist/collection/components/x-avatar/x-avatar.js +533 -0
  435. package/dist/collection/components/x-back-top/x-back-top.css +56 -0
  436. package/dist/collection/components/x-back-top/x-back-top.js +148 -0
  437. package/dist/collection/components/x-badge/types.js +1 -0
  438. package/dist/collection/components/x-badge/x-badge.css +233 -0
  439. package/dist/collection/components/x-badge/x-badge.js +618 -0
  440. package/dist/collection/components/x-breadcrumb/x-breadcrumb.css +44 -0
  441. package/dist/collection/components/x-breadcrumb/x-breadcrumb.js +96 -0
  442. package/dist/collection/components/x-breadcrumb-item/x-breadcrumb-item.css +63 -0
  443. package/dist/collection/components/x-breadcrumb-item/x-breadcrumb-item.js +147 -0
  444. package/dist/collection/components/x-button/x-button.css +278 -0
  445. package/dist/collection/components/x-button/x-button.js +488 -0
  446. package/dist/collection/components/x-captcha/x-captcha.css +125 -0
  447. package/dist/collection/components/x-captcha/x-captcha.js +408 -0
  448. package/dist/collection/components/x-card/x-card.css +523 -0
  449. package/dist/collection/components/x-card/x-card.js +389 -0
  450. package/dist/collection/components/x-carousel/x-carousel.css +417 -0
  451. package/dist/collection/components/x-carousel/x-carousel.js +257 -0
  452. package/dist/collection/components/x-cascader/cascader-dropdown-content/cascader-dropdown-content.css +529 -0
  453. package/dist/collection/components/x-cascader/cascader-dropdown-content/cascader-dropdown-content.js +771 -0
  454. package/dist/collection/components/x-cascader/cascader-dropdown-content/index.js +2 -0
  455. package/dist/collection/components/x-cascader/cascader-dropdown-content/types.js +1 -0
  456. package/dist/collection/components/x-cascader/types.js +1 -0
  457. package/dist/collection/components/x-cascader/x-cascader.css +691 -0
  458. package/dist/collection/components/x-cascader/x-cascader.js +1841 -0
  459. package/dist/collection/components/x-checkbox/types.js +1 -0
  460. package/dist/collection/components/x-checkbox/x-checkbox.css +541 -0
  461. package/dist/collection/components/x-checkbox/x-checkbox.js +681 -0
  462. package/dist/collection/components/x-col/x-col.css +1704 -0
  463. package/dist/collection/components/x-col/x-col.js +479 -0
  464. package/dist/collection/components/x-collapse/types.js +1 -0
  465. package/dist/collection/components/x-collapse/x-collapse.css +384 -0
  466. package/dist/collection/components/x-collapse/x-collapse.js +579 -0
  467. package/dist/collection/components/x-collapse-panel/x-collapse-panel.css +486 -0
  468. package/dist/collection/components/x-collapse-panel/x-collapse-panel.js +500 -0
  469. package/dist/collection/components/x-color-picker/types.js +251 -0
  470. package/dist/collection/components/x-color-picker/x-color-picker-panel.css +310 -0
  471. package/dist/collection/components/x-color-picker/x-color-picker-panel.js +575 -0
  472. package/dist/collection/components/x-color-picker/x-color-picker.css +446 -0
  473. package/dist/collection/components/x-color-picker/x-color-picker.js +1209 -0
  474. package/dist/collection/components/x-comment/types.js +1 -0
  475. package/dist/collection/components/x-comment/x-comment.css +442 -0
  476. package/dist/collection/components/x-comment/x-comment.js +306 -0
  477. package/dist/collection/components/x-content/types.js +1 -0
  478. package/dist/collection/components/x-content/x-content.css +361 -0
  479. package/dist/collection/components/x-content/x-content.js +402 -0
  480. package/dist/collection/components/x-date-picker/date-picker-dropdown-content/date-picker-dropdown-content.css +691 -0
  481. package/dist/collection/components/x-date-picker/date-picker-dropdown-content/date-picker-dropdown-content.js +1496 -0
  482. package/dist/collection/components/x-date-picker/date-picker-dropdown-content/index.js +1 -0
  483. package/dist/collection/components/x-date-picker/date-picker-dropdown-content/types.js +1 -0
  484. package/dist/collection/components/x-date-picker/types.js +1 -0
  485. package/dist/collection/components/x-date-picker/x-date-picker.css +804 -0
  486. package/dist/collection/components/x-date-picker/x-date-picker.js +2110 -0
  487. package/dist/collection/components/x-descriptions/types.js +1 -0
  488. package/dist/collection/components/x-descriptions/x-descriptions.css +417 -0
  489. package/dist/collection/components/x-descriptions/x-descriptions.js +494 -0
  490. package/dist/collection/components/x-descriptions-item/x-descriptions-item.css +387 -0
  491. package/dist/collection/components/x-descriptions-item/x-descriptions-item.js +238 -0
  492. package/dist/collection/components/x-divider/x-divider.css +417 -0
  493. package/dist/collection/components/x-divider/x-divider.js +263 -0
  494. package/dist/collection/components/x-drawer/x-drawer.css +333 -0
  495. package/dist/collection/components/x-drawer/x-drawer.js +623 -0
  496. package/dist/collection/components/x-drawer-content/x-drawer-content.css +481 -0
  497. package/dist/collection/components/x-drawer-content/x-drawer-content.js +579 -0
  498. package/dist/collection/components/x-dropdown/dropdown-content/dropdown-content.css +673 -0
  499. package/dist/collection/components/x-dropdown/dropdown-content/dropdown-content.js +294 -0
  500. package/dist/collection/components/x-dropdown/dropdown-content/types.js +1 -0
  501. package/dist/collection/components/x-dropdown/types.js +1 -0
  502. package/dist/collection/components/x-dropdown/x-dropdown.css +669 -0
  503. package/dist/collection/components/x-dropdown/x-dropdown.js +1004 -0
  504. package/dist/collection/components/x-editor/editor-history.js +118 -0
  505. package/dist/collection/components/x-editor/editor-normalizer.js +263 -0
  506. package/dist/collection/components/x-editor/editor-parser.js +326 -0
  507. package/dist/collection/components/x-editor/editor-selection.js +415 -0
  508. package/dist/collection/components/x-editor/types.js +33 -0
  509. package/dist/collection/components/x-editor/x-editor.css +599 -0
  510. package/dist/collection/components/x-editor/x-editor.js +1636 -0
  511. package/dist/collection/components/x-empty/x-empty.css +357 -0
  512. package/dist/collection/components/x-empty/x-empty.js +117 -0
  513. package/dist/collection/components/x-finder/services/finder-service.js +250 -0
  514. package/dist/collection/components/x-finder/types.js +1 -0
  515. package/dist/collection/components/x-finder/x-finder.css +633 -0
  516. package/dist/collection/components/x-finder/x-finder.js +540 -0
  517. package/dist/collection/components/x-flex/x-flex.css +344 -0
  518. package/dist/collection/components/x-flex/x-flex.js +285 -0
  519. package/dist/collection/components/x-float-button/x-float-button.css +389 -0
  520. package/dist/collection/components/x-float-button/x-float-button.js +265 -0
  521. package/dist/collection/components/x-footer/x-footer.css +346 -0
  522. package/dist/collection/components/x-footer/x-footer.js +29 -0
  523. package/dist/collection/components/x-form/x-form.css +365 -0
  524. package/dist/collection/components/x-form/x-form.js +355 -0
  525. package/dist/collection/components/x-form-builder/services/apis/api-client.js +240 -0
  526. package/dist/collection/components/x-form-builder/services/constants/index.js +33 -0
  527. package/dist/collection/components/x-form-builder/services/forms/abstract-control.js +175 -0
  528. package/dist/collection/components/x-form-builder/services/forms/form-array.js +92 -0
  529. package/dist/collection/components/x-form-builder/services/forms/form-builder.js +40 -0
  530. package/dist/collection/components/x-form-builder/services/forms/form-control.js +33 -0
  531. package/dist/collection/components/x-form-builder/services/forms/form-group.js +150 -0
  532. package/dist/collection/components/x-form-builder/services/forms/index.js +7 -0
  533. package/dist/collection/components/x-form-builder/services/forms/types.js +1 -0
  534. package/dist/collection/components/x-form-builder/services/forms/validators.js +83 -0
  535. package/dist/collection/components/x-form-builder/services/schema/condition-builder.js +337 -0
  536. package/dist/collection/components/x-form-builder/services/schema/default-registry.js +440 -0
  537. package/dist/collection/components/x-form-builder/services/schema/form-mapping.js +176 -0
  538. package/dist/collection/components/x-form-builder/services/schema/form-registry.js +30 -0
  539. package/dist/collection/components/x-form-builder/services/schema/schema-actions.js +3 -0
  540. package/dist/collection/components/x-form-builder/services/schema/schema-builder.js +52 -0
  541. package/dist/collection/components/x-form-builder/services/schema/schema-validator.js +53 -0
  542. package/dist/collection/components/x-form-builder/types/api/api-common-types.js +1 -0
  543. package/dist/collection/components/x-form-builder/types/api/api-interfaces.js +1 -0
  544. package/dist/collection/components/x-form-builder/types/api/index.js +2 -0
  545. package/dist/collection/components/x-form-builder/types/common/common-types.js +1 -0
  546. package/dist/collection/components/x-form-builder/types/common/condition-types.js +1 -0
  547. package/dist/collection/components/x-form-builder/types/common/field-types-enum.js +1 -0
  548. package/dist/collection/components/x-form-builder/types/common/index.js +7 -0
  549. package/dist/collection/components/x-form-builder/types/common/shared-interfaces.js +1 -0
  550. package/dist/collection/components/x-form-builder/types/common/validation-types.js +1 -0
  551. package/dist/collection/components/x-form-builder/types/common/value-types.js +1 -0
  552. package/dist/collection/components/x-form-builder/types/event/event-types.js +1 -0
  553. package/dist/collection/components/x-form-builder/types/event/index.js +1 -0
  554. package/dist/collection/components/x-form-builder/types/fields/advanced-fields.js +1 -0
  555. package/dist/collection/components/x-form-builder/types/fields/base-field.js +1 -0
  556. package/dist/collection/components/x-form-builder/types/fields/datetime-file-fields.js +1 -0
  557. package/dist/collection/components/x-form-builder/types/fields/display-fields.js +1 -0
  558. package/dist/collection/components/x-form-builder/types/fields/form-field-union.js +1 -0
  559. package/dist/collection/components/x-form-builder/types/fields/index.js +9 -0
  560. package/dist/collection/components/x-form-builder/types/fields/input-fields.js +1 -0
  561. package/dist/collection/components/x-form-builder/types/fields/layout-fields.js +1 -0
  562. package/dist/collection/components/x-form-builder/types/fields/selection-fields.js +10 -0
  563. package/dist/collection/components/x-form-builder/types/fields/special-input-fields.js +1 -0
  564. package/dist/collection/components/x-form-builder/types/form/events-types.js +1 -0
  565. package/dist/collection/components/x-form-builder/types/form/form-config.js +50 -0
  566. package/dist/collection/components/x-form-builder/types/form/index.js +2 -0
  567. package/dist/collection/components/x-form-builder/types/form/schema-types.js +1 -0
  568. package/dist/collection/components/x-form-builder/types/index.js +4 -0
  569. package/dist/collection/components/x-form-builder/utils/condition-engine.js +118 -0
  570. package/dist/collection/components/x-form-builder/utils/utils.js +138 -0
  571. package/dist/collection/components/x-form-builder/utils/values.js +36 -0
  572. package/dist/collection/components/x-form-builder/x-form-builder.css +3 -0
  573. package/dist/collection/components/x-form-builder/x-form-builder.js +1017 -0
  574. package/dist/collection/components/x-form-item/x-form-item.css +564 -0
  575. package/dist/collection/components/x-form-item/x-form-item.js +538 -0
  576. package/dist/collection/components/x-header/x-header.css +344 -0
  577. package/dist/collection/components/x-header/x-header.js +29 -0
  578. package/dist/collection/components/x-icon/fonts/xlabs-outlined.woff2 +0 -0
  579. package/dist/collection/components/x-icon/fonts/xlabs-rounded.woff2 +0 -0
  580. package/dist/collection/components/x-icon/fonts/xlabs-solided.woff2 +0 -0
  581. package/dist/collection/components/x-icon/icons.js +2716 -0
  582. package/dist/collection/components/x-icon/x-icon.css +378 -0
  583. package/dist/collection/components/x-icon/x-icon.js +353 -0
  584. package/dist/collection/components/x-image/types.js +1 -0
  585. package/dist/collection/components/x-image/x-image.css +556 -0
  586. package/dist/collection/components/x-image/x-image.js +628 -0
  587. package/dist/collection/components/x-infinite-scroll/x-infinite-scroll.css +345 -0
  588. package/dist/collection/components/x-infinite-scroll/x-infinite-scroll.js +294 -0
  589. package/dist/collection/components/x-input/types.js +1 -0
  590. package/dist/collection/components/x-input/x-input.css +640 -0
  591. package/dist/collection/components/x-input/x-input.js +1449 -0
  592. package/dist/collection/components/x-input-number/types.js +96 -0
  593. package/dist/collection/components/x-input-number/x-input-number.css +612 -0
  594. package/dist/collection/components/x-input-number/x-input-number.js +1488 -0
  595. package/dist/collection/components/x-layout/x-layout.css +361 -0
  596. package/dist/collection/components/x-layout/x-layout.js +188 -0
  597. package/dist/collection/components/x-list/x-list.css +382 -0
  598. package/dist/collection/components/x-list/x-list.js +373 -0
  599. package/dist/collection/components/x-list-item/x-list-item.css +351 -0
  600. package/dist/collection/components/x-list-item/x-list-item.js +31 -0
  601. package/dist/collection/components/x-mentions/types.js +1 -0
  602. package/dist/collection/components/x-mentions/x-mentions.css +388 -0
  603. package/dist/collection/components/x-mentions/x-mentions.js +528 -0
  604. package/dist/collection/components/x-menu/types.js +1 -0
  605. package/dist/collection/components/x-menu/x-menu.css +78 -0
  606. package/dist/collection/components/x-menu/x-menu.js +793 -0
  607. package/dist/collection/components/x-menu-divider/types.js +1 -0
  608. package/dist/collection/components/x-menu-divider/x-menu-divider.css +31 -0
  609. package/dist/collection/components/x-menu-divider/x-menu-divider.js +126 -0
  610. package/dist/collection/components/x-menu-item/types.js +1 -0
  611. package/dist/collection/components/x-menu-item/x-menu-item.css +183 -0
  612. package/dist/collection/components/x-menu-item/x-menu-item.js +449 -0
  613. package/dist/collection/components/x-menu-item-group/types.js +1 -0
  614. package/dist/collection/components/x-menu-item-group/x-menu-item-group.css +45 -0
  615. package/dist/collection/components/x-menu-item-group/x-menu-item-group.js +299 -0
  616. package/dist/collection/components/x-menu-submenu/types.js +1 -0
  617. package/dist/collection/components/x-menu-submenu/x-menu-submenu.css +236 -0
  618. package/dist/collection/components/x-menu-submenu/x-menu-submenu.js +775 -0
  619. package/dist/collection/components/x-message/message-service.js +263 -0
  620. package/dist/collection/components/x-message/types.js +1 -0
  621. package/dist/collection/components/x-message/x-message.css +402 -0
  622. package/dist/collection/components/x-message/x-message.js +487 -0
  623. package/dist/collection/components/x-modal/modal-service.js +402 -0
  624. package/dist/collection/components/x-modal/modal-service.types.js +1 -0
  625. package/dist/collection/components/x-modal/x-modal.css +468 -0
  626. package/dist/collection/components/x-modal/x-modal.js +683 -0
  627. package/dist/collection/components/x-modal-content/index.js +1 -0
  628. package/dist/collection/components/x-modal-content/types.js +1 -0
  629. package/dist/collection/components/x-modal-content/x-modal-content.css +749 -0
  630. package/dist/collection/components/x-modal-content/x-modal-content.js +701 -0
  631. package/dist/collection/components/x-notification/notification-service.js +335 -0
  632. package/dist/collection/components/x-notification/types.js +1 -0
  633. package/dist/collection/components/x-notification/x-notification.css +486 -0
  634. package/dist/collection/components/x-notification/x-notification.js +788 -0
  635. package/dist/collection/components/x-page-header/x-page-header.css +406 -0
  636. package/dist/collection/components/x-page-header/x-page-header.js +159 -0
  637. package/dist/collection/components/x-pagination/types.js +1 -0
  638. package/dist/collection/components/x-pagination/x-pagination.css +705 -0
  639. package/dist/collection/components/x-pagination/x-pagination.js +1241 -0
  640. package/dist/collection/components/x-popconfirm/popconfirm-content/popconfirm-content.css +456 -0
  641. package/dist/collection/components/x-popconfirm/popconfirm-content/popconfirm-content.js +244 -0
  642. package/dist/collection/components/x-popconfirm/x-popconfirm.css +412 -0
  643. package/dist/collection/components/x-popconfirm/x-popconfirm.js +355 -0
  644. package/dist/collection/components/x-popover/popover-content/popover-content.css +437 -0
  645. package/dist/collection/components/x-popover/popover-content/popover-content.js +261 -0
  646. package/dist/collection/components/x-popover/x-popover.css +442 -0
  647. package/dist/collection/components/x-popover/x-popover.js +390 -0
  648. package/dist/collection/components/x-portal/debug.js +42 -0
  649. package/dist/collection/components/x-portal/index.js +1 -0
  650. package/dist/collection/components/x-portal/portal-controller.js +146 -0
  651. package/dist/collection/components/x-portal/positioning.js +332 -0
  652. package/dist/collection/components/x-portal/types.js +1 -0
  653. package/dist/collection/components/x-portal/x-portal.js +21 -0
  654. package/dist/collection/components/x-progress/x-progress.css +424 -0
  655. package/dist/collection/components/x-progress/x-progress.js +326 -0
  656. package/dist/collection/components/x-qr-code/x-qr-code.css +37 -0
  657. package/dist/collection/components/x-qr-code/x-qr-code.js +292 -0
  658. package/dist/collection/components/x-radio/types.js +1 -0
  659. package/dist/collection/components/x-radio/x-radio.css +523 -0
  660. package/dist/collection/components/x-radio/x-radio.js +689 -0
  661. package/dist/collection/components/x-radio-group/types.js +1 -0
  662. package/dist/collection/components/x-radio-group/x-radio-group.css +326 -0
  663. package/dist/collection/components/x-radio-group/x-radio-group.js +531 -0
  664. package/dist/collection/components/x-range-picker/range-picker-dropdown-content/index.js +1 -0
  665. package/dist/collection/components/x-range-picker/range-picker-dropdown-content/range-picker-dropdown-content.css +609 -0
  666. package/dist/collection/components/x-range-picker/range-picker-dropdown-content/range-picker-dropdown-content.js +1497 -0
  667. package/dist/collection/components/x-range-picker/range-picker-dropdown-content/types.js +1 -0
  668. package/dist/collection/components/x-range-picker/types.js +1 -0
  669. package/dist/collection/components/x-range-picker/x-range-picker.css +775 -0
  670. package/dist/collection/components/x-range-picker/x-range-picker.js +1883 -0
  671. package/dist/collection/components/x-rate/x-rate.css +396 -0
  672. package/dist/collection/components/x-rate/x-rate.js +445 -0
  673. package/dist/collection/components/x-result/types.js +1 -0
  674. package/dist/collection/components/x-result/x-result.css +434 -0
  675. package/dist/collection/components/x-result/x-result.js +376 -0
  676. package/dist/collection/components/x-row/x-row.css +345 -0
  677. package/dist/collection/components/x-row/x-row.js +196 -0
  678. package/dist/collection/components/x-segmented/types.js +1 -0
  679. package/dist/collection/components/x-segmented/x-segmented.css +407 -0
  680. package/dist/collection/components/x-segmented/x-segmented.js +414 -0
  681. package/dist/collection/components/x-select/select-dropdown-content/index.js +1 -0
  682. package/dist/collection/components/x-select/select-dropdown-content/select-dropdown-content.css +827 -0
  683. package/dist/collection/components/x-select/select-dropdown-content/select-dropdown-content.js +163 -0
  684. package/dist/collection/components/x-select/select-dropdown-content/types.js +1 -0
  685. package/dist/collection/components/x-select/types.js +9 -0
  686. package/dist/collection/components/x-select/x-select.css +823 -0
  687. package/dist/collection/components/x-select/x-select.js +2247 -0
  688. package/dist/collection/components/x-select-option/x-select-option.css +379 -0
  689. package/dist/collection/components/x-select-option/x-select-option.js +207 -0
  690. package/dist/collection/components/x-sider/x-sider.css +379 -0
  691. package/dist/collection/components/x-sider/x-sider.js +379 -0
  692. package/dist/collection/components/x-skeleton/x-skeleton.css +400 -0
  693. package/dist/collection/components/x-skeleton/x-skeleton.js +221 -0
  694. package/dist/collection/components/x-slider/types.js +1 -0
  695. package/dist/collection/components/x-slider/x-slider.css +511 -0
  696. package/dist/collection/components/x-slider/x-slider.js +785 -0
  697. package/dist/collection/components/x-space/x-space.css +339 -0
  698. package/dist/collection/components/x-space/x-space.js +228 -0
  699. package/dist/collection/components/x-spin/x-spin.css +465 -0
  700. package/dist/collection/components/x-spin/x-spin.js +142 -0
  701. package/dist/collection/components/x-splitter/types.js +1 -0
  702. package/dist/collection/components/x-splitter/x-splitter.css +181 -0
  703. package/dist/collection/components/x-splitter/x-splitter.js +884 -0
  704. package/dist/collection/components/x-splitter-panel/types.js +1 -0
  705. package/dist/collection/components/x-splitter-panel/x-splitter-panel.css +25 -0
  706. package/dist/collection/components/x-splitter-panel/x-splitter-panel.js +292 -0
  707. package/dist/collection/components/x-statistic/x-statistic.css +366 -0
  708. package/dist/collection/components/x-statistic/x-statistic.js +291 -0
  709. package/dist/collection/components/x-step/types.js +1 -0
  710. package/dist/collection/components/x-step/x-step.css +801 -0
  711. package/dist/collection/components/x-step/x-step.js +539 -0
  712. package/dist/collection/components/x-steps/types.js +1 -0
  713. package/dist/collection/components/x-steps/x-steps.css +830 -0
  714. package/dist/collection/components/x-steps/x-steps.js +1032 -0
  715. package/dist/collection/components/x-switch/types.js +1 -0
  716. package/dist/collection/components/x-switch/x-switch.css +463 -0
  717. package/dist/collection/components/x-switch/x-switch.js +356 -0
  718. package/dist/collection/components/x-tab-pane/x-tab-pane.css +337 -0
  719. package/dist/collection/components/x-tab-pane/x-tab-pane.js +243 -0
  720. package/dist/collection/components/x-table/column-util.js +87 -0
  721. package/dist/collection/components/x-table/types.js +1 -0
  722. package/dist/collection/components/x-table/x-table.css +898 -0
  723. package/dist/collection/components/x-table/x-table.js +2464 -0
  724. package/dist/collection/components/x-table-cell/x-table-cell.css +337 -0
  725. package/dist/collection/components/x-table-cell/x-table-cell.js +167 -0
  726. package/dist/collection/components/x-table-row/x-table-row.css +336 -0
  727. package/dist/collection/components/x-table-row/x-table-row.js +172 -0
  728. package/dist/collection/components/x-tabs/types.js +1 -0
  729. package/dist/collection/components/x-tabs/x-tabs.css +664 -0
  730. package/dist/collection/components/x-tabs/x-tabs.js +1264 -0
  731. package/dist/collection/components/x-tag/types.js +1 -0
  732. package/dist/collection/components/x-tag/x-tag.css +1047 -0
  733. package/dist/collection/components/x-tag/x-tag.js +535 -0
  734. package/dist/collection/components/x-textarea/x-textarea.css +446 -0
  735. package/dist/collection/components/x-textarea/x-textarea.js +553 -0
  736. package/dist/collection/components/x-time-picker/time-picker-dropdown-content/index.js +1 -0
  737. package/dist/collection/components/x-time-picker/time-picker-dropdown-content/time-picker-dropdown-content.css +409 -0
  738. package/dist/collection/components/x-time-picker/time-picker-dropdown-content/time-picker-dropdown-content.js +855 -0
  739. package/dist/collection/components/x-time-picker/time-picker-dropdown-content/types.js +1 -0
  740. package/dist/collection/components/x-time-picker/types.js +1 -0
  741. package/dist/collection/components/x-time-picker/x-time-picker.css +653 -0
  742. package/dist/collection/components/x-time-picker/x-time-picker.js +1454 -0
  743. package/dist/collection/components/x-timeline/x-timeline.css +404 -0
  744. package/dist/collection/components/x-timeline/x-timeline.js +129 -0
  745. package/dist/collection/components/x-timeline-item/x-timeline-item.css +400 -0
  746. package/dist/collection/components/x-timeline-item/x-timeline-item.js +125 -0
  747. package/dist/collection/components/x-tooltip/types.js +1 -0
  748. package/dist/collection/components/x-tooltip/x-tooltip.css +528 -0
  749. package/dist/collection/components/x-tooltip/x-tooltip.js +1006 -0
  750. package/dist/collection/components/x-tooltip-content/index.js +1 -0
  751. package/dist/collection/components/x-tooltip-content/types.js +1 -0
  752. package/dist/collection/components/x-tooltip-content/x-tooltip-content.css +217 -0
  753. package/dist/collection/components/x-tooltip-content/x-tooltip-content.js +238 -0
  754. package/dist/collection/components/x-tour/index.js +1 -0
  755. package/dist/collection/components/x-tour/types.js +1 -0
  756. package/dist/collection/components/x-tour/x-tour-panel.css +467 -0
  757. package/dist/collection/components/x-tour/x-tour-panel.js +265 -0
  758. package/dist/collection/components/x-tour/x-tour.css +353 -0
  759. package/dist/collection/components/x-tour/x-tour.js +555 -0
  760. package/dist/collection/components/x-transfer/types.js +1 -0
  761. package/dist/collection/components/x-transfer/x-transfer.css +626 -0
  762. package/dist/collection/components/x-transfer/x-transfer.js +956 -0
  763. package/dist/collection/components/x-tree/types.js +1 -0
  764. package/dist/collection/components/x-tree/x-tree.css +703 -0
  765. package/dist/collection/components/x-tree/x-tree.js +1793 -0
  766. package/dist/collection/components/x-tree-select/tree-select-dropdown-content/index.js +2 -0
  767. package/dist/collection/components/x-tree-select/tree-select-dropdown-content/tree-select-dropdown-content.css +635 -0
  768. package/dist/collection/components/x-tree-select/tree-select-dropdown-content/tree-select-dropdown-content.js +890 -0
  769. package/dist/collection/components/x-tree-select/tree-select-dropdown-content/types.js +1 -0
  770. package/dist/collection/components/x-tree-select/types.js +2 -0
  771. package/dist/collection/components/x-tree-select/x-tree-select.css +790 -0
  772. package/dist/collection/components/x-tree-select/x-tree-select.js +2750 -0
  773. package/dist/collection/components/x-typography/x-typography.css +409 -0
  774. package/dist/collection/components/x-typography/x-typography.js +431 -0
  775. package/dist/collection/components/x-upload/types.js +1 -0
  776. package/dist/collection/components/x-upload/x-upload.css +774 -0
  777. package/dist/collection/components/x-upload/x-upload.js +1452 -0
  778. package/dist/collection/components/x-virtual-scroll/x-virtual-scroll.css +79 -0
  779. package/dist/collection/components/x-virtual-scroll/x-virtual-scroll.js +478 -0
  780. package/dist/collection/components/x-workflow/x-workflow.css +486 -0
  781. package/dist/collection/components/x-workflow/x-workflow.js +1403 -0
  782. package/dist/collection/components/x-workflow-builder/x-workflow-builder.css +538 -0
  783. package/dist/collection/components/x-workflow-builder/x-workflow-builder.js +468 -0
  784. package/dist/collection/index.js +5 -0
  785. package/dist/collection/locales/index.js +2 -0
  786. package/dist/collection/locales/languages/ar_EG.js +120 -0
  787. package/dist/collection/locales/languages/az_AZ.js +120 -0
  788. package/dist/collection/locales/languages/bg_BG.js +120 -0
  789. package/dist/collection/locales/languages/bn_BD.js +120 -0
  790. package/dist/collection/locales/languages/by_BY.js +120 -0
  791. package/dist/collection/locales/languages/ca_ES.js +120 -0
  792. package/dist/collection/locales/languages/cs_CZ.js +120 -0
  793. package/dist/collection/locales/languages/da_DK.js +120 -0
  794. package/dist/collection/locales/languages/de_DE.js +120 -0
  795. package/dist/collection/locales/languages/el_GR.js +120 -0
  796. package/dist/collection/locales/languages/en_AU.js +120 -0
  797. package/dist/collection/locales/languages/en_GB.js +120 -0
  798. package/dist/collection/locales/languages/en_US.js +120 -0
  799. package/dist/collection/locales/languages/es_ES.js +120 -0
  800. package/dist/collection/locales/languages/et_EE.js +120 -0
  801. package/dist/collection/locales/languages/fa_IR.js +120 -0
  802. package/dist/collection/locales/languages/fi_FI.js +120 -0
  803. package/dist/collection/locales/languages/fr_BE.js +120 -0
  804. package/dist/collection/locales/languages/fr_CA.js +120 -0
  805. package/dist/collection/locales/languages/fr_FR.js +120 -0
  806. package/dist/collection/locales/languages/ga_IE.js +120 -0
  807. package/dist/collection/locales/languages/gl_ES.js +120 -0
  808. package/dist/collection/locales/languages/he_IL.js +120 -0
  809. package/dist/collection/locales/languages/hi_IN.js +120 -0
  810. package/dist/collection/locales/languages/hr_HR.js +120 -0
  811. package/dist/collection/locales/languages/hu_HU.js +120 -0
  812. package/dist/collection/locales/languages/hy_AM.js +120 -0
  813. package/dist/collection/locales/languages/id_ID.js +120 -0
  814. package/dist/collection/locales/languages/index.js +137 -0
  815. package/dist/collection/locales/languages/is_IS.js +120 -0
  816. package/dist/collection/locales/languages/it_IT.js +120 -0
  817. package/dist/collection/locales/languages/ja_JP.js +120 -0
  818. package/dist/collection/locales/languages/ka_GE.js +120 -0
  819. package/dist/collection/locales/languages/kk_KZ.js +120 -0
  820. package/dist/collection/locales/languages/km_KH.js +120 -0
  821. package/dist/collection/locales/languages/kmr_IQ.js +120 -0
  822. package/dist/collection/locales/languages/kn_IN.js +120 -0
  823. package/dist/collection/locales/languages/ko_KR.js +120 -0
  824. package/dist/collection/locales/languages/ku_IQ.js +120 -0
  825. package/dist/collection/locales/languages/lt_LT.js +120 -0
  826. package/dist/collection/locales/languages/lv_LV.js +120 -0
  827. package/dist/collection/locales/languages/mk_MK.js +120 -0
  828. package/dist/collection/locales/languages/ml_IN.js +120 -0
  829. package/dist/collection/locales/languages/mn_MN.js +120 -0
  830. package/dist/collection/locales/languages/ms_MY.js +120 -0
  831. package/dist/collection/locales/languages/nb_NO.js +120 -0
  832. package/dist/collection/locales/languages/ne_NP.js +120 -0
  833. package/dist/collection/locales/languages/nl_BE.js +120 -0
  834. package/dist/collection/locales/languages/nl_NL.js +120 -0
  835. package/dist/collection/locales/languages/pl_PL.js +120 -0
  836. package/dist/collection/locales/languages/pt_BR.js +120 -0
  837. package/dist/collection/locales/languages/pt_PT.js +120 -0
  838. package/dist/collection/locales/languages/ro_RO.js +120 -0
  839. package/dist/collection/locales/languages/ru_RU.js +120 -0
  840. package/dist/collection/locales/languages/sk_SK.js +120 -0
  841. package/dist/collection/locales/languages/sl_SI.js +120 -0
  842. package/dist/collection/locales/languages/sr_RS.js +120 -0
  843. package/dist/collection/locales/languages/sv_SE.js +120 -0
  844. package/dist/collection/locales/languages/ta_IN.js +120 -0
  845. package/dist/collection/locales/languages/th_TH.js +120 -0
  846. package/dist/collection/locales/languages/tr_TR.js +120 -0
  847. package/dist/collection/locales/languages/uk_UA.js +120 -0
  848. package/dist/collection/locales/languages/ur_PK.js +120 -0
  849. package/dist/collection/locales/languages/vi_VN.js +120 -0
  850. package/dist/collection/locales/languages/zh_CN.js +120 -0
  851. package/dist/collection/locales/languages/zh_HK.js +120 -0
  852. package/dist/collection/locales/languages/zh_TW.js +120 -0
  853. package/dist/collection/locales/locale.service.js +179 -0
  854. package/dist/collection/types.js +11 -0
  855. package/dist/collection/utils/app-service.js +19 -0
  856. package/dist/collection/utils/cascader.service.js +142 -0
  857. package/dist/collection/utils/config.js +59 -0
  858. package/dist/collection/utils/form/core/abstract-control.js +273 -0
  859. package/dist/collection/utils/form/core/form-array.js +131 -0
  860. package/dist/collection/utils/form/core/form-builder.js +56 -0
  861. package/dist/collection/utils/form/core/form-control.js +69 -0
  862. package/dist/collection/utils/form/core/form-group.js +163 -0
  863. package/dist/collection/utils/form/frameworks.js +37 -0
  864. package/dist/collection/utils/form/types.js +1 -0
  865. package/dist/collection/utils/form/validators/validators.js +198 -0
  866. package/dist/collection/utils/index.js +3 -0
  867. package/dist/collection/utils/qr-code/cache/qr.cache.js +20 -0
  868. package/dist/collection/utils/qr-code/engine/qr.engine.js +130 -0
  869. package/dist/collection/utils/qr-code/engine/qr.gf.js +22 -0
  870. package/dist/collection/utils/qr-code/engine/qr.mask.js +54 -0
  871. package/dist/collection/utils/qr-code/engine/qr.rs.js +29 -0
  872. package/dist/collection/utils/qr-code/engine/qr.util.js +0 -0
  873. package/dist/collection/utils/qr-code/engine/qr.version.js +11 -0
  874. package/dist/collection/utils/qr-code/renderer/canvas.renderer.js +36 -0
  875. package/dist/collection/utils/qr-code/renderer/svg.renderer.js +33 -0
  876. package/dist/collection/utils/qr-code/worker/worker.manager.js +24 -0
  877. package/dist/collection/utils/table.service.js +150 -0
  878. package/dist/collection/utils/tree.service.js +335 -0
  879. package/dist/collection/utils/workflow/flow.service.js +382 -0
  880. package/dist/collection/utils/workflow/types.js +1 -0
  881. package/dist/esm/abstract-control-XBF88YT_.js +275 -0
  882. package/dist/esm/config-BPeosvTA.js +60 -0
  883. package/dist/esm/index-ig_mFsVk.js +2159 -0
  884. package/dist/esm/index.js +5 -0
  885. package/dist/esm/loader.js +10 -0
  886. package/dist/esm/locale.service-D66tF8_2.js +8199 -0
  887. package/dist/esm/modal-service-C_e0SaFZ.js +397 -0
  888. package/dist/esm/notification-service-DJTSPOq7.js +599 -0
  889. package/dist/esm/portal-controller-COpzIi1n.js +499 -0
  890. package/dist/esm/schema-builder-DBPGgJBx.js +1502 -0
  891. package/dist/esm/tree.service-Dgxy93Bg.js +337 -0
  892. package/dist/esm/types-C_QdJRdB.js +253 -0
  893. package/dist/esm/x-address_14.entry.js +12562 -0
  894. package/dist/esm/x-affix.entry.js +180 -0
  895. package/dist/esm/x-alert_11.entry.js +3227 -0
  896. package/dist/esm/x-anchor-link.entry.js +65 -0
  897. package/dist/esm/x-anchor.entry.js +156 -0
  898. package/dist/esm/x-app.entry.js +135 -0
  899. package/dist/esm/x-auto-complete-dropdown-content.entry.js +67 -0
  900. package/dist/esm/x-avatar.entry.js +267 -0
  901. package/dist/esm/x-back-top.entry.js +87 -0
  902. package/dist/esm/x-breadcrumb_5.entry.js +1548 -0
  903. package/dist/esm/x-button.entry.js +172 -0
  904. package/dist/esm/x-card_12.entry.js +1373 -0
  905. package/dist/esm/x-carousel.entry.js +145 -0
  906. package/dist/esm/x-cascader-dropdown-content.entry.js +362 -0
  907. package/dist/esm/x-checkbox_5.entry.js +1370 -0
  908. package/dist/esm/x-collapse-panel.entry.js +241 -0
  909. package/dist/esm/x-collapse.entry.js +289 -0
  910. package/dist/esm/x-color-picker-panel_2.entry.js +870 -0
  911. package/dist/esm/x-color-picker_9.entry.js +3075 -0
  912. package/dist/esm/x-comment.entry.js +187 -0
  913. package/dist/esm/x-date-picker-dropdown-content.entry.js +755 -0
  914. package/dist/esm/x-descriptions-item.entry.js +106 -0
  915. package/dist/esm/x-drawer-content.entry.js +195 -0
  916. package/dist/esm/x-drawer.entry.js +292 -0
  917. package/dist/esm/x-dropdown_2.entry.js +732 -0
  918. package/dist/esm/x-empty.entry.js +62 -0
  919. package/dist/esm/x-finder.entry.js +645 -0
  920. package/dist/esm/x-form-builder.entry.js +805 -0
  921. package/dist/esm/x-icon.entry.js +142 -0
  922. package/dist/esm/x-infinite-scroll.entry.js +127 -0
  923. package/dist/esm/x-list-item.entry.js +25 -0
  924. package/dist/esm/x-list.entry.js +136 -0
  925. package/dist/esm/x-mentions.entry.js +273 -0
  926. package/dist/esm/x-menu-divider.entry.js +47 -0
  927. package/dist/esm/x-menu-item-group.entry.js +147 -0
  928. package/dist/esm/x-menu-submenu.entry.js +371 -0
  929. package/dist/esm/x-message.entry.js +217 -0
  930. package/dist/esm/x-modal-content.entry.js +215 -0
  931. package/dist/esm/x-notification.entry.js +323 -0
  932. package/dist/esm/x-page-header.entry.js +65 -0
  933. package/dist/esm/x-popconfirm-content.entry.js +70 -0
  934. package/dist/esm/x-popconfirm.entry.js +179 -0
  935. package/dist/esm/x-progress.entry.js +134 -0
  936. package/dist/esm/x-qr-code.entry.js +444 -0
  937. package/dist/esm/x-range-picker-dropdown-content.entry.js +819 -0
  938. package/dist/esm/x-select_2.entry.js +1313 -0
  939. package/dist/esm/x-skeleton.entry.js +73 -0
  940. package/dist/esm/x-spin.entry.js +60 -0
  941. package/dist/esm/x-splitter-panel.entry.js +89 -0
  942. package/dist/esm/x-splitter.entry.js +610 -0
  943. package/dist/esm/x-statistic.entry.js +102 -0
  944. package/dist/esm/x-step.entry.js +177 -0
  945. package/dist/esm/x-steps.entry.js +437 -0
  946. package/dist/esm/x-tab-pane.entry.js +71 -0
  947. package/dist/esm/x-table-cell.entry.js +43 -0
  948. package/dist/esm/x-table-row.entry.js +83 -0
  949. package/dist/esm/x-tabs.entry.js +607 -0
  950. package/dist/esm/x-time-picker-dropdown-content.entry.js +387 -0
  951. package/dist/esm/x-timeline-item.entry.js +48 -0
  952. package/dist/esm/x-timeline.entry.js +50 -0
  953. package/dist/esm/x-tour-panel.entry.js +87 -0
  954. package/dist/esm/x-tour.entry.js +342 -0
  955. package/dist/esm/x-tree-select-dropdown-content.entry.js +437 -0
  956. package/dist/esm/x-virtual-scroll.entry.js +201 -0
  957. package/dist/esm/x-workflow-builder.entry.js +364 -0
  958. package/dist/esm/xlabs-store.js +20 -0
  959. package/dist/index.cjs.js +1 -0
  960. package/dist/index.js +1 -0
  961. package/dist/types/components/x-address/vietnam-data.d.ts +14 -0
  962. package/dist/types/components/x-address/x-address.d.ts +64 -0
  963. package/dist/types/components/x-affix/x-affix.d.ts +111 -0
  964. package/dist/types/components/x-alert/x-alert.d.ts +74 -0
  965. package/dist/types/components/x-anchor/x-anchor.d.ts +120 -0
  966. package/dist/types/components/x-anchor-link/x-anchor-link.d.ts +47 -0
  967. package/dist/types/components/x-app/x-app.d.ts +93 -0
  968. package/dist/types/components/x-auto-complete/auto-complete-dropdown-content/auto-complete-dropdown-content.d.ts +58 -0
  969. package/dist/types/components/x-auto-complete/auto-complete-dropdown-content/index.d.ts +2 -0
  970. package/dist/types/components/x-auto-complete/auto-complete-dropdown-content/types.d.ts +14 -0
  971. package/dist/types/components/x-auto-complete/types.d.ts +150 -0
  972. package/dist/types/components/x-auto-complete/x-auto-complete.d.ts +480 -0
  973. package/dist/types/components/x-avatar/types.d.ts +38 -0
  974. package/dist/types/components/x-avatar/x-avatar.d.ts +171 -0
  975. package/dist/types/components/x-back-top/x-back-top.d.ts +59 -0
  976. package/dist/types/components/x-badge/types.d.ts +23 -0
  977. package/dist/types/components/x-badge/x-badge.d.ts +184 -0
  978. package/dist/types/components/x-breadcrumb/x-breadcrumb.d.ts +43 -0
  979. package/dist/types/components/x-breadcrumb-item/x-breadcrumb-item.d.ts +43 -0
  980. package/dist/types/components/x-button/x-button.d.ts +121 -0
  981. package/dist/types/components/x-captcha/x-captcha.d.ts +78 -0
  982. package/dist/types/components/x-card/x-card.d.ts +139 -0
  983. package/dist/types/components/x-carousel/x-carousel.d.ts +104 -0
  984. package/dist/types/components/x-cascader/cascader-dropdown-content/cascader-dropdown-content.d.ts +255 -0
  985. package/dist/types/components/x-cascader/cascader-dropdown-content/index.d.ts +2 -0
  986. package/dist/types/components/x-cascader/cascader-dropdown-content/types.d.ts +20 -0
  987. package/dist/types/components/x-cascader/types.d.ts +143 -0
  988. package/dist/types/components/x-cascader/x-cascader.d.ts +520 -0
  989. package/dist/types/components/x-checkbox/types.d.ts +83 -0
  990. package/dist/types/components/x-checkbox/x-checkbox.d.ts +156 -0
  991. package/dist/types/components/x-col/x-col.d.ts +89 -0
  992. package/dist/types/components/x-collapse/types.d.ts +55 -0
  993. package/dist/types/components/x-collapse/x-collapse.d.ts +157 -0
  994. package/dist/types/components/x-collapse-panel/x-collapse-panel.d.ts +143 -0
  995. package/dist/types/components/x-color-picker/types.d.ts +135 -0
  996. package/dist/types/components/x-color-picker/x-color-picker-panel.d.ts +80 -0
  997. package/dist/types/components/x-color-picker/x-color-picker.d.ts +328 -0
  998. package/dist/types/components/x-comment/types.d.ts +20 -0
  999. package/dist/types/components/x-comment/x-comment.d.ts +111 -0
  1000. package/dist/types/components/x-content/types.d.ts +6 -0
  1001. package/dist/types/components/x-content/x-content.d.ts +64 -0
  1002. package/dist/types/components/x-date-picker/date-picker-dropdown-content/date-picker-dropdown-content.d.ts +376 -0
  1003. package/dist/types/components/x-date-picker/date-picker-dropdown-content/index.d.ts +2 -0
  1004. package/dist/types/components/x-date-picker/date-picker-dropdown-content/types.d.ts +61 -0
  1005. package/dist/types/components/x-date-picker/types.d.ts +28 -0
  1006. package/dist/types/components/x-date-picker/x-date-picker.d.ts +512 -0
  1007. package/dist/types/components/x-descriptions/types.d.ts +41 -0
  1008. package/dist/types/components/x-descriptions/x-descriptions.d.ts +141 -0
  1009. package/dist/types/components/x-descriptions-item/x-descriptions-item.d.ts +70 -0
  1010. package/dist/types/components/x-divider/x-divider.d.ts +82 -0
  1011. package/dist/types/components/x-drawer/x-drawer.d.ts +156 -0
  1012. package/dist/types/components/x-drawer-content/x-drawer-content.d.ts +142 -0
  1013. package/dist/types/components/x-dropdown/dropdown-content/dropdown-content.d.ts +83 -0
  1014. package/dist/types/components/x-dropdown/dropdown-content/types.d.ts +16 -0
  1015. package/dist/types/components/x-dropdown/types.d.ts +119 -0
  1016. package/dist/types/components/x-dropdown/x-dropdown.d.ts +292 -0
  1017. package/dist/types/components/x-editor/editor-history.d.ts +62 -0
  1018. package/dist/types/components/x-editor/editor-normalizer.d.ts +70 -0
  1019. package/dist/types/components/x-editor/editor-parser.d.ts +34 -0
  1020. package/dist/types/components/x-editor/editor-selection.d.ts +92 -0
  1021. package/dist/types/components/x-editor/types.d.ts +62 -0
  1022. package/dist/types/components/x-editor/x-editor.d.ts +279 -0
  1023. package/dist/types/components/x-empty/x-empty.d.ts +45 -0
  1024. package/dist/types/components/x-finder/services/finder-service.d.ts +38 -0
  1025. package/dist/types/components/x-finder/types.d.ts +63 -0
  1026. package/dist/types/components/x-finder/x-finder.d.ts +66 -0
  1027. package/dist/types/components/x-flex/x-flex.d.ts +62 -0
  1028. package/dist/types/components/x-float-button/x-float-button.d.ts +66 -0
  1029. package/dist/types/components/x-footer/x-footer.d.ts +11 -0
  1030. package/dist/types/components/x-form/x-form.d.ts +64 -0
  1031. package/dist/types/components/x-form-builder/services/apis/api-client.d.ts +63 -0
  1032. package/dist/types/components/x-form-builder/services/constants/index.d.ts +2 -0
  1033. package/dist/types/components/x-form-builder/services/forms/abstract-control.d.ts +59 -0
  1034. package/dist/types/components/x-form-builder/services/forms/form-array.d.ts +25 -0
  1035. package/dist/types/components/x-form-builder/services/forms/form-builder.d.ts +17 -0
  1036. package/dist/types/components/x-form-builder/services/forms/form-control.d.ts +14 -0
  1037. package/dist/types/components/x-form-builder/services/forms/form-group.d.ts +33 -0
  1038. package/dist/types/components/x-form-builder/services/forms/index.d.ts +11 -0
  1039. package/dist/types/components/x-form-builder/services/forms/types.d.ts +11 -0
  1040. package/dist/types/components/x-form-builder/services/forms/validators.d.ts +16 -0
  1041. package/dist/types/components/x-form-builder/services/schema/condition-builder.d.ts +39 -0
  1042. package/dist/types/components/x-form-builder/services/schema/default-registry.d.ts +1 -0
  1043. package/dist/types/components/x-form-builder/services/schema/form-mapping.d.ts +26 -0
  1044. package/dist/types/components/x-form-builder/services/schema/form-registry.d.ts +27 -0
  1045. package/dist/types/components/x-form-builder/services/schema/schema-actions.d.ts +3 -0
  1046. package/dist/types/components/x-form-builder/services/schema/schema-builder.d.ts +19 -0
  1047. package/dist/types/components/x-form-builder/services/schema/schema-validator.d.ts +9 -0
  1048. package/dist/types/components/x-form-builder/types/api/api-common-types.d.ts +5 -0
  1049. package/dist/types/components/x-form-builder/types/api/api-interfaces.d.ts +52 -0
  1050. package/dist/types/components/x-form-builder/types/api/index.d.ts +2 -0
  1051. package/dist/types/components/x-form-builder/types/common/common-types.d.ts +49 -0
  1052. package/dist/types/components/x-form-builder/types/common/condition-types.d.ts +53 -0
  1053. package/dist/types/components/x-form-builder/types/common/field-types-enum.d.ts +2 -0
  1054. package/dist/types/components/x-form-builder/types/common/index.d.ts +7 -0
  1055. package/dist/types/components/x-form-builder/types/common/shared-interfaces.d.ts +37 -0
  1056. package/dist/types/components/x-form-builder/types/common/validation-types.d.ts +36 -0
  1057. package/dist/types/components/x-form-builder/types/common/value-types.d.ts +15 -0
  1058. package/dist/types/components/x-form-builder/types/event/event-types.d.ts +16 -0
  1059. package/dist/types/components/x-form-builder/types/event/index.d.ts +1 -0
  1060. package/dist/types/components/x-form-builder/types/fields/advanced-fields.d.ts +125 -0
  1061. package/dist/types/components/x-form-builder/types/fields/base-field.d.ts +49 -0
  1062. package/dist/types/components/x-form-builder/types/fields/datetime-file-fields.d.ts +37 -0
  1063. package/dist/types/components/x-form-builder/types/fields/display-fields.d.ts +92 -0
  1064. package/dist/types/components/x-form-builder/types/fields/form-field-union.d.ts +9 -0
  1065. package/dist/types/components/x-form-builder/types/fields/index.d.ts +9 -0
  1066. package/dist/types/components/x-form-builder/types/fields/input-fields.d.ts +53 -0
  1067. package/dist/types/components/x-form-builder/types/fields/layout-fields.d.ts +55 -0
  1068. package/dist/types/components/x-form-builder/types/fields/selection-fields.d.ts +130 -0
  1069. package/dist/types/components/x-form-builder/types/fields/special-input-fields.d.ts +99 -0
  1070. package/dist/types/components/x-form-builder/types/form/events-types.d.ts +29 -0
  1071. package/dist/types/components/x-form-builder/types/form/form-config.d.ts +0 -0
  1072. package/dist/types/components/x-form-builder/types/form/index.d.ts +2 -0
  1073. package/dist/types/components/x-form-builder/types/form/schema-types.d.ts +134 -0
  1074. package/dist/types/components/x-form-builder/types/index.d.ts +4 -0
  1075. package/dist/types/components/x-form-builder/utils/condition-engine.d.ts +23 -0
  1076. package/dist/types/components/x-form-builder/utils/utils.d.ts +19 -0
  1077. package/dist/types/components/x-form-builder/utils/values.d.ts +8 -0
  1078. package/dist/types/components/x-form-builder/x-form-builder.d.ts +65 -0
  1079. package/dist/types/components/x-form-item/x-form-item.d.ts +94 -0
  1080. package/dist/types/components/x-header/x-header.d.ts +11 -0
  1081. package/dist/types/components/x-icon/icons.d.ts +2717 -0
  1082. package/dist/types/components/x-icon/x-icon.d.ts +89 -0
  1083. package/dist/types/components/x-image/types.d.ts +94 -0
  1084. package/dist/types/components/x-image/x-image.d.ts +150 -0
  1085. package/dist/types/components/x-infinite-scroll/x-infinite-scroll.d.ts +75 -0
  1086. package/dist/types/components/x-input/types.d.ts +14 -0
  1087. package/dist/types/components/x-input/x-input.d.ts +385 -0
  1088. package/dist/types/components/x-input-number/types.d.ts +98 -0
  1089. package/dist/types/components/x-input-number/x-input-number.d.ts +395 -0
  1090. package/dist/types/components/x-layout/x-layout.d.ts +61 -0
  1091. package/dist/types/components/x-list/x-list.d.ts +100 -0
  1092. package/dist/types/components/x-list-item/x-list-item.d.ts +13 -0
  1093. package/dist/types/components/x-mentions/types.d.ts +7 -0
  1094. package/dist/types/components/x-mentions/x-mentions.d.ts +159 -0
  1095. package/dist/types/components/x-menu/types.d.ts +83 -0
  1096. package/dist/types/components/x-menu/x-menu.d.ts +153 -0
  1097. package/dist/types/components/x-menu-divider/types.d.ts +6 -0
  1098. package/dist/types/components/x-menu-divider/x-menu-divider.d.ts +19 -0
  1099. package/dist/types/components/x-menu-item/types.d.ts +8 -0
  1100. package/dist/types/components/x-menu-item/x-menu-item.d.ts +80 -0
  1101. package/dist/types/components/x-menu-item-group/types.d.ts +6 -0
  1102. package/dist/types/components/x-menu-item-group/x-menu-item-group.d.ts +60 -0
  1103. package/dist/types/components/x-menu-submenu/types.d.ts +15 -0
  1104. package/dist/types/components/x-menu-submenu/x-menu-submenu.d.ts +135 -0
  1105. package/dist/types/components/x-message/message-service.d.ts +58 -0
  1106. package/dist/types/components/x-message/types.d.ts +90 -0
  1107. package/dist/types/components/x-message/x-message.d.ts +133 -0
  1108. package/dist/types/components/x-modal/modal-service.d.ts +6 -0
  1109. package/dist/types/components/x-modal/modal-service.types.d.ts +278 -0
  1110. package/dist/types/components/x-modal/x-modal.d.ts +160 -0
  1111. package/dist/types/components/x-modal-content/index.d.ts +1 -0
  1112. package/dist/types/components/x-modal-content/types.d.ts +83 -0
  1113. package/dist/types/components/x-modal-content/x-modal-content.d.ts +174 -0
  1114. package/dist/types/components/x-notification/notification-service.d.ts +83 -0
  1115. package/dist/types/components/x-notification/types.d.ts +112 -0
  1116. package/dist/types/components/x-notification/x-notification.d.ts +212 -0
  1117. package/dist/types/components/x-page-header/x-page-header.d.ts +51 -0
  1118. package/dist/types/components/x-pagination/types.d.ts +104 -0
  1119. package/dist/types/components/x-pagination/x-pagination.d.ts +274 -0
  1120. package/dist/types/components/x-popconfirm/popconfirm-content/popconfirm-content.d.ts +62 -0
  1121. package/dist/types/components/x-popconfirm/x-popconfirm.d.ts +97 -0
  1122. package/dist/types/components/x-popover/popover-content/popover-content.d.ts +71 -0
  1123. package/dist/types/components/x-popover/x-popover.d.ts +99 -0
  1124. package/dist/types/components/x-portal/debug.d.ts +5 -0
  1125. package/dist/types/components/x-portal/index.d.ts +2 -0
  1126. package/dist/types/components/x-portal/portal-controller.d.ts +20 -0
  1127. package/dist/types/components/x-portal/positioning.d.ts +102 -0
  1128. package/dist/types/components/x-portal/types.d.ts +43 -0
  1129. package/dist/types/components/x-portal/x-portal.d.ts +19 -0
  1130. package/dist/types/components/x-progress/x-progress.d.ts +85 -0
  1131. package/dist/types/components/x-qr-code/x-qr-code.d.ts +26 -0
  1132. package/dist/types/components/x-radio/types.d.ts +94 -0
  1133. package/dist/types/components/x-radio/x-radio.d.ts +186 -0
  1134. package/dist/types/components/x-radio-group/types.d.ts +20 -0
  1135. package/dist/types/components/x-radio-group/x-radio-group.d.ts +90 -0
  1136. package/dist/types/components/x-range-picker/range-picker-dropdown-content/index.d.ts +2 -0
  1137. package/dist/types/components/x-range-picker/range-picker-dropdown-content/range-picker-dropdown-content.d.ts +437 -0
  1138. package/dist/types/components/x-range-picker/range-picker-dropdown-content/types.d.ts +48 -0
  1139. package/dist/types/components/x-range-picker/types.d.ts +35 -0
  1140. package/dist/types/components/x-range-picker/x-range-picker.d.ts +457 -0
  1141. package/dist/types/components/x-rate/x-rate.d.ts +129 -0
  1142. package/dist/types/components/x-result/types.d.ts +45 -0
  1143. package/dist/types/components/x-result/x-result.d.ts +120 -0
  1144. package/dist/types/components/x-row/x-row.d.ts +44 -0
  1145. package/dist/types/components/x-segmented/types.d.ts +10 -0
  1146. package/dist/types/components/x-segmented/x-segmented.d.ts +128 -0
  1147. package/dist/types/components/x-select/select-dropdown-content/index.d.ts +2 -0
  1148. package/dist/types/components/x-select/select-dropdown-content/select-dropdown-content.d.ts +52 -0
  1149. package/dist/types/components/x-select/select-dropdown-content/types.d.ts +14 -0
  1150. package/dist/types/components/x-select/types.d.ts +41 -0
  1151. package/dist/types/components/x-select/x-select.d.ts +635 -0
  1152. package/dist/types/components/x-select-option/x-select-option.d.ts +51 -0
  1153. package/dist/types/components/x-sider/x-sider.d.ts +99 -0
  1154. package/dist/types/components/x-skeleton/x-skeleton.d.ts +54 -0
  1155. package/dist/types/components/x-slider/types.d.ts +1 -0
  1156. package/dist/types/components/x-slider/x-slider.d.ts +240 -0
  1157. package/dist/types/components/x-space/x-space.d.ts +54 -0
  1158. package/dist/types/components/x-spin/x-spin.d.ts +41 -0
  1159. package/dist/types/components/x-splitter/types.d.ts +41 -0
  1160. package/dist/types/components/x-splitter/x-splitter.d.ts +187 -0
  1161. package/dist/types/components/x-splitter-panel/types.d.ts +23 -0
  1162. package/dist/types/components/x-splitter-panel/x-splitter-panel.d.ts +67 -0
  1163. package/dist/types/components/x-statistic/x-statistic.d.ts +80 -0
  1164. package/dist/types/components/x-step/types.d.ts +14 -0
  1165. package/dist/types/components/x-step/x-step.d.ts +104 -0
  1166. package/dist/types/components/x-steps/types.d.ts +124 -0
  1167. package/dist/types/components/x-steps/x-steps.d.ts +270 -0
  1168. package/dist/types/components/x-switch/types.d.ts +5 -0
  1169. package/dist/types/components/x-switch/x-switch.d.ts +92 -0
  1170. package/dist/types/components/x-tab-pane/x-tab-pane.d.ts +55 -0
  1171. package/dist/types/components/x-table/column-util.d.ts +26 -0
  1172. package/dist/types/components/x-table/types.d.ts +386 -0
  1173. package/dist/types/components/x-table/x-table.d.ts +552 -0
  1174. package/dist/types/components/x-table-cell/x-table-cell.d.ts +27 -0
  1175. package/dist/types/components/x-table-row/x-table-row.d.ts +24 -0
  1176. package/dist/types/components/x-tabs/types.d.ts +190 -0
  1177. package/dist/types/components/x-tabs/x-tabs.d.ts +359 -0
  1178. package/dist/types/components/x-tag/types.d.ts +27 -0
  1179. package/dist/types/components/x-tag/x-tag.d.ts +148 -0
  1180. package/dist/types/components/x-textarea/x-textarea.d.ts +165 -0
  1181. package/dist/types/components/x-time-picker/time-picker-dropdown-content/index.d.ts +2 -0
  1182. package/dist/types/components/x-time-picker/time-picker-dropdown-content/time-picker-dropdown-content.d.ts +239 -0
  1183. package/dist/types/components/x-time-picker/time-picker-dropdown-content/types.d.ts +28 -0
  1184. package/dist/types/components/x-time-picker/types.d.ts +18 -0
  1185. package/dist/types/components/x-time-picker/x-time-picker.d.ts +378 -0
  1186. package/dist/types/components/x-timeline/x-timeline.d.ts +33 -0
  1187. package/dist/types/components/x-timeline-item/x-timeline-item.d.ts +33 -0
  1188. package/dist/types/components/x-tooltip/types.d.ts +53 -0
  1189. package/dist/types/components/x-tooltip/x-tooltip.d.ts +274 -0
  1190. package/dist/types/components/x-tooltip-content/index.d.ts +1 -0
  1191. package/dist/types/components/x-tooltip-content/types.d.ts +25 -0
  1192. package/dist/types/components/x-tooltip-content/x-tooltip-content.d.ts +57 -0
  1193. package/dist/types/components/x-tour/index.d.ts +1 -0
  1194. package/dist/types/components/x-tour/types.d.ts +71 -0
  1195. package/dist/types/components/x-tour/x-tour-panel.d.ts +73 -0
  1196. package/dist/types/components/x-tour/x-tour.d.ts +158 -0
  1197. package/dist/types/components/x-transfer/types.d.ts +89 -0
  1198. package/dist/types/components/x-transfer/x-transfer.d.ts +291 -0
  1199. package/dist/types/components/x-tree/types.d.ts +163 -0
  1200. package/dist/types/components/x-tree/x-tree.d.ts +406 -0
  1201. package/dist/types/components/x-tree-select/tree-select-dropdown-content/index.d.ts +2 -0
  1202. package/dist/types/components/x-tree-select/tree-select-dropdown-content/tree-select-dropdown-content.d.ts +268 -0
  1203. package/dist/types/components/x-tree-select/tree-select-dropdown-content/types.d.ts +24 -0
  1204. package/dist/types/components/x-tree-select/types.d.ts +100 -0
  1205. package/dist/types/components/x-tree-select/x-tree-select.d.ts +750 -0
  1206. package/dist/types/components/x-typography/x-typography.d.ts +89 -0
  1207. package/dist/types/components/x-upload/types.d.ts +177 -0
  1208. package/dist/types/components/x-upload/x-upload.d.ts +361 -0
  1209. package/dist/types/components/x-virtual-scroll/x-virtual-scroll.d.ts +127 -0
  1210. package/dist/types/components/x-workflow/x-workflow.d.ts +126 -0
  1211. package/dist/types/components/x-workflow-builder/x-workflow-builder.d.ts +69 -0
  1212. package/dist/types/components.d.ts +19048 -0
  1213. package/dist/types/index.d.ts +63 -0
  1214. package/dist/types/locales/index.d.ts +2 -0
  1215. package/dist/types/locales/languages/ar_EG.d.ts +119 -0
  1216. package/dist/types/locales/languages/az_AZ.d.ts +119 -0
  1217. package/dist/types/locales/languages/bg_BG.d.ts +119 -0
  1218. package/dist/types/locales/languages/bn_BD.d.ts +119 -0
  1219. package/dist/types/locales/languages/by_BY.d.ts +119 -0
  1220. package/dist/types/locales/languages/ca_ES.d.ts +119 -0
  1221. package/dist/types/locales/languages/cs_CZ.d.ts +119 -0
  1222. package/dist/types/locales/languages/da_DK.d.ts +119 -0
  1223. package/dist/types/locales/languages/de_DE.d.ts +119 -0
  1224. package/dist/types/locales/languages/el_GR.d.ts +119 -0
  1225. package/dist/types/locales/languages/en_AU.d.ts +119 -0
  1226. package/dist/types/locales/languages/en_GB.d.ts +119 -0
  1227. package/dist/types/locales/languages/en_US.d.ts +119 -0
  1228. package/dist/types/locales/languages/es_ES.d.ts +119 -0
  1229. package/dist/types/locales/languages/et_EE.d.ts +119 -0
  1230. package/dist/types/locales/languages/fa_IR.d.ts +119 -0
  1231. package/dist/types/locales/languages/fi_FI.d.ts +119 -0
  1232. package/dist/types/locales/languages/fr_BE.d.ts +119 -0
  1233. package/dist/types/locales/languages/fr_CA.d.ts +119 -0
  1234. package/dist/types/locales/languages/fr_FR.d.ts +119 -0
  1235. package/dist/types/locales/languages/ga_IE.d.ts +119 -0
  1236. package/dist/types/locales/languages/gl_ES.d.ts +119 -0
  1237. package/dist/types/locales/languages/he_IL.d.ts +119 -0
  1238. package/dist/types/locales/languages/hi_IN.d.ts +119 -0
  1239. package/dist/types/locales/languages/hr_HR.d.ts +119 -0
  1240. package/dist/types/locales/languages/hu_HU.d.ts +119 -0
  1241. package/dist/types/locales/languages/hy_AM.d.ts +119 -0
  1242. package/dist/types/locales/languages/id_ID.d.ts +119 -0
  1243. package/dist/types/locales/languages/index.d.ts +13 -0
  1244. package/dist/types/locales/languages/is_IS.d.ts +119 -0
  1245. package/dist/types/locales/languages/it_IT.d.ts +119 -0
  1246. package/dist/types/locales/languages/ja_JP.d.ts +119 -0
  1247. package/dist/types/locales/languages/ka_GE.d.ts +119 -0
  1248. package/dist/types/locales/languages/kk_KZ.d.ts +119 -0
  1249. package/dist/types/locales/languages/km_KH.d.ts +119 -0
  1250. package/dist/types/locales/languages/kmr_IQ.d.ts +119 -0
  1251. package/dist/types/locales/languages/kn_IN.d.ts +119 -0
  1252. package/dist/types/locales/languages/ko_KR.d.ts +119 -0
  1253. package/dist/types/locales/languages/ku_IQ.d.ts +119 -0
  1254. package/dist/types/locales/languages/lt_LT.d.ts +119 -0
  1255. package/dist/types/locales/languages/lv_LV.d.ts +119 -0
  1256. package/dist/types/locales/languages/mk_MK.d.ts +119 -0
  1257. package/dist/types/locales/languages/ml_IN.d.ts +119 -0
  1258. package/dist/types/locales/languages/mn_MN.d.ts +119 -0
  1259. package/dist/types/locales/languages/ms_MY.d.ts +119 -0
  1260. package/dist/types/locales/languages/nb_NO.d.ts +119 -0
  1261. package/dist/types/locales/languages/ne_NP.d.ts +119 -0
  1262. package/dist/types/locales/languages/nl_BE.d.ts +119 -0
  1263. package/dist/types/locales/languages/nl_NL.d.ts +119 -0
  1264. package/dist/types/locales/languages/pl_PL.d.ts +119 -0
  1265. package/dist/types/locales/languages/pt_BR.d.ts +119 -0
  1266. package/dist/types/locales/languages/pt_PT.d.ts +119 -0
  1267. package/dist/types/locales/languages/ro_RO.d.ts +119 -0
  1268. package/dist/types/locales/languages/ru_RU.d.ts +119 -0
  1269. package/dist/types/locales/languages/sk_SK.d.ts +119 -0
  1270. package/dist/types/locales/languages/sl_SI.d.ts +119 -0
  1271. package/dist/types/locales/languages/sr_RS.d.ts +119 -0
  1272. package/dist/types/locales/languages/sv_SE.d.ts +119 -0
  1273. package/dist/types/locales/languages/ta_IN.d.ts +119 -0
  1274. package/dist/types/locales/languages/th_TH.d.ts +119 -0
  1275. package/dist/types/locales/languages/tr_TR.d.ts +119 -0
  1276. package/dist/types/locales/languages/uk_UA.d.ts +119 -0
  1277. package/dist/types/locales/languages/ur_PK.d.ts +119 -0
  1278. package/dist/types/locales/languages/vi_VN.d.ts +119 -0
  1279. package/dist/types/locales/languages/zh_CN.d.ts +119 -0
  1280. package/dist/types/locales/languages/zh_HK.d.ts +119 -0
  1281. package/dist/types/locales/languages/zh_TW.d.ts +119 -0
  1282. package/dist/types/locales/locale.service.d.ts +93 -0
  1283. package/dist/types/stencil-public-runtime.d.ts +1860 -0
  1284. package/dist/types/types.d.ts +59 -0
  1285. package/dist/types/utils/app-service.d.ts +20 -0
  1286. package/dist/types/utils/cascader.service.d.ts +45 -0
  1287. package/dist/types/utils/config.d.ts +47 -0
  1288. package/dist/types/utils/form/core/abstract-control.d.ts +121 -0
  1289. package/dist/types/utils/form/core/form-array.d.ts +51 -0
  1290. package/dist/types/utils/form/core/form-builder.d.ts +45 -0
  1291. package/dist/types/utils/form/core/form-control.d.ts +37 -0
  1292. package/dist/types/utils/form/core/form-group.d.ts +63 -0
  1293. package/dist/types/utils/form/frameworks.d.ts +18 -0
  1294. package/dist/types/utils/form/types.d.ts +8 -0
  1295. package/dist/types/utils/form/validators/validators.d.ts +39 -0
  1296. package/dist/types/utils/index.d.ts +10 -0
  1297. package/dist/types/utils/qr-code/cache/qr.cache.d.ts +7 -0
  1298. package/dist/types/utils/qr-code/engine/qr.engine.d.ts +15 -0
  1299. package/dist/types/utils/qr-code/engine/qr.gf.d.ts +4 -0
  1300. package/dist/types/utils/qr-code/engine/qr.mask.d.ts +2 -0
  1301. package/dist/types/utils/qr-code/engine/qr.rs.d.ts +1 -0
  1302. package/dist/types/utils/qr-code/engine/qr.util.d.ts +0 -0
  1303. package/dist/types/utils/qr-code/engine/qr.version.d.ts +16 -0
  1304. package/dist/types/utils/qr-code/renderer/canvas.renderer.d.ts +6 -0
  1305. package/dist/types/utils/qr-code/renderer/svg.renderer.d.ts +7 -0
  1306. package/dist/types/utils/qr-code/worker/worker.manager.d.ts +12 -0
  1307. package/dist/types/utils/table.service.d.ts +48 -0
  1308. package/dist/types/utils/tree.service.d.ts +85 -0
  1309. package/dist/types/utils/workflow/flow.service.d.ts +61 -0
  1310. package/dist/types/utils/workflow/types.d.ts +120 -0
  1311. package/dist/xlabs-store/fonts/xlabs-outlined.woff2 +0 -0
  1312. package/dist/xlabs-store/fonts/xlabs-rounded.woff2 +0 -0
  1313. package/dist/xlabs-store/fonts/xlabs-solided.woff2 +0 -0
  1314. package/dist/xlabs-store/index.esm.js +1 -0
  1315. package/dist/xlabs-store/p-016194dc.entry.js +1 -0
  1316. package/dist/xlabs-store/p-023259c9.entry.js +1 -0
  1317. package/dist/xlabs-store/p-04a3721a.entry.js +1 -0
  1318. package/dist/xlabs-store/p-072445b7.entry.js +1 -0
  1319. package/dist/xlabs-store/p-0ec21454.entry.js +1 -0
  1320. package/dist/xlabs-store/p-12b6a843.entry.js +1 -0
  1321. package/dist/xlabs-store/p-1a81cf09.entry.js +1 -0
  1322. package/dist/xlabs-store/p-1b019aeb.entry.js +1 -0
  1323. package/dist/xlabs-store/p-262a0673.entry.js +1 -0
  1324. package/dist/xlabs-store/p-34cce823.entry.js +1 -0
  1325. package/dist/xlabs-store/p-3a9fdefe.entry.js +1 -0
  1326. package/dist/xlabs-store/p-40036100.entry.js +1 -0
  1327. package/dist/xlabs-store/p-45f04e8d.entry.js +1 -0
  1328. package/dist/xlabs-store/p-48ba7c34.entry.js +1 -0
  1329. package/dist/xlabs-store/p-48e2c26e.entry.js +1 -0
  1330. package/dist/xlabs-store/p-4ac2e915.entry.js +1 -0
  1331. package/dist/xlabs-store/p-4d7c2a35.entry.js +1 -0
  1332. package/dist/xlabs-store/p-4f67cb33.entry.js +1 -0
  1333. package/dist/xlabs-store/p-502b345e.entry.js +1 -0
  1334. package/dist/xlabs-store/p-555c5e48.entry.js +1 -0
  1335. package/dist/xlabs-store/p-5878525f.entry.js +1 -0
  1336. package/dist/xlabs-store/p-5abbdca7.entry.js +1 -0
  1337. package/dist/xlabs-store/p-6243ca69.entry.js +1 -0
  1338. package/dist/xlabs-store/p-64e7a057.entry.js +1 -0
  1339. package/dist/xlabs-store/p-6530d2ef.entry.js +1 -0
  1340. package/dist/xlabs-store/p-675a39e1.entry.js +1 -0
  1341. package/dist/xlabs-store/p-689c52ef.entry.js +1 -0
  1342. package/dist/xlabs-store/p-69b8cb7d.entry.js +1 -0
  1343. package/dist/xlabs-store/p-6b121c60.entry.js +1 -0
  1344. package/dist/xlabs-store/p-6c75fc39.entry.js +1 -0
  1345. package/dist/xlabs-store/p-6f705deb.entry.js +1 -0
  1346. package/dist/xlabs-store/p-723d362c.entry.js +1 -0
  1347. package/dist/xlabs-store/p-783545e3.entry.js +1 -0
  1348. package/dist/xlabs-store/p-7a8f11b4.entry.js +1 -0
  1349. package/dist/xlabs-store/p-81fb4caf.entry.js +1 -0
  1350. package/dist/xlabs-store/p-863dd67d.entry.js +1 -0
  1351. package/dist/xlabs-store/p-8bcbb4e3.entry.js +1 -0
  1352. package/dist/xlabs-store/p-8bcc219a.entry.js +1 -0
  1353. package/dist/xlabs-store/p-914b0ae2.entry.js +1 -0
  1354. package/dist/xlabs-store/p-96b1939d.entry.js +1 -0
  1355. package/dist/xlabs-store/p-9ac291ea.entry.js +1 -0
  1356. package/dist/xlabs-store/p-9de03a07.entry.js +1 -0
  1357. package/dist/xlabs-store/p-BPeosvTA.js +1 -0
  1358. package/dist/xlabs-store/p-COpzIi1n.js +1 -0
  1359. package/dist/xlabs-store/p-C_QdJRdB.js +1 -0
  1360. package/dist/xlabs-store/p-Ce5L9qbY.js +1 -0
  1361. package/dist/xlabs-store/p-Co3Y9VjQ.js +1 -0
  1362. package/dist/xlabs-store/p-D66tF8_2.js +1 -0
  1363. package/dist/xlabs-store/p-DElCk9ta.js +1 -0
  1364. package/dist/xlabs-store/p-Dgxy93Bg.js +1 -0
  1365. package/dist/xlabs-store/p-XBF88YT_.js +1 -0
  1366. package/dist/xlabs-store/p-a4223feb.entry.js +1 -0
  1367. package/dist/xlabs-store/p-a8c2eca7.entry.js +1 -0
  1368. package/dist/xlabs-store/p-ac9ba3aa.entry.js +1 -0
  1369. package/dist/xlabs-store/p-bd5084b8.entry.js +1 -0
  1370. package/dist/xlabs-store/p-bda322db.entry.js +1 -0
  1371. package/dist/xlabs-store/p-c0ca6f7d.entry.js +1 -0
  1372. package/dist/xlabs-store/p-c4c8840c.entry.js +1 -0
  1373. package/dist/xlabs-store/p-c4d0ce0d.entry.js +1 -0
  1374. package/dist/xlabs-store/p-cd3c3374.entry.js +1 -0
  1375. package/dist/xlabs-store/p-cf4697bc.entry.js +1 -0
  1376. package/dist/xlabs-store/p-d2ec3d4a.entry.js +1 -0
  1377. package/dist/xlabs-store/p-d4d00aff.entry.js +1 -0
  1378. package/dist/xlabs-store/p-d9d0147b.entry.js +1 -0
  1379. package/dist/xlabs-store/p-dd930f2a.entry.js +1 -0
  1380. package/dist/xlabs-store/p-e04836e8.entry.js +1 -0
  1381. package/dist/xlabs-store/p-e14b5f6d.entry.js +1 -0
  1382. package/dist/xlabs-store/p-eb1dd3c2.entry.js +1 -0
  1383. package/dist/xlabs-store/p-f02155e4.entry.js +1 -0
  1384. package/dist/xlabs-store/p-f1331938.entry.js +1 -0
  1385. package/dist/xlabs-store/p-fac0b689.entry.js +1 -0
  1386. package/dist/xlabs-store/p-fd2e1d9c.entry.js +1 -0
  1387. package/dist/xlabs-store/p-fdec5d89.entry.js +1 -0
  1388. package/dist/xlabs-store/p-ffba56b2.entry.js +1 -0
  1389. package/dist/xlabs-store/p-ig_mFsVk.js +2 -0
  1390. package/dist/xlabs-store/xlabs-store.css +1 -0
  1391. package/dist/xlabs-store/xlabs-store.esm.js +1 -0
  1392. package/loader/cdn.js +1 -0
  1393. package/loader/index.cjs.js +1 -0
  1394. package/loader/index.d.ts +24 -0
  1395. package/loader/index.es2017.js +1 -0
  1396. package/loader/index.js +2 -0
  1397. package/package.json +69 -0
  1398. package/readme.md +50 -0
@@ -0,0 +1,3075 @@
1
+ import { r as registerInstance, c as createEvent, a as getElement, h, H as Host } from './index-ig_mFsVk.js';
2
+ import { P as PortalController } from './portal-controller-COpzIi1n.js';
3
+ import { g as getIcon } from './config-BPeosvTA.js';
4
+ import { c as createColor } from './types-C_QdJRdB.js';
5
+ import { A as AbstractControl } from './abstract-control-XBF88YT_.js';
6
+ import { t as translate } from './locale.service-D66tF8_2.js';
7
+
8
+ const xColorPickerCss = () => `:root{--x-color-primary:#1677ff;--x-color-primary-rgb:22, 119, 255;--x-color-primary-contrast:#ffffff;--x-color-primary-contrast-rgb:255, 255, 255;--x-color-primary-shade:#0958d9;--x-color-primary-tint:#4096ff;--x-color-primary-bg:#e6f4ff;--x-color-primary-bg-hover:#bae0ff;--x-color-primary-border:#91caff;--x-color-primary-border-hover:#69b1ff;--x-color-primary-hover:#4096ff;--x-color-primary-active:#0958d9;--x-color-primary-text:#1677ff;--x-color-primary-text-hover:#4096ff;--x-color-primary-text-active:#0958d9;--x-color-secondary:#3dc2ff;--x-color-secondary-rgb:61, 194, 255;--x-color-secondary-contrast:#ffffff;--x-color-secondary-contrast-rgb:255, 255, 255;--x-color-secondary-shade:#36abe0;--x-color-secondary-tint:#50c8ff;--x-color-success:#52c41a;--x-color-success-rgb:82, 196, 26;--x-color-success-contrast:#ffffff;--x-color-success-contrast-rgb:255, 255, 255;--x-color-success-shade:#389e0d;--x-color-success-tint:#73d13d;--x-color-success-bg:#f6ffed;--x-color-success-bg-hover:#d9f7be;--x-color-success-border:#b7eb8f;--x-color-success-border-hover:#95de64;--x-color-success-hover:#73d13d;--x-color-success-active:#389e0d;--x-color-success-text:#52c41a;--x-color-success-text-hover:#73d13d;--x-color-success-text-active:#389e0d;--x-color-warning:#faad14;--x-color-warning-rgb:250, 173, 20;--x-color-warning-contrast:#000000;--x-color-warning-contrast-rgb:0, 0, 0;--x-color-warning-shade:#d48806;--x-color-warning-tint:#ffc53d;--x-color-warning-bg:#fffbe6;--x-color-warning-bg-hover:#fff1b8;--x-color-warning-border:#ffe58f;--x-color-warning-border-hover:#ffd666;--x-color-warning-hover:#ffc53d;--x-color-warning-active:#d48806;--x-color-warning-text:#faad14;--x-color-warning-text-hover:#ffc53d;--x-color-warning-text-active:#d48806;--x-color-danger:#ff4d4f;--x-color-danger-rgb:255, 77, 79;--x-color-danger-contrast:#ffffff;--x-color-danger-contrast-rgb:255, 255, 255;--x-color-danger-shade:#cf1322;--x-color-danger-tint:#ff7875;--x-color-error:#ff4d4f;--x-color-error-rgb:255, 77, 79;--x-color-error-bg:#fff2f0;--x-color-error-bg-hover:#ffccc7;--x-color-error-border:#ffa39e;--x-color-error-border-hover:#ff7875;--x-color-error-hover:#ff7875;--x-color-error-active:#d9363e;--x-color-error-text:#ff4d4f;--x-color-error-text-hover:#ff7875;--x-color-error-text-active:#d9363e;--x-color-info:#1677ff;--x-color-info-rgb:22, 119, 255;--x-color-info-bg:#e6f4ff;--x-color-info-bg-hover:#bae0ff;--x-color-info-border:#91caff;--x-color-info-border-hover:#69b1ff;--x-color-info-hover:#69b1ff;--x-color-info-active:#0958d9;--x-color-info-text:#1677ff;--x-color-info-text-hover:#69b1ff;--x-color-info-text-active:#0958d9;--x-color-text:rgba(0, 0, 0, 0.88);--x-color-text-secondary:rgba(0, 0, 0, 0.65);--x-color-text-tertiary:rgba(0, 0, 0, 0.45);--x-color-text-quaternary:rgba(0, 0, 0, 0.25);--x-color-text-disabled:rgba(0, 0, 0, 0.25);--x-color-text-placeholder:rgba(0, 0, 0, 0.25);--x-color-text-heading:rgba(0, 0, 0, 0.88);--x-color-text-label:rgba(0, 0, 0, 0.65);--x-color-text-description:rgba(0, 0, 0, 0.45);--x-color-text-light-solid:#ffffff;--x-color-bg-container:#ffffff;--x-color-bg-elevated:#ffffff;--x-color-bg-layout:#f5f5f5;--x-color-bg-spotlight:rgba(0, 0, 0, 0.85);--x-color-bg-mask:rgba(0, 0, 0, 0.45);--x-color-bg-base:#ffffff;--x-color-bg-container-disabled:#f5f5f5;--x-color-bg-container-loading:rgba(255, 255, 255, 0.65);--x-color-white:#ffffff;--x-color-fill:rgba(0, 0, 0, 0.15);--x-color-fill-secondary:rgba(0, 0, 0, 0.06);--x-color-fill-tertiary:rgba(0, 0, 0, 0.04);--x-color-fill-quaternary:rgba(0, 0, 0, 0.02);--x-color-border:#d9d9d9;--x-color-border-secondary:#f0f0f0;--x-color-border-bg:#ffffff;--x-color-split:rgba(5, 5, 5, 0.06);--x-color-dark:#222428;--x-color-dark-rgb:34, 36, 40;--x-color-dark-contrast:#ffffff;--x-color-dark-contrast-rgb:255, 255, 255;--x-color-dark-shade:#1e2023;--x-color-dark-tint:#383a3e;--x-color-medium:#92949c;--x-color-medium-rgb:146, 148, 156;--x-color-medium-contrast:#ffffff;--x-color-medium-contrast-rgb:255, 255, 255;--x-color-medium-shade:#808289;--x-color-medium-tint:#9d9fa6;--x-color-light:#f4f5f8;--x-color-light-rgb:244, 245, 248;--x-color-light-contrast:#000000;--x-color-light-contrast-rgb:0, 0, 0;--x-color-light-shade:#d7d8da;--x-color-light-tint:#f5f6f9;--x-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--x-font-family-code:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--x-font-size:14px;--x-font-size-sm:12px;--x-font-size-lg:16px;--x-font-size-xl:20px;--x-font-size-heading-1:38px;--x-font-size-heading-2:30px;--x-font-size-heading-3:24px;--x-font-size-heading-4:20px;--x-font-size-heading-5:16px;--x-line-height:1.5714285714285714;--x-line-height-lg:1.5;--x-line-height-sm:1.6666666666666667;--x-line-height-heading-1:1.2105263157894737;--x-line-height-heading-2:1.2666666666666666;--x-line-height-heading-3:1.3333333333333333;--x-line-height-heading-4:1.4;--x-line-height-heading-5:1.5;--x-font-weight-normal:400;--x-font-weight-medium:500;--x-font-weight-semibold:600;--x-font-weight-strong:600;--x-font-size-base:14px;--x-font-size-xxl:24px;--x-line-height-base:1.5714285714285714;--x-spacing-xxs:4px;--x-spacing-xs:8px;--x-spacing-sm:12px;--x-spacing-md:16px;--x-spacing-lg:20px;--x-spacing-xl:24px;--x-spacing-xxl:32px;--x-spacing-xxxl:48px;--x-margin-xxs:4px;--x-margin-xs:8px;--x-margin-sm:12px;--x-margin-md:16px;--x-margin-lg:24px;--x-margin-xl:32px;--x-margin-xxl:48px;--x-padding-xxs:4px;--x-padding-xs:8px;--x-padding-sm:12px;--x-padding-md:16px;--x-padding-lg:24px;--x-padding-content-horizontal-lg:24px;--x-padding-content-vertical-lg:12px;--x-padding-content-horizontal:16px;--x-padding-content-vertical:12px;--x-padding-content-horizontal-sm:16px;--x-padding-content-vertical-sm:8px;--x-border-radius:6px;--x-border-radius-xs:2px;--x-border-radius-sm:4px;--x-border-radius-lg:8px;--x-border-radius-xl:12px;--x-border-radius-outer:4px;--x-border-radius-base:6px;--x-border-width:1px;--x-border-width-base:1px;--x-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-shadow-lg:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-box-shadow-popover-arrow:2px 2px 5px rgba(0, 0, 0, 0.05);--x-box-shadow-card:0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);--x-box-shadow-drawer-right:-6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-left:6px 0 16px 0 rgba(0, 0, 0, 0.08), 3px 0 6px -4px rgba(0, 0, 0, 0.12), 9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-up:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-down:0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tabs-overflow-left:inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-right:inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-top:inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-bottom:inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);--x-motion-duration-fast:0.1s;--x-motion-duration-mid:0.2s;--x-motion-duration-slow:0.3s;--x-motion-ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--x-motion-ease-out:cubic-bezier(0.215, 0.61, 0.355, 1);--x-motion-ease-in:cubic-bezier(0.55, 0.055, 0.675, 0.19);--x-motion-ease-out-back:cubic-bezier(0.12, 0.4, 0.29, 1.46);--x-motion-ease-in-back:cubic-bezier(0.71, -0.46, 0.88, 0.6);--x-motion-ease-in-out-circle:cubic-bezier(0.78, 0.14, 0.15, 0.86);--x-motion-ease-out-circle:cubic-bezier(0.08, 0.82, 0.17, 1);--x-motion-ease-in-circle:cubic-bezier(0.6, 0.04, 0.98, 0.34);--x-motion-ease-in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);--x-motion-ease-out-quint:cubic-bezier(0.23, 1, 0.32, 1);--x-z-index-base:0;--x-z-index-popup-base:1000;--x-z-index-popup:1030;--x-z-index-affix:10;--x-z-index-modal:1000;--x-z-index-modal-mask:1000;--x-z-index-drawer:1000;--x-z-index-popover:1030;--x-z-index-dropdown:1050;--x-z-index-tooltip:1070;--x-z-index-notification:1080;--x-z-index-message:1090;--x-z-index-popconfirm:1060;--x-z-index-table-fixed:10;--x-opacity-loading:0.65;--x-opacity-image:1;--x-opacity-disabled:0.5;--x-control-height:32px;--x-control-height-xs:24px;--x-control-height-sm:24px;--x-control-height-lg:40px;--x-control-radio-size:16px;--x-control-checkbox-size:16px;--x-control-padding-horizontal:12px;--x-control-padding-horizontal-sm:8px;--x-control-outline-width:2px;--x-control-outline:rgba(5, 145, 255, 0.1);--x-control-item-bg-hover:rgba(0, 0, 0, 0.04);--x-control-item-bg-active:#e6f4ff;--x-control-item-bg-active-hover:#bae0ff;--x-control-item-bg-active-disabled:rgba(0, 0, 0, 0.15);--x-control-tmp-outline:rgba(0, 0, 0, 0.02);--x-color-yellow:#fadb14;--x-color-yellow-rgb:250, 219, 20;--x-font-family-base:var(--x-font-family);--x-color-link:#1677ff;--x-color-link-hover:#69b1ff;--x-color-link-active:#0958d9;--x-color-icon:rgba(0, 0, 0, 0.45);--x-color-icon-hover:rgba(0, 0, 0, 0.88);--x-color-highlight:#ff4d4f;--x-color-bg-text-hover:rgba(0, 0, 0, 0.06);--x-color-bg-text-active:rgba(0, 0, 0, 0.15);--x-screen-xs:480px;--x-screen-xs-min:480px;--x-screen-xs-max:575px;--x-screen-sm:576px;--x-screen-sm-min:576px;--x-screen-sm-max:767px;--x-screen-md:768px;--x-screen-md-min:768px;--x-screen-md-max:991px;--x-screen-lg:992px;--x-screen-lg-min:992px;--x-screen-lg-max:1199px;--x-screen-xl:1200px;--x-screen-xl-min:1200px;--x-screen-xl-max:1599px;--x-screen-xxl:1600px;--x-screen-xxl-min:1600px;--x-color-fill-content:rgba(0, 0, 0, 0.06);--x-color-fill-content-hover:rgba(0, 0, 0, 0.15);--x-color-fill-alter:rgba(0, 0, 0, 0.02);--x-scrollbar-width:12px;--x-scrollbar-track-bg:rgba(0, 0, 0, 0.04);--x-scrollbar-thumb-bg:rgba(0, 0, 0, 0.25);--x-scrollbar-thumb-bg-hover:rgba(0, 0, 0, 0.35);--x-menu-dark-bg:#001529;--x-menu-dark-item-bg:#001529;--x-menu-dark-popup-bg:#001529;--x-menu-dark-submenu-item-bg:#000c17}:host{display:inline-block;font-size:14px;line-height:1.5715}:host(.x-color-picker-disabled){cursor:not-allowed}.x-color-picker-trigger{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:44px;height:32px;padding:4px 8px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;-webkit-transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);gap:8px}.x-color-picker-trigger:hover{border-color:#4096ff}.x-color-picker-trigger:focus-visible{border-color:#1677ff;outline:none;-webkit-box-shadow:0 0 0 2px rgba(22, 119, 255, 0.1);box-shadow:0 0 0 2px rgba(22, 119, 255, 0.1)}:host(.x-color-picker-sm) .x-color-picker-trigger{height:24px;padding:0 4px;font-size:12px;border-radius:4px}:host(.x-color-picker-sm) .x-color-picker-color-block{width:16px;height:16px}:host(.x-color-picker-lg) .x-color-picker-trigger{height:40px;padding:4px 12px}:host(.x-color-picker-lg) .x-color-picker-color-block{width:28px;height:28px}:host(.x-color-picker-disabled) .x-color-picker-trigger{background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}:host(.x-color-picker-disabled) .x-color-picker-trigger:hover{border-color:#d9d9d9}:host(.x-color-picker-disabled) .x-color-picker-text{color:rgba(0, 0, 0, 0.25)}.x-color-picker-color-block{position:relative;width:24px;height:24px;border-radius:4px;overflow:hidden;-webkit-box-shadow:inset 0 0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:inset 0 0 1px 0 rgba(0, 0, 0, 0.25)}.x-color-picker-color-block::before{content:"";position:absolute;inset:0;background-image:conic-gradient(rgba(0, 0, 0, 0.06) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.06) 50%, rgba(0, 0, 0, 0.06) 75%, transparent 75%);background-size:8px 8px;z-index:0}.x-color-picker-color-block-inner{position:relative;width:100%;height:100%;border-radius:inherit;z-index:1}.x-color-picker-color-block-cleared .x-color-picker-color-block-inner::after{content:"";position:absolute;top:50%;left:-2px;right:-2px;height:2px;background:#ff4d4f;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.x-color-picker-text{color:rgba(0, 0, 0, 0.88);font-size:inherit;white-space:nowrap}.x-color-picker-arrow{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;color:rgba(0, 0, 0, 0.45);font-size:12px;-webkit-transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:-webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)}.x-color-picker-arrow.x-color-picker-arrow-open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.x-color-picker-clear{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:16px;height:16px;color:rgba(0, 0, 0, 0.45);font-size:12px;cursor:pointer;-webkit-transition:color 0.2s;transition:color 0.2s}.x-color-picker-clear:hover{color:rgba(0, 0, 0, 0.88)}`;
9
+
10
+ const XColorPicker = class {
11
+ constructor(hostRef) {
12
+ registerInstance(this, hostRef);
13
+ this.xChange = createEvent(this, "xChange", 7);
14
+ this.xChangeComplete = createEvent(this, "xChangeComplete", 7);
15
+ this.xFormatChange = createEvent(this, "xFormatChange", 7);
16
+ this.xOpenChange = createEvent(this, "xOpenChange", 7);
17
+ this.xClear = createEvent(this, "xClear", 7);
18
+ }
19
+ get el() { return getElement(this); }
20
+ // ==================== Props ====================
21
+ /**
22
+ * Allow clearing color selected
23
+ * @default false
24
+ * @example
25
+ * <x-color-picker allowClear></x-color-picker>
26
+ */
27
+ allowClear = false;
28
+ /**
29
+ * Default value of color
30
+ * @example
31
+ * <x-color-picker defaultValue="#ff4d4f"></x-color-picker>
32
+ */
33
+ defaultValue;
34
+ /**
35
+ * Default format of color
36
+ * @default 'hex'
37
+ * @example
38
+ * <x-color-picker defaultFormat="rgb"></x-color-picker>
39
+ */
40
+ defaultFormat = 'hex';
41
+ /**
42
+ * Disable ColorPicker
43
+ * @default false
44
+ * @example
45
+ * <x-color-picker disabled></x-color-picker>
46
+ */
47
+ disabled = false;
48
+ /**
49
+ * Disable Alpha slider
50
+ * @default false
51
+ * @example
52
+ * <x-color-picker disabledAlpha></x-color-picker>
53
+ */
54
+ disabledAlpha = false;
55
+ /**
56
+ * Disable format selector
57
+ * @default false
58
+ * @example
59
+ * <x-color-picker disabledFormat></x-color-picker>
60
+ */
61
+ disabledFormat = false;
62
+ /**
63
+ * Format of color
64
+ * @example
65
+ * <x-color-picker format="hsb"></x-color-picker>
66
+ */
67
+ format;
68
+ /**
69
+ * Whether to show popup
70
+ * @example
71
+ * <x-color-picker open></x-color-picker>
72
+ */
73
+ open;
74
+ /**
75
+ * Preset colors
76
+ * @example
77
+ * <x-color-picker presets={[{ label: 'Primary', colors: ['#1677ff'] }]}></x-color-picker>
78
+ */
79
+ presets;
80
+ /**
81
+ * Placement of popup
82
+ * @default 'bottomLeft'
83
+ * @example
84
+ * <x-color-picker placement="topLeft"></x-color-picker>
85
+ */
86
+ placement = 'bottomLeft';
87
+ /**
88
+ * Show color text
89
+ * @default false
90
+ * @example
91
+ * <x-color-picker showText></x-color-picker>
92
+ */
93
+ showText = false;
94
+ /**
95
+ * Size of trigger
96
+ * @default 'middle'
97
+ * @example
98
+ * <x-color-picker size="small"></x-color-picker>
99
+ */
100
+ size = 'middle';
101
+ /**
102
+ * Trigger mode
103
+ * @default 'click'
104
+ * @example
105
+ * <x-color-picker trigger="hover"></x-color-picker>
106
+ */
107
+ trigger = 'click';
108
+ /**
109
+ * Value of color
110
+ * @example
111
+ * <x-color-picker value="#1677ff"></x-color-picker>
112
+ */
113
+ value;
114
+ /**
115
+ * Custom class names
116
+ * @example
117
+ * <x-color-picker classNames={{ root: 'my-color-picker' }}></x-color-picker>
118
+ */
119
+ classNames;
120
+ /**
121
+ * Custom styles
122
+ * @example
123
+ * <x-color-picker styles={{ root: { minWidth: '120px' } }}></x-color-picker>
124
+ */
125
+ styles;
126
+ // ==================== Events ====================
127
+ /**
128
+ * Callback when value is changed
129
+ * @example
130
+ * <x-color-picker onXChange={(ev) => console.log(ev.detail)}></x-color-picker>
131
+ */
132
+ xChange;
133
+ /**
134
+ * Called when color pick ends
135
+ * @example
136
+ * <x-color-picker onXChangeComplete={(ev) => console.log(ev.detail)}></x-color-picker>
137
+ */
138
+ xChangeComplete;
139
+ /**
140
+ * Callback when format is changed
141
+ * @example
142
+ * <x-color-picker onXFormatChange={(ev) => console.log(ev.detail)}></x-color-picker>
143
+ */
144
+ xFormatChange;
145
+ /**
146
+ * Callback when open is changed
147
+ * @example
148
+ * <x-color-picker onXOpenChange={(ev) => console.log(ev.detail)}></x-color-picker>
149
+ */
150
+ xOpenChange;
151
+ /**
152
+ * Called when clear
153
+ * @example
154
+ * <x-color-picker onXClear={() => {}}></x-color-picker>
155
+ */
156
+ xClear;
157
+ // ==================== State ====================
158
+ /**
159
+ * Internal open state for uncontrolled mode.
160
+ */
161
+ internalOpen = false;
162
+ /**
163
+ * Internal color format.
164
+ */
165
+ internalFormat = 'hex';
166
+ /**
167
+ * Internal color object.
168
+ */
169
+ internalColor = null;
170
+ /**
171
+ * Cleared state flag.
172
+ */
173
+ isCleared = false;
174
+ // ==================== Private Properties ====================
175
+ /**
176
+ * Trigger element reference.
177
+ */
178
+ triggerRef;
179
+ /**
180
+ * Portal instance for panel.
181
+ */
182
+ portalInstance = null;
183
+ /**
184
+ * Panel element reference.
185
+ */
186
+ panelElement = null;
187
+ /**
188
+ * Dragging flag for hover behavior.
189
+ */
190
+ isDragging = false;
191
+ // ==================== Lifecycle ====================
192
+ /**
193
+ * Initialize format and color.
194
+ * @returns void
195
+ */
196
+ componentWillLoad() {
197
+ // Initialize format
198
+ this.internalFormat = this.format ?? this.defaultFormat;
199
+ // Initialize color
200
+ const initialValue = this.value ?? this.defaultValue ?? '#1677ff';
201
+ if (typeof initialValue === 'string') {
202
+ this.internalColor = createColor(initialValue);
203
+ }
204
+ }
205
+ /**
206
+ * Cleanup portal on disconnect.
207
+ * @returns void
208
+ */
209
+ disconnectedCallback() {
210
+ this.destroyPortal();
211
+ }
212
+ // ==================== Watchers ====================
213
+ /**
214
+ * Sync internal color when value changes.
215
+ * @param newValue - New color value.
216
+ * @returns void
217
+ */
218
+ handleValueChange(newValue) {
219
+ if (typeof newValue === 'string') {
220
+ this.internalColor = createColor(newValue);
221
+ this.isCleared = false;
222
+ }
223
+ }
224
+ /**
225
+ * Sync format when format prop changes.
226
+ * @param newFormat - New format.
227
+ * @returns void
228
+ */
229
+ handleFormatChange(newFormat) {
230
+ if (newFormat) {
231
+ this.internalFormat = newFormat;
232
+ }
233
+ }
234
+ /**
235
+ * Sync open state when controlled prop changes.
236
+ * @param newOpen - Open state.
237
+ * @returns void
238
+ */
239
+ handleOpenPropChange(newOpen) {
240
+ if (newOpen !== undefined) {
241
+ this.setOpen(newOpen);
242
+ }
243
+ }
244
+ // ==================== Listeners ====================
245
+ /**
246
+ * Close panel on outside click.
247
+ *
248
+ * Flow:
249
+ * 1. Checks if panel is open.
250
+ * 2. Determines click target.
251
+ * 3. Checks if click is inside the trigger element or the portal panel.
252
+ * 4. If outside both, closes the panel by calling \`setOpen(false)\`.
253
+ *
254
+ * @param e - Mouse event.
255
+ * @returns void
256
+ */
257
+ handleDocumentClick(e) {
258
+ if (!this.internalOpen)
259
+ return;
260
+ const path = e.composedPath();
261
+ const isInsideTrigger = path.includes(this.el);
262
+ const portalEl = this.portalInstance?.getElement();
263
+ const isInsidePanel = portalEl ? path.includes(portalEl) : false;
264
+ if (!isInsideTrigger && !isInsidePanel) {
265
+ this.setOpen(false);
266
+ }
267
+ }
268
+ /**
269
+ * Close panel on Escape key.
270
+ * @param e - Keyboard event.
271
+ * @returns void
272
+ */
273
+ handleKeydown(e) {
274
+ if (e.key === 'Escape' && this.internalOpen) {
275
+ this.setOpen(false);
276
+ }
277
+ }
278
+ // ==================== Public Methods ====================
279
+ /**
280
+ * Get current color object
281
+ * @returns Promise<Color | null>
282
+ * @example
283
+ * const color = await el.getColor()
284
+ */
285
+ async getColor() {
286
+ return this.internalColor;
287
+ }
288
+ // ==================== Private Methods ====================
289
+ /**
290
+ * Update open state and portal.
291
+ *
292
+ * Flow:
293
+ * 1. Checks if disabled; returns if true.
294
+ * 2. Updates `internalOpen` state.
295
+ * 3. Emits `xOpenChange` event.
296
+ * 4. Calls `updatePortal` (if opening) or `destroyPortal` (if closing).
297
+ *
298
+ * @param open - Open state.
299
+ * @returns void
300
+ */
301
+ setOpen(open) {
302
+ if (this.disabled)
303
+ return;
304
+ this.internalOpen = open;
305
+ this.xOpenChange.emit({ open });
306
+ if (open) {
307
+ this.updatePortal();
308
+ }
309
+ else {
310
+ this.destroyPortal();
311
+ }
312
+ }
313
+ /**
314
+ * Handle trigger click.
315
+ * @returns void
316
+ */
317
+ handleTriggerClick = () => {
318
+ if (this.trigger === 'click') {
319
+ this.setOpen(!this.internalOpen);
320
+ }
321
+ };
322
+ /**
323
+ * Handle trigger mouse enter.
324
+ * @returns void
325
+ */
326
+ handleTriggerMouseEnter = () => {
327
+ if (this.trigger === 'hover') {
328
+ this.setOpen(true);
329
+ }
330
+ };
331
+ /**
332
+ * Handle trigger mouse leave.
333
+ * @returns void
334
+ */
335
+ handleTriggerMouseLeave = () => {
336
+ if (this.trigger === 'hover' && !this.isDragging) {
337
+ const portalEl = this.portalInstance?.getElement();
338
+ setTimeout(() => {
339
+ if (!portalEl?.matches(':hover') && !this.el.matches(':hover')) {
340
+ this.setOpen(false);
341
+ }
342
+ }, 100);
343
+ }
344
+ };
345
+ /**
346
+ * Handle clear action.
347
+ * @param e - Event.
348
+ * @returns void
349
+ */
350
+ handleClear = (e) => {
351
+ e.stopPropagation();
352
+ this.isCleared = true;
353
+ this.xClear.emit();
354
+ };
355
+ // ==================== Portal Management ====================
356
+ /**
357
+ * Build color picker panel element.
358
+ * @returns HTMLElement
359
+ */
360
+ buildPanelElement() {
361
+ // Create x-color-picker-panel component
362
+ const panelEl = document.createElement('x-color-picker-panel');
363
+ // Set props on the panel element
364
+ panelEl.color = this.internalColor;
365
+ panelEl.format = this.internalFormat;
366
+ panelEl.disabledAlpha = this.disabledAlpha;
367
+ panelEl.disabledFormat = this.disabledFormat;
368
+ panelEl.presets = this.presets;
369
+ panelEl.allowClear = this.allowClear;
370
+ // Apply custom class and styles
371
+ if (this.classNames?.popup) {
372
+ panelEl.classList.add(...this.classNames.popup.split(' '));
373
+ }
374
+ if (this.styles?.popup) {
375
+ Object.assign(panelEl.style, this.styles.popup);
376
+ }
377
+ // Bind events
378
+ panelEl.addEventListener('colorChange', (e) => {
379
+ this.handleColorChange(e.detail);
380
+ });
381
+ panelEl.addEventListener('colorChangeComplete', (e) => {
382
+ this.xChangeComplete.emit(e.detail);
383
+ this.isDragging = false;
384
+ });
385
+ panelEl.addEventListener('formatChange', (e) => {
386
+ this.internalFormat = e.detail;
387
+ this.xFormatChange.emit({ format: e.detail });
388
+ });
389
+ panelEl.addEventListener('colorClear', () => {
390
+ this.isCleared = true;
391
+ this.xClear.emit();
392
+ this.setOpen(false);
393
+ });
394
+ // Track dragging state
395
+ panelEl.addEventListener('mousedown', () => {
396
+ this.isDragging = true;
397
+ });
398
+ return panelEl;
399
+ }
400
+ /**
401
+ * Get trigger element for portal target.
402
+ * @returns HTMLElement
403
+ */
404
+ getWrapperEl() {
405
+ return this.triggerRef;
406
+ }
407
+ /**
408
+ * Create or update portal for panel.
409
+ *
410
+ * Flow:
411
+ * 1. Checks if `internalOpen` is true.
412
+ * 2. Builds or reuses the panel element.
413
+ * 3. Uses `PortalController` to render the panel:
414
+ * - Creates new instance if none exists.
415
+ * - Updates existing instance with new content/position.
416
+ * 4. Requests animation frame to ensure position update.
417
+ *
418
+ * @returns void
419
+ */
420
+ updatePortal() {
421
+ if (!this.internalOpen) {
422
+ this.destroyPortal();
423
+ return;
424
+ }
425
+ this.panelElement = this.buildPanelElement();
426
+ if (!this.portalInstance) {
427
+ this.portalInstance = PortalController.create({
428
+ open: true,
429
+ target: this.getWrapperEl(),
430
+ placement: this.placement,
431
+ content: this.panelElement,
432
+ zIndex: 1050,
433
+ });
434
+ }
435
+ else {
436
+ this.portalInstance.update({
437
+ open: true,
438
+ target: this.getWrapperEl(),
439
+ placement: this.placement,
440
+ content: this.panelElement,
441
+ });
442
+ }
443
+ // Update position after render
444
+ requestAnimationFrame(() => {
445
+ if (this.portalInstance) {
446
+ this.portalInstance.update({});
447
+ }
448
+ });
449
+ }
450
+ /**
451
+ * Destroy portal instance if present.
452
+ * @returns void
453
+ */
454
+ destroyPortal() {
455
+ if (this.portalInstance) {
456
+ this.portalInstance.destroy();
457
+ this.portalInstance = null;
458
+ this.panelElement = null;
459
+ }
460
+ }
461
+ /**
462
+ * Handle color change from panel.
463
+ * @param color - New color.
464
+ * @returns void
465
+ */
466
+ handleColorChange(color) {
467
+ this.internalColor = color;
468
+ this.isCleared = false;
469
+ this.value = color.toHexString();
470
+ this.xChange.emit({
471
+ color,
472
+ css: color.toCssString(),
473
+ });
474
+ // Update panel element with new color
475
+ if (this.panelElement) {
476
+ this.panelElement.color = color;
477
+ }
478
+ }
479
+ // ==================== Render ====================
480
+ /**
481
+ * Get display text for current color.
482
+ * @returns string
483
+ */
484
+ getDisplayText() {
485
+ if (!this.internalColor || this.isCleared)
486
+ return '';
487
+ if (typeof this.showText === 'function') {
488
+ return this.showText(this.internalColor);
489
+ }
490
+ switch (this.internalFormat) {
491
+ case 'rgb':
492
+ return this.internalColor.toRgbString();
493
+ case 'hsb':
494
+ return this.internalColor.toHsbString();
495
+ default:
496
+ return this.internalColor.toHexString().toUpperCase();
497
+ }
498
+ }
499
+ /**
500
+ * Render down arrow icon.
501
+ * @returns JSX.Element
502
+ */
503
+ renderDownArrow() {
504
+ return (
505
+ // <svg viewBox="64 64 896 896" focusable="false" width="1em" height="1em" fill="currentColor">
506
+ // <path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z" />
507
+ // </svg>
508
+ h("x-icon", { name: getIcon('arrowDown') }));
509
+ }
510
+ /**
511
+ * Render clear icon.
512
+ * @returns JSX.Element
513
+ */
514
+ renderCloseIcon() {
515
+ return (
516
+ // <svg viewBox="64 64 896 896" focusable="false" width="1em" height="1em" fill="currentColor">
517
+ // <path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z" />
518
+ // </svg>
519
+ h("x-icon", { name: getIcon('clear') }));
520
+ }
521
+ /**
522
+ * Render trigger and optional text.
523
+ * @returns JSX.Element
524
+ */
525
+ render() {
526
+ const hostClasses = {
527
+ 'x-color-picker': true,
528
+ 'x-color-picker-sm': this.size === 'small',
529
+ 'x-color-picker-lg': this.size === 'large',
530
+ 'x-color-picker-disabled': this.disabled,
531
+ [this.classNames?.root ?? '']: !!this.classNames?.root,
532
+ };
533
+ const colorValue = this.internalColor && !this.isCleared
534
+ ? this.internalColor.toCssString()
535
+ : 'transparent';
536
+ return (h(Host, { key: 'f8f38365b7fd8c36aac0d9dc1799fc568516fea9', class: hostClasses, style: this.styles?.root }, h("div", { key: '8df150a9ac5477f34c21ef391c6a110a9518127e', class: "x-color-picker-trigger", ref: (el) => (this.triggerRef = el), onClick: this.handleTriggerClick, onMouseEnter: this.handleTriggerMouseEnter, onMouseLeave: this.handleTriggerMouseLeave, tabindex: this.disabled ? -1 : 0, role: "button", "aria-haspopup": "true", "aria-expanded": this.internalOpen ? 'true' : 'false' }, h("slot", { key: '77c612bde00f68546e52eb30351f9e26c724bbd8' }, h("div", { key: '19ddcbfc6acea0c985d263abeae54facb1878856', class: {
537
+ 'x-color-picker-color-block': true,
538
+ 'x-color-picker-color-block-cleared': this.isCleared,
539
+ } }, h("div", { key: 'd6223ba45365f694a1b760fc0779273903a3e080', class: "x-color-picker-color-block-inner", style: { background: colorValue } })), this.showText && (h("span", { key: 'b80debccfafa45df16aeabedfafcc9e0721a3a4d', class: "x-color-picker-text" }, this.getDisplayText())), this.allowClear && !this.isCleared && this.internalColor && (h("span", { key: '8caa5439b9ad31915420be95deb94eff604bc411', class: "x-color-picker-clear", onClick: this.handleClear }, this.renderCloseIcon())), h("span", { key: 'ed22036212268e812ebfe9869918cd31fcebaaef', class: {
540
+ 'x-color-picker-arrow': true,
541
+ 'x-color-picker-arrow-open': this.internalOpen,
542
+ } }, this.renderDownArrow())))));
543
+ }
544
+ static get watchers() { return {
545
+ "value": [{
546
+ "handleValueChange": 0
547
+ }],
548
+ "format": [{
549
+ "handleFormatChange": 0
550
+ }],
551
+ "open": [{
552
+ "handleOpenPropChange": 0
553
+ }]
554
+ }; }
555
+ };
556
+ XColorPicker.style = xColorPickerCss();
557
+
558
+ const xDividerCss = () => `@charset "UTF-8";:root{--x-color-primary:#1677ff;--x-color-primary-rgb:22, 119, 255;--x-color-primary-contrast:#ffffff;--x-color-primary-contrast-rgb:255, 255, 255;--x-color-primary-shade:#0958d9;--x-color-primary-tint:#4096ff;--x-color-primary-bg:#e6f4ff;--x-color-primary-bg-hover:#bae0ff;--x-color-primary-border:#91caff;--x-color-primary-border-hover:#69b1ff;--x-color-primary-hover:#4096ff;--x-color-primary-active:#0958d9;--x-color-primary-text:#1677ff;--x-color-primary-text-hover:#4096ff;--x-color-primary-text-active:#0958d9;--x-color-secondary:#3dc2ff;--x-color-secondary-rgb:61, 194, 255;--x-color-secondary-contrast:#ffffff;--x-color-secondary-contrast-rgb:255, 255, 255;--x-color-secondary-shade:#36abe0;--x-color-secondary-tint:#50c8ff;--x-color-success:#52c41a;--x-color-success-rgb:82, 196, 26;--x-color-success-contrast:#ffffff;--x-color-success-contrast-rgb:255, 255, 255;--x-color-success-shade:#389e0d;--x-color-success-tint:#73d13d;--x-color-success-bg:#f6ffed;--x-color-success-bg-hover:#d9f7be;--x-color-success-border:#b7eb8f;--x-color-success-border-hover:#95de64;--x-color-success-hover:#73d13d;--x-color-success-active:#389e0d;--x-color-success-text:#52c41a;--x-color-success-text-hover:#73d13d;--x-color-success-text-active:#389e0d;--x-color-warning:#faad14;--x-color-warning-rgb:250, 173, 20;--x-color-warning-contrast:#000000;--x-color-warning-contrast-rgb:0, 0, 0;--x-color-warning-shade:#d48806;--x-color-warning-tint:#ffc53d;--x-color-warning-bg:#fffbe6;--x-color-warning-bg-hover:#fff1b8;--x-color-warning-border:#ffe58f;--x-color-warning-border-hover:#ffd666;--x-color-warning-hover:#ffc53d;--x-color-warning-active:#d48806;--x-color-warning-text:#faad14;--x-color-warning-text-hover:#ffc53d;--x-color-warning-text-active:#d48806;--x-color-danger:#ff4d4f;--x-color-danger-rgb:255, 77, 79;--x-color-danger-contrast:#ffffff;--x-color-danger-contrast-rgb:255, 255, 255;--x-color-danger-shade:#cf1322;--x-color-danger-tint:#ff7875;--x-color-error:#ff4d4f;--x-color-error-rgb:255, 77, 79;--x-color-error-bg:#fff2f0;--x-color-error-bg-hover:#ffccc7;--x-color-error-border:#ffa39e;--x-color-error-border-hover:#ff7875;--x-color-error-hover:#ff7875;--x-color-error-active:#d9363e;--x-color-error-text:#ff4d4f;--x-color-error-text-hover:#ff7875;--x-color-error-text-active:#d9363e;--x-color-info:#1677ff;--x-color-info-rgb:22, 119, 255;--x-color-info-bg:#e6f4ff;--x-color-info-bg-hover:#bae0ff;--x-color-info-border:#91caff;--x-color-info-border-hover:#69b1ff;--x-color-info-hover:#69b1ff;--x-color-info-active:#0958d9;--x-color-info-text:#1677ff;--x-color-info-text-hover:#69b1ff;--x-color-info-text-active:#0958d9;--x-color-text:rgba(0, 0, 0, 0.88);--x-color-text-secondary:rgba(0, 0, 0, 0.65);--x-color-text-tertiary:rgba(0, 0, 0, 0.45);--x-color-text-quaternary:rgba(0, 0, 0, 0.25);--x-color-text-disabled:rgba(0, 0, 0, 0.25);--x-color-text-placeholder:rgba(0, 0, 0, 0.25);--x-color-text-heading:rgba(0, 0, 0, 0.88);--x-color-text-label:rgba(0, 0, 0, 0.65);--x-color-text-description:rgba(0, 0, 0, 0.45);--x-color-text-light-solid:#ffffff;--x-color-bg-container:#ffffff;--x-color-bg-elevated:#ffffff;--x-color-bg-layout:#f5f5f5;--x-color-bg-spotlight:rgba(0, 0, 0, 0.85);--x-color-bg-mask:rgba(0, 0, 0, 0.45);--x-color-bg-base:#ffffff;--x-color-bg-container-disabled:#f5f5f5;--x-color-bg-container-loading:rgba(255, 255, 255, 0.65);--x-color-white:#ffffff;--x-color-fill:rgba(0, 0, 0, 0.15);--x-color-fill-secondary:rgba(0, 0, 0, 0.06);--x-color-fill-tertiary:rgba(0, 0, 0, 0.04);--x-color-fill-quaternary:rgba(0, 0, 0, 0.02);--x-color-border:#d9d9d9;--x-color-border-secondary:#f0f0f0;--x-color-border-bg:#ffffff;--x-color-split:rgba(5, 5, 5, 0.06);--x-color-dark:#222428;--x-color-dark-rgb:34, 36, 40;--x-color-dark-contrast:#ffffff;--x-color-dark-contrast-rgb:255, 255, 255;--x-color-dark-shade:#1e2023;--x-color-dark-tint:#383a3e;--x-color-medium:#92949c;--x-color-medium-rgb:146, 148, 156;--x-color-medium-contrast:#ffffff;--x-color-medium-contrast-rgb:255, 255, 255;--x-color-medium-shade:#808289;--x-color-medium-tint:#9d9fa6;--x-color-light:#f4f5f8;--x-color-light-rgb:244, 245, 248;--x-color-light-contrast:#000000;--x-color-light-contrast-rgb:0, 0, 0;--x-color-light-shade:#d7d8da;--x-color-light-tint:#f5f6f9;--x-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--x-font-family-code:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--x-font-size:14px;--x-font-size-sm:12px;--x-font-size-lg:16px;--x-font-size-xl:20px;--x-font-size-heading-1:38px;--x-font-size-heading-2:30px;--x-font-size-heading-3:24px;--x-font-size-heading-4:20px;--x-font-size-heading-5:16px;--x-line-height:1.5714285714285714;--x-line-height-lg:1.5;--x-line-height-sm:1.6666666666666667;--x-line-height-heading-1:1.2105263157894737;--x-line-height-heading-2:1.2666666666666666;--x-line-height-heading-3:1.3333333333333333;--x-line-height-heading-4:1.4;--x-line-height-heading-5:1.5;--x-font-weight-normal:400;--x-font-weight-medium:500;--x-font-weight-semibold:600;--x-font-weight-strong:600;--x-font-size-base:14px;--x-font-size-xxl:24px;--x-line-height-base:1.5714285714285714;--x-spacing-xxs:4px;--x-spacing-xs:8px;--x-spacing-sm:12px;--x-spacing-md:16px;--x-spacing-lg:20px;--x-spacing-xl:24px;--x-spacing-xxl:32px;--x-spacing-xxxl:48px;--x-margin-xxs:4px;--x-margin-xs:8px;--x-margin-sm:12px;--x-margin-md:16px;--x-margin-lg:24px;--x-margin-xl:32px;--x-margin-xxl:48px;--x-padding-xxs:4px;--x-padding-xs:8px;--x-padding-sm:12px;--x-padding-md:16px;--x-padding-lg:24px;--x-padding-content-horizontal-lg:24px;--x-padding-content-vertical-lg:12px;--x-padding-content-horizontal:16px;--x-padding-content-vertical:12px;--x-padding-content-horizontal-sm:16px;--x-padding-content-vertical-sm:8px;--x-border-radius:6px;--x-border-radius-xs:2px;--x-border-radius-sm:4px;--x-border-radius-lg:8px;--x-border-radius-xl:12px;--x-border-radius-outer:4px;--x-border-radius-base:6px;--x-border-width:1px;--x-border-width-base:1px;--x-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-shadow-lg:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-box-shadow-popover-arrow:2px 2px 5px rgba(0, 0, 0, 0.05);--x-box-shadow-card:0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);--x-box-shadow-drawer-right:-6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-left:6px 0 16px 0 rgba(0, 0, 0, 0.08), 3px 0 6px -4px rgba(0, 0, 0, 0.12), 9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-up:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-down:0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tabs-overflow-left:inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-right:inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-top:inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-bottom:inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);--x-motion-duration-fast:0.1s;--x-motion-duration-mid:0.2s;--x-motion-duration-slow:0.3s;--x-motion-ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--x-motion-ease-out:cubic-bezier(0.215, 0.61, 0.355, 1);--x-motion-ease-in:cubic-bezier(0.55, 0.055, 0.675, 0.19);--x-motion-ease-out-back:cubic-bezier(0.12, 0.4, 0.29, 1.46);--x-motion-ease-in-back:cubic-bezier(0.71, -0.46, 0.88, 0.6);--x-motion-ease-in-out-circle:cubic-bezier(0.78, 0.14, 0.15, 0.86);--x-motion-ease-out-circle:cubic-bezier(0.08, 0.82, 0.17, 1);--x-motion-ease-in-circle:cubic-bezier(0.6, 0.04, 0.98, 0.34);--x-motion-ease-in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);--x-motion-ease-out-quint:cubic-bezier(0.23, 1, 0.32, 1);--x-z-index-base:0;--x-z-index-popup-base:1000;--x-z-index-popup:1030;--x-z-index-affix:10;--x-z-index-modal:1000;--x-z-index-modal-mask:1000;--x-z-index-drawer:1000;--x-z-index-popover:1030;--x-z-index-dropdown:1050;--x-z-index-tooltip:1070;--x-z-index-notification:1080;--x-z-index-message:1090;--x-z-index-popconfirm:1060;--x-z-index-table-fixed:10;--x-opacity-loading:0.65;--x-opacity-image:1;--x-opacity-disabled:0.5;--x-control-height:32px;--x-control-height-xs:24px;--x-control-height-sm:24px;--x-control-height-lg:40px;--x-control-radio-size:16px;--x-control-checkbox-size:16px;--x-control-padding-horizontal:12px;--x-control-padding-horizontal-sm:8px;--x-control-outline-width:2px;--x-control-outline:rgba(5, 145, 255, 0.1);--x-control-item-bg-hover:rgba(0, 0, 0, 0.04);--x-control-item-bg-active:#e6f4ff;--x-control-item-bg-active-hover:#bae0ff;--x-control-item-bg-active-disabled:rgba(0, 0, 0, 0.15);--x-control-tmp-outline:rgba(0, 0, 0, 0.02);--x-color-yellow:#fadb14;--x-color-yellow-rgb:250, 219, 20;--x-font-family-base:var(--x-font-family);--x-color-link:#1677ff;--x-color-link-hover:#69b1ff;--x-color-link-active:#0958d9;--x-color-icon:rgba(0, 0, 0, 0.45);--x-color-icon-hover:rgba(0, 0, 0, 0.88);--x-color-highlight:#ff4d4f;--x-color-bg-text-hover:rgba(0, 0, 0, 0.06);--x-color-bg-text-active:rgba(0, 0, 0, 0.15);--x-screen-xs:480px;--x-screen-xs-min:480px;--x-screen-xs-max:575px;--x-screen-sm:576px;--x-screen-sm-min:576px;--x-screen-sm-max:767px;--x-screen-md:768px;--x-screen-md-min:768px;--x-screen-md-max:991px;--x-screen-lg:992px;--x-screen-lg-min:992px;--x-screen-lg-max:1199px;--x-screen-xl:1200px;--x-screen-xl-min:1200px;--x-screen-xl-max:1599px;--x-screen-xxl:1600px;--x-screen-xxl-min:1600px;--x-color-fill-content:rgba(0, 0, 0, 0.06);--x-color-fill-content-hover:rgba(0, 0, 0, 0.15);--x-color-fill-alter:rgba(0, 0, 0, 0.02);--x-scrollbar-width:12px;--x-scrollbar-track-bg:rgba(0, 0, 0, 0.04);--x-scrollbar-thumb-bg:rgba(0, 0, 0, 0.25);--x-scrollbar-thumb-bg-hover:rgba(0, 0, 0, 0.35);--x-menu-dark-bg:#001529;--x-menu-dark-item-bg:#001529;--x-menu-dark-popup-bg:#001529;--x-menu-dark-submenu-item-bg:#000c17}:host{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:var(--x-divider-color, var(--x-color-text, rgba(0, 0, 0, 0.88)));font-size:var(--x-divider-font-size, var(--x-font-size-base, 14px));font-variant:tabular-nums;line-height:var(--x-divider-line-height, var(--x-line-height-base, 1.5714));list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";border-top:var(--x-divider-border-width, var(--x-border-width-base, 1px)) solid var(--x-divider-border-color, var(--x-color-split, rgba(5, 5, 5, 0.06)))}:host(.x-divider-vertical){position:relative;top:var(--x-divider-vertical-top, -0.06em);display:inline-block;height:var(--x-divider-vertical-height, 0.9em);margin:0 var(--x-divider-margin-horizontal, var(--x-spacing-xs, 8px));vertical-align:middle;border-top:0;border-left:var(--x-divider-border-width, var(--x-border-width-base, 1px)) solid var(--x-divider-border-color, var(--x-color-split, rgba(5, 5, 5, 0.06)))}:host(.x-divider-horizontal){display:-ms-flexbox;display:flex;clear:both;width:100%;min-width:100%;margin:var(--x-divider-margin-vertical, var(--x-spacing-lg, 24px)) 0}:host(.x-divider-dashed){background:none;border-color:var(--x-divider-border-color, var(--x-color-split, rgba(5, 5, 5, 0.06)));border-style:dashed;border-width:var(--x-divider-border-width, var(--x-border-width-base, 1px)) 0 0}:host(.x-divider-horizontal.x-divider-with-text){display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin:var(--x-divider-with-text-margin, var(--x-spacing-md, 16px)) 0;color:var(--x-divider-color, var(--x-color-text, rgba(0, 0, 0, 0.88)));font-weight:var(--x-divider-font-weight, var(--x-font-weight-medium, 500));font-size:var(--x-divider-font-size-lg, var(--x-font-size-lg, 16px));white-space:nowrap;text-align:center;border-top:0;border-top-color:var(--x-divider-border-color, var(--x-color-split, rgba(5, 5, 5, 0.06)))}:host(.x-divider-horizontal.x-divider-with-text)::before,:host(.x-divider-horizontal.x-divider-with-text)::after{position:relative;width:50%;border-top:var(--x-divider-border-width, var(--x-border-width-base, 1px)) solid transparent;border-top-color:inherit;border-bottom:0;-webkit-transform:translateY(50%);transform:translateY(50%);content:"";-ms-flex:1;flex:1}:host(.x-divider-horizontal.x-divider-with-text-left)::before{-ms-flex:0 0 var(--x-divider-text-margin-left, 5%);flex:0 0 var(--x-divider-text-margin-left, 5%);width:var(--x-divider-text-margin-left, 5%)}:host(.x-divider-horizontal.x-divider-with-text-left)::after{-ms-flex:1;flex:1}:host(.x-divider-horizontal.x-divider-with-text-right)::before{-ms-flex:1;flex:1}:host(.x-divider-horizontal.x-divider-with-text-right)::after{-ms-flex:0 0 var(--x-divider-text-margin-right, 5%);flex:0 0 var(--x-divider-text-margin-right, 5%);width:var(--x-divider-text-margin-right, 5%)}.x-divider-inner-text{display:inline-block;padding:0 var(--x-divider-text-padding, 1em)}:host(.x-divider-plain) .x-divider-inner-text{font-weight:normal;font-size:var(--x-divider-font-size, var(--x-font-size-base, 14px))}`;
559
+
560
+ const XDivider = class {
561
+ constructor(hostRef) {
562
+ registerInstance(this, hostRef);
563
+ }
564
+ get el() { return getElement(this); }
565
+ /**
566
+ * Tracks whether the divider has text content.
567
+ */
568
+ hasContent = false;
569
+ /**
570
+ * Whether line is dashed.
571
+ * @example
572
+ * <x-divider dashed></x-divider>
573
+ */
574
+ dashed = false;
575
+ /**
576
+ * The position of title inside divider.
577
+ * @example
578
+ * <x-divider orientation="left">Left</x-divider>
579
+ */
580
+ orientation = 'center';
581
+ /**
582
+ * Divider text show as plain style.
583
+ * @example
584
+ * <x-divider plain>Text</x-divider>
585
+ */
586
+ plain = false;
587
+ /**
588
+ * The direction type of divider.
589
+ * @example
590
+ * <x-divider type="vertical"></x-divider>
591
+ */
592
+ type = 'horizontal';
593
+ /**
594
+ * The margin-left/right of the title.
595
+ * @example
596
+ * <x-divider orientation="left" orientationMargin="12px">Text</x-divider>
597
+ */
598
+ orientationMargin;
599
+ /**
600
+ * Check for initial slot content.
601
+ * @returns void
602
+ * @example
603
+ * <x-divider>Text</x-divider>
604
+ */
605
+ componentWillLoad() {
606
+ this.checkContent();
607
+ }
608
+ /**
609
+ * Determine if default slot has content.
610
+ * @returns void
611
+ * @example
612
+ * <x-divider>Text</x-divider>
613
+ */
614
+ checkContent() {
615
+ // Initial check, though slotchange is better for dynamic updates
616
+ this.hasContent = this.el.innerHTML.trim().length > 0;
617
+ }
618
+ /**
619
+ * Update content state when slot changes.
620
+ * @param e - Slot change event.
621
+ * @returns void
622
+ * @example
623
+ * <x-divider>Text</x-divider>
624
+ */
625
+ handleSlotChange = (e) => {
626
+ const slot = e.target;
627
+ this.hasContent = slot.assignedNodes({ flatten: true }).length > 0;
628
+ };
629
+ /**
630
+ * Render divider with optional text and orientation styles.
631
+ *
632
+ * Flow:
633
+ * 1. Constructs class map based on type (horizontal/vertical), style (dashed/plain), and content presence.
634
+ * 2. Calculates orientation styles (margin-left/right) if needed.
635
+ * 3. Renders Host element.
636
+ * 4. If horizontal with content:
637
+ * - Renders text wrapper span.
638
+ * - Projects slot.
639
+ * 5. Otherwise (vertical or empty):
640
+ * - Projects slot directly.
641
+ *
642
+ * @returns JSX.Element
643
+ * @example
644
+ * <x-divider orientation="right">Right</x-divider>
645
+ */
646
+ render() {
647
+ const { dashed, orientation, plain, type, orientationMargin, hasContent } = this;
648
+ // Build classes based on type and text presence.
649
+ const classes = {
650
+ 'x-divider': true,
651
+ [`x-divider-${type}`]: true,
652
+ [`x-divider-with-text`]: hasContent && type === 'horizontal',
653
+ [`x-divider-with-text-${orientation}`]: hasContent && type === 'horizontal',
654
+ 'x-divider-dashed': dashed,
655
+ 'x-divider-plain': plain,
656
+ };
657
+ // Apply margin styles when orientation is left/right.
658
+ const style = {};
659
+ if (orientationMargin && type === 'horizontal' && hasContent) {
660
+ // Apply margin for left or right alignment.
661
+ if (orientation === 'left') {
662
+ style['--x-divider-margin-left'] = orientationMargin;
663
+ }
664
+ else if (orientation === 'right') {
665
+ style['--x-divider-margin-right'] = orientationMargin;
666
+ }
667
+ }
668
+ return (h(Host, { key: 'c01c2f45c5bd8644531889d9787efb9afaa53e5f', class: classes, style: style }, type === 'horizontal' && hasContent && (h("span", { key: 'de69f4795c2069fe4844d087827f33c625759e9a', class: "x-divider-inner-text" }, h("slot", { key: 'cb0b0e462a05bd6035579554f5665a4baf52b856', onSlotchange: this.handleSlotChange }))), (!hasContent || type === 'vertical') && h("slot", { key: '054ecd7d528d560edffbf86722a1e8084f29890e', onSlotchange: this.handleSlotChange })));
669
+ }
670
+ };
671
+ XDivider.style = xDividerCss();
672
+
673
+ /**
674
+ * FormControl — Tracks value & validity of an individual form control
675
+ * Mirrors Angular's FormControl API 100%
676
+ */
677
+ class FormControl extends AbstractControl {
678
+ constructor(formState = null, validatorsOrOptions, asyncValidators) {
679
+ super();
680
+ this._initialize(formState, validatorsOrOptions, asyncValidators);
681
+ this._updateValueAndValidity({ onlySelf: true, emitEvent: false });
682
+ }
683
+ get value() {
684
+ return this._value;
685
+ }
686
+ setValue(value, options = {}) {
687
+ this._value = value;
688
+ if (this._onChange.length && options.emitModelToViewChange !== false) {
689
+ this._onChange.forEach(changeFn => changeFn(this._value));
690
+ }
691
+ this._updateValueAndValidity(options);
692
+ if (options.emitEvent !== false) {
693
+ this._emitValueChange(this._value);
694
+ }
695
+ }
696
+ patchValue(value, options = {}) {
697
+ this.setValue(value, options);
698
+ }
699
+ reset(formState = null, options = {}) {
700
+ this._initialize(formState, this._validators, this._asyncValidators);
701
+ this.markAsPristine(options);
702
+ this.markAsUntouched(options);
703
+ this._updateValueAndValidity(options);
704
+ if (options.emitEvent !== false) {
705
+ this._emitValueChange(this._value);
706
+ }
707
+ }
708
+ // ─── Internal ────────────────────────────────────────────────
709
+ _initialize(formState, validatorsOrOptions, asyncValidators) {
710
+ if (this._isFormControlOptions(validatorsOrOptions)) {
711
+ this._applyValidators(validatorsOrOptions);
712
+ this._updateOn = validatorsOrOptions.updateOn || 'change';
713
+ }
714
+ else {
715
+ this._applyValidators(validatorsOrOptions, asyncValidators);
716
+ }
717
+ if (formState !== null && typeof formState === 'object' && 'value' in formState) {
718
+ const state = formState;
719
+ this._value = state.value;
720
+ if (state.disabled) {
721
+ this.disable({ onlySelf: true, emitEvent: false });
722
+ }
723
+ }
724
+ else {
725
+ this._value = formState;
726
+ }
727
+ }
728
+ _isFormControlOptions(obj) {
729
+ return !!obj && typeof obj === 'object' && !Array.isArray(obj) && ('validators' in obj || 'asyncValidators' in obj || 'updateOn' in obj);
730
+ }
731
+ _runValidation() {
732
+ if (this._status === 'DISABLED')
733
+ return;
734
+ this._errors = this._runValidators(this._value);
735
+ this._status = this._calculateStatus();
736
+ if (this._status === 'VALID' && this._asyncValidators.length > 0) {
737
+ this._runAsyncValidators(this._value);
738
+ }
739
+ }
740
+ }
741
+
742
+ const xFormItemCss = () => `@charset "UTF-8";:root{--x-color-primary:#1677ff;--x-color-primary-rgb:22, 119, 255;--x-color-primary-contrast:#ffffff;--x-color-primary-contrast-rgb:255, 255, 255;--x-color-primary-shade:#0958d9;--x-color-primary-tint:#4096ff;--x-color-primary-bg:#e6f4ff;--x-color-primary-bg-hover:#bae0ff;--x-color-primary-border:#91caff;--x-color-primary-border-hover:#69b1ff;--x-color-primary-hover:#4096ff;--x-color-primary-active:#0958d9;--x-color-primary-text:#1677ff;--x-color-primary-text-hover:#4096ff;--x-color-primary-text-active:#0958d9;--x-color-secondary:#3dc2ff;--x-color-secondary-rgb:61, 194, 255;--x-color-secondary-contrast:#ffffff;--x-color-secondary-contrast-rgb:255, 255, 255;--x-color-secondary-shade:#36abe0;--x-color-secondary-tint:#50c8ff;--x-color-success:#52c41a;--x-color-success-rgb:82, 196, 26;--x-color-success-contrast:#ffffff;--x-color-success-contrast-rgb:255, 255, 255;--x-color-success-shade:#389e0d;--x-color-success-tint:#73d13d;--x-color-success-bg:#f6ffed;--x-color-success-bg-hover:#d9f7be;--x-color-success-border:#b7eb8f;--x-color-success-border-hover:#95de64;--x-color-success-hover:#73d13d;--x-color-success-active:#389e0d;--x-color-success-text:#52c41a;--x-color-success-text-hover:#73d13d;--x-color-success-text-active:#389e0d;--x-color-warning:#faad14;--x-color-warning-rgb:250, 173, 20;--x-color-warning-contrast:#000000;--x-color-warning-contrast-rgb:0, 0, 0;--x-color-warning-shade:#d48806;--x-color-warning-tint:#ffc53d;--x-color-warning-bg:#fffbe6;--x-color-warning-bg-hover:#fff1b8;--x-color-warning-border:#ffe58f;--x-color-warning-border-hover:#ffd666;--x-color-warning-hover:#ffc53d;--x-color-warning-active:#d48806;--x-color-warning-text:#faad14;--x-color-warning-text-hover:#ffc53d;--x-color-warning-text-active:#d48806;--x-color-danger:#ff4d4f;--x-color-danger-rgb:255, 77, 79;--x-color-danger-contrast:#ffffff;--x-color-danger-contrast-rgb:255, 255, 255;--x-color-danger-shade:#cf1322;--x-color-danger-tint:#ff7875;--x-color-error:#ff4d4f;--x-color-error-rgb:255, 77, 79;--x-color-error-bg:#fff2f0;--x-color-error-bg-hover:#ffccc7;--x-color-error-border:#ffa39e;--x-color-error-border-hover:#ff7875;--x-color-error-hover:#ff7875;--x-color-error-active:#d9363e;--x-color-error-text:#ff4d4f;--x-color-error-text-hover:#ff7875;--x-color-error-text-active:#d9363e;--x-color-info:#1677ff;--x-color-info-rgb:22, 119, 255;--x-color-info-bg:#e6f4ff;--x-color-info-bg-hover:#bae0ff;--x-color-info-border:#91caff;--x-color-info-border-hover:#69b1ff;--x-color-info-hover:#69b1ff;--x-color-info-active:#0958d9;--x-color-info-text:#1677ff;--x-color-info-text-hover:#69b1ff;--x-color-info-text-active:#0958d9;--x-color-text:rgba(0, 0, 0, 0.88);--x-color-text-secondary:rgba(0, 0, 0, 0.65);--x-color-text-tertiary:rgba(0, 0, 0, 0.45);--x-color-text-quaternary:rgba(0, 0, 0, 0.25);--x-color-text-disabled:rgba(0, 0, 0, 0.25);--x-color-text-placeholder:rgba(0, 0, 0, 0.25);--x-color-text-heading:rgba(0, 0, 0, 0.88);--x-color-text-label:rgba(0, 0, 0, 0.65);--x-color-text-description:rgba(0, 0, 0, 0.45);--x-color-text-light-solid:#ffffff;--x-color-bg-container:#ffffff;--x-color-bg-elevated:#ffffff;--x-color-bg-layout:#f5f5f5;--x-color-bg-spotlight:rgba(0, 0, 0, 0.85);--x-color-bg-mask:rgba(0, 0, 0, 0.45);--x-color-bg-base:#ffffff;--x-color-bg-container-disabled:#f5f5f5;--x-color-bg-container-loading:rgba(255, 255, 255, 0.65);--x-color-white:#ffffff;--x-color-fill:rgba(0, 0, 0, 0.15);--x-color-fill-secondary:rgba(0, 0, 0, 0.06);--x-color-fill-tertiary:rgba(0, 0, 0, 0.04);--x-color-fill-quaternary:rgba(0, 0, 0, 0.02);--x-color-border:#d9d9d9;--x-color-border-secondary:#f0f0f0;--x-color-border-bg:#ffffff;--x-color-split:rgba(5, 5, 5, 0.06);--x-color-dark:#222428;--x-color-dark-rgb:34, 36, 40;--x-color-dark-contrast:#ffffff;--x-color-dark-contrast-rgb:255, 255, 255;--x-color-dark-shade:#1e2023;--x-color-dark-tint:#383a3e;--x-color-medium:#92949c;--x-color-medium-rgb:146, 148, 156;--x-color-medium-contrast:#ffffff;--x-color-medium-contrast-rgb:255, 255, 255;--x-color-medium-shade:#808289;--x-color-medium-tint:#9d9fa6;--x-color-light:#f4f5f8;--x-color-light-rgb:244, 245, 248;--x-color-light-contrast:#000000;--x-color-light-contrast-rgb:0, 0, 0;--x-color-light-shade:#d7d8da;--x-color-light-tint:#f5f6f9;--x-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--x-font-family-code:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--x-font-size:14px;--x-font-size-sm:12px;--x-font-size-lg:16px;--x-font-size-xl:20px;--x-font-size-heading-1:38px;--x-font-size-heading-2:30px;--x-font-size-heading-3:24px;--x-font-size-heading-4:20px;--x-font-size-heading-5:16px;--x-line-height:1.5714285714285714;--x-line-height-lg:1.5;--x-line-height-sm:1.6666666666666667;--x-line-height-heading-1:1.2105263157894737;--x-line-height-heading-2:1.2666666666666666;--x-line-height-heading-3:1.3333333333333333;--x-line-height-heading-4:1.4;--x-line-height-heading-5:1.5;--x-font-weight-normal:400;--x-font-weight-medium:500;--x-font-weight-semibold:600;--x-font-weight-strong:600;--x-font-size-base:14px;--x-font-size-xxl:24px;--x-line-height-base:1.5714285714285714;--x-spacing-xxs:4px;--x-spacing-xs:8px;--x-spacing-sm:12px;--x-spacing-md:16px;--x-spacing-lg:20px;--x-spacing-xl:24px;--x-spacing-xxl:32px;--x-spacing-xxxl:48px;--x-margin-xxs:4px;--x-margin-xs:8px;--x-margin-sm:12px;--x-margin-md:16px;--x-margin-lg:24px;--x-margin-xl:32px;--x-margin-xxl:48px;--x-padding-xxs:4px;--x-padding-xs:8px;--x-padding-sm:12px;--x-padding-md:16px;--x-padding-lg:24px;--x-padding-content-horizontal-lg:24px;--x-padding-content-vertical-lg:12px;--x-padding-content-horizontal:16px;--x-padding-content-vertical:12px;--x-padding-content-horizontal-sm:16px;--x-padding-content-vertical-sm:8px;--x-border-radius:6px;--x-border-radius-xs:2px;--x-border-radius-sm:4px;--x-border-radius-lg:8px;--x-border-radius-xl:12px;--x-border-radius-outer:4px;--x-border-radius-base:6px;--x-border-width:1px;--x-border-width-base:1px;--x-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-shadow-lg:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-box-shadow-popover-arrow:2px 2px 5px rgba(0, 0, 0, 0.05);--x-box-shadow-card:0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);--x-box-shadow-drawer-right:-6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-left:6px 0 16px 0 rgba(0, 0, 0, 0.08), 3px 0 6px -4px rgba(0, 0, 0, 0.12), 9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-up:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-down:0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tabs-overflow-left:inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-right:inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-top:inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-bottom:inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);--x-motion-duration-fast:0.1s;--x-motion-duration-mid:0.2s;--x-motion-duration-slow:0.3s;--x-motion-ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--x-motion-ease-out:cubic-bezier(0.215, 0.61, 0.355, 1);--x-motion-ease-in:cubic-bezier(0.55, 0.055, 0.675, 0.19);--x-motion-ease-out-back:cubic-bezier(0.12, 0.4, 0.29, 1.46);--x-motion-ease-in-back:cubic-bezier(0.71, -0.46, 0.88, 0.6);--x-motion-ease-in-out-circle:cubic-bezier(0.78, 0.14, 0.15, 0.86);--x-motion-ease-out-circle:cubic-bezier(0.08, 0.82, 0.17, 1);--x-motion-ease-in-circle:cubic-bezier(0.6, 0.04, 0.98, 0.34);--x-motion-ease-in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);--x-motion-ease-out-quint:cubic-bezier(0.23, 1, 0.32, 1);--x-z-index-base:0;--x-z-index-popup-base:1000;--x-z-index-popup:1030;--x-z-index-affix:10;--x-z-index-modal:1000;--x-z-index-modal-mask:1000;--x-z-index-drawer:1000;--x-z-index-popover:1030;--x-z-index-dropdown:1050;--x-z-index-tooltip:1070;--x-z-index-notification:1080;--x-z-index-message:1090;--x-z-index-popconfirm:1060;--x-z-index-table-fixed:10;--x-opacity-loading:0.65;--x-opacity-image:1;--x-opacity-disabled:0.5;--x-control-height:32px;--x-control-height-xs:24px;--x-control-height-sm:24px;--x-control-height-lg:40px;--x-control-radio-size:16px;--x-control-checkbox-size:16px;--x-control-padding-horizontal:12px;--x-control-padding-horizontal-sm:8px;--x-control-outline-width:2px;--x-control-outline:rgba(5, 145, 255, 0.1);--x-control-item-bg-hover:rgba(0, 0, 0, 0.04);--x-control-item-bg-active:#e6f4ff;--x-control-item-bg-active-hover:#bae0ff;--x-control-item-bg-active-disabled:rgba(0, 0, 0, 0.15);--x-control-tmp-outline:rgba(0, 0, 0, 0.02);--x-color-yellow:#fadb14;--x-color-yellow-rgb:250, 219, 20;--x-font-family-base:var(--x-font-family);--x-color-link:#1677ff;--x-color-link-hover:#69b1ff;--x-color-link-active:#0958d9;--x-color-icon:rgba(0, 0, 0, 0.45);--x-color-icon-hover:rgba(0, 0, 0, 0.88);--x-color-highlight:#ff4d4f;--x-color-bg-text-hover:rgba(0, 0, 0, 0.06);--x-color-bg-text-active:rgba(0, 0, 0, 0.15);--x-screen-xs:480px;--x-screen-xs-min:480px;--x-screen-xs-max:575px;--x-screen-sm:576px;--x-screen-sm-min:576px;--x-screen-sm-max:767px;--x-screen-md:768px;--x-screen-md-min:768px;--x-screen-md-max:991px;--x-screen-lg:992px;--x-screen-lg-min:992px;--x-screen-lg-max:1199px;--x-screen-xl:1200px;--x-screen-xl-min:1200px;--x-screen-xl-max:1599px;--x-screen-xxl:1600px;--x-screen-xxl-min:1600px;--x-color-fill-content:rgba(0, 0, 0, 0.06);--x-color-fill-content-hover:rgba(0, 0, 0, 0.15);--x-color-fill-alter:rgba(0, 0, 0, 0.02);--x-scrollbar-width:12px;--x-scrollbar-track-bg:rgba(0, 0, 0, 0.04);--x-scrollbar-thumb-bg:rgba(0, 0, 0, 0.25);--x-scrollbar-thumb-bg-hover:rgba(0, 0, 0, 0.35);--x-menu-dark-bg:#001529;--x-menu-dark-item-bg:#001529;--x-menu-dark-popup-bg:#001529;--x-menu-dark-submenu-item-bg:#000c17}:host{display:block;margin-bottom:var(--x-form-item-margin-bottom, var(--x-spacing-lg, 24px));-webkit-transition:all var(--x-form-item-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-form-item-motion-ease-out, var(--x-motion-ease-out, cubic-bezier(0.215, 0.61, 0.355, 1)));transition:all var(--x-form-item-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-form-item-motion-ease-out, var(--x-motion-ease-out, cubic-bezier(0.215, 0.61, 0.355, 1)));-webkit-box-sizing:border-box;box-sizing:border-box;padding:0;color:var(--x-form-item-color, var(--x-color-text, rgba(0, 0, 0, 0.88)));font-size:var(--x-form-item-font-size, var(--x-font-size-base, 14px));font-variant:tabular-nums;line-height:var(--x-form-item-line-height, var(--x-line-height-base, 1.5715));list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum"}:host(.x-form-item-horizontal) .x-form-item-row{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;min-width:0}:host(.x-form-item-vertical) .x-form-item-row{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.x-form-item-vertical) .x-form-item-label{text-align:left;padding:0 0 8px;line-height:var(--x-form-item-line-height, var(--x-line-height-base, 1.5715))}:host(.x-form-item-vertical) .x-form-item-label label::after{display:none}:host(.x-form-item-inline){display:-ms-inline-flexbox;display:inline-flex;margin-right:var(--x-form-item-inline-margin-right, 16px);margin-bottom:0}:host(.x-form-item-inline) .x-form-item-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}:host(.x-form-item-horizontal) .x-form-item-row{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}:host(.x-form-item-vertical) .x-form-item-row{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.x-form-item-vertical) .x-form-item-label{text-align:left;margin-right:0;padding:0 0 var(--x-form-item-explain-padding-top, var(--x-spacing-xxs, 4px));width:100%}:host(.x-form-item-vertical) .x-form-item-label label{height:auto}:host(.x-form-item-vertical) .x-form-item-label label::after{display:none !important}:host(.x-form-item-inline){display:-ms-inline-flexbox;display:inline-flex;margin-right:var(--x-form-item-inline-margin-right, 16px);margin-bottom:0}:host(.x-form-item-inline) .x-form-item-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-align:center;align-items:center}:host(.x-form-item-inline) .x-form-item-label{margin-right:var(--x-form-item-inline-label-margin-right, 8px)}.x-form-item-row{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;min-width:0;width:100%}.x-form-item-label{-ms-flex-positive:0;flex-grow:0;overflow:hidden;white-space:nowrap;vertical-align:middle;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}.x-form-item-label.x-form-item-label-left{-ms-flex-pack:start !important;justify-content:flex-start !important;text-align:left !important}.x-form-item-label.x-form-item-label-right{-ms-flex-pack:end !important;justify-content:flex-end !important;text-align:right !important}.x-form-item-label.x-form-item-label-center{-ms-flex-pack:center !important;justify-content:center !important;text-align:center !important}.x-form-item-label{margin-right:var(--x-form-item-label-margin-right, var(--x-spacing-md, 16px));line-height:var(--x-form-item-control-height, var(--x-control-height, 32px))}.x-form-item-label label{position:relative;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;max-width:100%;height:var(--x-form-item-control-height, var(--x-control-height, 32px));color:var(--x-form-item-color, var(--x-color-text, rgba(0, 0, 0, 0.88)));font-size:var(--x-form-item-font-size, var(--x-font-size-base, 14px))}.x-form-item-label label::after{content:":";position:relative;top:-0.5px;margin:0 var(--x-form-item-label-colon-margin-inline, var(--x-spacing-xs, 8px)) 0 var(--x-form-item-label-colon-margin-inline-start, 2px)}.x-form-item-label label.x-form-item-no-colon::after{content:" "}.x-form-item-label label.x-form-item-required::before{display:inline-block;margin-right:var(--x-form-item-required-margin-right, var(--x-spacing-xxs, 4px));color:var(--x-form-item-color-error, var(--x-color-error, #ff4d4f));font-size:var(--x-form-item-font-size, var(--x-font-size-base, 14px));font-family:SimSun, sans-serif;line-height:1;content:"*"}.x-form-item-control{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-positive:1;flex-grow:1}.x-form-item-control-input{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:var(--x-form-item-control-height, var(--x-control-height, 32px))}.x-form-item-control-input-content{-ms-flex:auto;flex:auto;max-width:100%}.x-form-item-children-icon{position:absolute;top:50%;right:var(--x-form-item-control-padding-horizontal, var(--x-control-padding-horizontal, 11px));z-index:1;width:var(--x-form-item-icon-size, var(--x-spacing-md, 16px));height:var(--x-form-item-icon-size, var(--x-spacing-md, 16px));margin-top:calc(var(--x-form-item-icon-size, var(--x-spacing-md, 16px)) / -2);font-size:var(--x-form-item-icon-size, var(--x-spacing-md, 16px));line-height:var(--x-form-item-icon-size, var(--x-spacing-md, 16px));text-align:center;visibility:visible;-webkit-animation:zoomIn var(--x-form-item-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-form-item-motion-ease-out-back, var(--x-motion-ease-out-back, cubic-bezier(0.12, 0.4, 0.29, 1.46)));animation:zoomIn var(--x-form-item-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-form-item-motion-ease-out-back, var(--x-motion-ease-out-back, cubic-bezier(0.12, 0.4, 0.29, 1.46)));pointer-events:none}.x-form-item-explain{clear:both;min-height:var(--x-form-item-explain-min-height, var(--x-spacing-lg, 24px));margin-top:var(--x-form-item-explain-margin-top, -2px);color:var(--x-form-item-color-secondary, var(--x-color-text-secondary, rgba(0, 0, 0, 0.45)));font-size:var(--x-form-item-font-size, var(--x-font-size-base, 14px));line-height:var(--x-form-item-line-height, var(--x-line-height-base, 1.5715));-webkit-transition:color var(--x-form-item-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-form-item-motion-ease-in-out, var(--x-motion-ease-in-out, cubic-bezier(0.645, 0.045, 0.355, 1)));transition:color var(--x-form-item-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-form-item-motion-ease-in-out, var(--x-motion-ease-in-out, cubic-bezier(0.645, 0.045, 0.355, 1)));padding-top:var(--x-form-item-explain-padding-top, var(--x-spacing-xxs, 4px))}:host(.x-form-item-has-error) .x-form-item-children-icon{color:var(--x-form-item-color-error, var(--x-color-error, #ff4d4f))}:host(.x-form-item-has-error) .x-form-item-explain{color:var(--x-form-item-color-error, var(--x-color-error, #ff4d4f))}:host(.x-form-item-has-warning) .x-form-item-children-icon{color:var(--x-form-item-color-warning, var(--x-color-warning, #faad14))}:host(.x-form-item-has-warning) .x-form-item-explain{color:var(--x-form-item-color-warning, var(--x-color-warning, #faad14))}:host(.x-form-item-has-success) .x-form-item-children-icon{color:var(--x-form-item-color-success, var(--x-color-success, #52c41a))}:host-context(.x-form-vertical) .x-form-item{-ms-flex-direction:column;flex-direction:column}:host-context(.x-form-vertical) .x-form-item-label{text-align:left;margin-right:0;padding:0 0 var(--x-form-item-explain-padding-top, var(--x-spacing-xxs, 4px));line-height:var(--x-form-item-line-height, var(--x-line-height-base, 1.5715))}:host-context(.x-form-vertical) .x-form-item-label label{height:auto}:host-context(.x-form-vertical) .x-form-item-label label::after{display:none}@-webkit-keyframes zoomIn{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes zoomIn{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.anticon-spin{-webkit-animation:loadingCircle 1s infinite linear;animation:loadingCircle 1s infinite linear}@-webkit-keyframes loadingCircle{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loadingCircle{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}`;
743
+
744
+ const XFormItem = class {
745
+ constructor(hostRef) {
746
+ registerInstance(this, hostRef);
747
+ }
748
+ get el() { return getElement(this); }
749
+ /**
750
+ * Label text
751
+ * @example
752
+ * <x-form-item label="Email"></x-form-item>
753
+ */
754
+ label;
755
+ /**
756
+ * The validation status. If not provided, it will be automatically inferred from the form control.
757
+ * @example
758
+ * <x-form-item validateStatus="error"></x-form-item>
759
+ */
760
+ validateStatus;
761
+ /**
762
+ * The help message. If not provided, it will be automatically inferred from the form control errors.
763
+ * @example
764
+ * <x-form-item help="Required"></x-form-item>
765
+ */
766
+ help;
767
+ /**
768
+ * Whether to show the required mark. If not provided, it will be automatically inferred from the form control validators.
769
+ * @example
770
+ * <x-form-item required label="Name"></x-form-item>
771
+ */
772
+ required = false;
773
+ /**
774
+ * Whether to show the colon after label
775
+ * @example
776
+ * <x-form-item colon={false} label="Name"></x-form-item>
777
+ */
778
+ colon = true;
779
+ /**
780
+ * Whether to show the feedback icon
781
+ * @example
782
+ * <x-form-item hasFeedback validateStatus="success"></x-form-item>
783
+ */
784
+ hasFeedback = false;
785
+ /**
786
+ * Label column layout (e.g. span)
787
+ * @example
788
+ * <x-form-item labelCol="span: 6"></x-form-item>
789
+ */
790
+ labelCol;
791
+ /**
792
+ * Wrapper column layout
793
+ * @example
794
+ * <x-form-item wrapperCol="span: 18"></x-form-item>
795
+ */
796
+ wrapperCol;
797
+ /**
798
+ * Label alignment in horizontal layout
799
+ */
800
+ labelAlign;
801
+ /**
802
+ * Form layout (overrides parent x-form layout)
803
+ */
804
+ layout;
805
+ /**
806
+ * Field name for form binding
807
+ */
808
+ name;
809
+ /**
810
+ * Props of children node, for example checkbox should be 'checked'
811
+ */
812
+ valuePropName = 'value';
813
+ /**
814
+ * Extra prompt message
815
+ */
816
+ extra;
817
+ control;
818
+ status;
819
+ errorMessage;
820
+ parentLayout;
821
+ parentColon;
822
+ parentHideRequiredMark;
823
+ parentLabelAlign;
824
+ formEl = null;
825
+ unsubscribe = null;
826
+ observer = null;
827
+ nameChanged() {
828
+ this.connectControl();
829
+ }
830
+ componentWillLoad() {
831
+ this.formEl = this.el.closest('x-form');
832
+ if (this.formEl) {
833
+ this.syncParentProps();
834
+ this.setupObserver();
835
+ }
836
+ this.connectControl();
837
+ }
838
+ syncParentProps() {
839
+ if (this.formEl) {
840
+ this.parentLayout = this.formEl.getAttribute('layout') || this.formEl.layout || 'horizontal';
841
+ this.parentColon = this.formEl.getAttribute('colon') !== 'false' && this.formEl.colon !== false;
842
+ this.parentHideRequiredMark = this.formEl.getAttribute('hide-required-mark') === 'true' || this.formEl.hideRequiredMark === true;
843
+ this.parentLabelAlign = this.formEl.labelAlign || 'right';
844
+ }
845
+ }
846
+ setupObserver() {
847
+ if (this.formEl && !this.observer) {
848
+ this.observer = new MutationObserver((mutations) => {
849
+ mutations.forEach((mutation) => {
850
+ if (mutation.type === 'attributes' && (mutation.attributeName === 'layout' ||
851
+ mutation.attributeName === 'colon' ||
852
+ mutation.attributeName === 'hide-required-mark')) {
853
+ this.syncParentProps();
854
+ }
855
+ });
856
+ });
857
+ this.observer.observe(this.formEl, { attributes: true });
858
+ }
859
+ }
860
+ disconnectedCallback() {
861
+ if (this.unsubscribe) {
862
+ this.unsubscribe();
863
+ }
864
+ if (this.observer) {
865
+ this.observer.disconnect();
866
+ }
867
+ }
868
+ connectControl() {
869
+ if (this.unsubscribe) {
870
+ this.unsubscribe();
871
+ }
872
+ if (this.formEl && this.formEl.form && this.name) {
873
+ let control = this.formEl.form.get(this.name);
874
+ if (!control) {
875
+ // Self-registration: create a control if it doesn't exist
876
+ const initialValue = this.formEl.initialValues?.[this.name];
877
+ control = new FormControl(initialValue);
878
+ this.formEl.form.addControl(this.name, control);
879
+ }
880
+ if (control) {
881
+ this.control = control;
882
+ this.syncState(control);
883
+ this.unsubscribe = control.stateChanges(() => {
884
+ this.syncState(control);
885
+ });
886
+ // Update child component value
887
+ this.updateChildValue(control.value);
888
+ }
889
+ }
890
+ }
891
+ syncState(control) {
892
+ if (control.touched || control.dirty) {
893
+ this.validateStatus = control.invalid ? 'error' : (control.pending ? 'validating' : 'success');
894
+ if (control.errors && !this.help) {
895
+ this.errorMessage = Object.values(control.errors)[0];
896
+ }
897
+ else {
898
+ this.errorMessage = '';
899
+ }
900
+ }
901
+ const internalControl = control;
902
+ const validators = (internalControl._validators || internalControl.validators || []);
903
+ const isRequired = Array.isArray(validators) && validators.some((v) => v.name === 'required' ||
904
+ (v.toString && v.toString().includes('required')) ||
905
+ (v.validator && v.validator.name === 'required'));
906
+ if (isRequired && !this.required) {
907
+ this.required = true;
908
+ }
909
+ }
910
+ updateChildValue(value) {
911
+ const input = this.el.querySelector('x-input, x-input-number, x-select, x-checkbox, x-switch');
912
+ if (input && input[this.valuePropName] !== value) {
913
+ input[this.valuePropName] = value;
914
+ }
915
+ }
916
+ handleControlChange = (ev) => {
917
+ if (this.control && this.name) {
918
+ const detail = ev.detail;
919
+ const value = detail?.[this.valuePropName] !== undefined
920
+ ? detail[this.valuePropName]
921
+ : (detail?.value !== undefined ? detail.value : ev.target[this.valuePropName]);
922
+ this.control.setValue(value);
923
+ this.control.markAsDirty();
924
+ }
925
+ };
926
+ handleControlBlur = () => {
927
+ if (this.control) {
928
+ this.control.markAsTouched();
929
+ }
930
+ };
931
+ componentDidLoad() {
932
+ // Listen to changes from child inputs
933
+ this.el.addEventListener('xChange', this.handleControlChange);
934
+ this.el.addEventListener('xBlur', this.handleControlBlur);
935
+ }
936
+ render() {
937
+ const displayHelp = this.help || this.errorMessage;
938
+ const layout = this.layout || this.parentLayout || 'horizontal';
939
+ const isHorizontal = layout === 'horizontal';
940
+ const isVertical = layout === 'vertical';
941
+ const isInline = layout === 'inline';
942
+ const showColon = this.el.hasAttribute('colon') ? this.colon : this.parentColon;
943
+ const hideMark = this.parentHideRequiredMark;
944
+ return (h(Host, { key: '9e53e5534b7091f5041150f831adec589cffa581', class: {
945
+ 'x-form-item': true,
946
+ 'x-form-item-with-help': !!displayHelp,
947
+ 'x-form-item-has-error': this.validateStatus === 'error',
948
+ 'x-form-item-has-warning': this.validateStatus === 'warning',
949
+ 'x-form-item-has-success': this.validateStatus === 'success',
950
+ 'x-form-item-validating': this.validateStatus === 'validating',
951
+ 'x-form-item-has-feedback': this.hasFeedback,
952
+ 'x-form-item-horizontal': isHorizontal,
953
+ 'x-form-item-vertical': isVertical,
954
+ 'x-form-item-inline': isInline,
955
+ } }, h("div", { key: 'c5dd09be09f559f986fb4d36c70f5c391622b107', class: "x-form-item-row" }, this.label && (h("div", { key: 'f77d9c4d9b5241a540546b9d674178f375e92c6d', class: {
956
+ 'x-form-item-label': true,
957
+ ...(typeof this.labelCol === 'string' ? { [this.labelCol]: true } : {}),
958
+ [`x-form-item-label-${this.labelAlign || this.parentLabelAlign || 'right'}`]: true
959
+ }, style: typeof this.labelCol === 'object' && this.labelCol?.span ? {
960
+ flex: `0 0 ${(this.labelCol.span / 24) * 100}%`,
961
+ maxWidth: `${(this.labelCol.span / 24) * 100}%`
962
+ } : {} }, h("label", { key: 'e4464d27147d1cee39619ad37cb7c5a6f9cb3139', class: {
963
+ 'x-form-item-required': this.required && !hideMark,
964
+ 'x-form-item-no-colon': !showColon
965
+ }, title: this.label }, this.label))), h("div", { key: '508207d8171598a5d2122eddc91ab9ddbedb8494', class: {
966
+ 'x-form-item-control': true,
967
+ ...(typeof this.wrapperCol === 'string' ? { [this.wrapperCol]: true } : {})
968
+ }, style: typeof this.wrapperCol === 'object' && this.wrapperCol?.span ? {
969
+ flex: `0 0 ${(this.wrapperCol.span / 24) * 100}%`,
970
+ maxWidth: `${(this.wrapperCol.span / 24) * 100}%`
971
+ } : {} }, h("div", { key: 'b47d5161aaf6f42cd47781118b11094c599e240b', class: "x-form-item-control-input" }, h("div", { key: '3437bb735c66cafb7c463f7be885f19470fdf137', class: "x-form-item-control-input-content" }, h("slot", { key: '7f8b3ce874b4281e3a3f9eec36fe1f2a7a772a44' })), this.hasFeedback && this.validateStatus && (h("span", { key: '4e032dde91980865acc598ecb093d293f1188fa7', class: "x-form-item-children-icon" }, this.validateStatus === 'success' && (h("span", { key: 'b7af17e662a03db206209e6ac5fbb8e43630d2d5', role: "img", "aria-label": "check-circle", class: "anticon anticon-check-circle" }, h("svg", { key: '14772b5dbf639304b9fc6dc3fc64355a45ca880d', viewBox: "64 64 896 896", focusable: "false", "data-icon": "check-circle", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true" }, h("path", { key: '1f5f902d9fd9cca98d5c6e0858a98bafcc346ae5', d: "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z" })))), this.validateStatus === 'error' && (h("span", { key: 'a26ddb33d965813b3b07c20579f96ea37a5ea5b7', role: "img", "aria-label": "close-circle", class: "anticon anticon-close-circle" }, h("svg", { key: 'c5a5ecb10bcbbb892a339747122e8245f0f19543', viewBox: "64 64 896 896", focusable: "false", "data-icon": "close-circle", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true" }, h("path", { key: '5ad8e00a4a77691849eaede2b8a23baaf029805f', d: "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z" })))), this.validateStatus === 'warning' && (h("span", { key: '7ebd6dd058a5c99ac84a9d2941d89638b2b1e52a', role: "img", "aria-label": "exclamation-circle", class: "anticon anticon-exclamation-circle" }, h("svg", { key: 'b3e076d376e5b977fa8a7a3aeed8e827d393e340', viewBox: "64 64 896 896", focusable: "false", "data-icon": "exclamation-circle", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true" }, h("path", { key: '57965d3b6febe5754bff10a1971e2a6f7e6f742c', d: "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z" })))), this.validateStatus === 'validating' && (h("span", { key: 'c6f937df1576cf819f82b781a51b4251327e58d0', role: "img", "aria-label": "loading", class: "anticon anticon-loading" }, h("svg", { key: '0ddc19bd99b81eb8d9cbfeef27713a84738821bc', viewBox: "0 0 1024 1024", focusable: "false", "data-icon": "loading", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", class: "anticon-spin" }, h("path", { key: '4170c00b2eb78bca579c05afcde8c6f74b2534f6', d: "M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z" }))))))), displayHelp && (h("div", { key: 'c0fee0d5924b829c6e83fdde04e6f6b8083763c6', class: "x-form-item-explain" }, h("div", { key: '95dfa6a1a8d9643934e09c13ec7266fd8e824df4', role: "alert" }, displayHelp))), this.extra && (h("div", { key: 'b71cc65d15e1eae8ce0a904d0db956c0f549dcce', class: "x-form-item-extra" }, this.extra))))));
972
+ }
973
+ static get watchers() { return {
974
+ "name": [{
975
+ "nameChanged": 0
976
+ }]
977
+ }; }
978
+ };
979
+ XFormItem.style = xFormItemCss();
980
+
981
+ /**
982
+ * X-Input-Number Types - Following Ant Design Specification
983
+ */
984
+ /**
985
+ * Helper to validate if value is within range
986
+ */
987
+ /**
988
+ * Helper to clamp value within range
989
+ */
990
+ function clampValue(value, min, max, precision) {
991
+ if (value === null || value === undefined || value === '') {
992
+ return value;
993
+ }
994
+ let numValue = typeof value === 'string' ? parseFloat(value) : value;
995
+ if (isNaN(numValue)) {
996
+ return null;
997
+ }
998
+ // Clamp to range
999
+ numValue = Math.min(Math.max(numValue, min), max);
1000
+ // Apply precision
1001
+ if (precision !== undefined && precision >= 0) {
1002
+ numValue = parseFloat(numValue.toFixed(precision));
1003
+ }
1004
+ return numValue;
1005
+ }
1006
+ /**
1007
+ * Helper to format number with precision
1008
+ */
1009
+ function formatWithPrecision(value, precision) {
1010
+ if (value === null || value === undefined || value === '') {
1011
+ return '';
1012
+ }
1013
+ const numValue = typeof value === 'string' ? parseFloat(value) : value;
1014
+ if (isNaN(numValue)) {
1015
+ return '';
1016
+ }
1017
+ if (precision !== undefined && precision >= 0) {
1018
+ return numValue.toFixed(precision);
1019
+ }
1020
+ return String(numValue);
1021
+ }
1022
+ /**
1023
+ * Helper to add step with precision handling
1024
+ */
1025
+ function addStep(value, step, direction, precision) {
1026
+ let numValue = 0;
1027
+ if (value !== null && value !== undefined && value !== '') {
1028
+ numValue = typeof value === 'string' ? parseFloat(value) : value;
1029
+ if (isNaN(numValue)) {
1030
+ numValue = 0;
1031
+ }
1032
+ }
1033
+ const offset = direction === 'up' ? step : -step;
1034
+ let nextValue = numValue + offset;
1035
+ // Handle floating point precision issues
1036
+ if (precision !== undefined && precision >= 0) {
1037
+ nextValue = parseFloat(nextValue.toFixed(precision));
1038
+ }
1039
+ else {
1040
+ // Auto-detect precision from step
1041
+ const stepStr = String(step);
1042
+ const decimalIndex = stepStr.indexOf('.');
1043
+ if (decimalIndex !== -1) {
1044
+ const stepPrecision = stepStr.length - decimalIndex - 1;
1045
+ nextValue = parseFloat(nextValue.toFixed(stepPrecision));
1046
+ }
1047
+ }
1048
+ return nextValue;
1049
+ }
1050
+
1051
+ const xInputNumberCss = () => `:root{--x-color-primary:#1677ff;--x-color-primary-rgb:22, 119, 255;--x-color-primary-contrast:#ffffff;--x-color-primary-contrast-rgb:255, 255, 255;--x-color-primary-shade:#0958d9;--x-color-primary-tint:#4096ff;--x-color-primary-bg:#e6f4ff;--x-color-primary-bg-hover:#bae0ff;--x-color-primary-border:#91caff;--x-color-primary-border-hover:#69b1ff;--x-color-primary-hover:#4096ff;--x-color-primary-active:#0958d9;--x-color-primary-text:#1677ff;--x-color-primary-text-hover:#4096ff;--x-color-primary-text-active:#0958d9;--x-color-secondary:#3dc2ff;--x-color-secondary-rgb:61, 194, 255;--x-color-secondary-contrast:#ffffff;--x-color-secondary-contrast-rgb:255, 255, 255;--x-color-secondary-shade:#36abe0;--x-color-secondary-tint:#50c8ff;--x-color-success:#52c41a;--x-color-success-rgb:82, 196, 26;--x-color-success-contrast:#ffffff;--x-color-success-contrast-rgb:255, 255, 255;--x-color-success-shade:#389e0d;--x-color-success-tint:#73d13d;--x-color-success-bg:#f6ffed;--x-color-success-bg-hover:#d9f7be;--x-color-success-border:#b7eb8f;--x-color-success-border-hover:#95de64;--x-color-success-hover:#73d13d;--x-color-success-active:#389e0d;--x-color-success-text:#52c41a;--x-color-success-text-hover:#73d13d;--x-color-success-text-active:#389e0d;--x-color-warning:#faad14;--x-color-warning-rgb:250, 173, 20;--x-color-warning-contrast:#000000;--x-color-warning-contrast-rgb:0, 0, 0;--x-color-warning-shade:#d48806;--x-color-warning-tint:#ffc53d;--x-color-warning-bg:#fffbe6;--x-color-warning-bg-hover:#fff1b8;--x-color-warning-border:#ffe58f;--x-color-warning-border-hover:#ffd666;--x-color-warning-hover:#ffc53d;--x-color-warning-active:#d48806;--x-color-warning-text:#faad14;--x-color-warning-text-hover:#ffc53d;--x-color-warning-text-active:#d48806;--x-color-danger:#ff4d4f;--x-color-danger-rgb:255, 77, 79;--x-color-danger-contrast:#ffffff;--x-color-danger-contrast-rgb:255, 255, 255;--x-color-danger-shade:#cf1322;--x-color-danger-tint:#ff7875;--x-color-error:#ff4d4f;--x-color-error-rgb:255, 77, 79;--x-color-error-bg:#fff2f0;--x-color-error-bg-hover:#ffccc7;--x-color-error-border:#ffa39e;--x-color-error-border-hover:#ff7875;--x-color-error-hover:#ff7875;--x-color-error-active:#d9363e;--x-color-error-text:#ff4d4f;--x-color-error-text-hover:#ff7875;--x-color-error-text-active:#d9363e;--x-color-info:#1677ff;--x-color-info-rgb:22, 119, 255;--x-color-info-bg:#e6f4ff;--x-color-info-bg-hover:#bae0ff;--x-color-info-border:#91caff;--x-color-info-border-hover:#69b1ff;--x-color-info-hover:#69b1ff;--x-color-info-active:#0958d9;--x-color-info-text:#1677ff;--x-color-info-text-hover:#69b1ff;--x-color-info-text-active:#0958d9;--x-color-text:rgba(0, 0, 0, 0.88);--x-color-text-secondary:rgba(0, 0, 0, 0.65);--x-color-text-tertiary:rgba(0, 0, 0, 0.45);--x-color-text-quaternary:rgba(0, 0, 0, 0.25);--x-color-text-disabled:rgba(0, 0, 0, 0.25);--x-color-text-placeholder:rgba(0, 0, 0, 0.25);--x-color-text-heading:rgba(0, 0, 0, 0.88);--x-color-text-label:rgba(0, 0, 0, 0.65);--x-color-text-description:rgba(0, 0, 0, 0.45);--x-color-text-light-solid:#ffffff;--x-color-bg-container:#ffffff;--x-color-bg-elevated:#ffffff;--x-color-bg-layout:#f5f5f5;--x-color-bg-spotlight:rgba(0, 0, 0, 0.85);--x-color-bg-mask:rgba(0, 0, 0, 0.45);--x-color-bg-base:#ffffff;--x-color-bg-container-disabled:#f5f5f5;--x-color-bg-container-loading:rgba(255, 255, 255, 0.65);--x-color-white:#ffffff;--x-color-fill:rgba(0, 0, 0, 0.15);--x-color-fill-secondary:rgba(0, 0, 0, 0.06);--x-color-fill-tertiary:rgba(0, 0, 0, 0.04);--x-color-fill-quaternary:rgba(0, 0, 0, 0.02);--x-color-border:#d9d9d9;--x-color-border-secondary:#f0f0f0;--x-color-border-bg:#ffffff;--x-color-split:rgba(5, 5, 5, 0.06);--x-color-dark:#222428;--x-color-dark-rgb:34, 36, 40;--x-color-dark-contrast:#ffffff;--x-color-dark-contrast-rgb:255, 255, 255;--x-color-dark-shade:#1e2023;--x-color-dark-tint:#383a3e;--x-color-medium:#92949c;--x-color-medium-rgb:146, 148, 156;--x-color-medium-contrast:#ffffff;--x-color-medium-contrast-rgb:255, 255, 255;--x-color-medium-shade:#808289;--x-color-medium-tint:#9d9fa6;--x-color-light:#f4f5f8;--x-color-light-rgb:244, 245, 248;--x-color-light-contrast:#000000;--x-color-light-contrast-rgb:0, 0, 0;--x-color-light-shade:#d7d8da;--x-color-light-tint:#f5f6f9;--x-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--x-font-family-code:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--x-font-size:14px;--x-font-size-sm:12px;--x-font-size-lg:16px;--x-font-size-xl:20px;--x-font-size-heading-1:38px;--x-font-size-heading-2:30px;--x-font-size-heading-3:24px;--x-font-size-heading-4:20px;--x-font-size-heading-5:16px;--x-line-height:1.5714285714285714;--x-line-height-lg:1.5;--x-line-height-sm:1.6666666666666667;--x-line-height-heading-1:1.2105263157894737;--x-line-height-heading-2:1.2666666666666666;--x-line-height-heading-3:1.3333333333333333;--x-line-height-heading-4:1.4;--x-line-height-heading-5:1.5;--x-font-weight-normal:400;--x-font-weight-medium:500;--x-font-weight-semibold:600;--x-font-weight-strong:600;--x-font-size-base:14px;--x-font-size-xxl:24px;--x-line-height-base:1.5714285714285714;--x-spacing-xxs:4px;--x-spacing-xs:8px;--x-spacing-sm:12px;--x-spacing-md:16px;--x-spacing-lg:20px;--x-spacing-xl:24px;--x-spacing-xxl:32px;--x-spacing-xxxl:48px;--x-margin-xxs:4px;--x-margin-xs:8px;--x-margin-sm:12px;--x-margin-md:16px;--x-margin-lg:24px;--x-margin-xl:32px;--x-margin-xxl:48px;--x-padding-xxs:4px;--x-padding-xs:8px;--x-padding-sm:12px;--x-padding-md:16px;--x-padding-lg:24px;--x-padding-content-horizontal-lg:24px;--x-padding-content-vertical-lg:12px;--x-padding-content-horizontal:16px;--x-padding-content-vertical:12px;--x-padding-content-horizontal-sm:16px;--x-padding-content-vertical-sm:8px;--x-border-radius:6px;--x-border-radius-xs:2px;--x-border-radius-sm:4px;--x-border-radius-lg:8px;--x-border-radius-xl:12px;--x-border-radius-outer:4px;--x-border-radius-base:6px;--x-border-width:1px;--x-border-width-base:1px;--x-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-shadow-lg:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-box-shadow-popover-arrow:2px 2px 5px rgba(0, 0, 0, 0.05);--x-box-shadow-card:0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);--x-box-shadow-drawer-right:-6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-left:6px 0 16px 0 rgba(0, 0, 0, 0.08), 3px 0 6px -4px rgba(0, 0, 0, 0.12), 9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-up:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-down:0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tabs-overflow-left:inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-right:inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-top:inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-bottom:inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);--x-motion-duration-fast:0.1s;--x-motion-duration-mid:0.2s;--x-motion-duration-slow:0.3s;--x-motion-ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--x-motion-ease-out:cubic-bezier(0.215, 0.61, 0.355, 1);--x-motion-ease-in:cubic-bezier(0.55, 0.055, 0.675, 0.19);--x-motion-ease-out-back:cubic-bezier(0.12, 0.4, 0.29, 1.46);--x-motion-ease-in-back:cubic-bezier(0.71, -0.46, 0.88, 0.6);--x-motion-ease-in-out-circle:cubic-bezier(0.78, 0.14, 0.15, 0.86);--x-motion-ease-out-circle:cubic-bezier(0.08, 0.82, 0.17, 1);--x-motion-ease-in-circle:cubic-bezier(0.6, 0.04, 0.98, 0.34);--x-motion-ease-in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);--x-motion-ease-out-quint:cubic-bezier(0.23, 1, 0.32, 1);--x-z-index-base:0;--x-z-index-popup-base:1000;--x-z-index-popup:1030;--x-z-index-affix:10;--x-z-index-modal:1000;--x-z-index-modal-mask:1000;--x-z-index-drawer:1000;--x-z-index-popover:1030;--x-z-index-dropdown:1050;--x-z-index-tooltip:1070;--x-z-index-notification:1080;--x-z-index-message:1090;--x-z-index-popconfirm:1060;--x-z-index-table-fixed:10;--x-opacity-loading:0.65;--x-opacity-image:1;--x-opacity-disabled:0.5;--x-control-height:32px;--x-control-height-xs:24px;--x-control-height-sm:24px;--x-control-height-lg:40px;--x-control-radio-size:16px;--x-control-checkbox-size:16px;--x-control-padding-horizontal:12px;--x-control-padding-horizontal-sm:8px;--x-control-outline-width:2px;--x-control-outline:rgba(5, 145, 255, 0.1);--x-control-item-bg-hover:rgba(0, 0, 0, 0.04);--x-control-item-bg-active:#e6f4ff;--x-control-item-bg-active-hover:#bae0ff;--x-control-item-bg-active-disabled:rgba(0, 0, 0, 0.15);--x-control-tmp-outline:rgba(0, 0, 0, 0.02);--x-color-yellow:#fadb14;--x-color-yellow-rgb:250, 219, 20;--x-font-family-base:var(--x-font-family);--x-color-link:#1677ff;--x-color-link-hover:#69b1ff;--x-color-link-active:#0958d9;--x-color-icon:rgba(0, 0, 0, 0.45);--x-color-icon-hover:rgba(0, 0, 0, 0.88);--x-color-highlight:#ff4d4f;--x-color-bg-text-hover:rgba(0, 0, 0, 0.06);--x-color-bg-text-active:rgba(0, 0, 0, 0.15);--x-screen-xs:480px;--x-screen-xs-min:480px;--x-screen-xs-max:575px;--x-screen-sm:576px;--x-screen-sm-min:576px;--x-screen-sm-max:767px;--x-screen-md:768px;--x-screen-md-min:768px;--x-screen-md-max:991px;--x-screen-lg:992px;--x-screen-lg-min:992px;--x-screen-lg-max:1199px;--x-screen-xl:1200px;--x-screen-xl-min:1200px;--x-screen-xl-max:1599px;--x-screen-xxl:1600px;--x-screen-xxl-min:1600px;--x-color-fill-content:rgba(0, 0, 0, 0.06);--x-color-fill-content-hover:rgba(0, 0, 0, 0.15);--x-color-fill-alter:rgba(0, 0, 0, 0.02);--x-scrollbar-width:12px;--x-scrollbar-track-bg:rgba(0, 0, 0, 0.04);--x-scrollbar-thumb-bg:rgba(0, 0, 0, 0.25);--x-scrollbar-thumb-bg-hover:rgba(0, 0, 0, 0.35);--x-menu-dark-bg:#001529;--x-menu-dark-item-bg:#001529;--x-menu-dark-popup-bg:#001529;--x-menu-dark-submenu-item-bg:#000c17}:host{display:-ms-inline-flexbox;display:inline-flex;width:100%;font-size:var(--x-input-number-font-size, var(--x-control-font-size, var(--x-font-size-base, 14px)));line-height:var(--x-input-number-line-height, var(--x-line-height-base, 1.5714285714));color:var(--x-input-number-color, var(--x-control-color, var(--x-color-text, rgba(0, 0, 0, 0.88))));-webkit-box-sizing:border-box;box-sizing:border-box}:host(.x-input-number-small){width:100%;font-size:var(--x-input-number-font-size-sm, var(--x-font-size-base, 14px))}:host(.x-input-number-large){width:100%;font-size:var(--x-input-number-font-size-lg, var(--x-font-size-lg, 16px))}.x-input-number-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;min-width:0;padding:0 var(--x-control-padding-horizontal, var(--x-spacing-md, 12px));min-height:var(--x-control-height, var(--x-size-control-height, 32px));background-color:var(--x-control-bg, var(--x-color-bg-container, #ffffff));border:var(--x-control-border-width, var(--x-border-width-base, 1px)) solid var(--x-control-border-color, var(--x-color-border, #d9d9d9));border-radius:var(--x-control-border-radius, var(--x-border-radius-base, 6px));-webkit-transition:all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);transition:all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);-webkit-box-sizing:border-box;box-sizing:border-box}.x-input-number-wrapper:hover:not(.disabled):not([disabled]):not([class*=-disabled]){border-color:var(--x-control-border-color-hover, var(--x-color-primary-hover, #4096ff))}.x-input-number-wrapper.focused:not(.disabled):not([disabled]):not([class*=-disabled]),.x-input-number-wrapper:focus-within:not(.disabled):not([disabled]):not([class*=-disabled]){border-color:var(--x-control-border-color-focus, var(--x-color-primary, #1677ff)) !important;-webkit-box-shadow:0 0 0 3px var(--x-color-primary-bg, rgba(22, 119, 255, 0.06));box-shadow:0 0 0 3px var(--x-color-primary-bg, rgba(22, 119, 255, 0.06));z-index:1;outline:none}.x-input-number-wrapper{display:-ms-inline-flexbox;display:inline-flex;padding:0;background-color:var(--x-input-number-bg, var(--x-control-bg, var(--x-color-bg-container, #ffffff)))}.x-input-number-wrapper:hover .x-input-number-handler-wrap{opacity:1}.x-input-number-wrapper.x-input-number-focused .x-input-number-handler-wrap{opacity:1}.x-input-number-wrapper.x-input-number-disabled.disabled,.x-input-number-wrapper.x-input-number-disabled[disabled],.x-input-number-wrapper.x-input-number-disabled[class*=-disabled]{background-color:var(--x-control-bg-disabled, var(--x-color-bg-container-disabled, rgba(0, 0, 0, 0.04)));border-color:var(--x-control-border-color-disabled, var(--x-color-border, #d9d9d9));color:var(--x-control-color-disabled, var(--x-color-text-disabled, rgba(0, 0, 0, 0.25)));cursor:not-allowed}.x-input-number-wrapper.x-input-number-disabled.disabled:hover,.x-input-number-wrapper.x-input-number-disabled[disabled]:hover,.x-input-number-wrapper.x-input-number-disabled[class*=-disabled]:hover{border-color:var(--x-control-border-color-disabled, var(--x-color-border, #d9d9d9)) !important}.x-input-number-wrapper.x-input-number-disabled .x-input-number-input{color:var(--x-input-number-disabled-color, var(--x-control-color-disabled, var(--x-color-text-disabled, rgba(0, 0, 0, 0.25))));cursor:not-allowed}.x-input-number-wrapper.x-input-number-disabled .x-input-number-handler-wrap{display:none}.x-input-number-wrapper.x-input-number-readonly .x-input-number-handler-wrap{display:none}.x-input-number-wrapper.x-input-number-out-of-range .x-input-number-input{color:var(--x-input-number-out-of-range-color, var(--x-color-error, #ff4d4f))}.x-input-number-wrapper.x-input-number-status-error{border-color:var(--x-control-border-color-error, var(--x-color-error, #ff4d4f))}.x-input-number-wrapper.x-input-number-status-error:hover:not(.disabled):not([disabled]){border-color:var(--x-control-border-color-error-hover, var(--x-color-error-hover, #ff7875))}.x-input-number-wrapper.x-input-number-status-error.focused,.x-input-number-wrapper.x-input-number-status-error:focus-within{border-color:var(--x-control-border-color-error, var(--x-color-error, #ff4d4f));-webkit-box-shadow:0 0 0 3px var(--x-control-focus-shadow-error-color, var(--x-color-error-bg, rgba(255, 38, 5, 0.06)));box-shadow:0 0 0 3px var(--x-control-focus-shadow-error-color, var(--x-color-error-bg, rgba(255, 38, 5, 0.06)))}.x-input-number-wrapper.x-input-number-status-warning{border-color:var(--x-control-border-color-warning, var(--x-color-warning, #faad14))}.x-input-number-wrapper.x-input-number-status-warning:hover:not(.disabled):not([disabled]){border-color:var(--x-control-border-color-warning-hover, var(--x-color-warning-hover, #ffc53d))}.x-input-number-wrapper.x-input-number-status-warning.focused,.x-input-number-wrapper.x-input-number-status-warning:focus-within{border-color:var(--x-control-border-color-warning, var(--x-color-warning, #faad14));-webkit-box-shadow:0 0 0 3px var(--x-control-focus-shadow-warning-color, var(--x-color-warning-bg, rgba(255, 215, 5, 0.1)));box-shadow:0 0 0 3px var(--x-control-focus-shadow-warning-color, var(--x-color-warning-bg, rgba(255, 215, 5, 0.1)))}.x-input-number-wrapper.x-input-number-borderless{background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.x-input-number-wrapper.x-input-number-borderless:hover{border-color:transparent}.x-input-number-wrapper.x-input-number-borderless.focused,.x-input-number-wrapper.x-input-number-borderless:focus-within{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.x-input-number-wrapper.x-input-number-filled{background-color:var(--x-color-fill-tertiary, rgba(0, 0, 0, 0.04));border-color:transparent}.x-input-number-wrapper.x-input-number-filled:hover:not(.disabled):not([disabled]){background-color:var(--x-color-fill-secondary, rgba(0, 0, 0, 0.06));border-color:transparent}.x-input-number-wrapper.x-input-number-filled.focused,.x-input-number-wrapper.x-input-number-filled:focus-within{background-color:var(--x-control-bg, var(--x-color-bg-container, #ffffff));border-color:var(--x-control-border-color-focus, var(--x-color-primary, #1677ff))}.x-input-number-input-wrap{-ms-flex:1;flex:1;min-width:0}.x-input-number-input{width:100%;height:var(--x-input-number-height, var(--x-control-height, var(--x-size-control-height, 32px)));padding:var(--x-input-number-padding-vertical, var(--x-control-padding-vertical, 4px)) var(--x-input-number-padding-horizontal, var(--x-control-padding-horizontal, 11px));background-color:transparent;border:none;border-radius:var(--x-input-number-border-radius, var(--x-border-radius-base, 6px));outline:none;color:inherit;font-size:inherit;line-height:inherit;text-align:left;-webkit-transition:all var(--x-input-number-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-input-number-motion-ease, var(--x-motion-ease-in-out, cubic-bezier(0.645, 0.045, 0.355, 1)));transition:all var(--x-input-number-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-input-number-motion-ease, var(--x-motion-ease-in-out, cubic-bezier(0.645, 0.045, 0.355, 1)));-webkit-box-sizing:border-box;box-sizing:border-box;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.x-input-number-input::-webkit-inner-spin-button,.x-input-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.x-input-number-input::-webkit-input-placeholder{color:var(--x-input-number-placeholder-color, var(--x-control-placeholder-color, var(--x-color-text-placeholder, rgba(0, 0, 0, 0.25))))}.x-input-number-input::-moz-placeholder{color:var(--x-input-number-placeholder-color, var(--x-control-placeholder-color, var(--x-color-text-placeholder, rgba(0, 0, 0, 0.25))))}.x-input-number-input:-ms-input-placeholder{color:var(--x-input-number-placeholder-color, var(--x-control-placeholder-color, var(--x-color-text-placeholder, rgba(0, 0, 0, 0.25))))}.x-input-number-input::-ms-input-placeholder{color:var(--x-input-number-placeholder-color, var(--x-control-placeholder-color, var(--x-color-text-placeholder, rgba(0, 0, 0, 0.25))))}.x-input-number-input::placeholder{color:var(--x-input-number-placeholder-color, var(--x-control-placeholder-color, var(--x-color-text-placeholder, rgba(0, 0, 0, 0.25))))}.x-input-number-small .x-input-number-input{height:var(--x-input-number-height-sm, var(--x-control-height-sm, var(--x-size-control-height-sm, 24px)));padding:0 var(--x-input-number-padding-horizontal-sm, var(--x-control-padding-horizontal-sm, 7px))}.x-input-number-small{border-radius:var(--x-input-number-border-radius-sm, var(--x-border-radius-sm, 4px))}.x-input-number-small .x-input-number-handler-wrap{width:var(--x-input-number-handler-width-sm, 18px)}.x-input-number-large .x-input-number-input{height:var(--x-input-number-height-lg, var(--x-control-height-lg, var(--x-size-control-height-lg, 40px)));padding:var(--x-input-number-padding-vertical, var(--x-control-padding-vertical, 4px)) var(--x-input-number-padding-horizontal-lg, var(--x-control-padding-horizontal, 11px));font-size:var(--x-input-number-font-size-lg, var(--x-font-size-lg, 16px))}.x-input-number-large{border-radius:var(--x-input-number-border-radius-lg, var(--x-border-radius-lg, 8px))}.x-input-number-large .x-input-number-handler-wrap{width:var(--x-input-number-handler-width-lg, 24px)}.x-input-number-handler-wrap{position:absolute;top:0;right:0;width:var(--x-input-number-handler-width, 22px);height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:var(--x-input-number-handler-bg, var(--x-color-bg-container, #fff));border-left:var(--x-input-number-border-width, var(--x-control-border-width, var(--x-border-width-base, 1px))) solid var(--x-input-number-handler-border-color, var(--x-color-border, #d9d9d9));border-radius:0 var(--x-input-number-border-radius, var(--x-border-radius-base, 6px)) var(--x-input-number-border-radius, var(--x-border-radius-base, 6px)) 0;opacity:0;-webkit-transition:opacity var(--x-input-number-motion-duration-fast, var(--x-motion-duration-fast, 0.1s)) ease;transition:opacity var(--x-input-number-motion-duration-fast, var(--x-motion-duration-fast, 0.1s)) ease;overflow:hidden}.x-input-number-handler{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex:1;flex:1;height:50%;color:var(--x-input-number-handler-color, var(--x-color-text-tertiary, rgba(0, 0, 0, 0.45)));font-size:7px;cursor:pointer;-webkit-transition:all var(--x-input-number-motion-duration-fast, var(--x-motion-duration-fast, 0.1s)) var(--x-input-number-motion-ease, var(--x-motion-ease-in-out, cubic-bezier(0.645, 0.045, 0.355, 1)));transition:all var(--x-input-number-motion-duration-fast, var(--x-motion-duration-fast, 0.1s)) var(--x-input-number-motion-ease, var(--x-motion-ease-in-out, cubic-bezier(0.645, 0.045, 0.355, 1)));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-input-number-handler:hover{height:60%;color:var(--x-input-number-handler-color-hover, var(--x-color-primary, #1677ff))}.x-input-number-handler:active{background-color:var(--x-input-number-handler-active-bg, var(--x-color-fill-alter, rgba(0, 0, 0, 0.02)))}.x-input-number-handler.x-input-number-handler-disabled{color:var(--x-input-number-disabled-color, var(--x-control-color-disabled, var(--x-color-text-disabled, rgba(0, 0, 0, 0.25))));cursor:not-allowed}.x-input-number-handler.x-input-number-handler-disabled:hover{height:50%;color:var(--x-input-number-disabled-color, var(--x-control-color-disabled, var(--x-color-text-disabled, rgba(0, 0, 0, 0.25))))}.x-input-number-handler-up{border-bottom:var(--x-input-number-border-width, var(--x-control-border-width, var(--x-border-width-base, 1px))) solid var(--x-input-number-handler-border-color, var(--x-color-border, #d9d9d9));border-radius:0 var(--x-input-number-border-radius, var(--x-border-radius-base, 6px)) 0 0}.x-input-number-handler-down{border-radius:0 0 var(--x-input-number-border-radius, var(--x-border-radius-base, 6px)) 0}.x-input-number-handler-up-inner,.x-input-number-handler-down-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:12px;height:12px}.x-input-number-handler-up-inner svg,.x-input-number-handler-down-inner svg{width:1em;height:1em}.x-input-number-prefix,.x-input-number-suffix{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:var(--x-input-number-color, var(--x-control-color, var(--x-color-text, rgba(0, 0, 0, 0.88))))}.x-input-number-prefix{padding-left:var(--x-input-number-padding-horizontal, var(--x-control-padding-horizontal, 11px))}.x-input-number-suffix{padding-right:var(--x-input-number-padding-horizontal, var(--x-control-padding-horizontal, 11px))}.x-input-number-has-affix .x-input-number-input{padding-left:8px;padding-right:8px}.x-input-number-group-addon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 12px;background-color:var(--x-input-number-addon-bg, var(--x-color-fill-alter, rgba(0, 0, 0, 0.02)));border:var(--x-input-number-border-width, var(--x-control-border-width, var(--x-border-width-base, 1px))) solid var(--x-input-number-border-color, var(--x-control-border-color, var(--x-color-border, #d9d9d9)));color:var(--x-input-number-addon-color, var(--x-color-text, rgba(0, 0, 0, 0.88)));font-size:var(--x-input-number-font-size, var(--x-control-font-size, var(--x-font-size-base, 14px)));white-space:nowrap;-webkit-transition:all var(--x-input-number-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-input-number-motion-ease, var(--x-motion-ease-in-out, cubic-bezier(0.645, 0.045, 0.355, 1)));transition:all var(--x-input-number-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-input-number-motion-ease, var(--x-motion-ease-in-out, cubic-bezier(0.645, 0.045, 0.355, 1)))}.x-input-number-group-addon-before{border-right:0;border-radius:var(--x-input-number-border-radius, var(--x-border-radius-base, 6px)) 0 0 var(--x-input-number-border-radius, var(--x-border-radius-base, 6px))}.x-input-number-group-addon-after{border-left:0;border-radius:0 var(--x-input-number-border-radius, var(--x-border-radius-base, 6px)) var(--x-input-number-border-radius, var(--x-border-radius-base, 6px)) 0}.x-input-number-has-addon{border-radius:0}:host:has(.x-input-number-group-addon-before) .x-input-number-wrapper{border-top-left-radius:0;border-bottom-left-radius:0}:host:has(.x-input-number-group-addon-after) .x-input-number-wrapper{border-top-right-radius:0;border-bottom-right-radius:0}`;
1052
+
1053
+ const XInputNumber = class {
1054
+ constructor(hostRef) {
1055
+ registerInstance(this, hostRef);
1056
+ this.xChange = createEvent(this, "xChange", 7);
1057
+ this.xPressEnter = createEvent(this, "xPressEnter", 7);
1058
+ this.xStep = createEvent(this, "xStep", 7);
1059
+ this.xFocus = createEvent(this, "xFocus", 7);
1060
+ this.xBlur = createEvent(this, "xBlur", 7);
1061
+ }
1062
+ get el() { return getElement(this); }
1063
+ // ==================== Props ====================
1064
+ /**
1065
+ * The label text displayed after (on the right side of) the input field
1066
+ * @example
1067
+ * <x-input-number addonAfter="USD"></x-input-number>
1068
+ */
1069
+ addonAfter;
1070
+ /**
1071
+ * The label text displayed before (on the left side of) the input field
1072
+ * @example
1073
+ * <x-input-number addonBefore="$"></x-input-number>
1074
+ */
1075
+ addonBefore;
1076
+ /**
1077
+ * Whether to get focus when component mounted
1078
+ * @default false
1079
+ * @example
1080
+ * <x-input-number autoFocus></x-input-number>
1081
+ */
1082
+ autoFocus = false;
1083
+ /**
1084
+ * Whether to show +/- controls
1085
+ * @default true
1086
+ * @example
1087
+ * <x-input-number controls={false}></x-input-number>
1088
+ */
1089
+ controls = true;
1090
+ /**
1091
+ * Custom decimal separator
1092
+ * @example
1093
+ * <x-input-number decimalSeparator=","></x-input-number>
1094
+ */
1095
+ decimalSeparator;
1096
+ /**
1097
+ * Default value
1098
+ * @example
1099
+ * <x-input-number defaultValue={3}></x-input-number>
1100
+ */
1101
+ defaultValue;
1102
+ /**
1103
+ * Whether the input is disabled
1104
+ * @default false
1105
+ * @example
1106
+ * <x-input-number disabled></x-input-number>
1107
+ */
1108
+ disabled = false;
1109
+ /**
1110
+ * Specifies the format of the value presented
1111
+ * @example
1112
+ * <x-input-number formatter={(v) => `$${v}`}></x-input-number>
1113
+ */
1114
+ formatter;
1115
+ /**
1116
+ * Whether to enable keyboard behavior
1117
+ * @default true
1118
+ * @example
1119
+ * <x-input-number keyboard={false}></x-input-number>
1120
+ */
1121
+ keyboard = true;
1122
+ /**
1123
+ * The max value
1124
+ * @default Number.MAX_SAFE_INTEGER
1125
+ * @example
1126
+ * <x-input-number max={100}></x-input-number>
1127
+ */
1128
+ max = Number.MAX_SAFE_INTEGER;
1129
+ /**
1130
+ * The min value
1131
+ * @default Number.MIN_SAFE_INTEGER
1132
+ * @example
1133
+ * <x-input-number min={0}></x-input-number>
1134
+ */
1135
+ min = Number.MIN_SAFE_INTEGER;
1136
+ /**
1137
+ * Specifies the value extracted from formatter
1138
+ * @example
1139
+ * <x-input-number parser={(v) => v.replace(/[^\d.]/g, '')}></x-input-number>
1140
+ */
1141
+ parser;
1142
+ /**
1143
+ * Placeholder text
1144
+ * @example
1145
+ * <x-input-number placeholder="Amount"></x-input-number>
1146
+ */
1147
+ placeholder;
1148
+ /**
1149
+ * The precision of input value
1150
+ * @example
1151
+ * <x-input-number precision={2}></x-input-number>
1152
+ */
1153
+ precision;
1154
+ /**
1155
+ * The prefix icon/text for the Input
1156
+ * @example
1157
+ * <x-input-number prefixIcon="calculate"></x-input-number>
1158
+ */
1159
+ prefixIcon;
1160
+ /**
1161
+ * Whether the input is read only
1162
+ * @default false
1163
+ * @example
1164
+ * <x-input-number readOnly></x-input-number>
1165
+ */
1166
+ readOnly = false;
1167
+ /**
1168
+ * The size of the input box
1169
+ * @default 'middle'
1170
+ * @example
1171
+ * <x-input-number size="small"></x-input-number>
1172
+ */
1173
+ size = 'middle';
1174
+ /**
1175
+ * Set validation status
1176
+ * @example
1177
+ * <x-input-number status="error"></x-input-number>
1178
+ */
1179
+ status;
1180
+ /**
1181
+ * The number to which the current value is increased or decreased
1182
+ * @default 1
1183
+ * @example
1184
+ * <x-input-number step={0.5}></x-input-number>
1185
+ */
1186
+ step = 1;
1187
+ /**
1188
+ * Set value as string to support high precision decimals
1189
+ * @default false
1190
+ * @example
1191
+ * <x-input-number stringMode></x-input-number>
1192
+ */
1193
+ stringMode = false;
1194
+ /**
1195
+ * The suffix icon/text for the Input
1196
+ * @example
1197
+ * <x-input-number suffix="kg"></x-input-number>
1198
+ */
1199
+ suffix;
1200
+ /**
1201
+ * Current value
1202
+ * @example
1203
+ * <x-input-number value={10}></x-input-number>
1204
+ */
1205
+ value;
1206
+ /**
1207
+ * Variants of Input
1208
+ * @default 'outlined'
1209
+ * @example
1210
+ * <x-input-number variant="filled"></x-input-number>
1211
+ */
1212
+ variant = 'outlined';
1213
+ /**
1214
+ * Enable wheel to change value
1215
+ * @default false
1216
+ * @example
1217
+ * <x-input-number changeOnWheel></x-input-number>
1218
+ */
1219
+ changeOnWheel = false;
1220
+ /**
1221
+ * Custom class names
1222
+ * @example
1223
+ * <x-input-number classNames={{ root: 'my-input-number' }}></x-input-number>
1224
+ */
1225
+ classNames;
1226
+ /**
1227
+ * Custom styles
1228
+ * @example
1229
+ * <x-input-number styles={{ root: { width: '200px' } }}></x-input-number>
1230
+ */
1231
+ styles;
1232
+ // ==================== Events ====================
1233
+ /**
1234
+ * Emitted when value is changed
1235
+ * @example
1236
+ * <x-input-number onXChange={(ev) => console.log(ev.detail)}></x-input-number>
1237
+ */
1238
+ xChange;
1239
+ /**
1240
+ * Emitted when the user presses Enter
1241
+ * @example
1242
+ * <x-input-number onXPressEnter={(ev) => console.log(ev.key)}></x-input-number>
1243
+ */
1244
+ xPressEnter;
1245
+ /**
1246
+ * Emitted when step button is clicked
1247
+ * @example
1248
+ * <x-input-number onXStep={(ev) => console.log(ev.detail)}></x-input-number>
1249
+ */
1250
+ xStep;
1251
+ /**
1252
+ * Emitted when input gets focus
1253
+ * @example
1254
+ * <x-input-number onXFocus={(ev) => console.log(ev)}></x-input-number>
1255
+ */
1256
+ xFocus;
1257
+ /**
1258
+ * Emitted when input loses focus
1259
+ * @example
1260
+ * <x-input-number onXBlur={(ev) => console.log(ev)}></x-input-number>
1261
+ */
1262
+ xBlur;
1263
+ // ==================== State ====================
1264
+ /**
1265
+ * Focus state.
1266
+ */
1267
+ focused = false;
1268
+ /**
1269
+ * Display value in input.
1270
+ */
1271
+ inputValue = '';
1272
+ /**
1273
+ * Typing state to avoid clamping mid-typing.
1274
+ */
1275
+ isTyping = false;
1276
+ // ==================== Private Properties ====================
1277
+ /**
1278
+ * Input element reference.
1279
+ */
1280
+ inputRef;
1281
+ /**
1282
+ * Timer for long-press stepping.
1283
+ */
1284
+ holdTimer;
1285
+ // ==================== Lifecycle ====================
1286
+ /**
1287
+ * Initialize value before render.
1288
+ * @returns void
1289
+ */
1290
+ componentWillLoad() {
1291
+ // Initialize value
1292
+ if (this.value === undefined && this.defaultValue !== undefined) {
1293
+ this.value = this.defaultValue;
1294
+ }
1295
+ this.updateInputValue();
1296
+ }
1297
+ /**
1298
+ * Auto focus on mount when enabled.
1299
+ * @returns void
1300
+ */
1301
+ componentDidLoad() {
1302
+ if (this.autoFocus && this.inputRef) {
1303
+ this.inputRef.focus();
1304
+ }
1305
+ }
1306
+ /**
1307
+ * Cleanup timers on disconnect.
1308
+ * @returns void
1309
+ */
1310
+ disconnectedCallback() {
1311
+ if (this.holdTimer) {
1312
+ clearInterval(this.holdTimer);
1313
+ }
1314
+ }
1315
+ // ==================== Watchers ====================
1316
+ /**
1317
+ * Sync input display when value changes.
1318
+ * @returns void
1319
+ */
1320
+ handleValueChange() {
1321
+ if (!this.isTyping) {
1322
+ this.updateInputValue();
1323
+ }
1324
+ }
1325
+ // ==================== Public Methods ====================
1326
+ /**
1327
+ * Focus the input element
1328
+ * @returns Promise<void>
1329
+ * @example
1330
+ * await el.setFocus()
1331
+ */
1332
+ async setFocus() {
1333
+ this.inputRef?.focus();
1334
+ }
1335
+ /**
1336
+ * Remove focus from the input element
1337
+ * @returns Promise<void>
1338
+ * @example
1339
+ * await el.setBlur()
1340
+ */
1341
+ async setBlur() {
1342
+ this.inputRef?.blur();
1343
+ }
1344
+ // ==================== Private Methods ====================
1345
+ /**
1346
+ * Update formatted input display value.
1347
+ *
1348
+ * Flow:
1349
+ * 1. Checks if `value` is valid.
1350
+ * 2. Formats value using `formatter` prop or default `formatWithPrecision`.
1351
+ * 3. Replaces decimal separator if custom one is provided.
1352
+ * 4. Updates `inputValue` state (which is displayed in the input).
1353
+ *
1354
+ * @returns void
1355
+ */
1356
+ updateInputValue() {
1357
+ let displayValue = '';
1358
+ if (this.value !== null && this.value !== undefined && this.value !== '') {
1359
+ if (this.formatter) {
1360
+ displayValue = this.formatter(this.value, {
1361
+ userTyping: this.isTyping,
1362
+ input: this.inputValue,
1363
+ });
1364
+ }
1365
+ else {
1366
+ displayValue = formatWithPrecision(this.value, this.precision);
1367
+ }
1368
+ // Apply custom decimal separator
1369
+ if (this.decimalSeparator && this.decimalSeparator !== '.') {
1370
+ displayValue = displayValue.replace('.', this.decimalSeparator);
1371
+ }
1372
+ }
1373
+ this.inputValue = displayValue;
1374
+ }
1375
+ /**
1376
+ * Parse input string into numeric value.
1377
+ *
1378
+ * Flow:
1379
+ * 1. Handles empty or invalid inputs.
1380
+ * 2. Applies `parser` prop if provided.
1381
+ * 3. Normalizes custom decimal separator to dot.
1382
+ * 4. Removes non-numeric characters.
1383
+ * 5. Parses string to float.
1384
+ *
1385
+ * @param input - Input string.
1386
+ * @returns InputNumberValue
1387
+ */
1388
+ parseValue(input) {
1389
+ if (!input || input === '' || input === '-') {
1390
+ return null;
1391
+ }
1392
+ let value = input;
1393
+ // Apply parser if provided
1394
+ if (this.parser) {
1395
+ return this.parser(value);
1396
+ }
1397
+ // Replace custom decimal separator
1398
+ if (this.decimalSeparator && this.decimalSeparator !== '.') {
1399
+ value = value.replace(new RegExp(`\\${this.decimalSeparator}`, 'g'), '.');
1400
+ }
1401
+ // Remove non-numeric characters
1402
+ value = value.replace(/[^\d.-]/g, '');
1403
+ const numValue = parseFloat(value);
1404
+ return isNaN(numValue) ? null : numValue;
1405
+ }
1406
+ /**
1407
+ * Handle input change and emit events.
1408
+ *
1409
+ * Flow:
1410
+ * 1. Updates `inputValue` state from target.
1411
+ * 2. Sets `isTyping` flag to true (prevents auto-formatting while typing).
1412
+ * 3. Parses value.
1413
+ * 4. Updates `value` state (without clamping, to allow intermediate invalid states while typing).
1414
+ * 5. Emits `xChange` event.
1415
+ *
1416
+ * @param e - Input event.
1417
+ * @returns void
1418
+ */
1419
+ handleInput = (e) => {
1420
+ const target = e.target;
1421
+ this.inputValue = target.value;
1422
+ this.isTyping = true;
1423
+ const parsedValue = this.parseValue(target.value);
1424
+ if (parsedValue !== null) {
1425
+ // Don't clamp while typing, just update value
1426
+ this.value = this.stringMode ? String(parsedValue) : parsedValue;
1427
+ this.xChange.emit({ value: this.value });
1428
+ }
1429
+ };
1430
+ /**
1431
+ * Handle input focus.
1432
+ * @param e - Focus event.
1433
+ * @returns void
1434
+ */
1435
+ handleFocus = (e) => {
1436
+ this.focused = true;
1437
+ this.xFocus.emit(e);
1438
+ };
1439
+ /**
1440
+ * Handle input blur and clamp value.
1441
+ * @param e - Focus event.
1442
+ * @returns void
1443
+ */
1444
+ handleBlur = (e) => {
1445
+ this.focused = false;
1446
+ this.isTyping = false;
1447
+ // Validate and clamp value on blur
1448
+ let finalValue = this.value;
1449
+ if (finalValue !== null && finalValue !== undefined && finalValue !== '') {
1450
+ finalValue = clampValue(finalValue, this.min, this.max, this.precision);
1451
+ }
1452
+ if (finalValue !== this.value) {
1453
+ this.value = finalValue;
1454
+ this.xChange.emit({ value: this.value });
1455
+ }
1456
+ this.updateInputValue();
1457
+ this.xBlur.emit(e);
1458
+ };
1459
+ /**
1460
+ * Handle keyboard input and stepping.
1461
+ * @param e - Keyboard event.
1462
+ * @returns void
1463
+ */
1464
+ handleKeyDown = (e) => {
1465
+ if (e.key === 'Enter') {
1466
+ this.xPressEnter.emit(e);
1467
+ this.handleBlur(e);
1468
+ }
1469
+ else if (this.keyboard) {
1470
+ if (e.key === 'ArrowUp') {
1471
+ e.preventDefault();
1472
+ this.handleStep('up');
1473
+ }
1474
+ else if (e.key === 'ArrowDown') {
1475
+ e.preventDefault();
1476
+ this.handleStep('down');
1477
+ }
1478
+ }
1479
+ };
1480
+ /**
1481
+ * Handle mouse wheel for stepping.
1482
+ * @param e - Wheel event.
1483
+ * @returns void
1484
+ */
1485
+ handleWheel = (e) => {
1486
+ if (!this.changeOnWheel || !this.focused || this.disabled || this.readOnly) {
1487
+ return;
1488
+ }
1489
+ e.preventDefault();
1490
+ if (e.deltaY < 0) {
1491
+ this.handleStep('up');
1492
+ }
1493
+ else if (e.deltaY > 0) {
1494
+ this.handleStep('down');
1495
+ }
1496
+ };
1497
+ /**
1498
+ * Handle step change.
1499
+ *
1500
+ * Flow:
1501
+ * 1. Checks if disabled or readonly.
1502
+ * 2. Calculates next value using `addStep`.
1503
+ * 3. Clamps result within bounds.
1504
+ * 4. Updates `value` and `inputValue`.
1505
+ * 5. Emits `xChange` and `xStep` events.
1506
+ *
1507
+ * @param type - Step direction.
1508
+ * @returns void
1509
+ */
1510
+ handleStep = (type) => {
1511
+ if (this.disabled || this.readOnly)
1512
+ return;
1513
+ const nextValue = addStep(this.value, this.step, type, this.precision);
1514
+ const clampedValue = clampValue(nextValue, this.min, this.max, this.precision);
1515
+ if (clampedValue !== null) {
1516
+ this.value = this.stringMode ? String(clampedValue) : clampedValue;
1517
+ this.isTyping = false;
1518
+ this.updateInputValue();
1519
+ this.xChange.emit({ value: this.value });
1520
+ this.xStep.emit({
1521
+ value: this.value,
1522
+ offset: type === 'up' ? this.step : -this.step,
1523
+ type,
1524
+ });
1525
+ }
1526
+ };
1527
+ /**
1528
+ * Handle step button press and start repeat.
1529
+ * @param type - Step direction.
1530
+ * @param e - Mouse event.
1531
+ * @returns void
1532
+ */
1533
+ handleStepMouseDown = (type, e) => {
1534
+ e.preventDefault();
1535
+ this.handleStep(type);
1536
+ // Long press handling
1537
+ let delay = 600;
1538
+ const repeatStep = () => {
1539
+ this.handleStep(type);
1540
+ delay = Math.max(50, delay * 0.9);
1541
+ this.holdTimer = window.setTimeout(repeatStep, delay);
1542
+ };
1543
+ this.holdTimer = window.setTimeout(repeatStep, delay);
1544
+ };
1545
+ /**
1546
+ * Stop long-press stepping.
1547
+ * @returns void
1548
+ */
1549
+ handleStepMouseUp = () => {
1550
+ if (this.holdTimer) {
1551
+ clearTimeout(this.holdTimer);
1552
+ this.holdTimer = undefined;
1553
+ }
1554
+ };
1555
+ /**
1556
+ * Check if step-up is disabled.
1557
+ * @returns boolean
1558
+ */
1559
+ isUpDisabled() {
1560
+ if (this.disabled || this.readOnly)
1561
+ return true;
1562
+ const numValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value;
1563
+ return numValue !== null && numValue !== undefined && !isNaN(numValue) && numValue >= this.max;
1564
+ }
1565
+ /**
1566
+ * Check if step-down is disabled.
1567
+ * @returns boolean
1568
+ */
1569
+ isDownDisabled() {
1570
+ if (this.disabled || this.readOnly)
1571
+ return true;
1572
+ const numValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value;
1573
+ return numValue !== null && numValue !== undefined && !isNaN(numValue) && numValue <= this.min;
1574
+ }
1575
+ /**
1576
+ * Check if current value is out of range.
1577
+ * @returns boolean
1578
+ */
1579
+ isOutOfRange() {
1580
+ if (this.value === null || this.value === undefined || this.value === '') {
1581
+ return false;
1582
+ }
1583
+ const numValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value;
1584
+ if (isNaN(numValue))
1585
+ return false;
1586
+ return numValue < this.min || numValue > this.max;
1587
+ }
1588
+ // ==================== Render ====================
1589
+ /**
1590
+ * Render up icon.
1591
+ * @returns JSX.Element
1592
+ */
1593
+ renderUpIcon() {
1594
+ return (
1595
+ // <svg viewBox="64 64 896 896" focusable="false" width="1em" height="1em" fill="currentColor">
1596
+ // <path d="M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z" />
1597
+ // </svg>
1598
+ h("x-icon", { name: getIcon('arrowUp') }));
1599
+ }
1600
+ /**
1601
+ * Render down icon.
1602
+ * @returns JSX.Element
1603
+ */
1604
+ renderDownIcon() {
1605
+ return (
1606
+ // <svg viewBox="64 64 896 896" focusable="false" width="1em" height="1em" fill="currentColor">
1607
+ // <path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z" />
1608
+ // </svg>
1609
+ h("x-icon", { name: getIcon('arrowDown') }));
1610
+ }
1611
+ /**
1612
+ * Render input number with controls.
1613
+ * @returns JSX.Element
1614
+ * @example
1615
+ * <x-input-number min={0} max={10} step={1}></x-input-number>
1616
+ */
1617
+ render() {
1618
+ const hasAddon = !!this.addonBefore || !!this.addonAfter;
1619
+ const hasAffix = !!this.prefixIcon || !!this.suffix;
1620
+ const wrapperClasses = {
1621
+ 'x-input-number-wrapper': true,
1622
+ 'x-input-number-focused': this.focused,
1623
+ 'x-input-number-disabled': this.disabled,
1624
+ 'x-input-number-readonly': this.readOnly,
1625
+ 'disabled': this.disabled,
1626
+ 'readonly': this.readOnly,
1627
+ 'x-input-number-out-of-range': this.isOutOfRange(),
1628
+ 'x-input-number-status-error': this.status === 'error',
1629
+ 'x-input-number-status-warning': this.status === 'warning',
1630
+ [`x-input-number-${this.size}`]: true,
1631
+ [`x-input-number-${this.variant}`]: true,
1632
+ 'x-input-number-has-addon': hasAddon,
1633
+ 'x-input-number-has-affix': hasAffix,
1634
+ [this.classNames?.root ?? '']: !!this.classNames?.root,
1635
+ };
1636
+ return (h(Host, { key: '121ff396550785581268cf58bbba452398aa194e', class: {
1637
+ 'x-input-number': true,
1638
+ [`x-input-number-${this.size}`]: true,
1639
+ } }, this.addonBefore && (h("span", { key: '65f9ebae015943f7748f625888a9257d3424d7de', class: "x-input-number-group-addon x-input-number-group-addon-before" }, h("slot", { key: 'eeaa2f4a4c22a04597109330901320ce5ca4d17a', name: "addonBefore" }, this.addonBefore))), h("div", { key: '4f13fea7319c6ea1520860a3eb62e758ed5f7e86', class: wrapperClasses, style: this.styles?.root }, this.prefixIcon && (h("span", { key: '5aef84bfd3445b9eba412a03c5bf3d6f4839849d', class: { 'x-input-number-prefix': true, [this.classNames?.prefix ?? '']: !!this.classNames?.prefix } }, h("slot", { key: 'e4d077e06a16fd89ea7e4d98767840b408123669', name: "prefix" }, this.prefixIcon))), h("div", { key: '95e44d6fb300e9a94c5bcbb64602523ee87bf26d', class: "x-input-number-input-wrap" }, h("input", { key: '9c416504c66b8ac7faa07dc2f83eca2867bb8d42', ref: (el) => (this.inputRef = el), class: {
1640
+ 'x-input-number-input': true,
1641
+ [this.classNames?.input ?? '']: !!this.classNames?.input,
1642
+ }, style: this.styles?.input, type: "text", inputMode: "decimal", autocomplete: "off", role: "spinbutton", "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.value, value: this.inputValue, disabled: this.disabled, readOnly: this.readOnly, placeholder: this.placeholder, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, onWheel: this.handleWheel })), this.suffix && (h("span", { key: 'f5d9448d1dd2f00cc7c874230e7aa44ee08d9116', class: { 'x-input-number-suffix': true, [this.classNames?.suffix ?? '']: !!this.classNames?.suffix } }, h("slot", { key: 'f58380ae67766132439c8146d823e2a86b6bf32b', name: "suffix" }, this.suffix))), this.controls && (h("div", { key: '72e5024bf232d212300639b5b2030093b2149531', class: { 'x-input-number-handler-wrap': true, [this.classNames?.handlers ?? '']: !!this.classNames?.handlers } }, h("span", { key: '67968406dee6198ff1cc652351d39ac53e6043ef', class: {
1643
+ 'x-input-number-handler': true,
1644
+ 'x-input-number-handler-up': true,
1645
+ 'x-input-number-handler-disabled': this.isUpDisabled(),
1646
+ }, onMouseDown: (e) => !this.isUpDisabled() && this.handleStepMouseDown('up', e), onMouseUp: this.handleStepMouseUp, onMouseLeave: this.handleStepMouseUp }, h("span", { key: 'fba5d46dc0b52db13e8315e3201c87f23fd08f84', class: "x-input-number-handler-up-inner" }, this.renderUpIcon())), h("span", { key: '3ecbdf11351a90ebc795f021f0cccb05cf1e08f9', class: {
1647
+ 'x-input-number-handler': true,
1648
+ 'x-input-number-handler-down': true,
1649
+ 'x-input-number-handler-disabled': this.isDownDisabled(),
1650
+ }, onMouseDown: (e) => !this.isDownDisabled() && this.handleStepMouseDown('down', e), onMouseUp: this.handleStepMouseUp, onMouseLeave: this.handleStepMouseUp }, h("span", { key: '4335fd45f1a1842d1419a8e5edc2449f45f3faf8', class: "x-input-number-handler-down-inner" }, this.renderDownIcon()))))), this.addonAfter && (h("span", { key: '0ca6d501421a7641e0ed055b1abd5f0d29e498d2', class: "x-input-number-group-addon x-input-number-group-addon-after" }, h("slot", { key: '41f103cb4fe2b0c7a6e6d2dccf82ac3b2a983f56', name: "addonAfter" }, this.addonAfter)))));
1651
+ }
1652
+ static get watchers() { return {
1653
+ "value": [{
1654
+ "handleValueChange": 0
1655
+ }]
1656
+ }; }
1657
+ };
1658
+ XInputNumber.style = xInputNumberCss();
1659
+
1660
+ const xModalCss = () => `@charset "UTF-8";:root{--x-color-primary:#1677ff;--x-color-primary-rgb:22, 119, 255;--x-color-primary-contrast:#ffffff;--x-color-primary-contrast-rgb:255, 255, 255;--x-color-primary-shade:#0958d9;--x-color-primary-tint:#4096ff;--x-color-primary-bg:#e6f4ff;--x-color-primary-bg-hover:#bae0ff;--x-color-primary-border:#91caff;--x-color-primary-border-hover:#69b1ff;--x-color-primary-hover:#4096ff;--x-color-primary-active:#0958d9;--x-color-primary-text:#1677ff;--x-color-primary-text-hover:#4096ff;--x-color-primary-text-active:#0958d9;--x-color-secondary:#3dc2ff;--x-color-secondary-rgb:61, 194, 255;--x-color-secondary-contrast:#ffffff;--x-color-secondary-contrast-rgb:255, 255, 255;--x-color-secondary-shade:#36abe0;--x-color-secondary-tint:#50c8ff;--x-color-success:#52c41a;--x-color-success-rgb:82, 196, 26;--x-color-success-contrast:#ffffff;--x-color-success-contrast-rgb:255, 255, 255;--x-color-success-shade:#389e0d;--x-color-success-tint:#73d13d;--x-color-success-bg:#f6ffed;--x-color-success-bg-hover:#d9f7be;--x-color-success-border:#b7eb8f;--x-color-success-border-hover:#95de64;--x-color-success-hover:#73d13d;--x-color-success-active:#389e0d;--x-color-success-text:#52c41a;--x-color-success-text-hover:#73d13d;--x-color-success-text-active:#389e0d;--x-color-warning:#faad14;--x-color-warning-rgb:250, 173, 20;--x-color-warning-contrast:#000000;--x-color-warning-contrast-rgb:0, 0, 0;--x-color-warning-shade:#d48806;--x-color-warning-tint:#ffc53d;--x-color-warning-bg:#fffbe6;--x-color-warning-bg-hover:#fff1b8;--x-color-warning-border:#ffe58f;--x-color-warning-border-hover:#ffd666;--x-color-warning-hover:#ffc53d;--x-color-warning-active:#d48806;--x-color-warning-text:#faad14;--x-color-warning-text-hover:#ffc53d;--x-color-warning-text-active:#d48806;--x-color-danger:#ff4d4f;--x-color-danger-rgb:255, 77, 79;--x-color-danger-contrast:#ffffff;--x-color-danger-contrast-rgb:255, 255, 255;--x-color-danger-shade:#cf1322;--x-color-danger-tint:#ff7875;--x-color-error:#ff4d4f;--x-color-error-rgb:255, 77, 79;--x-color-error-bg:#fff2f0;--x-color-error-bg-hover:#ffccc7;--x-color-error-border:#ffa39e;--x-color-error-border-hover:#ff7875;--x-color-error-hover:#ff7875;--x-color-error-active:#d9363e;--x-color-error-text:#ff4d4f;--x-color-error-text-hover:#ff7875;--x-color-error-text-active:#d9363e;--x-color-info:#1677ff;--x-color-info-rgb:22, 119, 255;--x-color-info-bg:#e6f4ff;--x-color-info-bg-hover:#bae0ff;--x-color-info-border:#91caff;--x-color-info-border-hover:#69b1ff;--x-color-info-hover:#69b1ff;--x-color-info-active:#0958d9;--x-color-info-text:#1677ff;--x-color-info-text-hover:#69b1ff;--x-color-info-text-active:#0958d9;--x-color-text:rgba(0, 0, 0, 0.88);--x-color-text-secondary:rgba(0, 0, 0, 0.65);--x-color-text-tertiary:rgba(0, 0, 0, 0.45);--x-color-text-quaternary:rgba(0, 0, 0, 0.25);--x-color-text-disabled:rgba(0, 0, 0, 0.25);--x-color-text-placeholder:rgba(0, 0, 0, 0.25);--x-color-text-heading:rgba(0, 0, 0, 0.88);--x-color-text-label:rgba(0, 0, 0, 0.65);--x-color-text-description:rgba(0, 0, 0, 0.45);--x-color-text-light-solid:#ffffff;--x-color-bg-container:#ffffff;--x-color-bg-elevated:#ffffff;--x-color-bg-layout:#f5f5f5;--x-color-bg-spotlight:rgba(0, 0, 0, 0.85);--x-color-bg-mask:rgba(0, 0, 0, 0.45);--x-color-bg-base:#ffffff;--x-color-bg-container-disabled:#f5f5f5;--x-color-bg-container-loading:rgba(255, 255, 255, 0.65);--x-color-white:#ffffff;--x-color-fill:rgba(0, 0, 0, 0.15);--x-color-fill-secondary:rgba(0, 0, 0, 0.06);--x-color-fill-tertiary:rgba(0, 0, 0, 0.04);--x-color-fill-quaternary:rgba(0, 0, 0, 0.02);--x-color-border:#d9d9d9;--x-color-border-secondary:#f0f0f0;--x-color-border-bg:#ffffff;--x-color-split:rgba(5, 5, 5, 0.06);--x-color-dark:#222428;--x-color-dark-rgb:34, 36, 40;--x-color-dark-contrast:#ffffff;--x-color-dark-contrast-rgb:255, 255, 255;--x-color-dark-shade:#1e2023;--x-color-dark-tint:#383a3e;--x-color-medium:#92949c;--x-color-medium-rgb:146, 148, 156;--x-color-medium-contrast:#ffffff;--x-color-medium-contrast-rgb:255, 255, 255;--x-color-medium-shade:#808289;--x-color-medium-tint:#9d9fa6;--x-color-light:#f4f5f8;--x-color-light-rgb:244, 245, 248;--x-color-light-contrast:#000000;--x-color-light-contrast-rgb:0, 0, 0;--x-color-light-shade:#d7d8da;--x-color-light-tint:#f5f6f9;--x-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--x-font-family-code:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--x-font-size:14px;--x-font-size-sm:12px;--x-font-size-lg:16px;--x-font-size-xl:20px;--x-font-size-heading-1:38px;--x-font-size-heading-2:30px;--x-font-size-heading-3:24px;--x-font-size-heading-4:20px;--x-font-size-heading-5:16px;--x-line-height:1.5714285714285714;--x-line-height-lg:1.5;--x-line-height-sm:1.6666666666666667;--x-line-height-heading-1:1.2105263157894737;--x-line-height-heading-2:1.2666666666666666;--x-line-height-heading-3:1.3333333333333333;--x-line-height-heading-4:1.4;--x-line-height-heading-5:1.5;--x-font-weight-normal:400;--x-font-weight-medium:500;--x-font-weight-semibold:600;--x-font-weight-strong:600;--x-font-size-base:14px;--x-font-size-xxl:24px;--x-line-height-base:1.5714285714285714;--x-spacing-xxs:4px;--x-spacing-xs:8px;--x-spacing-sm:12px;--x-spacing-md:16px;--x-spacing-lg:20px;--x-spacing-xl:24px;--x-spacing-xxl:32px;--x-spacing-xxxl:48px;--x-margin-xxs:4px;--x-margin-xs:8px;--x-margin-sm:12px;--x-margin-md:16px;--x-margin-lg:24px;--x-margin-xl:32px;--x-margin-xxl:48px;--x-padding-xxs:4px;--x-padding-xs:8px;--x-padding-sm:12px;--x-padding-md:16px;--x-padding-lg:24px;--x-padding-content-horizontal-lg:24px;--x-padding-content-vertical-lg:12px;--x-padding-content-horizontal:16px;--x-padding-content-vertical:12px;--x-padding-content-horizontal-sm:16px;--x-padding-content-vertical-sm:8px;--x-border-radius:6px;--x-border-radius-xs:2px;--x-border-radius-sm:4px;--x-border-radius-lg:8px;--x-border-radius-xl:12px;--x-border-radius-outer:4px;--x-border-radius-base:6px;--x-border-width:1px;--x-border-width-base:1px;--x-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-shadow-lg:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-box-shadow-popover-arrow:2px 2px 5px rgba(0, 0, 0, 0.05);--x-box-shadow-card:0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);--x-box-shadow-drawer-right:-6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-left:6px 0 16px 0 rgba(0, 0, 0, 0.08), 3px 0 6px -4px rgba(0, 0, 0, 0.12), 9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-up:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-down:0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tabs-overflow-left:inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-right:inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-top:inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-bottom:inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);--x-motion-duration-fast:0.1s;--x-motion-duration-mid:0.2s;--x-motion-duration-slow:0.3s;--x-motion-ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--x-motion-ease-out:cubic-bezier(0.215, 0.61, 0.355, 1);--x-motion-ease-in:cubic-bezier(0.55, 0.055, 0.675, 0.19);--x-motion-ease-out-back:cubic-bezier(0.12, 0.4, 0.29, 1.46);--x-motion-ease-in-back:cubic-bezier(0.71, -0.46, 0.88, 0.6);--x-motion-ease-in-out-circle:cubic-bezier(0.78, 0.14, 0.15, 0.86);--x-motion-ease-out-circle:cubic-bezier(0.08, 0.82, 0.17, 1);--x-motion-ease-in-circle:cubic-bezier(0.6, 0.04, 0.98, 0.34);--x-motion-ease-in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);--x-motion-ease-out-quint:cubic-bezier(0.23, 1, 0.32, 1);--x-z-index-base:0;--x-z-index-popup-base:1000;--x-z-index-popup:1030;--x-z-index-affix:10;--x-z-index-modal:1000;--x-z-index-modal-mask:1000;--x-z-index-drawer:1000;--x-z-index-popover:1030;--x-z-index-dropdown:1050;--x-z-index-tooltip:1070;--x-z-index-notification:1080;--x-z-index-message:1090;--x-z-index-popconfirm:1060;--x-z-index-table-fixed:10;--x-opacity-loading:0.65;--x-opacity-image:1;--x-opacity-disabled:0.5;--x-control-height:32px;--x-control-height-xs:24px;--x-control-height-sm:24px;--x-control-height-lg:40px;--x-control-radio-size:16px;--x-control-checkbox-size:16px;--x-control-padding-horizontal:12px;--x-control-padding-horizontal-sm:8px;--x-control-outline-width:2px;--x-control-outline:rgba(5, 145, 255, 0.1);--x-control-item-bg-hover:rgba(0, 0, 0, 0.04);--x-control-item-bg-active:#e6f4ff;--x-control-item-bg-active-hover:#bae0ff;--x-control-item-bg-active-disabled:rgba(0, 0, 0, 0.15);--x-control-tmp-outline:rgba(0, 0, 0, 0.02);--x-color-yellow:#fadb14;--x-color-yellow-rgb:250, 219, 20;--x-font-family-base:var(--x-font-family);--x-color-link:#1677ff;--x-color-link-hover:#69b1ff;--x-color-link-active:#0958d9;--x-color-icon:rgba(0, 0, 0, 0.45);--x-color-icon-hover:rgba(0, 0, 0, 0.88);--x-color-highlight:#ff4d4f;--x-color-bg-text-hover:rgba(0, 0, 0, 0.06);--x-color-bg-text-active:rgba(0, 0, 0, 0.15);--x-screen-xs:480px;--x-screen-xs-min:480px;--x-screen-xs-max:575px;--x-screen-sm:576px;--x-screen-sm-min:576px;--x-screen-sm-max:767px;--x-screen-md:768px;--x-screen-md-min:768px;--x-screen-md-max:991px;--x-screen-lg:992px;--x-screen-lg-min:992px;--x-screen-lg-max:1199px;--x-screen-xl:1200px;--x-screen-xl-min:1200px;--x-screen-xl-max:1599px;--x-screen-xxl:1600px;--x-screen-xxl-min:1600px;--x-color-fill-content:rgba(0, 0, 0, 0.06);--x-color-fill-content-hover:rgba(0, 0, 0, 0.15);--x-color-fill-alter:rgba(0, 0, 0, 0.02);--x-scrollbar-width:12px;--x-scrollbar-track-bg:rgba(0, 0, 0, 0.04);--x-scrollbar-thumb-bg:rgba(0, 0, 0, 0.25);--x-scrollbar-thumb-bg-hover:rgba(0, 0, 0, 0.35);--x-menu-dark-bg:#001529;--x-menu-dark-item-bg:#001529;--x-menu-dark-popup-bg:#001529;--x-menu-dark-submenu-item-bg:#000c17}:host{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--x-modal-z-index, 1000);font-family:var(--x-modal-font-family, var(--x-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif))}:host(.x-modal-open){display:block}.x-modal-mask{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--x-modal-mask-bg, var(--x-color-bg-mask, rgba(0, 0, 0, 0.45)));z-index:var(--x-modal-mask-z-index, 1000)}.x-modal-wrap{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;outline:0;z-index:var(--x-modal-z-index, 1000);display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center;padding:var(--x-modal-padding-top, 100px) 0 var(--x-modal-padding-bottom, var(--x-spacing-xl, 24px))}:host(.x-modal-centered) .x-modal-wrap{-ms-flex-align:center;align-items:center;padding:0}.x-modal-content{position:relative;background-color:var(--x-modal-content-bg, var(--x-color-bg-container, #ffffff));background-clip:padding-box;border:0;border-radius:var(--x-modal-content-border-radius, var(--x-border-radius-lg, 8px));-webkit-box-shadow:var(--x-modal-content-shadow, var(--x-box-shadow, 0 6px 16px 0 rgba(0, 0, 0, 0.08)));box-shadow:var(--x-modal-content-shadow, var(--x-box-shadow, 0 6px 16px 0 rgba(0, 0, 0, 0.08)));pointer-events:auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.x-modal-header{padding:var(--x-modal-header-padding-block, var(--x-spacing-md, 16px)) var(--x-modal-header-padding-inline, var(--x-spacing-xl, 24px));color:var(--x-modal-title-color, var(--x-color-text-heading, rgba(0, 0, 0, 0.88)));background:var(--x-modal-header-bg, var(--x-color-bg-container, #ffffff));border-bottom:var(--x-modal-header-border-width, var(--x-border-width, 1px)) solid var(--x-modal-header-border-color, var(--x-color-border-secondary, #f0f0f0));border-radius:var(--x-modal-content-border-radius, var(--x-border-radius-lg, 8px)) var(--x-modal-content-border-radius, var(--x-border-radius-lg, 8px)) 0 0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.x-modal-title{margin:0;color:var(--x-modal-title-color, var(--x-color-text-heading, rgba(0, 0, 0, 0.88)));font-weight:var(--x-modal-title-font-weight, var(--x-font-weight-strong, 600));font-size:var(--x-modal-title-font-size, var(--x-font-size-lg, 16px));line-height:var(--x-modal-close-size, 22px);word-wrap:break-word}.x-modal-close{display:block;width:var(--x-modal-close-size, 22px);height:var(--x-modal-close-size, 22px);margin-right:var(--x-modal-close-margin-end, -12px);padding:0;color:var(--x-modal-close-color, var(--x-color-icon, rgba(0, 0, 0, 0.45)));font-weight:var(--x-modal-close-font-weight, 700);line-height:var(--x-modal-close-line-height, 1);text-decoration:none;background:transparent;border:0;outline:0;cursor:pointer;-webkit-transition:color var(--x-modal-motion-duration, var(--x-motion-duration-slow, 0.3s));transition:color var(--x-modal-motion-duration, var(--x-motion-duration-slow, 0.3s))}.x-modal-close:hover{color:var(--x-modal-close-color-hover, var(--x-color-icon-hover, rgba(0, 0, 0, 0.88)));text-decoration:none}.x-modal-body{padding:var(--x-modal-body-padding, var(--x-spacing-xl, 24px));font-size:var(--x-modal-body-font-size, var(--x-font-size-base, 14px));line-height:var(--x-modal-body-line-height, var(--x-line-height-base, 1.5714));word-wrap:break-word}.x-modal-footer{padding:var(--x-modal-footer-padding-block, var(--x-spacing-sm, 8px)) var(--x-modal-footer-padding-inline, var(--x-spacing-md, 16px));text-align:right;background:transparent;border-top:var(--x-modal-header-border-width, var(--x-border-width, 1px)) solid var(--x-modal-footer-border-color, var(--x-color-border-secondary, #f0f0f0));border-radius:0 0 var(--x-modal-footer-border-radius, var(--x-border-radius-xs, 2px)) var(--x-modal-footer-border-radius, var(--x-border-radius-xs, 2px));display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;gap:var(--x-modal-footer-gap, var(--x-spacing-xs, 8px))}`;
1661
+
1662
+ const XModal = class {
1663
+ constructor(hostRef) {
1664
+ registerInstance(this, hostRef);
1665
+ this.xOk = createEvent(this, "xOk", 7);
1666
+ this.xCancel = createEvent(this, "xCancel", 7);
1667
+ }
1668
+ get el() { return getElement(this); }
1669
+ /**
1670
+ * Whether the modal is visible.
1671
+ * @example
1672
+ * <x-modal visible></x-modal>
1673
+ */
1674
+ visible = false;
1675
+ /**
1676
+ * Modal title.
1677
+ * @example
1678
+ * <x-modal modalTitle="Confirm"></x-modal>
1679
+ */
1680
+ modalTitle;
1681
+ /**
1682
+ * Width of the modal.
1683
+ * @example
1684
+ * <x-modal width={600}></x-modal>
1685
+ */
1686
+ width = 520;
1687
+ /**
1688
+ * Whether to show footer.
1689
+ * @example
1690
+ * <x-modal footer={false}></x-modal>
1691
+ */
1692
+ footer = true;
1693
+ /**
1694
+ * Whether to show close button.
1695
+ * @example
1696
+ * <x-modal closable={false}></x-modal>
1697
+ */
1698
+ closable = true;
1699
+ /**
1700
+ * Whether to show mask.
1701
+ * @example
1702
+ * <x-modal mask={false}></x-modal>
1703
+ */
1704
+ mask = true;
1705
+ /**
1706
+ * Whether clicking mask closes modal.
1707
+ * @example
1708
+ * <x-modal maskClosable={false}></x-modal>
1709
+ */
1710
+ maskClosable = true;
1711
+ /**
1712
+ * Whether to center the modal.
1713
+ * @example
1714
+ * <x-modal centered></x-modal>
1715
+ */
1716
+ centered = false;
1717
+ /**
1718
+ * OK button text.
1719
+ * @example
1720
+ * <x-modal okText="OK"></x-modal>
1721
+ */
1722
+ okText = translate('Modal.okText', {}, 'OK');
1723
+ /**
1724
+ * Cancel button text.
1725
+ * @example
1726
+ * <x-modal cancelText="Cancel"></x-modal>
1727
+ */
1728
+ cancelText = translate('Modal.cancelText', {}, 'Cancel');
1729
+ /**
1730
+ * OK button loading state.
1731
+ * @example
1732
+ * <x-modal okLoading></x-modal>
1733
+ */
1734
+ okLoading = false;
1735
+ /**
1736
+ * Cancel button loading state.
1737
+ * @example
1738
+ * <x-modal cancelLoading></x-modal>
1739
+ */
1740
+ cancelLoading = false;
1741
+ /**
1742
+ * OK button type.
1743
+ * @example
1744
+ * <x-modal okType="primary"></x-modal>
1745
+ */
1746
+ okType = 'primary';
1747
+ /**
1748
+ * Modal type (info, success, error, warning, confirm).
1749
+ * @example
1750
+ * <x-modal type="info"></x-modal>
1751
+ */
1752
+ type;
1753
+ /**
1754
+ * Event emitted when OK button is clicked.
1755
+ * @example
1756
+ * <x-modal onXOk={() => {}}></x-modal>
1757
+ */
1758
+ xOk;
1759
+ /**
1760
+ * Event emitted when Cancel button or modal is closed.
1761
+ * @example
1762
+ * <x-modal onXCancel={() => {}}></x-modal>
1763
+ */
1764
+ xCancel;
1765
+ /**
1766
+ * Portal instance for modal content.
1767
+ */
1768
+ portalInstance = null;
1769
+ /**
1770
+ * Create portal on initial visible state.
1771
+ * @returns void
1772
+ */
1773
+ componentDidLoad() {
1774
+ if (this.visible) {
1775
+ this.updatePortal();
1776
+ }
1777
+ }
1778
+ /**
1779
+ * Cleanup portal on disconnect.
1780
+ * @returns void
1781
+ */
1782
+ disconnectedCallback() {
1783
+ this.destroyPortal();
1784
+ }
1785
+ handleVisibleChange() {
1786
+ this.updatePortal();
1787
+ }
1788
+ handlePropsChange() {
1789
+ if (this.visible) {
1790
+ this.updatePortal();
1791
+ }
1792
+ }
1793
+ /**
1794
+ * Get body content from slot.
1795
+ * @returns string
1796
+ */
1797
+ getBodyContent() {
1798
+ const slot = this.el.shadowRoot?.querySelector('slot:not([name])');
1799
+ if (slot) {
1800
+ const nodes = slot.assignedNodes({ flatten: true });
1801
+ return nodes.map(node => {
1802
+ if (node.nodeType === Node.ELEMENT_NODE) {
1803
+ return node.outerHTML;
1804
+ }
1805
+ return node.textContent || '';
1806
+ }).join('');
1807
+ }
1808
+ return '';
1809
+ }
1810
+ /**
1811
+ * Get footer content from slot.
1812
+ * @returns string
1813
+ */
1814
+ getFooterContent() {
1815
+ const slot = this.el.shadowRoot?.querySelector('slot[name="footer"]');
1816
+ if (slot) {
1817
+ const nodes = slot.assignedNodes({ flatten: true });
1818
+ if (nodes.length > 0) {
1819
+ return nodes.map(node => {
1820
+ if (node.nodeType === Node.ELEMENT_NODE) {
1821
+ return node.outerHTML;
1822
+ }
1823
+ return node.textContent || '';
1824
+ }).join('');
1825
+ }
1826
+ }
1827
+ return '';
1828
+ }
1829
+ /**
1830
+ * Build modal content element for portal.
1831
+ *
1832
+ * Flow:
1833
+ * 1. Creates `x-modal-content` element.
1834
+ * 2. Assigns all visual props (title, width, footer, etc.).
1835
+ * 3. Injects body and footer content extracted from slots.
1836
+ * 4. Attaches `xOk` and `xCancel` event listeners to forward events.
1837
+ *
1838
+ * @returns HTMLElement
1839
+ */
1840
+ buildModalElement() {
1841
+ const modalEl = document.createElement('x-modal-content');
1842
+ // Set properties
1843
+ modalEl.modalTitle = this.modalTitle;
1844
+ modalEl.width = this.width;
1845
+ modalEl.footer = this.footer;
1846
+ modalEl.closable = this.closable;
1847
+ modalEl.mask = this.mask;
1848
+ modalEl.maskClosable = this.maskClosable;
1849
+ modalEl.centered = this.centered;
1850
+ modalEl.okText = this.okText;
1851
+ modalEl.cancelText = this.cancelText;
1852
+ modalEl.okLoading = this.okLoading;
1853
+ modalEl.cancelLoading = this.cancelLoading;
1854
+ modalEl.okType = this.okType;
1855
+ modalEl.type = this.type;
1856
+ // Get slot content
1857
+ modalEl.bodyContent = this.getBodyContent();
1858
+ modalEl.footerContent = this.getFooterContent();
1859
+ // Attach event listeners
1860
+ modalEl.addEventListener('xOk', () => {
1861
+ this.xOk.emit();
1862
+ });
1863
+ modalEl.addEventListener('xCancel', () => {
1864
+ this.xCancel.emit();
1865
+ });
1866
+ return modalEl;
1867
+ }
1868
+ /**
1869
+ * Update portal with modal content.
1870
+ * @returns void
1871
+ */
1872
+ updatePortal() {
1873
+ if (!this.visible) {
1874
+ this.destroyPortal();
1875
+ return;
1876
+ }
1877
+ // Build modal element
1878
+ const modalElement = this.buildModalElement();
1879
+ if (!this.portalInstance) {
1880
+ // Create new portal instance
1881
+ this.portalInstance = PortalController.create({
1882
+ open: true,
1883
+ zIndex: 1000,
1884
+ content: modalElement,
1885
+ });
1886
+ }
1887
+ else {
1888
+ // Update existing portal
1889
+ this.portalInstance.update({
1890
+ open: true,
1891
+ content: modalElement,
1892
+ });
1893
+ }
1894
+ }
1895
+ /**
1896
+ * Destroy portal instance.
1897
+ * @returns void
1898
+ */
1899
+ destroyPortal() {
1900
+ if (this.portalInstance) {
1901
+ this.portalInstance.destroy();
1902
+ this.portalInstance = null;
1903
+ }
1904
+ }
1905
+ /**
1906
+ * Render hidden slots to capture content for portal.
1907
+ * @returns JSX.Element
1908
+ */
1909
+ render() {
1910
+ return (h(Host, { key: 'c3e46fc9b067f8d4700762b5bb0d284dc190c1e8', class: {
1911
+ 'x-modal': true,
1912
+ 'x-modal-open': this.visible,
1913
+ } }, h("div", { key: 'd620493f845e4b86b29fa46b868dbab2d632908a', style: { display: 'none' } }, h("slot", { key: '202a7875383dfb9f3c6b5fc9a5183a916d0b9563' }), h("slot", { key: '10e85c6d0994bf249c3974bdb881efda16385702', name: "footer" }))));
1914
+ }
1915
+ static get watchers() { return {
1916
+ "visible": [{
1917
+ "handleVisibleChange": 0
1918
+ }],
1919
+ "modalTitle": [{
1920
+ "handlePropsChange": 0
1921
+ }],
1922
+ "width": [{
1923
+ "handlePropsChange": 0
1924
+ }],
1925
+ "footer": [{
1926
+ "handlePropsChange": 0
1927
+ }],
1928
+ "closable": [{
1929
+ "handlePropsChange": 0
1930
+ }],
1931
+ "mask": [{
1932
+ "handlePropsChange": 0
1933
+ }],
1934
+ "maskClosable": [{
1935
+ "handlePropsChange": 0
1936
+ }],
1937
+ "centered": [{
1938
+ "handlePropsChange": 0
1939
+ }],
1940
+ "okText": [{
1941
+ "handlePropsChange": 0
1942
+ }],
1943
+ "cancelText": [{
1944
+ "handlePropsChange": 0
1945
+ }],
1946
+ "okLoading": [{
1947
+ "handlePropsChange": 0
1948
+ }],
1949
+ "cancelLoading": [{
1950
+ "handlePropsChange": 0
1951
+ }],
1952
+ "okType": [{
1953
+ "handlePropsChange": 0
1954
+ }],
1955
+ "type": [{
1956
+ "handlePropsChange": 0
1957
+ }]
1958
+ }; }
1959
+ };
1960
+ XModal.style = xModalCss();
1961
+
1962
+ const xSliderCss = () => `@charset "UTF-8";:root{--x-color-primary:#1677ff;--x-color-primary-rgb:22, 119, 255;--x-color-primary-contrast:#ffffff;--x-color-primary-contrast-rgb:255, 255, 255;--x-color-primary-shade:#0958d9;--x-color-primary-tint:#4096ff;--x-color-primary-bg:#e6f4ff;--x-color-primary-bg-hover:#bae0ff;--x-color-primary-border:#91caff;--x-color-primary-border-hover:#69b1ff;--x-color-primary-hover:#4096ff;--x-color-primary-active:#0958d9;--x-color-primary-text:#1677ff;--x-color-primary-text-hover:#4096ff;--x-color-primary-text-active:#0958d9;--x-color-secondary:#3dc2ff;--x-color-secondary-rgb:61, 194, 255;--x-color-secondary-contrast:#ffffff;--x-color-secondary-contrast-rgb:255, 255, 255;--x-color-secondary-shade:#36abe0;--x-color-secondary-tint:#50c8ff;--x-color-success:#52c41a;--x-color-success-rgb:82, 196, 26;--x-color-success-contrast:#ffffff;--x-color-success-contrast-rgb:255, 255, 255;--x-color-success-shade:#389e0d;--x-color-success-tint:#73d13d;--x-color-success-bg:#f6ffed;--x-color-success-bg-hover:#d9f7be;--x-color-success-border:#b7eb8f;--x-color-success-border-hover:#95de64;--x-color-success-hover:#73d13d;--x-color-success-active:#389e0d;--x-color-success-text:#52c41a;--x-color-success-text-hover:#73d13d;--x-color-success-text-active:#389e0d;--x-color-warning:#faad14;--x-color-warning-rgb:250, 173, 20;--x-color-warning-contrast:#000000;--x-color-warning-contrast-rgb:0, 0, 0;--x-color-warning-shade:#d48806;--x-color-warning-tint:#ffc53d;--x-color-warning-bg:#fffbe6;--x-color-warning-bg-hover:#fff1b8;--x-color-warning-border:#ffe58f;--x-color-warning-border-hover:#ffd666;--x-color-warning-hover:#ffc53d;--x-color-warning-active:#d48806;--x-color-warning-text:#faad14;--x-color-warning-text-hover:#ffc53d;--x-color-warning-text-active:#d48806;--x-color-danger:#ff4d4f;--x-color-danger-rgb:255, 77, 79;--x-color-danger-contrast:#ffffff;--x-color-danger-contrast-rgb:255, 255, 255;--x-color-danger-shade:#cf1322;--x-color-danger-tint:#ff7875;--x-color-error:#ff4d4f;--x-color-error-rgb:255, 77, 79;--x-color-error-bg:#fff2f0;--x-color-error-bg-hover:#ffccc7;--x-color-error-border:#ffa39e;--x-color-error-border-hover:#ff7875;--x-color-error-hover:#ff7875;--x-color-error-active:#d9363e;--x-color-error-text:#ff4d4f;--x-color-error-text-hover:#ff7875;--x-color-error-text-active:#d9363e;--x-color-info:#1677ff;--x-color-info-rgb:22, 119, 255;--x-color-info-bg:#e6f4ff;--x-color-info-bg-hover:#bae0ff;--x-color-info-border:#91caff;--x-color-info-border-hover:#69b1ff;--x-color-info-hover:#69b1ff;--x-color-info-active:#0958d9;--x-color-info-text:#1677ff;--x-color-info-text-hover:#69b1ff;--x-color-info-text-active:#0958d9;--x-color-text:rgba(0, 0, 0, 0.88);--x-color-text-secondary:rgba(0, 0, 0, 0.65);--x-color-text-tertiary:rgba(0, 0, 0, 0.45);--x-color-text-quaternary:rgba(0, 0, 0, 0.25);--x-color-text-disabled:rgba(0, 0, 0, 0.25);--x-color-text-placeholder:rgba(0, 0, 0, 0.25);--x-color-text-heading:rgba(0, 0, 0, 0.88);--x-color-text-label:rgba(0, 0, 0, 0.65);--x-color-text-description:rgba(0, 0, 0, 0.45);--x-color-text-light-solid:#ffffff;--x-color-bg-container:#ffffff;--x-color-bg-elevated:#ffffff;--x-color-bg-layout:#f5f5f5;--x-color-bg-spotlight:rgba(0, 0, 0, 0.85);--x-color-bg-mask:rgba(0, 0, 0, 0.45);--x-color-bg-base:#ffffff;--x-color-bg-container-disabled:#f5f5f5;--x-color-bg-container-loading:rgba(255, 255, 255, 0.65);--x-color-white:#ffffff;--x-color-fill:rgba(0, 0, 0, 0.15);--x-color-fill-secondary:rgba(0, 0, 0, 0.06);--x-color-fill-tertiary:rgba(0, 0, 0, 0.04);--x-color-fill-quaternary:rgba(0, 0, 0, 0.02);--x-color-border:#d9d9d9;--x-color-border-secondary:#f0f0f0;--x-color-border-bg:#ffffff;--x-color-split:rgba(5, 5, 5, 0.06);--x-color-dark:#222428;--x-color-dark-rgb:34, 36, 40;--x-color-dark-contrast:#ffffff;--x-color-dark-contrast-rgb:255, 255, 255;--x-color-dark-shade:#1e2023;--x-color-dark-tint:#383a3e;--x-color-medium:#92949c;--x-color-medium-rgb:146, 148, 156;--x-color-medium-contrast:#ffffff;--x-color-medium-contrast-rgb:255, 255, 255;--x-color-medium-shade:#808289;--x-color-medium-tint:#9d9fa6;--x-color-light:#f4f5f8;--x-color-light-rgb:244, 245, 248;--x-color-light-contrast:#000000;--x-color-light-contrast-rgb:0, 0, 0;--x-color-light-shade:#d7d8da;--x-color-light-tint:#f5f6f9;--x-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--x-font-family-code:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--x-font-size:14px;--x-font-size-sm:12px;--x-font-size-lg:16px;--x-font-size-xl:20px;--x-font-size-heading-1:38px;--x-font-size-heading-2:30px;--x-font-size-heading-3:24px;--x-font-size-heading-4:20px;--x-font-size-heading-5:16px;--x-line-height:1.5714285714285714;--x-line-height-lg:1.5;--x-line-height-sm:1.6666666666666667;--x-line-height-heading-1:1.2105263157894737;--x-line-height-heading-2:1.2666666666666666;--x-line-height-heading-3:1.3333333333333333;--x-line-height-heading-4:1.4;--x-line-height-heading-5:1.5;--x-font-weight-normal:400;--x-font-weight-medium:500;--x-font-weight-semibold:600;--x-font-weight-strong:600;--x-font-size-base:14px;--x-font-size-xxl:24px;--x-line-height-base:1.5714285714285714;--x-spacing-xxs:4px;--x-spacing-xs:8px;--x-spacing-sm:12px;--x-spacing-md:16px;--x-spacing-lg:20px;--x-spacing-xl:24px;--x-spacing-xxl:32px;--x-spacing-xxxl:48px;--x-margin-xxs:4px;--x-margin-xs:8px;--x-margin-sm:12px;--x-margin-md:16px;--x-margin-lg:24px;--x-margin-xl:32px;--x-margin-xxl:48px;--x-padding-xxs:4px;--x-padding-xs:8px;--x-padding-sm:12px;--x-padding-md:16px;--x-padding-lg:24px;--x-padding-content-horizontal-lg:24px;--x-padding-content-vertical-lg:12px;--x-padding-content-horizontal:16px;--x-padding-content-vertical:12px;--x-padding-content-horizontal-sm:16px;--x-padding-content-vertical-sm:8px;--x-border-radius:6px;--x-border-radius-xs:2px;--x-border-radius-sm:4px;--x-border-radius-lg:8px;--x-border-radius-xl:12px;--x-border-radius-outer:4px;--x-border-radius-base:6px;--x-border-width:1px;--x-border-width-base:1px;--x-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-shadow-lg:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-box-shadow-popover-arrow:2px 2px 5px rgba(0, 0, 0, 0.05);--x-box-shadow-card:0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);--x-box-shadow-drawer-right:-6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-left:6px 0 16px 0 rgba(0, 0, 0, 0.08), 3px 0 6px -4px rgba(0, 0, 0, 0.12), 9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-up:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-down:0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tabs-overflow-left:inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-right:inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-top:inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-bottom:inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);--x-motion-duration-fast:0.1s;--x-motion-duration-mid:0.2s;--x-motion-duration-slow:0.3s;--x-motion-ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--x-motion-ease-out:cubic-bezier(0.215, 0.61, 0.355, 1);--x-motion-ease-in:cubic-bezier(0.55, 0.055, 0.675, 0.19);--x-motion-ease-out-back:cubic-bezier(0.12, 0.4, 0.29, 1.46);--x-motion-ease-in-back:cubic-bezier(0.71, -0.46, 0.88, 0.6);--x-motion-ease-in-out-circle:cubic-bezier(0.78, 0.14, 0.15, 0.86);--x-motion-ease-out-circle:cubic-bezier(0.08, 0.82, 0.17, 1);--x-motion-ease-in-circle:cubic-bezier(0.6, 0.04, 0.98, 0.34);--x-motion-ease-in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);--x-motion-ease-out-quint:cubic-bezier(0.23, 1, 0.32, 1);--x-z-index-base:0;--x-z-index-popup-base:1000;--x-z-index-popup:1030;--x-z-index-affix:10;--x-z-index-modal:1000;--x-z-index-modal-mask:1000;--x-z-index-drawer:1000;--x-z-index-popover:1030;--x-z-index-dropdown:1050;--x-z-index-tooltip:1070;--x-z-index-notification:1080;--x-z-index-message:1090;--x-z-index-popconfirm:1060;--x-z-index-table-fixed:10;--x-opacity-loading:0.65;--x-opacity-image:1;--x-opacity-disabled:0.5;--x-control-height:32px;--x-control-height-xs:24px;--x-control-height-sm:24px;--x-control-height-lg:40px;--x-control-radio-size:16px;--x-control-checkbox-size:16px;--x-control-padding-horizontal:12px;--x-control-padding-horizontal-sm:8px;--x-control-outline-width:2px;--x-control-outline:rgba(5, 145, 255, 0.1);--x-control-item-bg-hover:rgba(0, 0, 0, 0.04);--x-control-item-bg-active:#e6f4ff;--x-control-item-bg-active-hover:#bae0ff;--x-control-item-bg-active-disabled:rgba(0, 0, 0, 0.15);--x-control-tmp-outline:rgba(0, 0, 0, 0.02);--x-color-yellow:#fadb14;--x-color-yellow-rgb:250, 219, 20;--x-font-family-base:var(--x-font-family);--x-color-link:#1677ff;--x-color-link-hover:#69b1ff;--x-color-link-active:#0958d9;--x-color-icon:rgba(0, 0, 0, 0.45);--x-color-icon-hover:rgba(0, 0, 0, 0.88);--x-color-highlight:#ff4d4f;--x-color-bg-text-hover:rgba(0, 0, 0, 0.06);--x-color-bg-text-active:rgba(0, 0, 0, 0.15);--x-screen-xs:480px;--x-screen-xs-min:480px;--x-screen-xs-max:575px;--x-screen-sm:576px;--x-screen-sm-min:576px;--x-screen-sm-max:767px;--x-screen-md:768px;--x-screen-md-min:768px;--x-screen-md-max:991px;--x-screen-lg:992px;--x-screen-lg-min:992px;--x-screen-lg-max:1199px;--x-screen-xl:1200px;--x-screen-xl-min:1200px;--x-screen-xl-max:1599px;--x-screen-xxl:1600px;--x-screen-xxl-min:1600px;--x-color-fill-content:rgba(0, 0, 0, 0.06);--x-color-fill-content-hover:rgba(0, 0, 0, 0.15);--x-color-fill-alter:rgba(0, 0, 0, 0.02);--x-scrollbar-width:12px;--x-scrollbar-track-bg:rgba(0, 0, 0, 0.04);--x-scrollbar-thumb-bg:rgba(0, 0, 0, 0.25);--x-scrollbar-thumb-bg-hover:rgba(0, 0, 0, 0.35);--x-menu-dark-bg:#001529;--x-menu-dark-item-bg:#001529;--x-menu-dark-popup-bg:#001529;--x-menu-dark-submenu-item-bg:#000c17}:host{display:inline-block;position:relative;width:100%;height:var(--x-slider-height, var(--x-spacing-md, 16px));margin:var(--x-slider-margin-vertical, var(--x-spacing-sm, 12px)) var(--x-slider-margin-horizontal, var(--x-spacing-xs, 8px));padding:var(--x-slider-padding, var(--x-spacing-xxs, 4px)) 0;-ms-touch-action:none;touch-action:none;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.x-slider-disabled){cursor:not-allowed}:host(.x-slider-vertical){width:var(--x-slider-height, var(--x-spacing-md, 16px));height:100%;margin:var(--x-slider-margin-horizontal, var(--x-spacing-xs, 8px)) var(--x-slider-margin-vertical, var(--x-spacing-sm, 12px));padding:0 var(--x-slider-padding, var(--x-spacing-xxs, 4px))}.x-slider-rail{position:absolute;top:50%;left:0;width:100%;height:var(--x-slider-track-height, 4px);background:var(--x-slider-rail-bg, var(--x-color-fill-secondary, rgba(0, 0, 0, 0.06)));border-radius:var(--x-slider-border-radius, var(--x-border-radius-xs, 4px));-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:background var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s));transition:background var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s))}:host(.x-slider-vertical) .x-slider-rail{top:0;left:50%;width:var(--x-slider-track-height, 4px);height:100%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.x-slider-track{position:absolute;top:50%;height:var(--x-slider-track-height, 4px);background:var(--x-slider-track-bg, var(--x-color-primary-bg-hover, #91caff));border-radius:var(--x-slider-border-radius, var(--x-border-radius-xs, 4px));-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:all var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s));transition:all var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s))}:host(.x-slider-vertical) .x-slider-track{left:50%;width:var(--x-slider-track-height, 4px);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.x-slider-handle{position:absolute;top:50%;width:var(--x-slider-handle-size, var(--x-font-size-base, 14px));height:var(--x-slider-handle-size, var(--x-font-size-base, 14px));background:var(--x-slider-handle-bg, var(--x-color-white, #ffffff));border:2px solid var(--x-slider-handle-border-color, var(--x-color-primary, #1677ff));border-radius:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);-webkit-transition:border-color var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s)), -webkit-box-shadow var(--x-slider-motion-duration-slow, var(--x-motion-duration-slow, 0.3s)), -webkit-transform var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-slider-motion-ease, var(--x-motion-ease-out-back, cubic-bezier(0.34, 1.56, 0.64, 1)));transition:border-color var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s)), -webkit-box-shadow var(--x-slider-motion-duration-slow, var(--x-motion-duration-slow, 0.3s)), -webkit-transform var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-slider-motion-ease, var(--x-motion-ease-out-back, cubic-bezier(0.34, 1.56, 0.64, 1)));transition:border-color var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s)), box-shadow var(--x-slider-motion-duration-slow, var(--x-motion-duration-slow, 0.3s)), transform var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-slider-motion-ease, var(--x-motion-ease-out-back, cubic-bezier(0.34, 1.56, 0.64, 1)));transition:border-color var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s)), box-shadow var(--x-slider-motion-duration-slow, var(--x-motion-duration-slow, 0.3s)), transform var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-slider-motion-ease, var(--x-motion-ease-out-back, cubic-bezier(0.34, 1.56, 0.64, 1))), -webkit-box-shadow var(--x-slider-motion-duration-slow, var(--x-motion-duration-slow, 0.3s)), -webkit-transform var(--x-slider-motion-duration, var(--x-motion-duration-mid, 0.2s)) var(--x-slider-motion-ease, var(--x-motion-ease-out-back, cubic-bezier(0.34, 1.56, 0.64, 1)));cursor:-webkit-grab;cursor:grab;z-index:2}.x-slider-handle:hover{border-color:var(--x-slider-handle-border-color-hover, var(--x-color-primary, #1677ff))}.x-slider-handle:active{cursor:-webkit-grabbing;cursor:grabbing;-webkit-transform:translate(-50%, -50%) scale(1.1);transform:translate(-50%, -50%) scale(1.1);-webkit-box-shadow:var(--x-slider-handle-focus-shadow, 0 0 0 5px var(--x-color-primary-bg, rgba(22, 119, 255, 0.1)));box-shadow:var(--x-slider-handle-focus-shadow, 0 0 0 5px var(--x-color-primary-bg, rgba(22, 119, 255, 0.1)))}.x-slider-handle:focus{outline:none;border-color:var(--x-slider-handle-border-color-hover, var(--x-color-primary, #1677ff));-webkit-box-shadow:var(--x-slider-handle-focus-shadow, 0 0 0 5px var(--x-color-primary-bg, rgba(22, 119, 255, 0.1)));box-shadow:var(--x-slider-handle-focus-shadow, 0 0 0 5px var(--x-color-primary-bg, rgba(22, 119, 255, 0.1)))}:host(.x-slider-vertical) .x-slider-handle{left:50%;top:auto;-webkit-transform:translate(-50%, 50%);transform:translate(-50%, 50%)}.x-slider-tooltip{position:absolute;bottom:120%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding:4px 8px;font-size:12px;background:#000;color:#fff;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;-webkit-transition:opacity 0.2s ease;transition:opacity 0.2s ease}.x-slider-handle:hover .x-slider-tooltip,.x-slider-handle:active .x-slider-tooltip{opacity:1}:host(.x-slider-vertical) .x-slider-tooltip{left:120%;bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.x-slider-marks{position:absolute;top:100%;left:0;width:100%;margin-top:8px;font-size:12px}:host(.x-slider-vertical) .x-slider-marks{left:100%;top:0;width:auto;height:100%;margin-left:8px}.x-slider-mark{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:rgba(0, 0, 0, 0.45);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}:host(.x-slider-vertical) .x-slider-mark{-webkit-transform:translateY(50%);transform:translateY(50%)}:host(.x-slider-disabled) .x-slider-rail{background:var(--x-slider-rail-bg-disabled, var(--x-color-fill-tertiary, rgba(0, 0, 0, 0.04)))}:host(.x-slider-disabled) .x-slider-track{background:var(--x-slider-track-bg-disabled, var(--x-color-text-quaternary, rgba(0, 0, 0, 0.25)))}:host(.x-slider-disabled) .x-slider-handle{border-color:var(--x-slider-handle-border-color-disabled, var(--x-color-text-quaternary, rgba(0, 0, 0, 0.25)));cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host(.x-slider-disabled) .x-slider-tooltip{display:none}`;
1963
+
1964
+ const XSlider = class {
1965
+ constructor(hostRef) {
1966
+ registerInstance(this, hostRef);
1967
+ this.xChange = createEvent(this, "xChange", 7);
1968
+ this.xAfterChange = createEvent(this, "xAfterChange", 7);
1969
+ }
1970
+ get el() { return getElement(this); }
1971
+ /* ---------------- PROPS ---------------- */
1972
+ /**
1973
+ * Minimum slider value.
1974
+ * @example
1975
+ * <x-slider min={0}></x-slider>
1976
+ */
1977
+ min = 0;
1978
+ /**
1979
+ * Maximum slider value.
1980
+ * @example
1981
+ * <x-slider max={100}></x-slider>
1982
+ */
1983
+ max = 100;
1984
+ /**
1985
+ * Step size between values, or null to use marks.
1986
+ * @example
1987
+ * <x-slider step={5}></x-slider>
1988
+ */
1989
+ step = 1;
1990
+ /**
1991
+ * Enable range mode with two thumbs.
1992
+ * @example
1993
+ * <x-slider range></x-slider>
1994
+ */
1995
+ range = false;
1996
+ /**
1997
+ * Render slider vertically.
1998
+ * @example
1999
+ * <x-slider vertical></x-slider>
2000
+ */
2001
+ vertical = false;
2002
+ /**
2003
+ * Disable interaction.
2004
+ * @example
2005
+ * <x-slider disabled></x-slider>
2006
+ */
2007
+ disabled = false;
2008
+ /**
2009
+ * Allow thumbs to cross in range mode.
2010
+ * @example
2011
+ * <x-slider range allowCross={false}></x-slider>
2012
+ */
2013
+ allowCross = true;
2014
+ /**
2015
+ * Push behavior or minimum distance between thumbs.
2016
+ * @example
2017
+ * <x-slider range pushable={10}></x-slider>
2018
+ */
2019
+ pushable = false;
2020
+ /**
2021
+ * Allow dragging the selected track in range mode.
2022
+ * @example
2023
+ * <x-slider range draggableTrack></x-slider>
2024
+ */
2025
+ draggableTrack = false;
2026
+ /**
2027
+ * Show tooltip values on handles.
2028
+ * @example
2029
+ * <x-slider tooltip={false}></x-slider>
2030
+ */
2031
+ tooltip = true;
2032
+ /**
2033
+ * Marks displayed on the rail.
2034
+ * @example
2035
+ * <x-slider marks={{ 0: '0', 100: '100' }}></x-slider>
2036
+ */
2037
+ marks = {};
2038
+ /**
2039
+ * Controlled value for slider.
2040
+ * @example
2041
+ * <x-slider value={50}></x-slider>
2042
+ */
2043
+ value;
2044
+ /**
2045
+ * Default value when uncontrolled.
2046
+ * @example
2047
+ * <x-slider defaultValue={20}></x-slider>
2048
+ */
2049
+ defaultValue = 0;
2050
+ /* ---------------- STATE ---------------- */
2051
+ /**
2052
+ * Active thumb index while dragging.
2053
+ */
2054
+ activeThumb = null;
2055
+ /**
2056
+ * Whether a drag interaction is active.
2057
+ */
2058
+ isDragging = false;
2059
+ /* ---------------- EVENTS ---------------- */
2060
+ /**
2061
+ * Emits on value change.
2062
+ * @example
2063
+ * <x-slider onXChange={(ev) => console.log(ev.detail)}></x-slider>
2064
+ */
2065
+ xChange;
2066
+ /**
2067
+ * Emits after drag interaction ends.
2068
+ * @example
2069
+ * <x-slider onXAfterChange={(ev) => console.log(ev.detail)}></x-slider>
2070
+ */
2071
+ xAfterChange;
2072
+ /**
2073
+ * Rail element reference for position calculations.
2074
+ */
2075
+ rail;
2076
+ /* ---------------- LIFECYCLE ---------------- */
2077
+ componentWillLoad() {
2078
+ if (this.value === undefined) {
2079
+ this.value = this.range
2080
+ ? [this.min, this.max]
2081
+ : this.defaultValue;
2082
+ }
2083
+ }
2084
+ onValueChange() {
2085
+ this.xChange.emit(this.value);
2086
+ }
2087
+ /* ---------------- UTIL ---------------- */
2088
+ /**
2089
+ * Clamp value within min and max.
2090
+ * @param v - Input value.
2091
+ * @returns number
2092
+ * @example
2093
+ * this.clamp(120)
2094
+ */
2095
+ clamp(v) {
2096
+ return Math.min(this.max, Math.max(this.min, v));
2097
+ }
2098
+ /**
2099
+ * Build list of steps based on step or marks.
2100
+ * @returns number[]
2101
+ * @example
2102
+ * this.getSteps()
2103
+ */
2104
+ getSteps() {
2105
+ if (this.step === null) {
2106
+ return Object.keys(this.marks).map(Number);
2107
+ }
2108
+ const arr = [];
2109
+ for (let v = this.min; v <= this.max; v += this.step) {
2110
+ arr.push(v);
2111
+ }
2112
+ return arr;
2113
+ }
2114
+ /**
2115
+ * Snap value to nearest step or mark.
2116
+ * @param v - Raw value.
2117
+ * @returns number
2118
+ * @example
2119
+ * this.snap(42)
2120
+ */
2121
+ snap(v) {
2122
+ if (this.step === null) {
2123
+ const steps = this.getSteps();
2124
+ return steps.reduce((prev, curr) => Math.abs(curr - v) < Math.abs(prev - v) ? curr : prev);
2125
+ }
2126
+ return Math.round(v / this.step) * this.step;
2127
+ }
2128
+ /**
2129
+ * Convert value to percentage along the rail.
2130
+ * @param v - Value to convert.
2131
+ * @returns number
2132
+ * @example
2133
+ * this.percent(50)
2134
+ */
2135
+ percent(v) {
2136
+ return ((v - this.min) / (this.max - this.min)) * 100;
2137
+ }
2138
+ /**
2139
+ * Calculates the slider value based on a mouse event.
2140
+ *
2141
+ * Flow:
2142
+ * 1. Gets the bounding rectangle of the rail.
2143
+ * 2. Calculates the ratio of the mouse position relative to the rail's width (or height if vertical).
2144
+ * 3. Maps the ratio to the [min, max] range.
2145
+ * 4. Clamps the value to ensure it stays within bounds.
2146
+ * 5. Snaps the value to the nearest step.
2147
+ *
2148
+ * @param e - The mouse event.
2149
+ * @returns number - The calculated value.
2150
+ */
2151
+ getValueFromEvent(e) {
2152
+ const rect = this.rail.getBoundingClientRect();
2153
+ const ratio = this.vertical
2154
+ ? (rect.bottom - e.clientY) / rect.height
2155
+ : (e.clientX - rect.left) / rect.width;
2156
+ const v = this.min + this.clamp(ratio) * (this.max - this.min);
2157
+ return this.snap(this.clamp(v));
2158
+ }
2159
+ /* ---------------- PUSH LOGIC ---------------- */
2160
+ /**
2161
+ * Enforces the `pushable` constraint between range thumbs.
2162
+ * Ensures thumbs maintain a minimum distance from each other.
2163
+ *
2164
+ * @param values - Current range values [v1, v2].
2165
+ * @param index - The index of the thumb actively being moved.
2166
+ * @returns [number, number] - The adjusted values.
2167
+ */
2168
+ pushRange(values, index) {
2169
+ if (!this.pushable)
2170
+ return values;
2171
+ const distance = typeof this.pushable === 'number' ? this.pushable : 1;
2172
+ if (index === 0 && values[1] - values[0] < distance) {
2173
+ values[1] = values[0] + distance;
2174
+ }
2175
+ if (index === 1 && values[1] - values[0] < distance) {
2176
+ values[0] = values[1] - distance;
2177
+ }
2178
+ return values;
2179
+ }
2180
+ /* ---------------- MOUSE ---------------- */
2181
+ /**
2182
+ * Handles the mouse down event to initiate dragging.
2183
+ *
2184
+ * Flow:
2185
+ * 1. Checks if disabled.
2186
+ * 2. Sets `isDragging` flag.
2187
+ * 3. Determines which thumb is active (closest to click if not specified).
2188
+ * 4. Updates the value immediately.
2189
+ * 5. Attaches global mouse listeners for drag and release.
2190
+ *
2191
+ * @param e - The mouse event.
2192
+ * @param index - Optional index of the handle being clicked.
2193
+ */
2194
+ onMouseDown = (e, index) => {
2195
+ if (this.disabled)
2196
+ return;
2197
+ this.isDragging = true;
2198
+ if (this.range) {
2199
+ this.activeThumb =
2200
+ index ??
2201
+ this.getClosestThumb(this.getValueFromEvent(e));
2202
+ }
2203
+ this.updateValue(e);
2204
+ document.addEventListener('mousemove', this.onMouseMove);
2205
+ document.addEventListener('mouseup', this.onMouseUp);
2206
+ };
2207
+ /**
2208
+ * Handles mouse move during drag.
2209
+ * Updates the value if dragging is active.
2210
+ */
2211
+ onMouseMove = (e) => {
2212
+ if (!this.isDragging)
2213
+ return;
2214
+ this.updateValue(e);
2215
+ };
2216
+ /**
2217
+ * Handles mouse up to end drag.
2218
+ * Clears state, emits final change event, and removes listeners.
2219
+ */
2220
+ onMouseUp = () => {
2221
+ this.isDragging = false;
2222
+ this.activeThumb = null;
2223
+ this.xAfterChange.emit(this.value);
2224
+ document.removeEventListener('mousemove', this.onMouseMove);
2225
+ document.removeEventListener('mouseup', this.onMouseUp);
2226
+ };
2227
+ /**
2228
+ * Updates the slider value logic during interaction.
2229
+ *
2230
+ * Flow:
2231
+ * 1. Calculates new value from event.
2232
+ * 2. If single mode, updates value directly.
2233
+ * 3. If range mode:
2234
+ * - Handles track dragging (moving both thumbs).
2235
+ * - Handles individual thumb dragging.
2236
+ * - Enforces `allowCross` constraint (swapping thumbs if needed).
2237
+ * - Enforces `pushRange` constraint.
2238
+ *
2239
+ * @param e - The mouse event.
2240
+ */
2241
+ updateValue(e) {
2242
+ const v = this.getValueFromEvent(e);
2243
+ if (!this.range) {
2244
+ this.value = v;
2245
+ return;
2246
+ }
2247
+ let values = [...this.value];
2248
+ if (this.draggableTrack && this.activeThumb === null) {
2249
+ const diff = v - values[0];
2250
+ values = [values[0] + diff, values[1] + diff];
2251
+ }
2252
+ else {
2253
+ values[this.activeThumb] = v;
2254
+ if (!this.allowCross) {
2255
+ if (this.activeThumb === 0)
2256
+ values[0] = Math.min(values[0], values[1]);
2257
+ else
2258
+ values[1] = Math.max(values[1], values[0]);
2259
+ }
2260
+ values = this.pushRange(values, this.activeThumb);
2261
+ }
2262
+ this.value = values;
2263
+ }
2264
+ /**
2265
+ * Finds the index of the thumb closest to the given value.
2266
+ * Used to determine which thumb to move when clicking on the rail.
2267
+ *
2268
+ * @param v - The target value.
2269
+ * @returns number - 0 or 1.
2270
+ */
2271
+ getClosestThumb(v) {
2272
+ const [v1, v2] = this.value;
2273
+ return Math.abs(v - v1) < Math.abs(v - v2) ? 0 : 1;
2274
+ }
2275
+ /* ---------------- KEYBOARD ---------------- */
2276
+ /**
2277
+ * Handles keyboard navigation for fine-tuning values.
2278
+ * Supports Arrow keys for stepping up/down.
2279
+ *
2280
+ * @param e - Keyboard event.
2281
+ * @param index - Index of the handle focused.
2282
+ */
2283
+ onKeyDown = (e, index) => {
2284
+ if (this.disabled)
2285
+ return;
2286
+ const delta = e.key === 'ArrowRight' || e.key === 'ArrowUp'
2287
+ ? this.step ?? 1
2288
+ : e.key === 'ArrowLeft' || e.key === 'ArrowDown'
2289
+ ? -(this.step ?? 1)
2290
+ : 0;
2291
+ if (!delta)
2292
+ return;
2293
+ e.preventDefault();
2294
+ if (!this.range) {
2295
+ this.value = this.clamp(this.value + delta);
2296
+ }
2297
+ else {
2298
+ const values = [...this.value];
2299
+ values[index] = this.clamp(values[index] + delta);
2300
+ this.value = values;
2301
+ }
2302
+ };
2303
+ /* ---------------- RENDER ---------------- */
2304
+ /**
2305
+ * Renders the marks (ticks) along the slider rail.
2306
+ *
2307
+ * @returns JSX.Element[] - List of mark elements positioned by percentage.
2308
+ */
2309
+ renderMarks() {
2310
+ return Object.entries(this.marks).map(([k, label]) => {
2311
+ const percent = this.percent(Number(k));
2312
+ return (h("div", { class: "x-slider-mark", style: {
2313
+ [this.vertical ? 'bottom' : 'left']: `${percent}%`,
2314
+ } }, label));
2315
+ });
2316
+ }
2317
+ /**
2318
+ * Main render method for the Slider component.
2319
+ *
2320
+ * Structure:
2321
+ * - Host element with classes for vertical/disabled state.
2322
+ * - Rail: The background line.
2323
+ * - Track: The active/colored segment indicating selected range.
2324
+ * - Handles: Draggable knobs for interacting with values.
2325
+ * - Marks: Optional labeled ticks.
2326
+ *
2327
+ * @returns JSX.Element
2328
+ */
2329
+ render() {
2330
+ const values = this.range
2331
+ ? this.value
2332
+ : [this.value];
2333
+ const p1 = this.percent(values[0]);
2334
+ const p2 = this.range ? this.percent(values[1]) : p1;
2335
+ return (h(Host, { key: '90fc23fbdcc78816be8c8d32d3e46e4687d3fad6', class: {
2336
+ 'x-slider': true,
2337
+ 'x-slider-vertical': this.vertical,
2338
+ 'x-slider-disabled': this.disabled,
2339
+ } }, h("div", { key: '9ff4c3df41adfcd7cc3f7c65784fc569b6693ff3', class: "x-slider-rail", ref: el => (this.rail = el), onClick: e => this.onMouseDown(e) }), h("div", { key: '0c5f77c19a65e251e46d0393e626bfe96abd18c9', class: "x-slider-track", style: {
2340
+ [this.vertical ? 'height' : 'width']: `${this.range ? p2 - p1 : p1}%`,
2341
+ [this.vertical ? 'bottom' : 'left']: `${this.range ? p1 : 0}%`,
2342
+ } }), values.map((v, i) => {
2343
+ const percent = this.percent(v);
2344
+ return (h("div", { class: "x-slider-handle", style: {
2345
+ [this.vertical ? 'bottom' : 'left']: `${percent}%`,
2346
+ }, tabindex: 0, role: "slider", "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": v, onMouseDown: e => this.onMouseDown(e, i), onKeyDown: e => this.onKeyDown(e, i) }, this.tooltip && (h("div", { class: "x-slider-tooltip" }, v))));
2347
+ }), h("div", { key: 'f3dd9f0c39947e115fd6160c1003cf48f93e97af', class: "x-slider-marks" }, this.renderMarks())));
2348
+ }
2349
+ static get watchers() { return {
2350
+ "value": [{
2351
+ "onValueChange": 0
2352
+ }]
2353
+ }; }
2354
+ };
2355
+ XSlider.style = xSliderCss();
2356
+
2357
+ const xSwitchCss = () => `@charset "UTF-8";:root{--x-color-primary:#1677ff;--x-color-primary-rgb:22, 119, 255;--x-color-primary-contrast:#ffffff;--x-color-primary-contrast-rgb:255, 255, 255;--x-color-primary-shade:#0958d9;--x-color-primary-tint:#4096ff;--x-color-primary-bg:#e6f4ff;--x-color-primary-bg-hover:#bae0ff;--x-color-primary-border:#91caff;--x-color-primary-border-hover:#69b1ff;--x-color-primary-hover:#4096ff;--x-color-primary-active:#0958d9;--x-color-primary-text:#1677ff;--x-color-primary-text-hover:#4096ff;--x-color-primary-text-active:#0958d9;--x-color-secondary:#3dc2ff;--x-color-secondary-rgb:61, 194, 255;--x-color-secondary-contrast:#ffffff;--x-color-secondary-contrast-rgb:255, 255, 255;--x-color-secondary-shade:#36abe0;--x-color-secondary-tint:#50c8ff;--x-color-success:#52c41a;--x-color-success-rgb:82, 196, 26;--x-color-success-contrast:#ffffff;--x-color-success-contrast-rgb:255, 255, 255;--x-color-success-shade:#389e0d;--x-color-success-tint:#73d13d;--x-color-success-bg:#f6ffed;--x-color-success-bg-hover:#d9f7be;--x-color-success-border:#b7eb8f;--x-color-success-border-hover:#95de64;--x-color-success-hover:#73d13d;--x-color-success-active:#389e0d;--x-color-success-text:#52c41a;--x-color-success-text-hover:#73d13d;--x-color-success-text-active:#389e0d;--x-color-warning:#faad14;--x-color-warning-rgb:250, 173, 20;--x-color-warning-contrast:#000000;--x-color-warning-contrast-rgb:0, 0, 0;--x-color-warning-shade:#d48806;--x-color-warning-tint:#ffc53d;--x-color-warning-bg:#fffbe6;--x-color-warning-bg-hover:#fff1b8;--x-color-warning-border:#ffe58f;--x-color-warning-border-hover:#ffd666;--x-color-warning-hover:#ffc53d;--x-color-warning-active:#d48806;--x-color-warning-text:#faad14;--x-color-warning-text-hover:#ffc53d;--x-color-warning-text-active:#d48806;--x-color-danger:#ff4d4f;--x-color-danger-rgb:255, 77, 79;--x-color-danger-contrast:#ffffff;--x-color-danger-contrast-rgb:255, 255, 255;--x-color-danger-shade:#cf1322;--x-color-danger-tint:#ff7875;--x-color-error:#ff4d4f;--x-color-error-rgb:255, 77, 79;--x-color-error-bg:#fff2f0;--x-color-error-bg-hover:#ffccc7;--x-color-error-border:#ffa39e;--x-color-error-border-hover:#ff7875;--x-color-error-hover:#ff7875;--x-color-error-active:#d9363e;--x-color-error-text:#ff4d4f;--x-color-error-text-hover:#ff7875;--x-color-error-text-active:#d9363e;--x-color-info:#1677ff;--x-color-info-rgb:22, 119, 255;--x-color-info-bg:#e6f4ff;--x-color-info-bg-hover:#bae0ff;--x-color-info-border:#91caff;--x-color-info-border-hover:#69b1ff;--x-color-info-hover:#69b1ff;--x-color-info-active:#0958d9;--x-color-info-text:#1677ff;--x-color-info-text-hover:#69b1ff;--x-color-info-text-active:#0958d9;--x-color-text:rgba(0, 0, 0, 0.88);--x-color-text-secondary:rgba(0, 0, 0, 0.65);--x-color-text-tertiary:rgba(0, 0, 0, 0.45);--x-color-text-quaternary:rgba(0, 0, 0, 0.25);--x-color-text-disabled:rgba(0, 0, 0, 0.25);--x-color-text-placeholder:rgba(0, 0, 0, 0.25);--x-color-text-heading:rgba(0, 0, 0, 0.88);--x-color-text-label:rgba(0, 0, 0, 0.65);--x-color-text-description:rgba(0, 0, 0, 0.45);--x-color-text-light-solid:#ffffff;--x-color-bg-container:#ffffff;--x-color-bg-elevated:#ffffff;--x-color-bg-layout:#f5f5f5;--x-color-bg-spotlight:rgba(0, 0, 0, 0.85);--x-color-bg-mask:rgba(0, 0, 0, 0.45);--x-color-bg-base:#ffffff;--x-color-bg-container-disabled:#f5f5f5;--x-color-bg-container-loading:rgba(255, 255, 255, 0.65);--x-color-white:#ffffff;--x-color-fill:rgba(0, 0, 0, 0.15);--x-color-fill-secondary:rgba(0, 0, 0, 0.06);--x-color-fill-tertiary:rgba(0, 0, 0, 0.04);--x-color-fill-quaternary:rgba(0, 0, 0, 0.02);--x-color-border:#d9d9d9;--x-color-border-secondary:#f0f0f0;--x-color-border-bg:#ffffff;--x-color-split:rgba(5, 5, 5, 0.06);--x-color-dark:#222428;--x-color-dark-rgb:34, 36, 40;--x-color-dark-contrast:#ffffff;--x-color-dark-contrast-rgb:255, 255, 255;--x-color-dark-shade:#1e2023;--x-color-dark-tint:#383a3e;--x-color-medium:#92949c;--x-color-medium-rgb:146, 148, 156;--x-color-medium-contrast:#ffffff;--x-color-medium-contrast-rgb:255, 255, 255;--x-color-medium-shade:#808289;--x-color-medium-tint:#9d9fa6;--x-color-light:#f4f5f8;--x-color-light-rgb:244, 245, 248;--x-color-light-contrast:#000000;--x-color-light-contrast-rgb:0, 0, 0;--x-color-light-shade:#d7d8da;--x-color-light-tint:#f5f6f9;--x-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--x-font-family-code:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--x-font-size:14px;--x-font-size-sm:12px;--x-font-size-lg:16px;--x-font-size-xl:20px;--x-font-size-heading-1:38px;--x-font-size-heading-2:30px;--x-font-size-heading-3:24px;--x-font-size-heading-4:20px;--x-font-size-heading-5:16px;--x-line-height:1.5714285714285714;--x-line-height-lg:1.5;--x-line-height-sm:1.6666666666666667;--x-line-height-heading-1:1.2105263157894737;--x-line-height-heading-2:1.2666666666666666;--x-line-height-heading-3:1.3333333333333333;--x-line-height-heading-4:1.4;--x-line-height-heading-5:1.5;--x-font-weight-normal:400;--x-font-weight-medium:500;--x-font-weight-semibold:600;--x-font-weight-strong:600;--x-font-size-base:14px;--x-font-size-xxl:24px;--x-line-height-base:1.5714285714285714;--x-spacing-xxs:4px;--x-spacing-xs:8px;--x-spacing-sm:12px;--x-spacing-md:16px;--x-spacing-lg:20px;--x-spacing-xl:24px;--x-spacing-xxl:32px;--x-spacing-xxxl:48px;--x-margin-xxs:4px;--x-margin-xs:8px;--x-margin-sm:12px;--x-margin-md:16px;--x-margin-lg:24px;--x-margin-xl:32px;--x-margin-xxl:48px;--x-padding-xxs:4px;--x-padding-xs:8px;--x-padding-sm:12px;--x-padding-md:16px;--x-padding-lg:24px;--x-padding-content-horizontal-lg:24px;--x-padding-content-vertical-lg:12px;--x-padding-content-horizontal:16px;--x-padding-content-vertical:12px;--x-padding-content-horizontal-sm:16px;--x-padding-content-vertical-sm:8px;--x-border-radius:6px;--x-border-radius-xs:2px;--x-border-radius-sm:4px;--x-border-radius-lg:8px;--x-border-radius-xl:12px;--x-border-radius-outer:4px;--x-border-radius-base:6px;--x-border-width:1px;--x-border-width-base:1px;--x-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-shadow-lg:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-box-shadow-popover-arrow:2px 2px 5px rgba(0, 0, 0, 0.05);--x-box-shadow-card:0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);--x-box-shadow-drawer-right:-6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-left:6px 0 16px 0 rgba(0, 0, 0, 0.08), 3px 0 6px -4px rgba(0, 0, 0, 0.12), 9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-up:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-down:0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tabs-overflow-left:inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-right:inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-top:inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-bottom:inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);--x-motion-duration-fast:0.1s;--x-motion-duration-mid:0.2s;--x-motion-duration-slow:0.3s;--x-motion-ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--x-motion-ease-out:cubic-bezier(0.215, 0.61, 0.355, 1);--x-motion-ease-in:cubic-bezier(0.55, 0.055, 0.675, 0.19);--x-motion-ease-out-back:cubic-bezier(0.12, 0.4, 0.29, 1.46);--x-motion-ease-in-back:cubic-bezier(0.71, -0.46, 0.88, 0.6);--x-motion-ease-in-out-circle:cubic-bezier(0.78, 0.14, 0.15, 0.86);--x-motion-ease-out-circle:cubic-bezier(0.08, 0.82, 0.17, 1);--x-motion-ease-in-circle:cubic-bezier(0.6, 0.04, 0.98, 0.34);--x-motion-ease-in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);--x-motion-ease-out-quint:cubic-bezier(0.23, 1, 0.32, 1);--x-z-index-base:0;--x-z-index-popup-base:1000;--x-z-index-popup:1030;--x-z-index-affix:10;--x-z-index-modal:1000;--x-z-index-modal-mask:1000;--x-z-index-drawer:1000;--x-z-index-popover:1030;--x-z-index-dropdown:1050;--x-z-index-tooltip:1070;--x-z-index-notification:1080;--x-z-index-message:1090;--x-z-index-popconfirm:1060;--x-z-index-table-fixed:10;--x-opacity-loading:0.65;--x-opacity-image:1;--x-opacity-disabled:0.5;--x-control-height:32px;--x-control-height-xs:24px;--x-control-height-sm:24px;--x-control-height-lg:40px;--x-control-radio-size:16px;--x-control-checkbox-size:16px;--x-control-padding-horizontal:12px;--x-control-padding-horizontal-sm:8px;--x-control-outline-width:2px;--x-control-outline:rgba(5, 145, 255, 0.1);--x-control-item-bg-hover:rgba(0, 0, 0, 0.04);--x-control-item-bg-active:#e6f4ff;--x-control-item-bg-active-hover:#bae0ff;--x-control-item-bg-active-disabled:rgba(0, 0, 0, 0.15);--x-control-tmp-outline:rgba(0, 0, 0, 0.02);--x-color-yellow:#fadb14;--x-color-yellow-rgb:250, 219, 20;--x-font-family-base:var(--x-font-family);--x-color-link:#1677ff;--x-color-link-hover:#69b1ff;--x-color-link-active:#0958d9;--x-color-icon:rgba(0, 0, 0, 0.45);--x-color-icon-hover:rgba(0, 0, 0, 0.88);--x-color-highlight:#ff4d4f;--x-color-bg-text-hover:rgba(0, 0, 0, 0.06);--x-color-bg-text-active:rgba(0, 0, 0, 0.15);--x-screen-xs:480px;--x-screen-xs-min:480px;--x-screen-xs-max:575px;--x-screen-sm:576px;--x-screen-sm-min:576px;--x-screen-sm-max:767px;--x-screen-md:768px;--x-screen-md-min:768px;--x-screen-md-max:991px;--x-screen-lg:992px;--x-screen-lg-min:992px;--x-screen-lg-max:1199px;--x-screen-xl:1200px;--x-screen-xl-min:1200px;--x-screen-xl-max:1599px;--x-screen-xxl:1600px;--x-screen-xxl-min:1600px;--x-color-fill-content:rgba(0, 0, 0, 0.06);--x-color-fill-content-hover:rgba(0, 0, 0, 0.15);--x-color-fill-alter:rgba(0, 0, 0, 0.02);--x-scrollbar-width:12px;--x-scrollbar-track-bg:rgba(0, 0, 0, 0.04);--x-scrollbar-thumb-bg:rgba(0, 0, 0, 0.25);--x-scrollbar-thumb-bg-hover:rgba(0, 0, 0, 0.35);--x-menu-dark-bg:#001529;--x-menu-dark-item-bg:#001529;--x-menu-dark-popup-bg:#001529;--x-menu-dark-submenu-item-bg:#000c17}:host{margin:0;padding:0;color:var(--x-switch-inner-color, var(--x-color-white, #ffffff));font-size:var(--x-switch-font-size, var(--x-font-size-sm, 12px));line-height:var(--x-switch-height, 22px);list-style:none;position:relative;display:inline-block;min-width:var(--x-switch-min-width, 44px);height:var(--x-switch-height, 22px);vertical-align:middle;background:var(--x-switch-bg, var(--x-color-text-quaternary, rgba(0, 0, 0, 0.25)));border:0;border-radius:100px;cursor:pointer;-webkit-transition:all var(--x-switch-motion-duration, var(--x-motion-duration-fast, 0.1s)) var(--x-switch-motion-timing, ease-in-out);transition:all var(--x-switch-motion-duration, var(--x-motion-duration-fast, 0.1s)) var(--x-switch-motion-timing, ease-in-out);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.x-switch-checked){background:var(--x-switch-bg-checked, var(--x-color-primary, #1677ff))}:host(.x-switch-checked):not(.x-switch-disabled):not(.x-switch-loading):hover{background:var(--x-switch-bg-checked-hover, var(--x-color-primary-hover, #4096ff))}:host(.x-switch-disabled){cursor:not-allowed;opacity:var(--x-switch-opacity-disabled, var(--x-opacity-disabled, 0.65))}:host(.x-switch-loading){cursor:not-allowed;opacity:var(--x-switch-opacity-disabled, var(--x-opacity-disabled, 0.65))}.x-switch-handle{position:absolute;top:var(--x-switch-handle-offset, 2px);left:var(--x-switch-handle-offset, 2px);width:var(--x-switch-handle-size, 18px);height:var(--x-switch-handle-size, 18px);background:var(--x-switch-handle-bg, var(--x-color-white, #ffffff));border-radius:var(--x-switch-handle-size, 18px);-webkit-transition:all var(--x-switch-motion-duration, var(--x-motion-duration-fast, 0.1s)) var(--x-switch-motion-timing, ease-in-out);transition:all var(--x-switch-motion-duration, var(--x-motion-duration-fast, 0.1s)) var(--x-switch-motion-timing, ease-in-out);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.x-switch-handle::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;border-radius:calc(var(--x-switch-handle-size, 18px) / 2);-webkit-box-shadow:var(--x-switch-handle-shadow, var(--x-shadow-tertiary, 0 2px 4px 0 rgba(0, 21, 41, 0.08)));box-shadow:var(--x-switch-handle-shadow, var(--x-shadow-tertiary, 0 2px 4px 0 rgba(0, 21, 41, 0.08)));-webkit-transition:all var(--x-switch-motion-duration, var(--x-motion-duration-fast, 0.1s)) var(--x-switch-motion-timing, ease-in-out);transition:all var(--x-switch-motion-duration, var(--x-motion-duration-fast, 0.1s)) var(--x-switch-motion-timing, ease-in-out);content:""}:host(.x-switch-checked) .x-switch-handle{left:calc(100% - var(--x-switch-handle-size, 18px) - var(--x-switch-handle-offset, 2px))}.x-switch-inner{display:block;margin:0 7px 0 25px;color:var(--x-switch-inner-color, var(--x-color-white, #ffffff));font-size:var(--x-switch-font-size, var(--x-font-size-sm, 12px));-webkit-transition:margin var(--x-switch-motion-duration, var(--x-motion-duration-fast, 0.1s)) var(--x-switch-motion-timing, ease-in-out);transition:margin var(--x-switch-motion-duration, var(--x-motion-duration-fast, 0.1s)) var(--x-switch-motion-timing, ease-in-out)}:host(.x-switch-checked) .x-switch-inner{margin:0 25px 0 7px}:host(.x-switch-small){min-width:var(--x-switch-min-width-sm, 28px);height:var(--x-switch-height-sm, 16px);line-height:var(--x-switch-height-sm, 16px)}:host(.x-switch-small) .x-switch-handle{width:var(--x-switch-handle-size-sm, 12px);height:var(--x-switch-handle-size-sm, 12px)}:host(.x-switch-small.x-switch-checked) .x-switch-handle{left:calc(100% - var(--x-switch-handle-size-sm, 12px) - var(--x-switch-handle-offset, 2px))}:host(.x-switch-small) .x-switch-inner{margin:0 5px 0 18px}:host(.x-switch-small.x-switch-checked) .x-switch-inner{margin:0 18px 0 5px}.x-switch-loading-icon{color:var(--x-switch-loading-color, var(--x-color-text-secondary, rgba(0, 0, 0, 0.45)));font-size:var(--x-switch-font-size, var(--x-font-size-sm, 12px))}@-webkit-keyframes loadingCircle{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loadingCircle{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.anticon-spin{display:inline-block;-webkit-animation:loadingCircle 1s infinite linear;animation:loadingCircle 1s infinite linear}`;
2358
+
2359
+ const XSwitch = class {
2360
+ constructor(hostRef) {
2361
+ registerInstance(this, hostRef);
2362
+ this.xChange = createEvent(this, "xChange", 7);
2363
+ this.xClick = createEvent(this, "xClick", 7);
2364
+ }
2365
+ /**
2366
+ * Whether the switch is automatically focused.
2367
+ * @example
2368
+ * <x-switch autoFocus></x-switch>
2369
+ */
2370
+ autoFocus = false;
2371
+ /**
2372
+ * Determine whether the Switch is checked.
2373
+ * @example
2374
+ * <x-switch checked></x-switch>
2375
+ */
2376
+ checked = false;
2377
+ /**
2378
+ * The content to be shown when the state is checked.
2379
+ * @example
2380
+ * <x-switch checkedChildren="On"></x-switch>
2381
+ */
2382
+ checkedChildren;
2383
+ /**
2384
+ * Whether to set the initial state.
2385
+ * @example
2386
+ * <x-switch defaultChecked></x-switch>
2387
+ */
2388
+ defaultChecked = false;
2389
+ /**
2390
+ * Disable switch.
2391
+ * @example
2392
+ * <x-switch disabled></x-switch>
2393
+ */
2394
+ disabled = false;
2395
+ /**
2396
+ * Loading state of switch.
2397
+ * @example
2398
+ * <x-switch loading></x-switch>
2399
+ */
2400
+ loading = false;
2401
+ /**
2402
+ * The size of the Switch.
2403
+ * @example
2404
+ * <x-switch size="small"></x-switch>
2405
+ */
2406
+ size = 'default';
2407
+ /**
2408
+ * The content to be shown when the state is unchecked.
2409
+ * @example
2410
+ * <x-switch unCheckedChildren="Off"></x-switch>
2411
+ */
2412
+ unCheckedChildren;
2413
+ /**
2414
+ * Emits when checked state changes.
2415
+ * @example
2416
+ * <x-switch onXChange={(ev) => console.log(ev.detail)}></x-switch>
2417
+ */
2418
+ xChange;
2419
+ /**
2420
+ * Emits when switch is clicked.
2421
+ * @example
2422
+ * <x-switch onXClick={(ev) => console.log(ev.detail)}></x-switch>
2423
+ */
2424
+ xClick;
2425
+ /**
2426
+ * Component lifecycle method called before loading.
2427
+ * Initializes the checked state if `defaultChecked` is true.
2428
+ */
2429
+ componentWillLoad() {
2430
+ if (this.defaultChecked) {
2431
+ this.checked = true;
2432
+ }
2433
+ }
2434
+ /**
2435
+ * Handles click events to toggle the switch state.
2436
+ *
2437
+ * Flow:
2438
+ * 1. Checks if disabled or loading; if so, returns immediately.
2439
+ * 2. Toggles the `checked` state.
2440
+ * 3. Emits `xChange` with the new boolean state.
2441
+ * 4. Emits `xClick` with the original event.
2442
+ *
2443
+ * @param e - The click event.
2444
+ */
2445
+ handleClick(e) {
2446
+ if (this.disabled || this.loading)
2447
+ return;
2448
+ this.checked = !this.checked;
2449
+ this.xChange.emit(this.checked);
2450
+ this.xClick.emit(e);
2451
+ }
2452
+ /**
2453
+ * Renders the Switch component.
2454
+ *
2455
+ * Structure:
2456
+ * - Host element serves as the container and click target.
2457
+ * - Handle: The moving circle part (contains loading spinner if active).
2458
+ * - Inner: The text label (On/Off) depending on checked state.
2459
+ *
2460
+ * @returns JSX.Element
2461
+ */
2462
+ render() {
2463
+ return (h(Host, { key: '1503ee5789c9b75305a76eac0e2eece6c2422fa0', class: {
2464
+ 'x-switch': true,
2465
+ 'x-switch-checked': this.checked,
2466
+ 'x-switch-disabled': this.disabled,
2467
+ 'x-switch-loading': this.loading,
2468
+ 'x-switch-small': this.size === 'small',
2469
+ }, onClick: (e) => this.handleClick(e) }, h("div", { key: 'b6ff513a02e20c628773c7424536c59b1e279f40', class: "x-switch-handle" }, this.loading && (h("span", { key: '79ae4f5fe973ef32f912eddcd312016eb7d43113', role: "img", "aria-label": "loading", class: "anticon anticon-loading x-switch-loading-icon" }, h("svg", { key: 'cc4f860e48867197507817752d901e6b4439aed4', viewBox: "0 0 1024 1024", focusable: "false", "data-icon": "loading", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", class: "anticon-spin" }, h("path", { key: '61d09ab8a2b080403e93bafb51e59c1624258097', d: "M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z" }))))), h("span", { key: '6bc8ccdd4d4468eae859ed05618a037fe8c324b9', class: "x-switch-inner" }, this.checked ? this.checkedChildren : this.unCheckedChildren)));
2470
+ }
2471
+ };
2472
+ XSwitch.style = xSwitchCss();
2473
+
2474
+ const xTooltipCss = () => `@charset "UTF-8";:root{--x-color-primary:#1677ff;--x-color-primary-rgb:22, 119, 255;--x-color-primary-contrast:#ffffff;--x-color-primary-contrast-rgb:255, 255, 255;--x-color-primary-shade:#0958d9;--x-color-primary-tint:#4096ff;--x-color-primary-bg:#e6f4ff;--x-color-primary-bg-hover:#bae0ff;--x-color-primary-border:#91caff;--x-color-primary-border-hover:#69b1ff;--x-color-primary-hover:#4096ff;--x-color-primary-active:#0958d9;--x-color-primary-text:#1677ff;--x-color-primary-text-hover:#4096ff;--x-color-primary-text-active:#0958d9;--x-color-secondary:#3dc2ff;--x-color-secondary-rgb:61, 194, 255;--x-color-secondary-contrast:#ffffff;--x-color-secondary-contrast-rgb:255, 255, 255;--x-color-secondary-shade:#36abe0;--x-color-secondary-tint:#50c8ff;--x-color-success:#52c41a;--x-color-success-rgb:82, 196, 26;--x-color-success-contrast:#ffffff;--x-color-success-contrast-rgb:255, 255, 255;--x-color-success-shade:#389e0d;--x-color-success-tint:#73d13d;--x-color-success-bg:#f6ffed;--x-color-success-bg-hover:#d9f7be;--x-color-success-border:#b7eb8f;--x-color-success-border-hover:#95de64;--x-color-success-hover:#73d13d;--x-color-success-active:#389e0d;--x-color-success-text:#52c41a;--x-color-success-text-hover:#73d13d;--x-color-success-text-active:#389e0d;--x-color-warning:#faad14;--x-color-warning-rgb:250, 173, 20;--x-color-warning-contrast:#000000;--x-color-warning-contrast-rgb:0, 0, 0;--x-color-warning-shade:#d48806;--x-color-warning-tint:#ffc53d;--x-color-warning-bg:#fffbe6;--x-color-warning-bg-hover:#fff1b8;--x-color-warning-border:#ffe58f;--x-color-warning-border-hover:#ffd666;--x-color-warning-hover:#ffc53d;--x-color-warning-active:#d48806;--x-color-warning-text:#faad14;--x-color-warning-text-hover:#ffc53d;--x-color-warning-text-active:#d48806;--x-color-danger:#ff4d4f;--x-color-danger-rgb:255, 77, 79;--x-color-danger-contrast:#ffffff;--x-color-danger-contrast-rgb:255, 255, 255;--x-color-danger-shade:#cf1322;--x-color-danger-tint:#ff7875;--x-color-error:#ff4d4f;--x-color-error-rgb:255, 77, 79;--x-color-error-bg:#fff2f0;--x-color-error-bg-hover:#ffccc7;--x-color-error-border:#ffa39e;--x-color-error-border-hover:#ff7875;--x-color-error-hover:#ff7875;--x-color-error-active:#d9363e;--x-color-error-text:#ff4d4f;--x-color-error-text-hover:#ff7875;--x-color-error-text-active:#d9363e;--x-color-info:#1677ff;--x-color-info-rgb:22, 119, 255;--x-color-info-bg:#e6f4ff;--x-color-info-bg-hover:#bae0ff;--x-color-info-border:#91caff;--x-color-info-border-hover:#69b1ff;--x-color-info-hover:#69b1ff;--x-color-info-active:#0958d9;--x-color-info-text:#1677ff;--x-color-info-text-hover:#69b1ff;--x-color-info-text-active:#0958d9;--x-color-text:rgba(0, 0, 0, 0.88);--x-color-text-secondary:rgba(0, 0, 0, 0.65);--x-color-text-tertiary:rgba(0, 0, 0, 0.45);--x-color-text-quaternary:rgba(0, 0, 0, 0.25);--x-color-text-disabled:rgba(0, 0, 0, 0.25);--x-color-text-placeholder:rgba(0, 0, 0, 0.25);--x-color-text-heading:rgba(0, 0, 0, 0.88);--x-color-text-label:rgba(0, 0, 0, 0.65);--x-color-text-description:rgba(0, 0, 0, 0.45);--x-color-text-light-solid:#ffffff;--x-color-bg-container:#ffffff;--x-color-bg-elevated:#ffffff;--x-color-bg-layout:#f5f5f5;--x-color-bg-spotlight:rgba(0, 0, 0, 0.85);--x-color-bg-mask:rgba(0, 0, 0, 0.45);--x-color-bg-base:#ffffff;--x-color-bg-container-disabled:#f5f5f5;--x-color-bg-container-loading:rgba(255, 255, 255, 0.65);--x-color-white:#ffffff;--x-color-fill:rgba(0, 0, 0, 0.15);--x-color-fill-secondary:rgba(0, 0, 0, 0.06);--x-color-fill-tertiary:rgba(0, 0, 0, 0.04);--x-color-fill-quaternary:rgba(0, 0, 0, 0.02);--x-color-border:#d9d9d9;--x-color-border-secondary:#f0f0f0;--x-color-border-bg:#ffffff;--x-color-split:rgba(5, 5, 5, 0.06);--x-color-dark:#222428;--x-color-dark-rgb:34, 36, 40;--x-color-dark-contrast:#ffffff;--x-color-dark-contrast-rgb:255, 255, 255;--x-color-dark-shade:#1e2023;--x-color-dark-tint:#383a3e;--x-color-medium:#92949c;--x-color-medium-rgb:146, 148, 156;--x-color-medium-contrast:#ffffff;--x-color-medium-contrast-rgb:255, 255, 255;--x-color-medium-shade:#808289;--x-color-medium-tint:#9d9fa6;--x-color-light:#f4f5f8;--x-color-light-rgb:244, 245, 248;--x-color-light-contrast:#000000;--x-color-light-contrast-rgb:0, 0, 0;--x-color-light-shade:#d7d8da;--x-color-light-tint:#f5f6f9;--x-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--x-font-family-code:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--x-font-size:14px;--x-font-size-sm:12px;--x-font-size-lg:16px;--x-font-size-xl:20px;--x-font-size-heading-1:38px;--x-font-size-heading-2:30px;--x-font-size-heading-3:24px;--x-font-size-heading-4:20px;--x-font-size-heading-5:16px;--x-line-height:1.5714285714285714;--x-line-height-lg:1.5;--x-line-height-sm:1.6666666666666667;--x-line-height-heading-1:1.2105263157894737;--x-line-height-heading-2:1.2666666666666666;--x-line-height-heading-3:1.3333333333333333;--x-line-height-heading-4:1.4;--x-line-height-heading-5:1.5;--x-font-weight-normal:400;--x-font-weight-medium:500;--x-font-weight-semibold:600;--x-font-weight-strong:600;--x-font-size-base:14px;--x-font-size-xxl:24px;--x-line-height-base:1.5714285714285714;--x-spacing-xxs:4px;--x-spacing-xs:8px;--x-spacing-sm:12px;--x-spacing-md:16px;--x-spacing-lg:20px;--x-spacing-xl:24px;--x-spacing-xxl:32px;--x-spacing-xxxl:48px;--x-margin-xxs:4px;--x-margin-xs:8px;--x-margin-sm:12px;--x-margin-md:16px;--x-margin-lg:24px;--x-margin-xl:32px;--x-margin-xxl:48px;--x-padding-xxs:4px;--x-padding-xs:8px;--x-padding-sm:12px;--x-padding-md:16px;--x-padding-lg:24px;--x-padding-content-horizontal-lg:24px;--x-padding-content-vertical-lg:12px;--x-padding-content-horizontal:16px;--x-padding-content-vertical:12px;--x-padding-content-horizontal-sm:16px;--x-padding-content-vertical-sm:8px;--x-border-radius:6px;--x-border-radius-xs:2px;--x-border-radius-sm:4px;--x-border-radius-lg:8px;--x-border-radius-xl:12px;--x-border-radius-outer:4px;--x-border-radius-base:6px;--x-border-width:1px;--x-border-width-base:1px;--x-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-shadow-lg:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-secondary:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tertiary:0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);--x-box-shadow-popover-arrow:2px 2px 5px rgba(0, 0, 0, 0.05);--x-box-shadow-card:0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);--x-box-shadow-drawer-right:-6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-left:6px 0 16px 0 rgba(0, 0, 0, 0.08), 3px 0 6px -4px rgba(0, 0, 0, 0.12), 9px 0 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-up:0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-drawer-down:0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05);--x-box-shadow-tabs-overflow-left:inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-right:inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-top:inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);--x-box-shadow-tabs-overflow-bottom:inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);--x-motion-duration-fast:0.1s;--x-motion-duration-mid:0.2s;--x-motion-duration-slow:0.3s;--x-motion-ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--x-motion-ease-out:cubic-bezier(0.215, 0.61, 0.355, 1);--x-motion-ease-in:cubic-bezier(0.55, 0.055, 0.675, 0.19);--x-motion-ease-out-back:cubic-bezier(0.12, 0.4, 0.29, 1.46);--x-motion-ease-in-back:cubic-bezier(0.71, -0.46, 0.88, 0.6);--x-motion-ease-in-out-circle:cubic-bezier(0.78, 0.14, 0.15, 0.86);--x-motion-ease-out-circle:cubic-bezier(0.08, 0.82, 0.17, 1);--x-motion-ease-in-circle:cubic-bezier(0.6, 0.04, 0.98, 0.34);--x-motion-ease-in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);--x-motion-ease-out-quint:cubic-bezier(0.23, 1, 0.32, 1);--x-z-index-base:0;--x-z-index-popup-base:1000;--x-z-index-popup:1030;--x-z-index-affix:10;--x-z-index-modal:1000;--x-z-index-modal-mask:1000;--x-z-index-drawer:1000;--x-z-index-popover:1030;--x-z-index-dropdown:1050;--x-z-index-tooltip:1070;--x-z-index-notification:1080;--x-z-index-message:1090;--x-z-index-popconfirm:1060;--x-z-index-table-fixed:10;--x-opacity-loading:0.65;--x-opacity-image:1;--x-opacity-disabled:0.5;--x-control-height:32px;--x-control-height-xs:24px;--x-control-height-sm:24px;--x-control-height-lg:40px;--x-control-radio-size:16px;--x-control-checkbox-size:16px;--x-control-padding-horizontal:12px;--x-control-padding-horizontal-sm:8px;--x-control-outline-width:2px;--x-control-outline:rgba(5, 145, 255, 0.1);--x-control-item-bg-hover:rgba(0, 0, 0, 0.04);--x-control-item-bg-active:#e6f4ff;--x-control-item-bg-active-hover:#bae0ff;--x-control-item-bg-active-disabled:rgba(0, 0, 0, 0.15);--x-control-tmp-outline:rgba(0, 0, 0, 0.02);--x-color-yellow:#fadb14;--x-color-yellow-rgb:250, 219, 20;--x-font-family-base:var(--x-font-family);--x-color-link:#1677ff;--x-color-link-hover:#69b1ff;--x-color-link-active:#0958d9;--x-color-icon:rgba(0, 0, 0, 0.45);--x-color-icon-hover:rgba(0, 0, 0, 0.88);--x-color-highlight:#ff4d4f;--x-color-bg-text-hover:rgba(0, 0, 0, 0.06);--x-color-bg-text-active:rgba(0, 0, 0, 0.15);--x-screen-xs:480px;--x-screen-xs-min:480px;--x-screen-xs-max:575px;--x-screen-sm:576px;--x-screen-sm-min:576px;--x-screen-sm-max:767px;--x-screen-md:768px;--x-screen-md-min:768px;--x-screen-md-max:991px;--x-screen-lg:992px;--x-screen-lg-min:992px;--x-screen-lg-max:1199px;--x-screen-xl:1200px;--x-screen-xl-min:1200px;--x-screen-xl-max:1599px;--x-screen-xxl:1600px;--x-screen-xxl-min:1600px;--x-color-fill-content:rgba(0, 0, 0, 0.06);--x-color-fill-content-hover:rgba(0, 0, 0, 0.15);--x-color-fill-alter:rgba(0, 0, 0, 0.02);--x-scrollbar-width:12px;--x-scrollbar-track-bg:rgba(0, 0, 0, 0.04);--x-scrollbar-thumb-bg:rgba(0, 0, 0, 0.25);--x-scrollbar-thumb-bg-hover:rgba(0, 0, 0, 0.35);--x-menu-dark-bg:#001529;--x-menu-dark-item-bg:#001529;--x-menu-dark-popup-bg:#001529;--x-menu-dark-submenu-item-bg:#000c17}:host{display:inline-block;position:relative;font-family:var(--x-tooltip-font-family, var(--x-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif))}.x-tooltip-trigger{display:inline-block}.x-tooltip{position:absolute;z-index:var(--x-tooltip-z-index, var(--x-tooltip-z-index, var(--x-z-index-tooltip, 1070)));display:block;visibility:visible;font-size:var(--x-tooltip-font-size, var(--x-font-size, 14px));line-height:var(--x-tooltip-line-height, var(--x-line-height, 1.5714));word-wrap:break-word;opacity:1;-webkit-transition:opacity var(--x-tooltip-motion-duration, var(--x-motion-duration-slow, 0.3s)), visibility var(--x-tooltip-motion-duration, var(--x-motion-duration-slow, 0.3s));transition:opacity var(--x-tooltip-motion-duration, var(--x-motion-duration-slow, 0.3s)), visibility var(--x-tooltip-motion-duration, var(--x-motion-duration-slow, 0.3s));white-space:nowrap;max-width:var(--x-tooltip-max-width, 250px);pointer-events:none}.x-tooltip.x-tooltip-hidden{opacity:0;visibility:hidden;pointer-events:none}.x-tooltip-inner{min-width:var(--x-tooltip-min-width, 30px);min-height:var(--x-tooltip-min-height, var(--x-control-height, 32px));padding:var(--x-tooltip-padding-block, var(--x-spacing-xxs, 4px)) var(--x-tooltip-padding-inline, var(--x-spacing-xs, 8px));color:var(--x-tooltip-color, var(--x-color-white, #ffffff));text-align:left;text-decoration:none;word-wrap:break-word;background-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))));border-radius:var(--x-tooltip-border-radius, var(--x-border-radius-xs, 4px));-webkit-box-shadow:var(--x-tooltip-shadow, var(--x-shadow-secondary, 0 6px 16px 0 rgba(0, 0, 0, 0.08)));box-shadow:var(--x-tooltip-shadow, var(--x-shadow-secondary, 0 6px 16px 0 rgba(0, 0, 0, 0.08)))}.x-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.x-tooltip-placement-top{bottom:100%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding-bottom:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-top .x-tooltip-arrow{bottom:var(--x-tooltip-arrow-offset-vertical, 3px);left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-width:var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px) 0;border-top-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-topLeft{bottom:100%;left:0;padding-bottom:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-topLeft .x-tooltip-arrow{bottom:var(--x-tooltip-arrow-offset-vertical, 3px);left:var(--x-tooltip-arrow-offset-horizontal, 16px);border-width:var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px) 0;border-top-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-topRight{bottom:100%;right:0;padding-bottom:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-topRight .x-tooltip-arrow{bottom:var(--x-tooltip-arrow-offset-vertical, 3px);right:var(--x-tooltip-arrow-offset-horizontal, 16px);border-width:var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px) 0;border-top-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-bottom{top:100%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);padding-top:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-bottom .x-tooltip-arrow{top:var(--x-tooltip-arrow-offset-vertical, 3px);left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-width:0 var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px);border-bottom-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-bottomLeft{top:100%;left:0;padding-top:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-bottomLeft .x-tooltip-arrow{top:var(--x-tooltip-arrow-offset-vertical, 3px);left:var(--x-tooltip-arrow-offset-horizontal, 16px);border-width:0 var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px);border-bottom-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-bottomRight{top:100%;right:0;padding-top:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-bottomRight .x-tooltip-arrow{top:var(--x-tooltip-arrow-offset-vertical, 3px);right:var(--x-tooltip-arrow-offset-horizontal, 16px);border-width:0 var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px);border-bottom-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-left{right:100%;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);padding-right:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-left .x-tooltip-arrow{right:var(--x-tooltip-arrow-offset-vertical, 3px);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-width:var(--x-tooltip-arrow-size, 5px) 0 var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px);border-left-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-leftTop{right:100%;top:0;padding-right:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-leftTop .x-tooltip-arrow{right:var(--x-tooltip-arrow-offset-vertical, 3px);top:var(--x-tooltip-arrow-edge-offset, 8px);border-width:var(--x-tooltip-arrow-size, 5px) 0 var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px);border-left-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-leftBottom{right:100%;bottom:0;padding-right:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-leftBottom .x-tooltip-arrow{right:var(--x-tooltip-arrow-offset-vertical, 3px);bottom:var(--x-tooltip-arrow-edge-offset, 8px);border-width:var(--x-tooltip-arrow-size, 5px) 0 var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px);border-left-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-right{left:100%;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);padding-left:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-right .x-tooltip-arrow{left:var(--x-tooltip-arrow-offset-vertical, 3px);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-width:var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px) 0;border-right-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-rightTop{left:100%;top:0;padding-left:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-rightTop .x-tooltip-arrow{left:var(--x-tooltip-arrow-offset-vertical, 3px);top:var(--x-tooltip-arrow-edge-offset, 8px);border-width:var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px) 0;border-right-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}.x-tooltip-placement-rightBottom{left:100%;bottom:0;padding-left:var(--x-tooltip-offset, var(--x-spacing-xs, 8px))}.x-tooltip-placement-rightBottom .x-tooltip-arrow{left:var(--x-tooltip-arrow-offset-vertical, 3px);bottom:var(--x-tooltip-arrow-edge-offset, 8px);border-width:var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px) var(--x-tooltip-arrow-size, 5px) 0;border-right-color:var(--x-tooltip-color, var(--x-tooltip-bg, var(--x-color-bg-spotlight, rgba(0, 0, 0, 0.85))))}`;
2475
+
2476
+ const XTooltip = class {
2477
+ constructor(hostRef) {
2478
+ registerInstance(this, hostRef);
2479
+ this.openChange = createEvent(this, "openChange", 7);
2480
+ }
2481
+ get el() { return getElement(this); }
2482
+ // ==================== Props ====================
2483
+ /**
2484
+ * The text shown in the tooltip.
2485
+ * Use `tooltipTitle` to avoid conflict with native `title` attribute.
2486
+ * @example
2487
+ * <x-tooltip tooltip-title="Info"></x-tooltip>
2488
+ */
2489
+ tooltipTitle;
2490
+ /**
2491
+ * The position of the tooltip relative to the target.
2492
+ * @default 'top'
2493
+ * @example
2494
+ * <x-tooltip placement="bottom"></x-tooltip>
2495
+ */
2496
+ placement = 'top';
2497
+ /**
2498
+ * Tooltip trigger mode.
2499
+ * @default 'hover'
2500
+ * @example
2501
+ * <x-tooltip trigger="click"></x-tooltip>
2502
+ */
2503
+ trigger = 'hover';
2504
+ /**
2505
+ * Background color of the tooltip.
2506
+ * @example
2507
+ * <x-tooltip color="#333"></x-tooltip>
2508
+ */
2509
+ color;
2510
+ /**
2511
+ * Whether the floating tooltip card is visible or not (controlled mode).
2512
+ * @example
2513
+ * <x-tooltip open></x-tooltip>
2514
+ */
2515
+ open;
2516
+ /**
2517
+ * Whether the floating tooltip card is visible by default.
2518
+ * @example
2519
+ * <x-tooltip defaultOpen></x-tooltip>
2520
+ */
2521
+ defaultOpen = false;
2522
+ /**
2523
+ * Whether to show arrow.
2524
+ * Can be a boolean or an object with `pointAtCenter` option.
2525
+ * @default true
2526
+ * @example
2527
+ * <x-tooltip arrow={false}></x-tooltip>
2528
+ */
2529
+ arrow = true;
2530
+ /**
2531
+ * Delay in seconds before tooltip is shown on mouse enter.
2532
+ * @default 0.1
2533
+ * @example
2534
+ * <x-tooltip mouseEnterDelay={0.5}></x-tooltip>
2535
+ */
2536
+ mouseEnterDelay = 0.1;
2537
+ /**
2538
+ * Delay in seconds before tooltip is hidden on mouse leave.
2539
+ * @default 0.1
2540
+ * @example
2541
+ * <x-tooltip mouseLeaveDelay={0.5}></x-tooltip>
2542
+ */
2543
+ mouseLeaveDelay = 0.1;
2544
+ /**
2545
+ * Whether to destroy tooltip on hide.
2546
+ * @default false
2547
+ * @example
2548
+ * <x-tooltip destroyTooltipOnHide></x-tooltip>
2549
+ */
2550
+ destroyTooltipOnHide = false;
2551
+ /**
2552
+ * Whether to adjust popup placement automatically when popup is off screen.
2553
+ * @default true
2554
+ * @example
2555
+ * <x-tooltip autoAdjustOverflow={false}></x-tooltip>
2556
+ */
2557
+ autoAdjustOverflow = true;
2558
+ /**
2559
+ * Z-index of the tooltip.
2560
+ * @example
2561
+ * <x-tooltip zIndex={2000}></x-tooltip>
2562
+ */
2563
+ zIndex = 9999;
2564
+ /**
2565
+ * Custom class names for tooltip parts.
2566
+ * @example
2567
+ * <x-tooltip classNames={{ root: 'my-tooltip' }}></x-tooltip>
2568
+ */
2569
+ classNames;
2570
+ /**
2571
+ * Custom styles for tooltip parts.
2572
+ * @example
2573
+ * <x-tooltip styles={{ root: { background: '#000' } }}></x-tooltip>
2574
+ */
2575
+ styles;
2576
+ // ==================== Events ====================
2577
+ /**
2578
+ * Callback executed when visibility of the tooltip card is changed.
2579
+ * @example
2580
+ * <x-tooltip onOpenChange={(ev) => console.log(ev.detail)}></x-tooltip>
2581
+ */
2582
+ openChange;
2583
+ // ==================== State ====================
2584
+ /**
2585
+ * Internal visibility state.
2586
+ */
2587
+ visible = false;
2588
+ // ==================== Private ====================
2589
+ /**
2590
+ * Portal instance for tooltip content.
2591
+ */
2592
+ portalInstance = null;
2593
+ /**
2594
+ * Timeout for delayed show.
2595
+ */
2596
+ showTimeout;
2597
+ /**
2598
+ * Timeout for delayed hide.
2599
+ */
2600
+ hideTimeout;
2601
+ // ==================== Computed ====================
2602
+ get isOpen() {
2603
+ return this.open ?? this.visible;
2604
+ }
2605
+ // ==================== Lifecycle ====================
2606
+ componentWillLoad() {
2607
+ this.visible = this.open ?? this.defaultOpen ?? false;
2608
+ }
2609
+ componentDidLoad() {
2610
+ this.addEventListeners();
2611
+ }
2612
+ componentDidRender() {
2613
+ this.updatePortal();
2614
+ }
2615
+ disconnectedCallback() {
2616
+ this.clearTimeouts();
2617
+ this.removeEventListeners();
2618
+ this.destroyPortal();
2619
+ }
2620
+ // ==================== Watchers ====================
2621
+ handleOpenChange(newValue) {
2622
+ if (newValue !== undefined) {
2623
+ this.setVisible(newValue);
2624
+ }
2625
+ }
2626
+ // ==================== Methods ====================
2627
+ /**
2628
+ * Show the tooltip programmatically.
2629
+ * @returns Promise<void>
2630
+ * @example
2631
+ * await el.show()
2632
+ */
2633
+ async show() {
2634
+ this.setVisible(true);
2635
+ }
2636
+ /**
2637
+ * Hide the tooltip programmatically.
2638
+ * @returns Promise<void>
2639
+ * @example
2640
+ * await el.hide()
2641
+ */
2642
+ async hide() {
2643
+ this.setVisible(false);
2644
+ }
2645
+ // ==================== Private Methods ====================
2646
+ /**
2647
+ * Clear pending show/hide timeouts.
2648
+ * @returns void
2649
+ */
2650
+ clearTimeouts() {
2651
+ if (this.showTimeout) {
2652
+ clearTimeout(this.showTimeout);
2653
+ this.showTimeout = undefined;
2654
+ }
2655
+ if (this.hideTimeout) {
2656
+ clearTimeout(this.hideTimeout);
2657
+ this.hideTimeout = undefined;
2658
+ }
2659
+ }
2660
+ /**
2661
+ * Update internal visibility and emit openChange.
2662
+ * @param visible - New visibility state.
2663
+ * @returns void
2664
+ */
2665
+ setVisible(visible) {
2666
+ if (this.visible === visible)
2667
+ return;
2668
+ this.visible = visible;
2669
+ this.openChange.emit({ open: visible });
2670
+ }
2671
+ /**
2672
+ * Delay showing tooltip based on mouseEnterDelay.
2673
+ * @returns void
2674
+ */
2675
+ delayShow = () => {
2676
+ this.clearTimeouts();
2677
+ const delay = (this.mouseEnterDelay ?? 0.1) * 1000;
2678
+ this.showTimeout = setTimeout(() => {
2679
+ if (this.open === undefined) {
2680
+ this.setVisible(true);
2681
+ }
2682
+ }, delay);
2683
+ };
2684
+ /**
2685
+ * Delay hiding tooltip based on mouseLeaveDelay.
2686
+ * @returns void
2687
+ */
2688
+ delayHide = () => {
2689
+ this.clearTimeouts();
2690
+ const delay = (this.mouseLeaveDelay ?? 0.1) * 1000;
2691
+ this.hideTimeout = setTimeout(() => {
2692
+ if (this.open === undefined) {
2693
+ this.setVisible(false);
2694
+ }
2695
+ }, delay);
2696
+ };
2697
+ /**
2698
+ * Handle trigger mouse enter for hover mode.
2699
+ * @returns void
2700
+ */
2701
+ handleMouseEnter = () => {
2702
+ if (this.trigger === 'hover') {
2703
+ this.delayShow();
2704
+ }
2705
+ };
2706
+ /**
2707
+ * Handle trigger mouse leave for hover mode.
2708
+ * @returns void
2709
+ */
2710
+ handleMouseLeave = () => {
2711
+ if (this.trigger === 'hover') {
2712
+ this.delayHide();
2713
+ }
2714
+ };
2715
+ /**
2716
+ * Handle focus for focus trigger mode.
2717
+ * @returns void
2718
+ */
2719
+ handleFocus = () => {
2720
+ if (this.trigger === 'focus') {
2721
+ this.delayShow();
2722
+ }
2723
+ };
2724
+ /**
2725
+ * Handle blur for focus trigger mode.
2726
+ * @returns void
2727
+ */
2728
+ handleBlur = () => {
2729
+ if (this.trigger === 'focus') {
2730
+ this.delayHide();
2731
+ }
2732
+ };
2733
+ /**
2734
+ * Handle click for click trigger mode.
2735
+ * @returns void
2736
+ */
2737
+ handleClick = () => {
2738
+ if (this.trigger === 'click') {
2739
+ if (this.open === undefined) {
2740
+ this.setVisible(!this.visible);
2741
+ }
2742
+ }
2743
+ };
2744
+ /**
2745
+ * Handle context menu trigger mode.
2746
+ * @param e - Mouse event.
2747
+ * @returns void
2748
+ */
2749
+ handleContextMenu = (e) => {
2750
+ if (this.trigger === 'contextMenu') {
2751
+ e.preventDefault();
2752
+ if (this.open === undefined) {
2753
+ this.setVisible(!this.visible);
2754
+ }
2755
+ }
2756
+ };
2757
+ /**
2758
+ * Close tooltip when clicking outside.
2759
+ * @param e - Mouse event.
2760
+ * @returns void
2761
+ */
2762
+ handleDocumentClick = (e) => {
2763
+ if (this.trigger === 'click' || this.trigger === 'contextMenu') {
2764
+ const target = e.target;
2765
+ // Check if click is inside component
2766
+ if (this.el.contains(target))
2767
+ return;
2768
+ // Check if click is inside portal
2769
+ const portalEl = this.portalInstance?.getElement?.();
2770
+ if (portalEl?.contains(target))
2771
+ return;
2772
+ if (this.open === undefined) {
2773
+ this.setVisible(false);
2774
+ }
2775
+ }
2776
+ };
2777
+ /**
2778
+ * Handle hover inside portal to prevent hide.
2779
+ * @returns void
2780
+ */
2781
+ handlePortalMouseEnter = () => {
2782
+ if (this.trigger === 'hover') {
2783
+ this.clearTimeouts();
2784
+ }
2785
+ };
2786
+ /**
2787
+ * Handle mouse leave from portal for hover trigger.
2788
+ * @returns void
2789
+ */
2790
+ handlePortalMouseLeave = () => {
2791
+ if (this.trigger === 'hover') {
2792
+ this.delayHide();
2793
+ }
2794
+ };
2795
+ /**
2796
+ * Add global event listeners.
2797
+ * @returns void
2798
+ */
2799
+ addEventListeners() {
2800
+ document.addEventListener('click', this.handleDocumentClick);
2801
+ }
2802
+ /**
2803
+ * Remove global event listeners.
2804
+ * @returns void
2805
+ */
2806
+ removeEventListeners() {
2807
+ document.removeEventListener('click', this.handleDocumentClick);
2808
+ }
2809
+ /**
2810
+ * Determine whether to render arrow.
2811
+ * @returns boolean
2812
+ */
2813
+ shouldShowArrow() {
2814
+ if (typeof this.arrow === 'boolean') {
2815
+ return this.arrow;
2816
+ }
2817
+ return this.arrow !== undefined;
2818
+ }
2819
+ /**
2820
+ * Get trigger element inside shadow root.
2821
+ * @returns HTMLElement | undefined
2822
+ */
2823
+ getTriggerEl() {
2824
+ return this.el.shadowRoot
2825
+ ? this.el.shadowRoot.querySelector('.x-tooltip-trigger')
2826
+ : this.el.querySelector('.x-tooltip-trigger');
2827
+ }
2828
+ // ==================== Portal Methods ====================
2829
+ /**
2830
+ * Calculate arrow position based on trigger element and placement
2831
+ * @returns { arrowX: number; arrowY: number }
2832
+ */
2833
+ calculateArrowPosition() {
2834
+ const triggerEl = this.getTriggerEl();
2835
+ if (!triggerEl) {
2836
+ return { arrowX: 0, arrowY: 0 };
2837
+ }
2838
+ const triggerRect = triggerEl.getBoundingClientRect();
2839
+ const triggerWidth = triggerRect.width;
2840
+ const triggerHeight = triggerRect.height;
2841
+ let arrowX = 0;
2842
+ let arrowY = 0;
2843
+ // Calculate arrow position based on placement
2844
+ // We want the arrow to point at the center of the trigger
2845
+ switch (this.placement) {
2846
+ // Top placements - arrow points down, X is relative to trigger center
2847
+ case 'top':
2848
+ arrowX = triggerWidth / 2;
2849
+ arrowY = 0;
2850
+ break;
2851
+ case 'topLeft':
2852
+ arrowX = Math.min(20, triggerWidth / 2);
2853
+ arrowY = 0;
2854
+ break;
2855
+ case 'topRight':
2856
+ arrowX = triggerWidth - Math.min(20, triggerWidth / 2);
2857
+ arrowY = 0;
2858
+ break;
2859
+ // Bottom placements - arrow points up, X is relative to trigger center
2860
+ case 'bottom':
2861
+ arrowX = triggerWidth / 2;
2862
+ arrowY = 0;
2863
+ break;
2864
+ case 'bottomLeft':
2865
+ arrowX = Math.min(20, triggerWidth / 2);
2866
+ arrowY = 0;
2867
+ break;
2868
+ case 'bottomRight':
2869
+ arrowX = triggerWidth - Math.min(20, triggerWidth / 2);
2870
+ arrowY = 0;
2871
+ break;
2872
+ // Left placements - arrow points right, Y is relative to trigger center
2873
+ case 'left':
2874
+ arrowX = 0;
2875
+ arrowY = triggerHeight / 2;
2876
+ break;
2877
+ case 'leftTop':
2878
+ arrowX = 0;
2879
+ arrowY = Math.min(16, triggerHeight / 2);
2880
+ break;
2881
+ case 'leftBottom':
2882
+ arrowX = 0;
2883
+ arrowY = triggerHeight - Math.min(16, triggerHeight / 2);
2884
+ break;
2885
+ // Right placements - arrow points left, Y is relative to trigger center
2886
+ case 'right':
2887
+ arrowX = 0;
2888
+ arrowY = triggerHeight / 2;
2889
+ break;
2890
+ case 'rightTop':
2891
+ arrowX = 0;
2892
+ arrowY = Math.min(16, triggerHeight / 2);
2893
+ break;
2894
+ case 'rightBottom':
2895
+ arrowX = 0;
2896
+ arrowY = triggerHeight - Math.min(16, triggerHeight / 2);
2897
+ break;
2898
+ }
2899
+ return { arrowX, arrowY };
2900
+ }
2901
+ /**
2902
+ * Build tooltip content element for portal.
2903
+ * @returns HTMLElement
2904
+ */
2905
+ buildTooltipElement() {
2906
+ // Create x-tooltip-content component
2907
+ const tooltipEl = document.createElement('x-tooltip-content');
2908
+ // Set properties
2909
+ tooltipEl.tooltipTitle = this.tooltipTitle || '';
2910
+ tooltipEl.placement = this.placement;
2911
+ tooltipEl.showArrow = this.shouldShowArrow();
2912
+ if (this.color) {
2913
+ tooltipEl.color = this.color;
2914
+ }
2915
+ if (this.classNames?.root) {
2916
+ tooltipEl.contentClass = this.classNames.root;
2917
+ }
2918
+ // Calculate and set arrow position CSS variables
2919
+ const { arrowX, arrowY } = this.calculateArrowPosition();
2920
+ tooltipEl.style.setProperty('--arrow-x', `${arrowX}px`);
2921
+ tooltipEl.style.setProperty('--arrow-y', `${arrowY}px`);
2922
+ // Add event listeners for hover on portal
2923
+ tooltipEl.addEventListener('mouseenter', this.handlePortalMouseEnter);
2924
+ tooltipEl.addEventListener('mouseleave', this.handlePortalMouseLeave);
2925
+ return tooltipEl;
2926
+ }
2927
+ /**
2928
+ * Create or update portal content for tooltip.
2929
+ * @returns void
2930
+ */
2931
+ updatePortal() {
2932
+ const hasTitle = !!this.tooltipTitle;
2933
+ if (!this.isOpen || !hasTitle) {
2934
+ if (this.portalInstance) {
2935
+ this.portalInstance.destroy();
2936
+ this.portalInstance = null;
2937
+ }
2938
+ return;
2939
+ }
2940
+ const tooltipElement = this.buildTooltipElement();
2941
+ if (!this.portalInstance) {
2942
+ this.portalInstance = PortalController.create({
2943
+ open: this.isOpen,
2944
+ target: this.getTriggerEl(),
2945
+ placement: this.placement,
2946
+ zIndex: this.zIndex || 9999,
2947
+ offset: 8, // arrow size (5px) + gap (3px)
2948
+ content: tooltipElement,
2949
+ flip: false,
2950
+ shift: this.autoAdjustOverflow !== false,
2951
+ });
2952
+ }
2953
+ else {
2954
+ this.portalInstance.update({
2955
+ open: this.isOpen,
2956
+ target: this.getTriggerEl(),
2957
+ placement: this.placement,
2958
+ offset: 8,
2959
+ content: tooltipElement,
2960
+ flip: false,
2961
+ shift: this.autoAdjustOverflow !== false,
2962
+ });
2963
+ }
2964
+ }
2965
+ /**
2966
+ * Destroy portal instance if present.
2967
+ * @returns void
2968
+ */
2969
+ destroyPortal() {
2970
+ if (this.portalInstance) {
2971
+ this.portalInstance.destroy();
2972
+ this.portalInstance = null;
2973
+ }
2974
+ }
2975
+ // ==================== Render ====================
2976
+ /**
2977
+ * Renders the Tooltip component.
2978
+ *
2979
+ * Flow:
2980
+ * 1. Constructs host classes based on visibility and color.
2981
+ * 2. Attaches event listeners for all trigger modes (hover, focus, click, contextMenu).
2982
+ * 3. Renders a trigger wrapper `span` that wraps the default slot.
2983
+ * 4. The actual tooltip content is rendered via a Portal (managed by `updatePortal`) to escape container clipping.
2984
+ *
2985
+ * @returns JSX.Element
2986
+ */
2987
+ render() {
2988
+ return (h(Host, { key: '7f714f3aef2633cd18aac1fe03be7c840f01aa81', class: {
2989
+ 'x-tooltip-wrapper': true,
2990
+ 'x-tooltip-open': this.isOpen,
2991
+ 'x-tooltip-color': this.color ? true : false,
2992
+ }, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur, onClick: this.handleClick, onContextMenu: this.handleContextMenu }, h("span", { key: 'ae94a1ccfc97a0ba7bddb87394e7cbe0e4a4ff2a', class: "x-tooltip-trigger" }, h("slot", { key: '1f2ca22b7b432abe47e12d69e3ea94efe4c06c08' }))));
2993
+ }
2994
+ static get watchers() { return {
2995
+ "open": [{
2996
+ "handleOpenChange": 0
2997
+ }]
2998
+ }; }
2999
+ };
3000
+ XTooltip.style = xTooltipCss();
3001
+
3002
+ const xTooltipContentCss = () => `.x-tooltip-content{position:relative;display:block;font-family:var(--x-tooltip-font-family, var(--x-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif));font-size:var(--x-tooltip-font-size, var(--x-font-size-sm, 14px));line-height:var(--x-tooltip-line-height, var(--x-line-height, 1.5714));word-wrap:break-word;white-space:normal;max-width:var(--x-tooltip-max-width, 250px);pointer-events:auto;-webkit-animation:x-tooltip-fade-in var(--x-tooltip-motion-duration, 0.2s) ease-out;animation:x-tooltip-fade-in var(--x-tooltip-motion-duration, 0.2s) ease-out}@-webkit-keyframes x-tooltip-fade-in{from{opacity:0;-webkit-transform:scale(0.95);transform:scale(0.95)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes x-tooltip-fade-in{from{opacity:0;-webkit-transform:scale(0.95);transform:scale(0.95)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.x-tooltip-content-inner{min-width:var(--x-tooltip-min-width, 30px);min-height:var(--x-tooltip-min-height, 32px);padding:var(--x-tooltip-padding-block, 6px) var(--x-tooltip-padding-inline, 8px)}.x-tooltip-content-inner:not(.x-tooltip-content-color){color:var(--x-tooltip-color, #ffffff)}.x-tooltip-content-inner.x-tooltip-content-color{color:white}.x-tooltip-content-inner{text-align:left;text-decoration:none;word-wrap:break-word;background-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)));border-radius:var(--x-tooltip-border-radius, 6px);-webkit-box-shadow:var(--x-tooltip-shadow, 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05));box-shadow:var(--x-tooltip-shadow, 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05));-webkit-box-sizing:border-box;box-sizing:border-box}.x-tooltip-content-arrow{position:absolute;width:0;height:0;border-style:solid;border-color:transparent;pointer-events:none}[class*=x-tooltip-content-placement-top]{-webkit-transform-origin:bottom center;transform-origin:bottom center}[class*=x-tooltip-content-placement-bottom]{-webkit-transform-origin:top center;transform-origin:top center}[class*=x-tooltip-content-placement-left]{-webkit-transform-origin:right center;transform-origin:right center}[class*=x-tooltip-content-placement-right]{-webkit-transform-origin:left center;transform-origin:left center}.x-tooltip-content-placement-top{padding-bottom:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-top .x-tooltip-content-arrow{bottom:0;left:var(--arrow-x, 50%);-webkit-transform:translateX(-50%);transform:translateX(-50%);border-width:var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px) 0;border-top-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-topLeft{padding-bottom:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-topLeft .x-tooltip-content-arrow{bottom:0;left:var(--arrow-x, 16px);-webkit-transform:translateX(-50%);transform:translateX(-50%);border-width:var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px) 0;border-top-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-topRight{padding-bottom:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-topRight .x-tooltip-content-arrow{bottom:0;right:var(--arrow-x, 16px);-webkit-transform:translateX(50%);transform:translateX(50%);border-width:var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px) 0;border-top-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-bottom{padding-top:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-bottom .x-tooltip-content-arrow{top:0;left:var(--arrow-x, 50%);-webkit-transform:translateX(-50%);transform:translateX(-50%);border-width:0 var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px);border-bottom-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-bottomLeft{padding-top:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-bottomLeft .x-tooltip-content-arrow{top:0;left:var(--arrow-x, 16px);-webkit-transform:translateX(-50%);transform:translateX(-50%);border-width:0 var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px);border-bottom-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-bottomRight{padding-top:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-bottomRight .x-tooltip-content-arrow{top:0;right:var(--arrow-x, 16px);-webkit-transform:translateX(50%);transform:translateX(50%);border-width:0 var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px);border-bottom-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-left{padding-right:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-left .x-tooltip-content-arrow{right:0;top:var(--arrow-y, 50%);-webkit-transform:translateY(-50%);transform:translateY(-50%);border-width:var(--x-tooltip-arrow-size, 8px) 0 var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px);border-left-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-leftTop{padding-right:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-leftTop .x-tooltip-content-arrow{right:0;top:var(--arrow-y, 12px);-webkit-transform:translateY(-50%);transform:translateY(-50%);border-width:var(--x-tooltip-arrow-size, 8px) 0 var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px);border-left-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-leftBottom{padding-right:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-leftBottom .x-tooltip-content-arrow{right:0;bottom:var(--arrow-y, 12px);-webkit-transform:translateY(50%);transform:translateY(50%);border-width:var(--x-tooltip-arrow-size, 8px) 0 var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px);border-left-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-right{padding-left:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-right .x-tooltip-content-arrow{left:0;top:var(--arrow-y, 50%);-webkit-transform:translateY(-50%);transform:translateY(-50%);border-width:var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px) 0;border-right-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-rightTop{padding-left:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-rightTop .x-tooltip-content-arrow{left:0;top:var(--arrow-y, 12px);-webkit-transform:translateY(-50%);transform:translateY(-50%);border-width:var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px) 0;border-right-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-placement-rightBottom{padding-left:var(--x-tooltip-arrow-size, 8px)}.x-tooltip-content-placement-rightBottom .x-tooltip-content-arrow{left:0;bottom:var(--arrow-y, 12px);-webkit-transform:translateY(50%);transform:translateY(50%);border-width:var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px) var(--x-tooltip-arrow-size, 8px) 0;border-right-color:var(--x-tooltip-color, var(--x-tooltip-bg, rgba(0, 0, 0, 0.85)))}.x-tooltip-content-hidden{display:none;pointer-events:none}`;
3003
+
3004
+ const XTooltipContent = class {
3005
+ constructor(hostRef) {
3006
+ registerInstance(this, hostRef);
3007
+ }
3008
+ get el() { return getElement(this); }
3009
+ // ==================== Props ====================
3010
+ /**
3011
+ * Tooltip title/content text.
3012
+ * @example
3013
+ * <x-tooltip-content tooltipTitle="Info"></x-tooltip-content>
3014
+ */
3015
+ tooltipTitle;
3016
+ /**
3017
+ * Placement of the tooltip.
3018
+ * @example
3019
+ * <x-tooltip-content placement="bottom"></x-tooltip-content>
3020
+ */
3021
+ placement = 'top';
3022
+ /**
3023
+ * Whether to show arrow.
3024
+ * @example
3025
+ * <x-tooltip-content showArrow={false}></x-tooltip-content>
3026
+ */
3027
+ showArrow = true;
3028
+ /**
3029
+ * Custom background color.
3030
+ * @example
3031
+ * <x-tooltip-content color="#333"></x-tooltip-content>
3032
+ */
3033
+ color;
3034
+ /**
3035
+ * Custom class for the content.
3036
+ * @example
3037
+ * <x-tooltip-content contentClass="my-tooltip"></x-tooltip-content>
3038
+ */
3039
+ contentClass;
3040
+ /**
3041
+ * Whether the tooltip is hidden.
3042
+ * @example
3043
+ * <x-tooltip-content hidden></x-tooltip-content>
3044
+ */
3045
+ hidden = false;
3046
+ // ==================== Render ====================
3047
+ /**
3048
+ * Render tooltip content, arrow, and slot.
3049
+ * @returns JSX.Element
3050
+ * @example
3051
+ * <x-tooltip-content tooltipTitle="Tip"></x-tooltip-content>
3052
+ */
3053
+ render() {
3054
+ // Build class map based on placement and visibility.
3055
+ const classes = {
3056
+ 'x-tooltip-content': true,
3057
+ [`x-tooltip-content-placement-${this.placement}`]: true,
3058
+ 'x-tooltip-content-hidden': this.hidden,
3059
+ [this.contentClass || '']: !!this.contentClass,
3060
+ };
3061
+ // Apply CSS variable for custom color.
3062
+ const style = {};
3063
+ if (this.color) {
3064
+ style['--x-tooltip-color'] = this.color;
3065
+ }
3066
+ return (h(Host, { key: 'a583a96aef26105e6b21504201ffda958a46103c', class: classes, style: style, role: "tooltip" }, h("div", { key: '9cf9e614628b794ff569e26d679507c437395548', class: {
3067
+ 'x-tooltip-content-inner': true,
3068
+ 'x-tooltip-content-color': this.color ? true : false,
3069
+ [this.contentClass || '']: !!this.contentClass,
3070
+ } }, this.tooltipTitle, h("slot", { key: '799907798ddfca9bf4ccdee5850301af616f8127' })), this.showArrow && (h("div", { key: '0a9215b4cbb5f583188851171cb3a50bd26683a2', class: "x-tooltip-content-arrow" }))));
3071
+ }
3072
+ };
3073
+ XTooltipContent.style = xTooltipContentCss();
3074
+
3075
+ export { XColorPicker as x_color_picker, XDivider as x_divider, XFormItem as x_form_item, XInputNumber as x_input_number, XModal as x_modal, XSlider as x_slider, XSwitch as x_switch, XTooltip as x_tooltip, XTooltipContent as x_tooltip_content };