@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,3085 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-C7sKs9A2.js');
4
+ var portalController = require('./portal-controller-CtYVbhXL.js');
5
+ var config = require('./config-BP9bROYD.js');
6
+ var types = require('./types-DQ-V76ZQ.js');
7
+ var abstractControl = require('./abstract-control-C4D0eNCC.js');
8
+ var locale_service = require('./locale.service-Cz-aZQnr.js');
9
+
10
+ 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)}`;
11
+
12
+ const XColorPicker = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.xChange = index.createEvent(this, "xChange", 7);
16
+ this.xChangeComplete = index.createEvent(this, "xChangeComplete", 7);
17
+ this.xFormatChange = index.createEvent(this, "xFormatChange", 7);
18
+ this.xOpenChange = index.createEvent(this, "xOpenChange", 7);
19
+ this.xClear = index.createEvent(this, "xClear", 7);
20
+ }
21
+ get el() { return index.getElement(this); }
22
+ // ==================== Props ====================
23
+ /**
24
+ * Allow clearing color selected
25
+ * @default false
26
+ * @example
27
+ * <x-color-picker allowClear></x-color-picker>
28
+ */
29
+ allowClear = false;
30
+ /**
31
+ * Default value of color
32
+ * @example
33
+ * <x-color-picker defaultValue="#ff4d4f"></x-color-picker>
34
+ */
35
+ defaultValue;
36
+ /**
37
+ * Default format of color
38
+ * @default 'hex'
39
+ * @example
40
+ * <x-color-picker defaultFormat="rgb"></x-color-picker>
41
+ */
42
+ defaultFormat = 'hex';
43
+ /**
44
+ * Disable ColorPicker
45
+ * @default false
46
+ * @example
47
+ * <x-color-picker disabled></x-color-picker>
48
+ */
49
+ disabled = false;
50
+ /**
51
+ * Disable Alpha slider
52
+ * @default false
53
+ * @example
54
+ * <x-color-picker disabledAlpha></x-color-picker>
55
+ */
56
+ disabledAlpha = false;
57
+ /**
58
+ * Disable format selector
59
+ * @default false
60
+ * @example
61
+ * <x-color-picker disabledFormat></x-color-picker>
62
+ */
63
+ disabledFormat = false;
64
+ /**
65
+ * Format of color
66
+ * @example
67
+ * <x-color-picker format="hsb"></x-color-picker>
68
+ */
69
+ format;
70
+ /**
71
+ * Whether to show popup
72
+ * @example
73
+ * <x-color-picker open></x-color-picker>
74
+ */
75
+ open;
76
+ /**
77
+ * Preset colors
78
+ * @example
79
+ * <x-color-picker presets={[{ label: 'Primary', colors: ['#1677ff'] }]}></x-color-picker>
80
+ */
81
+ presets;
82
+ /**
83
+ * Placement of popup
84
+ * @default 'bottomLeft'
85
+ * @example
86
+ * <x-color-picker placement="topLeft"></x-color-picker>
87
+ */
88
+ placement = 'bottomLeft';
89
+ /**
90
+ * Show color text
91
+ * @default false
92
+ * @example
93
+ * <x-color-picker showText></x-color-picker>
94
+ */
95
+ showText = false;
96
+ /**
97
+ * Size of trigger
98
+ * @default 'middle'
99
+ * @example
100
+ * <x-color-picker size="small"></x-color-picker>
101
+ */
102
+ size = 'middle';
103
+ /**
104
+ * Trigger mode
105
+ * @default 'click'
106
+ * @example
107
+ * <x-color-picker trigger="hover"></x-color-picker>
108
+ */
109
+ trigger = 'click';
110
+ /**
111
+ * Value of color
112
+ * @example
113
+ * <x-color-picker value="#1677ff"></x-color-picker>
114
+ */
115
+ value;
116
+ /**
117
+ * Custom class names
118
+ * @example
119
+ * <x-color-picker classNames={{ root: 'my-color-picker' }}></x-color-picker>
120
+ */
121
+ classNames;
122
+ /**
123
+ * Custom styles
124
+ * @example
125
+ * <x-color-picker styles={{ root: { minWidth: '120px' } }}></x-color-picker>
126
+ */
127
+ styles;
128
+ // ==================== Events ====================
129
+ /**
130
+ * Callback when value is changed
131
+ * @example
132
+ * <x-color-picker onXChange={(ev) => console.log(ev.detail)}></x-color-picker>
133
+ */
134
+ xChange;
135
+ /**
136
+ * Called when color pick ends
137
+ * @example
138
+ * <x-color-picker onXChangeComplete={(ev) => console.log(ev.detail)}></x-color-picker>
139
+ */
140
+ xChangeComplete;
141
+ /**
142
+ * Callback when format is changed
143
+ * @example
144
+ * <x-color-picker onXFormatChange={(ev) => console.log(ev.detail)}></x-color-picker>
145
+ */
146
+ xFormatChange;
147
+ /**
148
+ * Callback when open is changed
149
+ * @example
150
+ * <x-color-picker onXOpenChange={(ev) => console.log(ev.detail)}></x-color-picker>
151
+ */
152
+ xOpenChange;
153
+ /**
154
+ * Called when clear
155
+ * @example
156
+ * <x-color-picker onXClear={() => {}}></x-color-picker>
157
+ */
158
+ xClear;
159
+ // ==================== State ====================
160
+ /**
161
+ * Internal open state for uncontrolled mode.
162
+ */
163
+ internalOpen = false;
164
+ /**
165
+ * Internal color format.
166
+ */
167
+ internalFormat = 'hex';
168
+ /**
169
+ * Internal color object.
170
+ */
171
+ internalColor = null;
172
+ /**
173
+ * Cleared state flag.
174
+ */
175
+ isCleared = false;
176
+ // ==================== Private Properties ====================
177
+ /**
178
+ * Trigger element reference.
179
+ */
180
+ triggerRef;
181
+ /**
182
+ * Portal instance for panel.
183
+ */
184
+ portalInstance = null;
185
+ /**
186
+ * Panel element reference.
187
+ */
188
+ panelElement = null;
189
+ /**
190
+ * Dragging flag for hover behavior.
191
+ */
192
+ isDragging = false;
193
+ // ==================== Lifecycle ====================
194
+ /**
195
+ * Initialize format and color.
196
+ * @returns void
197
+ */
198
+ componentWillLoad() {
199
+ // Initialize format
200
+ this.internalFormat = this.format ?? this.defaultFormat;
201
+ // Initialize color
202
+ const initialValue = this.value ?? this.defaultValue ?? '#1677ff';
203
+ if (typeof initialValue === 'string') {
204
+ this.internalColor = types.createColor(initialValue);
205
+ }
206
+ }
207
+ /**
208
+ * Cleanup portal on disconnect.
209
+ * @returns void
210
+ */
211
+ disconnectedCallback() {
212
+ this.destroyPortal();
213
+ }
214
+ // ==================== Watchers ====================
215
+ /**
216
+ * Sync internal color when value changes.
217
+ * @param newValue - New color value.
218
+ * @returns void
219
+ */
220
+ handleValueChange(newValue) {
221
+ if (typeof newValue === 'string') {
222
+ this.internalColor = types.createColor(newValue);
223
+ this.isCleared = false;
224
+ }
225
+ }
226
+ /**
227
+ * Sync format when format prop changes.
228
+ * @param newFormat - New format.
229
+ * @returns void
230
+ */
231
+ handleFormatChange(newFormat) {
232
+ if (newFormat) {
233
+ this.internalFormat = newFormat;
234
+ }
235
+ }
236
+ /**
237
+ * Sync open state when controlled prop changes.
238
+ * @param newOpen - Open state.
239
+ * @returns void
240
+ */
241
+ handleOpenPropChange(newOpen) {
242
+ if (newOpen !== undefined) {
243
+ this.setOpen(newOpen);
244
+ }
245
+ }
246
+ // ==================== Listeners ====================
247
+ /**
248
+ * Close panel on outside click.
249
+ *
250
+ * Flow:
251
+ * 1. Checks if panel is open.
252
+ * 2. Determines click target.
253
+ * 3. Checks if click is inside the trigger element or the portal panel.
254
+ * 4. If outside both, closes the panel by calling \`setOpen(false)\`.
255
+ *
256
+ * @param e - Mouse event.
257
+ * @returns void
258
+ */
259
+ handleDocumentClick(e) {
260
+ if (!this.internalOpen)
261
+ return;
262
+ const path = e.composedPath();
263
+ const isInsideTrigger = path.includes(this.el);
264
+ const portalEl = this.portalInstance?.getElement();
265
+ const isInsidePanel = portalEl ? path.includes(portalEl) : false;
266
+ if (!isInsideTrigger && !isInsidePanel) {
267
+ this.setOpen(false);
268
+ }
269
+ }
270
+ /**
271
+ * Close panel on Escape key.
272
+ * @param e - Keyboard event.
273
+ * @returns void
274
+ */
275
+ handleKeydown(e) {
276
+ if (e.key === 'Escape' && this.internalOpen) {
277
+ this.setOpen(false);
278
+ }
279
+ }
280
+ // ==================== Public Methods ====================
281
+ /**
282
+ * Get current color object
283
+ * @returns Promise<Color | null>
284
+ * @example
285
+ * const color = await el.getColor()
286
+ */
287
+ async getColor() {
288
+ return this.internalColor;
289
+ }
290
+ // ==================== Private Methods ====================
291
+ /**
292
+ * Update open state and portal.
293
+ *
294
+ * Flow:
295
+ * 1. Checks if disabled; returns if true.
296
+ * 2. Updates `internalOpen` state.
297
+ * 3. Emits `xOpenChange` event.
298
+ * 4. Calls `updatePortal` (if opening) or `destroyPortal` (if closing).
299
+ *
300
+ * @param open - Open state.
301
+ * @returns void
302
+ */
303
+ setOpen(open) {
304
+ if (this.disabled)
305
+ return;
306
+ this.internalOpen = open;
307
+ this.xOpenChange.emit({ open });
308
+ if (open) {
309
+ this.updatePortal();
310
+ }
311
+ else {
312
+ this.destroyPortal();
313
+ }
314
+ }
315
+ /**
316
+ * Handle trigger click.
317
+ * @returns void
318
+ */
319
+ handleTriggerClick = () => {
320
+ if (this.trigger === 'click') {
321
+ this.setOpen(!this.internalOpen);
322
+ }
323
+ };
324
+ /**
325
+ * Handle trigger mouse enter.
326
+ * @returns void
327
+ */
328
+ handleTriggerMouseEnter = () => {
329
+ if (this.trigger === 'hover') {
330
+ this.setOpen(true);
331
+ }
332
+ };
333
+ /**
334
+ * Handle trigger mouse leave.
335
+ * @returns void
336
+ */
337
+ handleTriggerMouseLeave = () => {
338
+ if (this.trigger === 'hover' && !this.isDragging) {
339
+ const portalEl = this.portalInstance?.getElement();
340
+ setTimeout(() => {
341
+ if (!portalEl?.matches(':hover') && !this.el.matches(':hover')) {
342
+ this.setOpen(false);
343
+ }
344
+ }, 100);
345
+ }
346
+ };
347
+ /**
348
+ * Handle clear action.
349
+ * @param e - Event.
350
+ * @returns void
351
+ */
352
+ handleClear = (e) => {
353
+ e.stopPropagation();
354
+ this.isCleared = true;
355
+ this.xClear.emit();
356
+ };
357
+ // ==================== Portal Management ====================
358
+ /**
359
+ * Build color picker panel element.
360
+ * @returns HTMLElement
361
+ */
362
+ buildPanelElement() {
363
+ // Create x-color-picker-panel component
364
+ const panelEl = document.createElement('x-color-picker-panel');
365
+ // Set props on the panel element
366
+ panelEl.color = this.internalColor;
367
+ panelEl.format = this.internalFormat;
368
+ panelEl.disabledAlpha = this.disabledAlpha;
369
+ panelEl.disabledFormat = this.disabledFormat;
370
+ panelEl.presets = this.presets;
371
+ panelEl.allowClear = this.allowClear;
372
+ // Apply custom class and styles
373
+ if (this.classNames?.popup) {
374
+ panelEl.classList.add(...this.classNames.popup.split(' '));
375
+ }
376
+ if (this.styles?.popup) {
377
+ Object.assign(panelEl.style, this.styles.popup);
378
+ }
379
+ // Bind events
380
+ panelEl.addEventListener('colorChange', (e) => {
381
+ this.handleColorChange(e.detail);
382
+ });
383
+ panelEl.addEventListener('colorChangeComplete', (e) => {
384
+ this.xChangeComplete.emit(e.detail);
385
+ this.isDragging = false;
386
+ });
387
+ panelEl.addEventListener('formatChange', (e) => {
388
+ this.internalFormat = e.detail;
389
+ this.xFormatChange.emit({ format: e.detail });
390
+ });
391
+ panelEl.addEventListener('colorClear', () => {
392
+ this.isCleared = true;
393
+ this.xClear.emit();
394
+ this.setOpen(false);
395
+ });
396
+ // Track dragging state
397
+ panelEl.addEventListener('mousedown', () => {
398
+ this.isDragging = true;
399
+ });
400
+ return panelEl;
401
+ }
402
+ /**
403
+ * Get trigger element for portal target.
404
+ * @returns HTMLElement
405
+ */
406
+ getWrapperEl() {
407
+ return this.triggerRef;
408
+ }
409
+ /**
410
+ * Create or update portal for panel.
411
+ *
412
+ * Flow:
413
+ * 1. Checks if `internalOpen` is true.
414
+ * 2. Builds or reuses the panel element.
415
+ * 3. Uses `PortalController` to render the panel:
416
+ * - Creates new instance if none exists.
417
+ * - Updates existing instance with new content/position.
418
+ * 4. Requests animation frame to ensure position update.
419
+ *
420
+ * @returns void
421
+ */
422
+ updatePortal() {
423
+ if (!this.internalOpen) {
424
+ this.destroyPortal();
425
+ return;
426
+ }
427
+ this.panelElement = this.buildPanelElement();
428
+ if (!this.portalInstance) {
429
+ this.portalInstance = portalController.PortalController.create({
430
+ open: true,
431
+ target: this.getWrapperEl(),
432
+ placement: this.placement,
433
+ content: this.panelElement,
434
+ zIndex: 1050,
435
+ });
436
+ }
437
+ else {
438
+ this.portalInstance.update({
439
+ open: true,
440
+ target: this.getWrapperEl(),
441
+ placement: this.placement,
442
+ content: this.panelElement,
443
+ });
444
+ }
445
+ // Update position after render
446
+ requestAnimationFrame(() => {
447
+ if (this.portalInstance) {
448
+ this.portalInstance.update({});
449
+ }
450
+ });
451
+ }
452
+ /**
453
+ * Destroy portal instance if present.
454
+ * @returns void
455
+ */
456
+ destroyPortal() {
457
+ if (this.portalInstance) {
458
+ this.portalInstance.destroy();
459
+ this.portalInstance = null;
460
+ this.panelElement = null;
461
+ }
462
+ }
463
+ /**
464
+ * Handle color change from panel.
465
+ * @param color - New color.
466
+ * @returns void
467
+ */
468
+ handleColorChange(color) {
469
+ this.internalColor = color;
470
+ this.isCleared = false;
471
+ this.value = color.toHexString();
472
+ this.xChange.emit({
473
+ color,
474
+ css: color.toCssString(),
475
+ });
476
+ // Update panel element with new color
477
+ if (this.panelElement) {
478
+ this.panelElement.color = color;
479
+ }
480
+ }
481
+ // ==================== Render ====================
482
+ /**
483
+ * Get display text for current color.
484
+ * @returns string
485
+ */
486
+ getDisplayText() {
487
+ if (!this.internalColor || this.isCleared)
488
+ return '';
489
+ if (typeof this.showText === 'function') {
490
+ return this.showText(this.internalColor);
491
+ }
492
+ switch (this.internalFormat) {
493
+ case 'rgb':
494
+ return this.internalColor.toRgbString();
495
+ case 'hsb':
496
+ return this.internalColor.toHsbString();
497
+ default:
498
+ return this.internalColor.toHexString().toUpperCase();
499
+ }
500
+ }
501
+ /**
502
+ * Render down arrow icon.
503
+ * @returns JSX.Element
504
+ */
505
+ renderDownArrow() {
506
+ return (
507
+ // <svg viewBox="64 64 896 896" focusable="false" width="1em" height="1em" fill="currentColor">
508
+ // <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" />
509
+ // </svg>
510
+ index.h("x-icon", { name: config.getIcon('arrowDown') }));
511
+ }
512
+ /**
513
+ * Render clear icon.
514
+ * @returns JSX.Element
515
+ */
516
+ renderCloseIcon() {
517
+ return (
518
+ // <svg viewBox="64 64 896 896" focusable="false" width="1em" height="1em" fill="currentColor">
519
+ // <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" />
520
+ // </svg>
521
+ index.h("x-icon", { name: config.getIcon('clear') }));
522
+ }
523
+ /**
524
+ * Render trigger and optional text.
525
+ * @returns JSX.Element
526
+ */
527
+ render() {
528
+ const hostClasses = {
529
+ 'x-color-picker': true,
530
+ 'x-color-picker-sm': this.size === 'small',
531
+ 'x-color-picker-lg': this.size === 'large',
532
+ 'x-color-picker-disabled': this.disabled,
533
+ [this.classNames?.root ?? '']: !!this.classNames?.root,
534
+ };
535
+ const colorValue = this.internalColor && !this.isCleared
536
+ ? this.internalColor.toCssString()
537
+ : 'transparent';
538
+ return (index.h(index.Host, { key: 'f8f38365b7fd8c36aac0d9dc1799fc568516fea9', class: hostClasses, style: this.styles?.root }, index.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' }, index.h("slot", { key: '77c612bde00f68546e52eb30351f9e26c724bbd8' }, index.h("div", { key: '19ddcbfc6acea0c985d263abeae54facb1878856', class: {
539
+ 'x-color-picker-color-block': true,
540
+ 'x-color-picker-color-block-cleared': this.isCleared,
541
+ } }, index.h("div", { key: 'd6223ba45365f694a1b760fc0779273903a3e080', class: "x-color-picker-color-block-inner", style: { background: colorValue } })), this.showText && (index.h("span", { key: 'b80debccfafa45df16aeabedfafcc9e0721a3a4d', class: "x-color-picker-text" }, this.getDisplayText())), this.allowClear && !this.isCleared && this.internalColor && (index.h("span", { key: '8caa5439b9ad31915420be95deb94eff604bc411', class: "x-color-picker-clear", onClick: this.handleClear }, this.renderCloseIcon())), index.h("span", { key: 'ed22036212268e812ebfe9869918cd31fcebaaef', class: {
542
+ 'x-color-picker-arrow': true,
543
+ 'x-color-picker-arrow-open': this.internalOpen,
544
+ } }, this.renderDownArrow())))));
545
+ }
546
+ static get watchers() { return {
547
+ "value": [{
548
+ "handleValueChange": 0
549
+ }],
550
+ "format": [{
551
+ "handleFormatChange": 0
552
+ }],
553
+ "open": [{
554
+ "handleOpenPropChange": 0
555
+ }]
556
+ }; }
557
+ };
558
+ XColorPicker.style = xColorPickerCss();
559
+
560
+ 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))}`;
561
+
562
+ const XDivider = class {
563
+ constructor(hostRef) {
564
+ index.registerInstance(this, hostRef);
565
+ }
566
+ get el() { return index.getElement(this); }
567
+ /**
568
+ * Tracks whether the divider has text content.
569
+ */
570
+ hasContent = false;
571
+ /**
572
+ * Whether line is dashed.
573
+ * @example
574
+ * <x-divider dashed></x-divider>
575
+ */
576
+ dashed = false;
577
+ /**
578
+ * The position of title inside divider.
579
+ * @example
580
+ * <x-divider orientation="left">Left</x-divider>
581
+ */
582
+ orientation = 'center';
583
+ /**
584
+ * Divider text show as plain style.
585
+ * @example
586
+ * <x-divider plain>Text</x-divider>
587
+ */
588
+ plain = false;
589
+ /**
590
+ * The direction type of divider.
591
+ * @example
592
+ * <x-divider type="vertical"></x-divider>
593
+ */
594
+ type = 'horizontal';
595
+ /**
596
+ * The margin-left/right of the title.
597
+ * @example
598
+ * <x-divider orientation="left" orientationMargin="12px">Text</x-divider>
599
+ */
600
+ orientationMargin;
601
+ /**
602
+ * Check for initial slot content.
603
+ * @returns void
604
+ * @example
605
+ * <x-divider>Text</x-divider>
606
+ */
607
+ componentWillLoad() {
608
+ this.checkContent();
609
+ }
610
+ /**
611
+ * Determine if default slot has content.
612
+ * @returns void
613
+ * @example
614
+ * <x-divider>Text</x-divider>
615
+ */
616
+ checkContent() {
617
+ // Initial check, though slotchange is better for dynamic updates
618
+ this.hasContent = this.el.innerHTML.trim().length > 0;
619
+ }
620
+ /**
621
+ * Update content state when slot changes.
622
+ * @param e - Slot change event.
623
+ * @returns void
624
+ * @example
625
+ * <x-divider>Text</x-divider>
626
+ */
627
+ handleSlotChange = (e) => {
628
+ const slot = e.target;
629
+ this.hasContent = slot.assignedNodes({ flatten: true }).length > 0;
630
+ };
631
+ /**
632
+ * Render divider with optional text and orientation styles.
633
+ *
634
+ * Flow:
635
+ * 1. Constructs class map based on type (horizontal/vertical), style (dashed/plain), and content presence.
636
+ * 2. Calculates orientation styles (margin-left/right) if needed.
637
+ * 3. Renders Host element.
638
+ * 4. If horizontal with content:
639
+ * - Renders text wrapper span.
640
+ * - Projects slot.
641
+ * 5. Otherwise (vertical or empty):
642
+ * - Projects slot directly.
643
+ *
644
+ * @returns JSX.Element
645
+ * @example
646
+ * <x-divider orientation="right">Right</x-divider>
647
+ */
648
+ render() {
649
+ const { dashed, orientation, plain, type, orientationMargin, hasContent } = this;
650
+ // Build classes based on type and text presence.
651
+ const classes = {
652
+ 'x-divider': true,
653
+ [`x-divider-${type}`]: true,
654
+ [`x-divider-with-text`]: hasContent && type === 'horizontal',
655
+ [`x-divider-with-text-${orientation}`]: hasContent && type === 'horizontal',
656
+ 'x-divider-dashed': dashed,
657
+ 'x-divider-plain': plain,
658
+ };
659
+ // Apply margin styles when orientation is left/right.
660
+ const style = {};
661
+ if (orientationMargin && type === 'horizontal' && hasContent) {
662
+ // Apply margin for left or right alignment.
663
+ if (orientation === 'left') {
664
+ style['--x-divider-margin-left'] = orientationMargin;
665
+ }
666
+ else if (orientation === 'right') {
667
+ style['--x-divider-margin-right'] = orientationMargin;
668
+ }
669
+ }
670
+ return (index.h(index.Host, { key: 'c01c2f45c5bd8644531889d9787efb9afaa53e5f', class: classes, style: style }, type === 'horizontal' && hasContent && (index.h("span", { key: 'de69f4795c2069fe4844d087827f33c625759e9a', class: "x-divider-inner-text" }, index.h("slot", { key: 'cb0b0e462a05bd6035579554f5665a4baf52b856', onSlotchange: this.handleSlotChange }))), (!hasContent || type === 'vertical') && index.h("slot", { key: '054ecd7d528d560edffbf86722a1e8084f29890e', onSlotchange: this.handleSlotChange })));
671
+ }
672
+ };
673
+ XDivider.style = xDividerCss();
674
+
675
+ /**
676
+ * FormControl — Tracks value & validity of an individual form control
677
+ * Mirrors Angular's FormControl API 100%
678
+ */
679
+ class FormControl extends abstractControl.AbstractControl {
680
+ constructor(formState = null, validatorsOrOptions, asyncValidators) {
681
+ super();
682
+ this._initialize(formState, validatorsOrOptions, asyncValidators);
683
+ this._updateValueAndValidity({ onlySelf: true, emitEvent: false });
684
+ }
685
+ get value() {
686
+ return this._value;
687
+ }
688
+ setValue(value, options = {}) {
689
+ this._value = value;
690
+ if (this._onChange.length && options.emitModelToViewChange !== false) {
691
+ this._onChange.forEach(changeFn => changeFn(this._value));
692
+ }
693
+ this._updateValueAndValidity(options);
694
+ if (options.emitEvent !== false) {
695
+ this._emitValueChange(this._value);
696
+ }
697
+ }
698
+ patchValue(value, options = {}) {
699
+ this.setValue(value, options);
700
+ }
701
+ reset(formState = null, options = {}) {
702
+ this._initialize(formState, this._validators, this._asyncValidators);
703
+ this.markAsPristine(options);
704
+ this.markAsUntouched(options);
705
+ this._updateValueAndValidity(options);
706
+ if (options.emitEvent !== false) {
707
+ this._emitValueChange(this._value);
708
+ }
709
+ }
710
+ // ─── Internal ────────────────────────────────────────────────
711
+ _initialize(formState, validatorsOrOptions, asyncValidators) {
712
+ if (this._isFormControlOptions(validatorsOrOptions)) {
713
+ this._applyValidators(validatorsOrOptions);
714
+ this._updateOn = validatorsOrOptions.updateOn || 'change';
715
+ }
716
+ else {
717
+ this._applyValidators(validatorsOrOptions, asyncValidators);
718
+ }
719
+ if (formState !== null && typeof formState === 'object' && 'value' in formState) {
720
+ const state = formState;
721
+ this._value = state.value;
722
+ if (state.disabled) {
723
+ this.disable({ onlySelf: true, emitEvent: false });
724
+ }
725
+ }
726
+ else {
727
+ this._value = formState;
728
+ }
729
+ }
730
+ _isFormControlOptions(obj) {
731
+ return !!obj && typeof obj === 'object' && !Array.isArray(obj) && ('validators' in obj || 'asyncValidators' in obj || 'updateOn' in obj);
732
+ }
733
+ _runValidation() {
734
+ if (this._status === 'DISABLED')
735
+ return;
736
+ this._errors = this._runValidators(this._value);
737
+ this._status = this._calculateStatus();
738
+ if (this._status === 'VALID' && this._asyncValidators.length > 0) {
739
+ this._runAsyncValidators(this._value);
740
+ }
741
+ }
742
+ }
743
+
744
+ 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)}}`;
745
+
746
+ const XFormItem = class {
747
+ constructor(hostRef) {
748
+ index.registerInstance(this, hostRef);
749
+ }
750
+ get el() { return index.getElement(this); }
751
+ /**
752
+ * Label text
753
+ * @example
754
+ * <x-form-item label="Email"></x-form-item>
755
+ */
756
+ label;
757
+ /**
758
+ * The validation status. If not provided, it will be automatically inferred from the form control.
759
+ * @example
760
+ * <x-form-item validateStatus="error"></x-form-item>
761
+ */
762
+ validateStatus;
763
+ /**
764
+ * The help message. If not provided, it will be automatically inferred from the form control errors.
765
+ * @example
766
+ * <x-form-item help="Required"></x-form-item>
767
+ */
768
+ help;
769
+ /**
770
+ * Whether to show the required mark. If not provided, it will be automatically inferred from the form control validators.
771
+ * @example
772
+ * <x-form-item required label="Name"></x-form-item>
773
+ */
774
+ required = false;
775
+ /**
776
+ * Whether to show the colon after label
777
+ * @example
778
+ * <x-form-item colon={false} label="Name"></x-form-item>
779
+ */
780
+ colon = true;
781
+ /**
782
+ * Whether to show the feedback icon
783
+ * @example
784
+ * <x-form-item hasFeedback validateStatus="success"></x-form-item>
785
+ */
786
+ hasFeedback = false;
787
+ /**
788
+ * Label column layout (e.g. span)
789
+ * @example
790
+ * <x-form-item labelCol="span: 6"></x-form-item>
791
+ */
792
+ labelCol;
793
+ /**
794
+ * Wrapper column layout
795
+ * @example
796
+ * <x-form-item wrapperCol="span: 18"></x-form-item>
797
+ */
798
+ wrapperCol;
799
+ /**
800
+ * Label alignment in horizontal layout
801
+ */
802
+ labelAlign;
803
+ /**
804
+ * Form layout (overrides parent x-form layout)
805
+ */
806
+ layout;
807
+ /**
808
+ * Field name for form binding
809
+ */
810
+ name;
811
+ /**
812
+ * Props of children node, for example checkbox should be 'checked'
813
+ */
814
+ valuePropName = 'value';
815
+ /**
816
+ * Extra prompt message
817
+ */
818
+ extra;
819
+ control;
820
+ status;
821
+ errorMessage;
822
+ parentLayout;
823
+ parentColon;
824
+ parentHideRequiredMark;
825
+ parentLabelAlign;
826
+ formEl = null;
827
+ unsubscribe = null;
828
+ observer = null;
829
+ nameChanged() {
830
+ this.connectControl();
831
+ }
832
+ componentWillLoad() {
833
+ this.formEl = this.el.closest('x-form');
834
+ if (this.formEl) {
835
+ this.syncParentProps();
836
+ this.setupObserver();
837
+ }
838
+ this.connectControl();
839
+ }
840
+ syncParentProps() {
841
+ if (this.formEl) {
842
+ this.parentLayout = this.formEl.getAttribute('layout') || this.formEl.layout || 'horizontal';
843
+ this.parentColon = this.formEl.getAttribute('colon') !== 'false' && this.formEl.colon !== false;
844
+ this.parentHideRequiredMark = this.formEl.getAttribute('hide-required-mark') === 'true' || this.formEl.hideRequiredMark === true;
845
+ this.parentLabelAlign = this.formEl.labelAlign || 'right';
846
+ }
847
+ }
848
+ setupObserver() {
849
+ if (this.formEl && !this.observer) {
850
+ this.observer = new MutationObserver((mutations) => {
851
+ mutations.forEach((mutation) => {
852
+ if (mutation.type === 'attributes' && (mutation.attributeName === 'layout' ||
853
+ mutation.attributeName === 'colon' ||
854
+ mutation.attributeName === 'hide-required-mark')) {
855
+ this.syncParentProps();
856
+ }
857
+ });
858
+ });
859
+ this.observer.observe(this.formEl, { attributes: true });
860
+ }
861
+ }
862
+ disconnectedCallback() {
863
+ if (this.unsubscribe) {
864
+ this.unsubscribe();
865
+ }
866
+ if (this.observer) {
867
+ this.observer.disconnect();
868
+ }
869
+ }
870
+ connectControl() {
871
+ if (this.unsubscribe) {
872
+ this.unsubscribe();
873
+ }
874
+ if (this.formEl && this.formEl.form && this.name) {
875
+ let control = this.formEl.form.get(this.name);
876
+ if (!control) {
877
+ // Self-registration: create a control if it doesn't exist
878
+ const initialValue = this.formEl.initialValues?.[this.name];
879
+ control = new FormControl(initialValue);
880
+ this.formEl.form.addControl(this.name, control);
881
+ }
882
+ if (control) {
883
+ this.control = control;
884
+ this.syncState(control);
885
+ this.unsubscribe = control.stateChanges(() => {
886
+ this.syncState(control);
887
+ });
888
+ // Update child component value
889
+ this.updateChildValue(control.value);
890
+ }
891
+ }
892
+ }
893
+ syncState(control) {
894
+ if (control.touched || control.dirty) {
895
+ this.validateStatus = control.invalid ? 'error' : (control.pending ? 'validating' : 'success');
896
+ if (control.errors && !this.help) {
897
+ this.errorMessage = Object.values(control.errors)[0];
898
+ }
899
+ else {
900
+ this.errorMessage = '';
901
+ }
902
+ }
903
+ const internalControl = control;
904
+ const validators = (internalControl._validators || internalControl.validators || []);
905
+ const isRequired = Array.isArray(validators) && validators.some((v) => v.name === 'required' ||
906
+ (v.toString && v.toString().includes('required')) ||
907
+ (v.validator && v.validator.name === 'required'));
908
+ if (isRequired && !this.required) {
909
+ this.required = true;
910
+ }
911
+ }
912
+ updateChildValue(value) {
913
+ const input = this.el.querySelector('x-input, x-input-number, x-select, x-checkbox, x-switch');
914
+ if (input && input[this.valuePropName] !== value) {
915
+ input[this.valuePropName] = value;
916
+ }
917
+ }
918
+ handleControlChange = (ev) => {
919
+ if (this.control && this.name) {
920
+ const detail = ev.detail;
921
+ const value = detail?.[this.valuePropName] !== undefined
922
+ ? detail[this.valuePropName]
923
+ : (detail?.value !== undefined ? detail.value : ev.target[this.valuePropName]);
924
+ this.control.setValue(value);
925
+ this.control.markAsDirty();
926
+ }
927
+ };
928
+ handleControlBlur = () => {
929
+ if (this.control) {
930
+ this.control.markAsTouched();
931
+ }
932
+ };
933
+ componentDidLoad() {
934
+ // Listen to changes from child inputs
935
+ this.el.addEventListener('xChange', this.handleControlChange);
936
+ this.el.addEventListener('xBlur', this.handleControlBlur);
937
+ }
938
+ render() {
939
+ const displayHelp = this.help || this.errorMessage;
940
+ const layout = this.layout || this.parentLayout || 'horizontal';
941
+ const isHorizontal = layout === 'horizontal';
942
+ const isVertical = layout === 'vertical';
943
+ const isInline = layout === 'inline';
944
+ const showColon = this.el.hasAttribute('colon') ? this.colon : this.parentColon;
945
+ const hideMark = this.parentHideRequiredMark;
946
+ return (index.h(index.Host, { key: '9e53e5534b7091f5041150f831adec589cffa581', class: {
947
+ 'x-form-item': true,
948
+ 'x-form-item-with-help': !!displayHelp,
949
+ 'x-form-item-has-error': this.validateStatus === 'error',
950
+ 'x-form-item-has-warning': this.validateStatus === 'warning',
951
+ 'x-form-item-has-success': this.validateStatus === 'success',
952
+ 'x-form-item-validating': this.validateStatus === 'validating',
953
+ 'x-form-item-has-feedback': this.hasFeedback,
954
+ 'x-form-item-horizontal': isHorizontal,
955
+ 'x-form-item-vertical': isVertical,
956
+ 'x-form-item-inline': isInline,
957
+ } }, index.h("div", { key: 'c5dd09be09f559f986fb4d36c70f5c391622b107', class: "x-form-item-row" }, this.label && (index.h("div", { key: 'f77d9c4d9b5241a540546b9d674178f375e92c6d', class: {
958
+ 'x-form-item-label': true,
959
+ ...(typeof this.labelCol === 'string' ? { [this.labelCol]: true } : {}),
960
+ [`x-form-item-label-${this.labelAlign || this.parentLabelAlign || 'right'}`]: true
961
+ }, style: typeof this.labelCol === 'object' && this.labelCol?.span ? {
962
+ flex: `0 0 ${(this.labelCol.span / 24) * 100}%`,
963
+ maxWidth: `${(this.labelCol.span / 24) * 100}%`
964
+ } : {} }, index.h("label", { key: 'e4464d27147d1cee39619ad37cb7c5a6f9cb3139', class: {
965
+ 'x-form-item-required': this.required && !hideMark,
966
+ 'x-form-item-no-colon': !showColon
967
+ }, title: this.label }, this.label))), index.h("div", { key: '508207d8171598a5d2122eddc91ab9ddbedb8494', class: {
968
+ 'x-form-item-control': true,
969
+ ...(typeof this.wrapperCol === 'string' ? { [this.wrapperCol]: true } : {})
970
+ }, style: typeof this.wrapperCol === 'object' && this.wrapperCol?.span ? {
971
+ flex: `0 0 ${(this.wrapperCol.span / 24) * 100}%`,
972
+ maxWidth: `${(this.wrapperCol.span / 24) * 100}%`
973
+ } : {} }, index.h("div", { key: 'b47d5161aaf6f42cd47781118b11094c599e240b', class: "x-form-item-control-input" }, index.h("div", { key: '3437bb735c66cafb7c463f7be885f19470fdf137', class: "x-form-item-control-input-content" }, index.h("slot", { key: '7f8b3ce874b4281e3a3f9eec36fe1f2a7a772a44' })), this.hasFeedback && this.validateStatus && (index.h("span", { key: '4e032dde91980865acc598ecb093d293f1188fa7', class: "x-form-item-children-icon" }, this.validateStatus === 'success' && (index.h("span", { key: 'b7af17e662a03db206209e6ac5fbb8e43630d2d5', role: "img", "aria-label": "check-circle", class: "anticon anticon-check-circle" }, index.h("svg", { key: '14772b5dbf639304b9fc6dc3fc64355a45ca880d', viewBox: "64 64 896 896", focusable: "false", "data-icon": "check-circle", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true" }, index.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' && (index.h("span", { key: 'a26ddb33d965813b3b07c20579f96ea37a5ea5b7', role: "img", "aria-label": "close-circle", class: "anticon anticon-close-circle" }, index.h("svg", { key: 'c5a5ecb10bcbbb892a339747122e8245f0f19543', viewBox: "64 64 896 896", focusable: "false", "data-icon": "close-circle", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true" }, index.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' && (index.h("span", { key: '7ebd6dd058a5c99ac84a9d2941d89638b2b1e52a', role: "img", "aria-label": "exclamation-circle", class: "anticon anticon-exclamation-circle" }, index.h("svg", { key: 'b3e076d376e5b977fa8a7a3aeed8e827d393e340', viewBox: "64 64 896 896", focusable: "false", "data-icon": "exclamation-circle", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true" }, index.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' && (index.h("span", { key: 'c6f937df1576cf819f82b781a51b4251327e58d0', role: "img", "aria-label": "loading", class: "anticon anticon-loading" }, index.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" }, index.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 && (index.h("div", { key: 'c0fee0d5924b829c6e83fdde04e6f6b8083763c6', class: "x-form-item-explain" }, index.h("div", { key: '95dfa6a1a8d9643934e09c13ec7266fd8e824df4', role: "alert" }, displayHelp))), this.extra && (index.h("div", { key: 'b71cc65d15e1eae8ce0a904d0db956c0f549dcce', class: "x-form-item-extra" }, this.extra))))));
974
+ }
975
+ static get watchers() { return {
976
+ "name": [{
977
+ "nameChanged": 0
978
+ }]
979
+ }; }
980
+ };
981
+ XFormItem.style = xFormItemCss();
982
+
983
+ /**
984
+ * X-Input-Number Types - Following Ant Design Specification
985
+ */
986
+ /**
987
+ * Helper to validate if value is within range
988
+ */
989
+ /**
990
+ * Helper to clamp value within range
991
+ */
992
+ function clampValue(value, min, max, precision) {
993
+ if (value === null || value === undefined || value === '') {
994
+ return value;
995
+ }
996
+ let numValue = typeof value === 'string' ? parseFloat(value) : value;
997
+ if (isNaN(numValue)) {
998
+ return null;
999
+ }
1000
+ // Clamp to range
1001
+ numValue = Math.min(Math.max(numValue, min), max);
1002
+ // Apply precision
1003
+ if (precision !== undefined && precision >= 0) {
1004
+ numValue = parseFloat(numValue.toFixed(precision));
1005
+ }
1006
+ return numValue;
1007
+ }
1008
+ /**
1009
+ * Helper to format number with precision
1010
+ */
1011
+ function formatWithPrecision(value, precision) {
1012
+ if (value === null || value === undefined || value === '') {
1013
+ return '';
1014
+ }
1015
+ const numValue = typeof value === 'string' ? parseFloat(value) : value;
1016
+ if (isNaN(numValue)) {
1017
+ return '';
1018
+ }
1019
+ if (precision !== undefined && precision >= 0) {
1020
+ return numValue.toFixed(precision);
1021
+ }
1022
+ return String(numValue);
1023
+ }
1024
+ /**
1025
+ * Helper to add step with precision handling
1026
+ */
1027
+ function addStep(value, step, direction, precision) {
1028
+ let numValue = 0;
1029
+ if (value !== null && value !== undefined && value !== '') {
1030
+ numValue = typeof value === 'string' ? parseFloat(value) : value;
1031
+ if (isNaN(numValue)) {
1032
+ numValue = 0;
1033
+ }
1034
+ }
1035
+ const offset = direction === 'up' ? step : -step;
1036
+ let nextValue = numValue + offset;
1037
+ // Handle floating point precision issues
1038
+ if (precision !== undefined && precision >= 0) {
1039
+ nextValue = parseFloat(nextValue.toFixed(precision));
1040
+ }
1041
+ else {
1042
+ // Auto-detect precision from step
1043
+ const stepStr = String(step);
1044
+ const decimalIndex = stepStr.indexOf('.');
1045
+ if (decimalIndex !== -1) {
1046
+ const stepPrecision = stepStr.length - decimalIndex - 1;
1047
+ nextValue = parseFloat(nextValue.toFixed(stepPrecision));
1048
+ }
1049
+ }
1050
+ return nextValue;
1051
+ }
1052
+
1053
+ 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}`;
1054
+
1055
+ const XInputNumber = class {
1056
+ constructor(hostRef) {
1057
+ index.registerInstance(this, hostRef);
1058
+ this.xChange = index.createEvent(this, "xChange", 7);
1059
+ this.xPressEnter = index.createEvent(this, "xPressEnter", 7);
1060
+ this.xStep = index.createEvent(this, "xStep", 7);
1061
+ this.xFocus = index.createEvent(this, "xFocus", 7);
1062
+ this.xBlur = index.createEvent(this, "xBlur", 7);
1063
+ }
1064
+ get el() { return index.getElement(this); }
1065
+ // ==================== Props ====================
1066
+ /**
1067
+ * The label text displayed after (on the right side of) the input field
1068
+ * @example
1069
+ * <x-input-number addonAfter="USD"></x-input-number>
1070
+ */
1071
+ addonAfter;
1072
+ /**
1073
+ * The label text displayed before (on the left side of) the input field
1074
+ * @example
1075
+ * <x-input-number addonBefore="$"></x-input-number>
1076
+ */
1077
+ addonBefore;
1078
+ /**
1079
+ * Whether to get focus when component mounted
1080
+ * @default false
1081
+ * @example
1082
+ * <x-input-number autoFocus></x-input-number>
1083
+ */
1084
+ autoFocus = false;
1085
+ /**
1086
+ * Whether to show +/- controls
1087
+ * @default true
1088
+ * @example
1089
+ * <x-input-number controls={false}></x-input-number>
1090
+ */
1091
+ controls = true;
1092
+ /**
1093
+ * Custom decimal separator
1094
+ * @example
1095
+ * <x-input-number decimalSeparator=","></x-input-number>
1096
+ */
1097
+ decimalSeparator;
1098
+ /**
1099
+ * Default value
1100
+ * @example
1101
+ * <x-input-number defaultValue={3}></x-input-number>
1102
+ */
1103
+ defaultValue;
1104
+ /**
1105
+ * Whether the input is disabled
1106
+ * @default false
1107
+ * @example
1108
+ * <x-input-number disabled></x-input-number>
1109
+ */
1110
+ disabled = false;
1111
+ /**
1112
+ * Specifies the format of the value presented
1113
+ * @example
1114
+ * <x-input-number formatter={(v) => `$${v}`}></x-input-number>
1115
+ */
1116
+ formatter;
1117
+ /**
1118
+ * Whether to enable keyboard behavior
1119
+ * @default true
1120
+ * @example
1121
+ * <x-input-number keyboard={false}></x-input-number>
1122
+ */
1123
+ keyboard = true;
1124
+ /**
1125
+ * The max value
1126
+ * @default Number.MAX_SAFE_INTEGER
1127
+ * @example
1128
+ * <x-input-number max={100}></x-input-number>
1129
+ */
1130
+ max = Number.MAX_SAFE_INTEGER;
1131
+ /**
1132
+ * The min value
1133
+ * @default Number.MIN_SAFE_INTEGER
1134
+ * @example
1135
+ * <x-input-number min={0}></x-input-number>
1136
+ */
1137
+ min = Number.MIN_SAFE_INTEGER;
1138
+ /**
1139
+ * Specifies the value extracted from formatter
1140
+ * @example
1141
+ * <x-input-number parser={(v) => v.replace(/[^\d.]/g, '')}></x-input-number>
1142
+ */
1143
+ parser;
1144
+ /**
1145
+ * Placeholder text
1146
+ * @example
1147
+ * <x-input-number placeholder="Amount"></x-input-number>
1148
+ */
1149
+ placeholder;
1150
+ /**
1151
+ * The precision of input value
1152
+ * @example
1153
+ * <x-input-number precision={2}></x-input-number>
1154
+ */
1155
+ precision;
1156
+ /**
1157
+ * The prefix icon/text for the Input
1158
+ * @example
1159
+ * <x-input-number prefixIcon="calculate"></x-input-number>
1160
+ */
1161
+ prefixIcon;
1162
+ /**
1163
+ * Whether the input is read only
1164
+ * @default false
1165
+ * @example
1166
+ * <x-input-number readOnly></x-input-number>
1167
+ */
1168
+ readOnly = false;
1169
+ /**
1170
+ * The size of the input box
1171
+ * @default 'middle'
1172
+ * @example
1173
+ * <x-input-number size="small"></x-input-number>
1174
+ */
1175
+ size = 'middle';
1176
+ /**
1177
+ * Set validation status
1178
+ * @example
1179
+ * <x-input-number status="error"></x-input-number>
1180
+ */
1181
+ status;
1182
+ /**
1183
+ * The number to which the current value is increased or decreased
1184
+ * @default 1
1185
+ * @example
1186
+ * <x-input-number step={0.5}></x-input-number>
1187
+ */
1188
+ step = 1;
1189
+ /**
1190
+ * Set value as string to support high precision decimals
1191
+ * @default false
1192
+ * @example
1193
+ * <x-input-number stringMode></x-input-number>
1194
+ */
1195
+ stringMode = false;
1196
+ /**
1197
+ * The suffix icon/text for the Input
1198
+ * @example
1199
+ * <x-input-number suffix="kg"></x-input-number>
1200
+ */
1201
+ suffix;
1202
+ /**
1203
+ * Current value
1204
+ * @example
1205
+ * <x-input-number value={10}></x-input-number>
1206
+ */
1207
+ value;
1208
+ /**
1209
+ * Variants of Input
1210
+ * @default 'outlined'
1211
+ * @example
1212
+ * <x-input-number variant="filled"></x-input-number>
1213
+ */
1214
+ variant = 'outlined';
1215
+ /**
1216
+ * Enable wheel to change value
1217
+ * @default false
1218
+ * @example
1219
+ * <x-input-number changeOnWheel></x-input-number>
1220
+ */
1221
+ changeOnWheel = false;
1222
+ /**
1223
+ * Custom class names
1224
+ * @example
1225
+ * <x-input-number classNames={{ root: 'my-input-number' }}></x-input-number>
1226
+ */
1227
+ classNames;
1228
+ /**
1229
+ * Custom styles
1230
+ * @example
1231
+ * <x-input-number styles={{ root: { width: '200px' } }}></x-input-number>
1232
+ */
1233
+ styles;
1234
+ // ==================== Events ====================
1235
+ /**
1236
+ * Emitted when value is changed
1237
+ * @example
1238
+ * <x-input-number onXChange={(ev) => console.log(ev.detail)}></x-input-number>
1239
+ */
1240
+ xChange;
1241
+ /**
1242
+ * Emitted when the user presses Enter
1243
+ * @example
1244
+ * <x-input-number onXPressEnter={(ev) => console.log(ev.key)}></x-input-number>
1245
+ */
1246
+ xPressEnter;
1247
+ /**
1248
+ * Emitted when step button is clicked
1249
+ * @example
1250
+ * <x-input-number onXStep={(ev) => console.log(ev.detail)}></x-input-number>
1251
+ */
1252
+ xStep;
1253
+ /**
1254
+ * Emitted when input gets focus
1255
+ * @example
1256
+ * <x-input-number onXFocus={(ev) => console.log(ev)}></x-input-number>
1257
+ */
1258
+ xFocus;
1259
+ /**
1260
+ * Emitted when input loses focus
1261
+ * @example
1262
+ * <x-input-number onXBlur={(ev) => console.log(ev)}></x-input-number>
1263
+ */
1264
+ xBlur;
1265
+ // ==================== State ====================
1266
+ /**
1267
+ * Focus state.
1268
+ */
1269
+ focused = false;
1270
+ /**
1271
+ * Display value in input.
1272
+ */
1273
+ inputValue = '';
1274
+ /**
1275
+ * Typing state to avoid clamping mid-typing.
1276
+ */
1277
+ isTyping = false;
1278
+ // ==================== Private Properties ====================
1279
+ /**
1280
+ * Input element reference.
1281
+ */
1282
+ inputRef;
1283
+ /**
1284
+ * Timer for long-press stepping.
1285
+ */
1286
+ holdTimer;
1287
+ // ==================== Lifecycle ====================
1288
+ /**
1289
+ * Initialize value before render.
1290
+ * @returns void
1291
+ */
1292
+ componentWillLoad() {
1293
+ // Initialize value
1294
+ if (this.value === undefined && this.defaultValue !== undefined) {
1295
+ this.value = this.defaultValue;
1296
+ }
1297
+ this.updateInputValue();
1298
+ }
1299
+ /**
1300
+ * Auto focus on mount when enabled.
1301
+ * @returns void
1302
+ */
1303
+ componentDidLoad() {
1304
+ if (this.autoFocus && this.inputRef) {
1305
+ this.inputRef.focus();
1306
+ }
1307
+ }
1308
+ /**
1309
+ * Cleanup timers on disconnect.
1310
+ * @returns void
1311
+ */
1312
+ disconnectedCallback() {
1313
+ if (this.holdTimer) {
1314
+ clearInterval(this.holdTimer);
1315
+ }
1316
+ }
1317
+ // ==================== Watchers ====================
1318
+ /**
1319
+ * Sync input display when value changes.
1320
+ * @returns void
1321
+ */
1322
+ handleValueChange() {
1323
+ if (!this.isTyping) {
1324
+ this.updateInputValue();
1325
+ }
1326
+ }
1327
+ // ==================== Public Methods ====================
1328
+ /**
1329
+ * Focus the input element
1330
+ * @returns Promise<void>
1331
+ * @example
1332
+ * await el.setFocus()
1333
+ */
1334
+ async setFocus() {
1335
+ this.inputRef?.focus();
1336
+ }
1337
+ /**
1338
+ * Remove focus from the input element
1339
+ * @returns Promise<void>
1340
+ * @example
1341
+ * await el.setBlur()
1342
+ */
1343
+ async setBlur() {
1344
+ this.inputRef?.blur();
1345
+ }
1346
+ // ==================== Private Methods ====================
1347
+ /**
1348
+ * Update formatted input display value.
1349
+ *
1350
+ * Flow:
1351
+ * 1. Checks if `value` is valid.
1352
+ * 2. Formats value using `formatter` prop or default `formatWithPrecision`.
1353
+ * 3. Replaces decimal separator if custom one is provided.
1354
+ * 4. Updates `inputValue` state (which is displayed in the input).
1355
+ *
1356
+ * @returns void
1357
+ */
1358
+ updateInputValue() {
1359
+ let displayValue = '';
1360
+ if (this.value !== null && this.value !== undefined && this.value !== '') {
1361
+ if (this.formatter) {
1362
+ displayValue = this.formatter(this.value, {
1363
+ userTyping: this.isTyping,
1364
+ input: this.inputValue,
1365
+ });
1366
+ }
1367
+ else {
1368
+ displayValue = formatWithPrecision(this.value, this.precision);
1369
+ }
1370
+ // Apply custom decimal separator
1371
+ if (this.decimalSeparator && this.decimalSeparator !== '.') {
1372
+ displayValue = displayValue.replace('.', this.decimalSeparator);
1373
+ }
1374
+ }
1375
+ this.inputValue = displayValue;
1376
+ }
1377
+ /**
1378
+ * Parse input string into numeric value.
1379
+ *
1380
+ * Flow:
1381
+ * 1. Handles empty or invalid inputs.
1382
+ * 2. Applies `parser` prop if provided.
1383
+ * 3. Normalizes custom decimal separator to dot.
1384
+ * 4. Removes non-numeric characters.
1385
+ * 5. Parses string to float.
1386
+ *
1387
+ * @param input - Input string.
1388
+ * @returns InputNumberValue
1389
+ */
1390
+ parseValue(input) {
1391
+ if (!input || input === '' || input === '-') {
1392
+ return null;
1393
+ }
1394
+ let value = input;
1395
+ // Apply parser if provided
1396
+ if (this.parser) {
1397
+ return this.parser(value);
1398
+ }
1399
+ // Replace custom decimal separator
1400
+ if (this.decimalSeparator && this.decimalSeparator !== '.') {
1401
+ value = value.replace(new RegExp(`\\${this.decimalSeparator}`, 'g'), '.');
1402
+ }
1403
+ // Remove non-numeric characters
1404
+ value = value.replace(/[^\d.-]/g, '');
1405
+ const numValue = parseFloat(value);
1406
+ return isNaN(numValue) ? null : numValue;
1407
+ }
1408
+ /**
1409
+ * Handle input change and emit events.
1410
+ *
1411
+ * Flow:
1412
+ * 1. Updates `inputValue` state from target.
1413
+ * 2. Sets `isTyping` flag to true (prevents auto-formatting while typing).
1414
+ * 3. Parses value.
1415
+ * 4. Updates `value` state (without clamping, to allow intermediate invalid states while typing).
1416
+ * 5. Emits `xChange` event.
1417
+ *
1418
+ * @param e - Input event.
1419
+ * @returns void
1420
+ */
1421
+ handleInput = (e) => {
1422
+ const target = e.target;
1423
+ this.inputValue = target.value;
1424
+ this.isTyping = true;
1425
+ const parsedValue = this.parseValue(target.value);
1426
+ if (parsedValue !== null) {
1427
+ // Don't clamp while typing, just update value
1428
+ this.value = this.stringMode ? String(parsedValue) : parsedValue;
1429
+ this.xChange.emit({ value: this.value });
1430
+ }
1431
+ };
1432
+ /**
1433
+ * Handle input focus.
1434
+ * @param e - Focus event.
1435
+ * @returns void
1436
+ */
1437
+ handleFocus = (e) => {
1438
+ this.focused = true;
1439
+ this.xFocus.emit(e);
1440
+ };
1441
+ /**
1442
+ * Handle input blur and clamp value.
1443
+ * @param e - Focus event.
1444
+ * @returns void
1445
+ */
1446
+ handleBlur = (e) => {
1447
+ this.focused = false;
1448
+ this.isTyping = false;
1449
+ // Validate and clamp value on blur
1450
+ let finalValue = this.value;
1451
+ if (finalValue !== null && finalValue !== undefined && finalValue !== '') {
1452
+ finalValue = clampValue(finalValue, this.min, this.max, this.precision);
1453
+ }
1454
+ if (finalValue !== this.value) {
1455
+ this.value = finalValue;
1456
+ this.xChange.emit({ value: this.value });
1457
+ }
1458
+ this.updateInputValue();
1459
+ this.xBlur.emit(e);
1460
+ };
1461
+ /**
1462
+ * Handle keyboard input and stepping.
1463
+ * @param e - Keyboard event.
1464
+ * @returns void
1465
+ */
1466
+ handleKeyDown = (e) => {
1467
+ if (e.key === 'Enter') {
1468
+ this.xPressEnter.emit(e);
1469
+ this.handleBlur(e);
1470
+ }
1471
+ else if (this.keyboard) {
1472
+ if (e.key === 'ArrowUp') {
1473
+ e.preventDefault();
1474
+ this.handleStep('up');
1475
+ }
1476
+ else if (e.key === 'ArrowDown') {
1477
+ e.preventDefault();
1478
+ this.handleStep('down');
1479
+ }
1480
+ }
1481
+ };
1482
+ /**
1483
+ * Handle mouse wheel for stepping.
1484
+ * @param e - Wheel event.
1485
+ * @returns void
1486
+ */
1487
+ handleWheel = (e) => {
1488
+ if (!this.changeOnWheel || !this.focused || this.disabled || this.readOnly) {
1489
+ return;
1490
+ }
1491
+ e.preventDefault();
1492
+ if (e.deltaY < 0) {
1493
+ this.handleStep('up');
1494
+ }
1495
+ else if (e.deltaY > 0) {
1496
+ this.handleStep('down');
1497
+ }
1498
+ };
1499
+ /**
1500
+ * Handle step change.
1501
+ *
1502
+ * Flow:
1503
+ * 1. Checks if disabled or readonly.
1504
+ * 2. Calculates next value using `addStep`.
1505
+ * 3. Clamps result within bounds.
1506
+ * 4. Updates `value` and `inputValue`.
1507
+ * 5. Emits `xChange` and `xStep` events.
1508
+ *
1509
+ * @param type - Step direction.
1510
+ * @returns void
1511
+ */
1512
+ handleStep = (type) => {
1513
+ if (this.disabled || this.readOnly)
1514
+ return;
1515
+ const nextValue = addStep(this.value, this.step, type, this.precision);
1516
+ const clampedValue = clampValue(nextValue, this.min, this.max, this.precision);
1517
+ if (clampedValue !== null) {
1518
+ this.value = this.stringMode ? String(clampedValue) : clampedValue;
1519
+ this.isTyping = false;
1520
+ this.updateInputValue();
1521
+ this.xChange.emit({ value: this.value });
1522
+ this.xStep.emit({
1523
+ value: this.value,
1524
+ offset: type === 'up' ? this.step : -this.step,
1525
+ type,
1526
+ });
1527
+ }
1528
+ };
1529
+ /**
1530
+ * Handle step button press and start repeat.
1531
+ * @param type - Step direction.
1532
+ * @param e - Mouse event.
1533
+ * @returns void
1534
+ */
1535
+ handleStepMouseDown = (type, e) => {
1536
+ e.preventDefault();
1537
+ this.handleStep(type);
1538
+ // Long press handling
1539
+ let delay = 600;
1540
+ const repeatStep = () => {
1541
+ this.handleStep(type);
1542
+ delay = Math.max(50, delay * 0.9);
1543
+ this.holdTimer = window.setTimeout(repeatStep, delay);
1544
+ };
1545
+ this.holdTimer = window.setTimeout(repeatStep, delay);
1546
+ };
1547
+ /**
1548
+ * Stop long-press stepping.
1549
+ * @returns void
1550
+ */
1551
+ handleStepMouseUp = () => {
1552
+ if (this.holdTimer) {
1553
+ clearTimeout(this.holdTimer);
1554
+ this.holdTimer = undefined;
1555
+ }
1556
+ };
1557
+ /**
1558
+ * Check if step-up is disabled.
1559
+ * @returns boolean
1560
+ */
1561
+ isUpDisabled() {
1562
+ if (this.disabled || this.readOnly)
1563
+ return true;
1564
+ const numValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value;
1565
+ return numValue !== null && numValue !== undefined && !isNaN(numValue) && numValue >= this.max;
1566
+ }
1567
+ /**
1568
+ * Check if step-down is disabled.
1569
+ * @returns boolean
1570
+ */
1571
+ isDownDisabled() {
1572
+ if (this.disabled || this.readOnly)
1573
+ return true;
1574
+ const numValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value;
1575
+ return numValue !== null && numValue !== undefined && !isNaN(numValue) && numValue <= this.min;
1576
+ }
1577
+ /**
1578
+ * Check if current value is out of range.
1579
+ * @returns boolean
1580
+ */
1581
+ isOutOfRange() {
1582
+ if (this.value === null || this.value === undefined || this.value === '') {
1583
+ return false;
1584
+ }
1585
+ const numValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value;
1586
+ if (isNaN(numValue))
1587
+ return false;
1588
+ return numValue < this.min || numValue > this.max;
1589
+ }
1590
+ // ==================== Render ====================
1591
+ /**
1592
+ * Render up icon.
1593
+ * @returns JSX.Element
1594
+ */
1595
+ renderUpIcon() {
1596
+ return (
1597
+ // <svg viewBox="64 64 896 896" focusable="false" width="1em" height="1em" fill="currentColor">
1598
+ // <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" />
1599
+ // </svg>
1600
+ index.h("x-icon", { name: config.getIcon('arrowUp') }));
1601
+ }
1602
+ /**
1603
+ * Render down icon.
1604
+ * @returns JSX.Element
1605
+ */
1606
+ renderDownIcon() {
1607
+ return (
1608
+ // <svg viewBox="64 64 896 896" focusable="false" width="1em" height="1em" fill="currentColor">
1609
+ // <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" />
1610
+ // </svg>
1611
+ index.h("x-icon", { name: config.getIcon('arrowDown') }));
1612
+ }
1613
+ /**
1614
+ * Render input number with controls.
1615
+ * @returns JSX.Element
1616
+ * @example
1617
+ * <x-input-number min={0} max={10} step={1}></x-input-number>
1618
+ */
1619
+ render() {
1620
+ const hasAddon = !!this.addonBefore || !!this.addonAfter;
1621
+ const hasAffix = !!this.prefixIcon || !!this.suffix;
1622
+ const wrapperClasses = {
1623
+ 'x-input-number-wrapper': true,
1624
+ 'x-input-number-focused': this.focused,
1625
+ 'x-input-number-disabled': this.disabled,
1626
+ 'x-input-number-readonly': this.readOnly,
1627
+ 'disabled': this.disabled,
1628
+ 'readonly': this.readOnly,
1629
+ 'x-input-number-out-of-range': this.isOutOfRange(),
1630
+ 'x-input-number-status-error': this.status === 'error',
1631
+ 'x-input-number-status-warning': this.status === 'warning',
1632
+ [`x-input-number-${this.size}`]: true,
1633
+ [`x-input-number-${this.variant}`]: true,
1634
+ 'x-input-number-has-addon': hasAddon,
1635
+ 'x-input-number-has-affix': hasAffix,
1636
+ [this.classNames?.root ?? '']: !!this.classNames?.root,
1637
+ };
1638
+ return (index.h(index.Host, { key: '121ff396550785581268cf58bbba452398aa194e', class: {
1639
+ 'x-input-number': true,
1640
+ [`x-input-number-${this.size}`]: true,
1641
+ } }, this.addonBefore && (index.h("span", { key: '65f9ebae015943f7748f625888a9257d3424d7de', class: "x-input-number-group-addon x-input-number-group-addon-before" }, index.h("slot", { key: 'eeaa2f4a4c22a04597109330901320ce5ca4d17a', name: "addonBefore" }, this.addonBefore))), index.h("div", { key: '4f13fea7319c6ea1520860a3eb62e758ed5f7e86', class: wrapperClasses, style: this.styles?.root }, this.prefixIcon && (index.h("span", { key: '5aef84bfd3445b9eba412a03c5bf3d6f4839849d', class: { 'x-input-number-prefix': true, [this.classNames?.prefix ?? '']: !!this.classNames?.prefix } }, index.h("slot", { key: 'e4d077e06a16fd89ea7e4d98767840b408123669', name: "prefix" }, this.prefixIcon))), index.h("div", { key: '95e44d6fb300e9a94c5bcbb64602523ee87bf26d', class: "x-input-number-input-wrap" }, index.h("input", { key: '9c416504c66b8ac7faa07dc2f83eca2867bb8d42', ref: (el) => (this.inputRef = el), class: {
1642
+ 'x-input-number-input': true,
1643
+ [this.classNames?.input ?? '']: !!this.classNames?.input,
1644
+ }, 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 && (index.h("span", { key: 'f5d9448d1dd2f00cc7c874230e7aa44ee08d9116', class: { 'x-input-number-suffix': true, [this.classNames?.suffix ?? '']: !!this.classNames?.suffix } }, index.h("slot", { key: 'f58380ae67766132439c8146d823e2a86b6bf32b', name: "suffix" }, this.suffix))), this.controls && (index.h("div", { key: '72e5024bf232d212300639b5b2030093b2149531', class: { 'x-input-number-handler-wrap': true, [this.classNames?.handlers ?? '']: !!this.classNames?.handlers } }, index.h("span", { key: '67968406dee6198ff1cc652351d39ac53e6043ef', class: {
1645
+ 'x-input-number-handler': true,
1646
+ 'x-input-number-handler-up': true,
1647
+ 'x-input-number-handler-disabled': this.isUpDisabled(),
1648
+ }, onMouseDown: (e) => !this.isUpDisabled() && this.handleStepMouseDown('up', e), onMouseUp: this.handleStepMouseUp, onMouseLeave: this.handleStepMouseUp }, index.h("span", { key: 'fba5d46dc0b52db13e8315e3201c87f23fd08f84', class: "x-input-number-handler-up-inner" }, this.renderUpIcon())), index.h("span", { key: '3ecbdf11351a90ebc795f021f0cccb05cf1e08f9', class: {
1649
+ 'x-input-number-handler': true,
1650
+ 'x-input-number-handler-down': true,
1651
+ 'x-input-number-handler-disabled': this.isDownDisabled(),
1652
+ }, onMouseDown: (e) => !this.isDownDisabled() && this.handleStepMouseDown('down', e), onMouseUp: this.handleStepMouseUp, onMouseLeave: this.handleStepMouseUp }, index.h("span", { key: '4335fd45f1a1842d1419a8e5edc2449f45f3faf8', class: "x-input-number-handler-down-inner" }, this.renderDownIcon()))))), this.addonAfter && (index.h("span", { key: '0ca6d501421a7641e0ed055b1abd5f0d29e498d2', class: "x-input-number-group-addon x-input-number-group-addon-after" }, index.h("slot", { key: '41f103cb4fe2b0c7a6e6d2dccf82ac3b2a983f56', name: "addonAfter" }, this.addonAfter)))));
1653
+ }
1654
+ static get watchers() { return {
1655
+ "value": [{
1656
+ "handleValueChange": 0
1657
+ }]
1658
+ }; }
1659
+ };
1660
+ XInputNumber.style = xInputNumberCss();
1661
+
1662
+ 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))}`;
1663
+
1664
+ const XModal = class {
1665
+ constructor(hostRef) {
1666
+ index.registerInstance(this, hostRef);
1667
+ this.xOk = index.createEvent(this, "xOk", 7);
1668
+ this.xCancel = index.createEvent(this, "xCancel", 7);
1669
+ }
1670
+ get el() { return index.getElement(this); }
1671
+ /**
1672
+ * Whether the modal is visible.
1673
+ * @example
1674
+ * <x-modal visible></x-modal>
1675
+ */
1676
+ visible = false;
1677
+ /**
1678
+ * Modal title.
1679
+ * @example
1680
+ * <x-modal modalTitle="Confirm"></x-modal>
1681
+ */
1682
+ modalTitle;
1683
+ /**
1684
+ * Width of the modal.
1685
+ * @example
1686
+ * <x-modal width={600}></x-modal>
1687
+ */
1688
+ width = 520;
1689
+ /**
1690
+ * Whether to show footer.
1691
+ * @example
1692
+ * <x-modal footer={false}></x-modal>
1693
+ */
1694
+ footer = true;
1695
+ /**
1696
+ * Whether to show close button.
1697
+ * @example
1698
+ * <x-modal closable={false}></x-modal>
1699
+ */
1700
+ closable = true;
1701
+ /**
1702
+ * Whether to show mask.
1703
+ * @example
1704
+ * <x-modal mask={false}></x-modal>
1705
+ */
1706
+ mask = true;
1707
+ /**
1708
+ * Whether clicking mask closes modal.
1709
+ * @example
1710
+ * <x-modal maskClosable={false}></x-modal>
1711
+ */
1712
+ maskClosable = true;
1713
+ /**
1714
+ * Whether to center the modal.
1715
+ * @example
1716
+ * <x-modal centered></x-modal>
1717
+ */
1718
+ centered = false;
1719
+ /**
1720
+ * OK button text.
1721
+ * @example
1722
+ * <x-modal okText="OK"></x-modal>
1723
+ */
1724
+ okText = locale_service.translate('Modal.okText', {}, 'OK');
1725
+ /**
1726
+ * Cancel button text.
1727
+ * @example
1728
+ * <x-modal cancelText="Cancel"></x-modal>
1729
+ */
1730
+ cancelText = locale_service.translate('Modal.cancelText', {}, 'Cancel');
1731
+ /**
1732
+ * OK button loading state.
1733
+ * @example
1734
+ * <x-modal okLoading></x-modal>
1735
+ */
1736
+ okLoading = false;
1737
+ /**
1738
+ * Cancel button loading state.
1739
+ * @example
1740
+ * <x-modal cancelLoading></x-modal>
1741
+ */
1742
+ cancelLoading = false;
1743
+ /**
1744
+ * OK button type.
1745
+ * @example
1746
+ * <x-modal okType="primary"></x-modal>
1747
+ */
1748
+ okType = 'primary';
1749
+ /**
1750
+ * Modal type (info, success, error, warning, confirm).
1751
+ * @example
1752
+ * <x-modal type="info"></x-modal>
1753
+ */
1754
+ type;
1755
+ /**
1756
+ * Event emitted when OK button is clicked.
1757
+ * @example
1758
+ * <x-modal onXOk={() => {}}></x-modal>
1759
+ */
1760
+ xOk;
1761
+ /**
1762
+ * Event emitted when Cancel button or modal is closed.
1763
+ * @example
1764
+ * <x-modal onXCancel={() => {}}></x-modal>
1765
+ */
1766
+ xCancel;
1767
+ /**
1768
+ * Portal instance for modal content.
1769
+ */
1770
+ portalInstance = null;
1771
+ /**
1772
+ * Create portal on initial visible state.
1773
+ * @returns void
1774
+ */
1775
+ componentDidLoad() {
1776
+ if (this.visible) {
1777
+ this.updatePortal();
1778
+ }
1779
+ }
1780
+ /**
1781
+ * Cleanup portal on disconnect.
1782
+ * @returns void
1783
+ */
1784
+ disconnectedCallback() {
1785
+ this.destroyPortal();
1786
+ }
1787
+ handleVisibleChange() {
1788
+ this.updatePortal();
1789
+ }
1790
+ handlePropsChange() {
1791
+ if (this.visible) {
1792
+ this.updatePortal();
1793
+ }
1794
+ }
1795
+ /**
1796
+ * Get body content from slot.
1797
+ * @returns string
1798
+ */
1799
+ getBodyContent() {
1800
+ const slot = this.el.shadowRoot?.querySelector('slot:not([name])');
1801
+ if (slot) {
1802
+ const nodes = slot.assignedNodes({ flatten: true });
1803
+ return nodes.map(node => {
1804
+ if (node.nodeType === Node.ELEMENT_NODE) {
1805
+ return node.outerHTML;
1806
+ }
1807
+ return node.textContent || '';
1808
+ }).join('');
1809
+ }
1810
+ return '';
1811
+ }
1812
+ /**
1813
+ * Get footer content from slot.
1814
+ * @returns string
1815
+ */
1816
+ getFooterContent() {
1817
+ const slot = this.el.shadowRoot?.querySelector('slot[name="footer"]');
1818
+ if (slot) {
1819
+ const nodes = slot.assignedNodes({ flatten: true });
1820
+ if (nodes.length > 0) {
1821
+ return nodes.map(node => {
1822
+ if (node.nodeType === Node.ELEMENT_NODE) {
1823
+ return node.outerHTML;
1824
+ }
1825
+ return node.textContent || '';
1826
+ }).join('');
1827
+ }
1828
+ }
1829
+ return '';
1830
+ }
1831
+ /**
1832
+ * Build modal content element for portal.
1833
+ *
1834
+ * Flow:
1835
+ * 1. Creates `x-modal-content` element.
1836
+ * 2. Assigns all visual props (title, width, footer, etc.).
1837
+ * 3. Injects body and footer content extracted from slots.
1838
+ * 4. Attaches `xOk` and `xCancel` event listeners to forward events.
1839
+ *
1840
+ * @returns HTMLElement
1841
+ */
1842
+ buildModalElement() {
1843
+ const modalEl = document.createElement('x-modal-content');
1844
+ // Set properties
1845
+ modalEl.modalTitle = this.modalTitle;
1846
+ modalEl.width = this.width;
1847
+ modalEl.footer = this.footer;
1848
+ modalEl.closable = this.closable;
1849
+ modalEl.mask = this.mask;
1850
+ modalEl.maskClosable = this.maskClosable;
1851
+ modalEl.centered = this.centered;
1852
+ modalEl.okText = this.okText;
1853
+ modalEl.cancelText = this.cancelText;
1854
+ modalEl.okLoading = this.okLoading;
1855
+ modalEl.cancelLoading = this.cancelLoading;
1856
+ modalEl.okType = this.okType;
1857
+ modalEl.type = this.type;
1858
+ // Get slot content
1859
+ modalEl.bodyContent = this.getBodyContent();
1860
+ modalEl.footerContent = this.getFooterContent();
1861
+ // Attach event listeners
1862
+ modalEl.addEventListener('xOk', () => {
1863
+ this.xOk.emit();
1864
+ });
1865
+ modalEl.addEventListener('xCancel', () => {
1866
+ this.xCancel.emit();
1867
+ });
1868
+ return modalEl;
1869
+ }
1870
+ /**
1871
+ * Update portal with modal content.
1872
+ * @returns void
1873
+ */
1874
+ updatePortal() {
1875
+ if (!this.visible) {
1876
+ this.destroyPortal();
1877
+ return;
1878
+ }
1879
+ // Build modal element
1880
+ const modalElement = this.buildModalElement();
1881
+ if (!this.portalInstance) {
1882
+ // Create new portal instance
1883
+ this.portalInstance = portalController.PortalController.create({
1884
+ open: true,
1885
+ zIndex: 1000,
1886
+ content: modalElement,
1887
+ });
1888
+ }
1889
+ else {
1890
+ // Update existing portal
1891
+ this.portalInstance.update({
1892
+ open: true,
1893
+ content: modalElement,
1894
+ });
1895
+ }
1896
+ }
1897
+ /**
1898
+ * Destroy portal instance.
1899
+ * @returns void
1900
+ */
1901
+ destroyPortal() {
1902
+ if (this.portalInstance) {
1903
+ this.portalInstance.destroy();
1904
+ this.portalInstance = null;
1905
+ }
1906
+ }
1907
+ /**
1908
+ * Render hidden slots to capture content for portal.
1909
+ * @returns JSX.Element
1910
+ */
1911
+ render() {
1912
+ return (index.h(index.Host, { key: 'c3e46fc9b067f8d4700762b5bb0d284dc190c1e8', class: {
1913
+ 'x-modal': true,
1914
+ 'x-modal-open': this.visible,
1915
+ } }, index.h("div", { key: 'd620493f845e4b86b29fa46b868dbab2d632908a', style: { display: 'none' } }, index.h("slot", { key: '202a7875383dfb9f3c6b5fc9a5183a916d0b9563' }), index.h("slot", { key: '10e85c6d0994bf249c3974bdb881efda16385702', name: "footer" }))));
1916
+ }
1917
+ static get watchers() { return {
1918
+ "visible": [{
1919
+ "handleVisibleChange": 0
1920
+ }],
1921
+ "modalTitle": [{
1922
+ "handlePropsChange": 0
1923
+ }],
1924
+ "width": [{
1925
+ "handlePropsChange": 0
1926
+ }],
1927
+ "footer": [{
1928
+ "handlePropsChange": 0
1929
+ }],
1930
+ "closable": [{
1931
+ "handlePropsChange": 0
1932
+ }],
1933
+ "mask": [{
1934
+ "handlePropsChange": 0
1935
+ }],
1936
+ "maskClosable": [{
1937
+ "handlePropsChange": 0
1938
+ }],
1939
+ "centered": [{
1940
+ "handlePropsChange": 0
1941
+ }],
1942
+ "okText": [{
1943
+ "handlePropsChange": 0
1944
+ }],
1945
+ "cancelText": [{
1946
+ "handlePropsChange": 0
1947
+ }],
1948
+ "okLoading": [{
1949
+ "handlePropsChange": 0
1950
+ }],
1951
+ "cancelLoading": [{
1952
+ "handlePropsChange": 0
1953
+ }],
1954
+ "okType": [{
1955
+ "handlePropsChange": 0
1956
+ }],
1957
+ "type": [{
1958
+ "handlePropsChange": 0
1959
+ }]
1960
+ }; }
1961
+ };
1962
+ XModal.style = xModalCss();
1963
+
1964
+ 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}`;
1965
+
1966
+ const XSlider = class {
1967
+ constructor(hostRef) {
1968
+ index.registerInstance(this, hostRef);
1969
+ this.xChange = index.createEvent(this, "xChange", 7);
1970
+ this.xAfterChange = index.createEvent(this, "xAfterChange", 7);
1971
+ }
1972
+ get el() { return index.getElement(this); }
1973
+ /* ---------------- PROPS ---------------- */
1974
+ /**
1975
+ * Minimum slider value.
1976
+ * @example
1977
+ * <x-slider min={0}></x-slider>
1978
+ */
1979
+ min = 0;
1980
+ /**
1981
+ * Maximum slider value.
1982
+ * @example
1983
+ * <x-slider max={100}></x-slider>
1984
+ */
1985
+ max = 100;
1986
+ /**
1987
+ * Step size between values, or null to use marks.
1988
+ * @example
1989
+ * <x-slider step={5}></x-slider>
1990
+ */
1991
+ step = 1;
1992
+ /**
1993
+ * Enable range mode with two thumbs.
1994
+ * @example
1995
+ * <x-slider range></x-slider>
1996
+ */
1997
+ range = false;
1998
+ /**
1999
+ * Render slider vertically.
2000
+ * @example
2001
+ * <x-slider vertical></x-slider>
2002
+ */
2003
+ vertical = false;
2004
+ /**
2005
+ * Disable interaction.
2006
+ * @example
2007
+ * <x-slider disabled></x-slider>
2008
+ */
2009
+ disabled = false;
2010
+ /**
2011
+ * Allow thumbs to cross in range mode.
2012
+ * @example
2013
+ * <x-slider range allowCross={false}></x-slider>
2014
+ */
2015
+ allowCross = true;
2016
+ /**
2017
+ * Push behavior or minimum distance between thumbs.
2018
+ * @example
2019
+ * <x-slider range pushable={10}></x-slider>
2020
+ */
2021
+ pushable = false;
2022
+ /**
2023
+ * Allow dragging the selected track in range mode.
2024
+ * @example
2025
+ * <x-slider range draggableTrack></x-slider>
2026
+ */
2027
+ draggableTrack = false;
2028
+ /**
2029
+ * Show tooltip values on handles.
2030
+ * @example
2031
+ * <x-slider tooltip={false}></x-slider>
2032
+ */
2033
+ tooltip = true;
2034
+ /**
2035
+ * Marks displayed on the rail.
2036
+ * @example
2037
+ * <x-slider marks={{ 0: '0', 100: '100' }}></x-slider>
2038
+ */
2039
+ marks = {};
2040
+ /**
2041
+ * Controlled value for slider.
2042
+ * @example
2043
+ * <x-slider value={50}></x-slider>
2044
+ */
2045
+ value;
2046
+ /**
2047
+ * Default value when uncontrolled.
2048
+ * @example
2049
+ * <x-slider defaultValue={20}></x-slider>
2050
+ */
2051
+ defaultValue = 0;
2052
+ /* ---------------- STATE ---------------- */
2053
+ /**
2054
+ * Active thumb index while dragging.
2055
+ */
2056
+ activeThumb = null;
2057
+ /**
2058
+ * Whether a drag interaction is active.
2059
+ */
2060
+ isDragging = false;
2061
+ /* ---------------- EVENTS ---------------- */
2062
+ /**
2063
+ * Emits on value change.
2064
+ * @example
2065
+ * <x-slider onXChange={(ev) => console.log(ev.detail)}></x-slider>
2066
+ */
2067
+ xChange;
2068
+ /**
2069
+ * Emits after drag interaction ends.
2070
+ * @example
2071
+ * <x-slider onXAfterChange={(ev) => console.log(ev.detail)}></x-slider>
2072
+ */
2073
+ xAfterChange;
2074
+ /**
2075
+ * Rail element reference for position calculations.
2076
+ */
2077
+ rail;
2078
+ /* ---------------- LIFECYCLE ---------------- */
2079
+ componentWillLoad() {
2080
+ if (this.value === undefined) {
2081
+ this.value = this.range
2082
+ ? [this.min, this.max]
2083
+ : this.defaultValue;
2084
+ }
2085
+ }
2086
+ onValueChange() {
2087
+ this.xChange.emit(this.value);
2088
+ }
2089
+ /* ---------------- UTIL ---------------- */
2090
+ /**
2091
+ * Clamp value within min and max.
2092
+ * @param v - Input value.
2093
+ * @returns number
2094
+ * @example
2095
+ * this.clamp(120)
2096
+ */
2097
+ clamp(v) {
2098
+ return Math.min(this.max, Math.max(this.min, v));
2099
+ }
2100
+ /**
2101
+ * Build list of steps based on step or marks.
2102
+ * @returns number[]
2103
+ * @example
2104
+ * this.getSteps()
2105
+ */
2106
+ getSteps() {
2107
+ if (this.step === null) {
2108
+ return Object.keys(this.marks).map(Number);
2109
+ }
2110
+ const arr = [];
2111
+ for (let v = this.min; v <= this.max; v += this.step) {
2112
+ arr.push(v);
2113
+ }
2114
+ return arr;
2115
+ }
2116
+ /**
2117
+ * Snap value to nearest step or mark.
2118
+ * @param v - Raw value.
2119
+ * @returns number
2120
+ * @example
2121
+ * this.snap(42)
2122
+ */
2123
+ snap(v) {
2124
+ if (this.step === null) {
2125
+ const steps = this.getSteps();
2126
+ return steps.reduce((prev, curr) => Math.abs(curr - v) < Math.abs(prev - v) ? curr : prev);
2127
+ }
2128
+ return Math.round(v / this.step) * this.step;
2129
+ }
2130
+ /**
2131
+ * Convert value to percentage along the rail.
2132
+ * @param v - Value to convert.
2133
+ * @returns number
2134
+ * @example
2135
+ * this.percent(50)
2136
+ */
2137
+ percent(v) {
2138
+ return ((v - this.min) / (this.max - this.min)) * 100;
2139
+ }
2140
+ /**
2141
+ * Calculates the slider value based on a mouse event.
2142
+ *
2143
+ * Flow:
2144
+ * 1. Gets the bounding rectangle of the rail.
2145
+ * 2. Calculates the ratio of the mouse position relative to the rail's width (or height if vertical).
2146
+ * 3. Maps the ratio to the [min, max] range.
2147
+ * 4. Clamps the value to ensure it stays within bounds.
2148
+ * 5. Snaps the value to the nearest step.
2149
+ *
2150
+ * @param e - The mouse event.
2151
+ * @returns number - The calculated value.
2152
+ */
2153
+ getValueFromEvent(e) {
2154
+ const rect = this.rail.getBoundingClientRect();
2155
+ const ratio = this.vertical
2156
+ ? (rect.bottom - e.clientY) / rect.height
2157
+ : (e.clientX - rect.left) / rect.width;
2158
+ const v = this.min + this.clamp(ratio) * (this.max - this.min);
2159
+ return this.snap(this.clamp(v));
2160
+ }
2161
+ /* ---------------- PUSH LOGIC ---------------- */
2162
+ /**
2163
+ * Enforces the `pushable` constraint between range thumbs.
2164
+ * Ensures thumbs maintain a minimum distance from each other.
2165
+ *
2166
+ * @param values - Current range values [v1, v2].
2167
+ * @param index - The index of the thumb actively being moved.
2168
+ * @returns [number, number] - The adjusted values.
2169
+ */
2170
+ pushRange(values, index) {
2171
+ if (!this.pushable)
2172
+ return values;
2173
+ const distance = typeof this.pushable === 'number' ? this.pushable : 1;
2174
+ if (index === 0 && values[1] - values[0] < distance) {
2175
+ values[1] = values[0] + distance;
2176
+ }
2177
+ if (index === 1 && values[1] - values[0] < distance) {
2178
+ values[0] = values[1] - distance;
2179
+ }
2180
+ return values;
2181
+ }
2182
+ /* ---------------- MOUSE ---------------- */
2183
+ /**
2184
+ * Handles the mouse down event to initiate dragging.
2185
+ *
2186
+ * Flow:
2187
+ * 1. Checks if disabled.
2188
+ * 2. Sets `isDragging` flag.
2189
+ * 3. Determines which thumb is active (closest to click if not specified).
2190
+ * 4. Updates the value immediately.
2191
+ * 5. Attaches global mouse listeners for drag and release.
2192
+ *
2193
+ * @param e - The mouse event.
2194
+ * @param index - Optional index of the handle being clicked.
2195
+ */
2196
+ onMouseDown = (e, index) => {
2197
+ if (this.disabled)
2198
+ return;
2199
+ this.isDragging = true;
2200
+ if (this.range) {
2201
+ this.activeThumb =
2202
+ index ??
2203
+ this.getClosestThumb(this.getValueFromEvent(e));
2204
+ }
2205
+ this.updateValue(e);
2206
+ document.addEventListener('mousemove', this.onMouseMove);
2207
+ document.addEventListener('mouseup', this.onMouseUp);
2208
+ };
2209
+ /**
2210
+ * Handles mouse move during drag.
2211
+ * Updates the value if dragging is active.
2212
+ */
2213
+ onMouseMove = (e) => {
2214
+ if (!this.isDragging)
2215
+ return;
2216
+ this.updateValue(e);
2217
+ };
2218
+ /**
2219
+ * Handles mouse up to end drag.
2220
+ * Clears state, emits final change event, and removes listeners.
2221
+ */
2222
+ onMouseUp = () => {
2223
+ this.isDragging = false;
2224
+ this.activeThumb = null;
2225
+ this.xAfterChange.emit(this.value);
2226
+ document.removeEventListener('mousemove', this.onMouseMove);
2227
+ document.removeEventListener('mouseup', this.onMouseUp);
2228
+ };
2229
+ /**
2230
+ * Updates the slider value logic during interaction.
2231
+ *
2232
+ * Flow:
2233
+ * 1. Calculates new value from event.
2234
+ * 2. If single mode, updates value directly.
2235
+ * 3. If range mode:
2236
+ * - Handles track dragging (moving both thumbs).
2237
+ * - Handles individual thumb dragging.
2238
+ * - Enforces `allowCross` constraint (swapping thumbs if needed).
2239
+ * - Enforces `pushRange` constraint.
2240
+ *
2241
+ * @param e - The mouse event.
2242
+ */
2243
+ updateValue(e) {
2244
+ const v = this.getValueFromEvent(e);
2245
+ if (!this.range) {
2246
+ this.value = v;
2247
+ return;
2248
+ }
2249
+ let values = [...this.value];
2250
+ if (this.draggableTrack && this.activeThumb === null) {
2251
+ const diff = v - values[0];
2252
+ values = [values[0] + diff, values[1] + diff];
2253
+ }
2254
+ else {
2255
+ values[this.activeThumb] = v;
2256
+ if (!this.allowCross) {
2257
+ if (this.activeThumb === 0)
2258
+ values[0] = Math.min(values[0], values[1]);
2259
+ else
2260
+ values[1] = Math.max(values[1], values[0]);
2261
+ }
2262
+ values = this.pushRange(values, this.activeThumb);
2263
+ }
2264
+ this.value = values;
2265
+ }
2266
+ /**
2267
+ * Finds the index of the thumb closest to the given value.
2268
+ * Used to determine which thumb to move when clicking on the rail.
2269
+ *
2270
+ * @param v - The target value.
2271
+ * @returns number - 0 or 1.
2272
+ */
2273
+ getClosestThumb(v) {
2274
+ const [v1, v2] = this.value;
2275
+ return Math.abs(v - v1) < Math.abs(v - v2) ? 0 : 1;
2276
+ }
2277
+ /* ---------------- KEYBOARD ---------------- */
2278
+ /**
2279
+ * Handles keyboard navigation for fine-tuning values.
2280
+ * Supports Arrow keys for stepping up/down.
2281
+ *
2282
+ * @param e - Keyboard event.
2283
+ * @param index - Index of the handle focused.
2284
+ */
2285
+ onKeyDown = (e, index) => {
2286
+ if (this.disabled)
2287
+ return;
2288
+ const delta = e.key === 'ArrowRight' || e.key === 'ArrowUp'
2289
+ ? this.step ?? 1
2290
+ : e.key === 'ArrowLeft' || e.key === 'ArrowDown'
2291
+ ? -(this.step ?? 1)
2292
+ : 0;
2293
+ if (!delta)
2294
+ return;
2295
+ e.preventDefault();
2296
+ if (!this.range) {
2297
+ this.value = this.clamp(this.value + delta);
2298
+ }
2299
+ else {
2300
+ const values = [...this.value];
2301
+ values[index] = this.clamp(values[index] + delta);
2302
+ this.value = values;
2303
+ }
2304
+ };
2305
+ /* ---------------- RENDER ---------------- */
2306
+ /**
2307
+ * Renders the marks (ticks) along the slider rail.
2308
+ *
2309
+ * @returns JSX.Element[] - List of mark elements positioned by percentage.
2310
+ */
2311
+ renderMarks() {
2312
+ return Object.entries(this.marks).map(([k, label]) => {
2313
+ const percent = this.percent(Number(k));
2314
+ return (index.h("div", { class: "x-slider-mark", style: {
2315
+ [this.vertical ? 'bottom' : 'left']: `${percent}%`,
2316
+ } }, label));
2317
+ });
2318
+ }
2319
+ /**
2320
+ * Main render method for the Slider component.
2321
+ *
2322
+ * Structure:
2323
+ * - Host element with classes for vertical/disabled state.
2324
+ * - Rail: The background line.
2325
+ * - Track: The active/colored segment indicating selected range.
2326
+ * - Handles: Draggable knobs for interacting with values.
2327
+ * - Marks: Optional labeled ticks.
2328
+ *
2329
+ * @returns JSX.Element
2330
+ */
2331
+ render() {
2332
+ const values = this.range
2333
+ ? this.value
2334
+ : [this.value];
2335
+ const p1 = this.percent(values[0]);
2336
+ const p2 = this.range ? this.percent(values[1]) : p1;
2337
+ return (index.h(index.Host, { key: '90fc23fbdcc78816be8c8d32d3e46e4687d3fad6', class: {
2338
+ 'x-slider': true,
2339
+ 'x-slider-vertical': this.vertical,
2340
+ 'x-slider-disabled': this.disabled,
2341
+ } }, index.h("div", { key: '9ff4c3df41adfcd7cc3f7c65784fc569b6693ff3', class: "x-slider-rail", ref: el => (this.rail = el), onClick: e => this.onMouseDown(e) }), index.h("div", { key: '0c5f77c19a65e251e46d0393e626bfe96abd18c9', class: "x-slider-track", style: {
2342
+ [this.vertical ? 'height' : 'width']: `${this.range ? p2 - p1 : p1}%`,
2343
+ [this.vertical ? 'bottom' : 'left']: `${this.range ? p1 : 0}%`,
2344
+ } }), values.map((v, i) => {
2345
+ const percent = this.percent(v);
2346
+ return (index.h("div", { class: "x-slider-handle", style: {
2347
+ [this.vertical ? 'bottom' : 'left']: `${percent}%`,
2348
+ }, 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 && (index.h("div", { class: "x-slider-tooltip" }, v))));
2349
+ }), index.h("div", { key: 'f3dd9f0c39947e115fd6160c1003cf48f93e97af', class: "x-slider-marks" }, this.renderMarks())));
2350
+ }
2351
+ static get watchers() { return {
2352
+ "value": [{
2353
+ "onValueChange": 0
2354
+ }]
2355
+ }; }
2356
+ };
2357
+ XSlider.style = xSliderCss();
2358
+
2359
+ 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}`;
2360
+
2361
+ const XSwitch = class {
2362
+ constructor(hostRef) {
2363
+ index.registerInstance(this, hostRef);
2364
+ this.xChange = index.createEvent(this, "xChange", 7);
2365
+ this.xClick = index.createEvent(this, "xClick", 7);
2366
+ }
2367
+ /**
2368
+ * Whether the switch is automatically focused.
2369
+ * @example
2370
+ * <x-switch autoFocus></x-switch>
2371
+ */
2372
+ autoFocus = false;
2373
+ /**
2374
+ * Determine whether the Switch is checked.
2375
+ * @example
2376
+ * <x-switch checked></x-switch>
2377
+ */
2378
+ checked = false;
2379
+ /**
2380
+ * The content to be shown when the state is checked.
2381
+ * @example
2382
+ * <x-switch checkedChildren="On"></x-switch>
2383
+ */
2384
+ checkedChildren;
2385
+ /**
2386
+ * Whether to set the initial state.
2387
+ * @example
2388
+ * <x-switch defaultChecked></x-switch>
2389
+ */
2390
+ defaultChecked = false;
2391
+ /**
2392
+ * Disable switch.
2393
+ * @example
2394
+ * <x-switch disabled></x-switch>
2395
+ */
2396
+ disabled = false;
2397
+ /**
2398
+ * Loading state of switch.
2399
+ * @example
2400
+ * <x-switch loading></x-switch>
2401
+ */
2402
+ loading = false;
2403
+ /**
2404
+ * The size of the Switch.
2405
+ * @example
2406
+ * <x-switch size="small"></x-switch>
2407
+ */
2408
+ size = 'default';
2409
+ /**
2410
+ * The content to be shown when the state is unchecked.
2411
+ * @example
2412
+ * <x-switch unCheckedChildren="Off"></x-switch>
2413
+ */
2414
+ unCheckedChildren;
2415
+ /**
2416
+ * Emits when checked state changes.
2417
+ * @example
2418
+ * <x-switch onXChange={(ev) => console.log(ev.detail)}></x-switch>
2419
+ */
2420
+ xChange;
2421
+ /**
2422
+ * Emits when switch is clicked.
2423
+ * @example
2424
+ * <x-switch onXClick={(ev) => console.log(ev.detail)}></x-switch>
2425
+ */
2426
+ xClick;
2427
+ /**
2428
+ * Component lifecycle method called before loading.
2429
+ * Initializes the checked state if `defaultChecked` is true.
2430
+ */
2431
+ componentWillLoad() {
2432
+ if (this.defaultChecked) {
2433
+ this.checked = true;
2434
+ }
2435
+ }
2436
+ /**
2437
+ * Handles click events to toggle the switch state.
2438
+ *
2439
+ * Flow:
2440
+ * 1. Checks if disabled or loading; if so, returns immediately.
2441
+ * 2. Toggles the `checked` state.
2442
+ * 3. Emits `xChange` with the new boolean state.
2443
+ * 4. Emits `xClick` with the original event.
2444
+ *
2445
+ * @param e - The click event.
2446
+ */
2447
+ handleClick(e) {
2448
+ if (this.disabled || this.loading)
2449
+ return;
2450
+ this.checked = !this.checked;
2451
+ this.xChange.emit(this.checked);
2452
+ this.xClick.emit(e);
2453
+ }
2454
+ /**
2455
+ * Renders the Switch component.
2456
+ *
2457
+ * Structure:
2458
+ * - Host element serves as the container and click target.
2459
+ * - Handle: The moving circle part (contains loading spinner if active).
2460
+ * - Inner: The text label (On/Off) depending on checked state.
2461
+ *
2462
+ * @returns JSX.Element
2463
+ */
2464
+ render() {
2465
+ return (index.h(index.Host, { key: '1503ee5789c9b75305a76eac0e2eece6c2422fa0', class: {
2466
+ 'x-switch': true,
2467
+ 'x-switch-checked': this.checked,
2468
+ 'x-switch-disabled': this.disabled,
2469
+ 'x-switch-loading': this.loading,
2470
+ 'x-switch-small': this.size === 'small',
2471
+ }, onClick: (e) => this.handleClick(e) }, index.h("div", { key: 'b6ff513a02e20c628773c7424536c59b1e279f40', class: "x-switch-handle" }, this.loading && (index.h("span", { key: '79ae4f5fe973ef32f912eddcd312016eb7d43113', role: "img", "aria-label": "loading", class: "anticon anticon-loading x-switch-loading-icon" }, index.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" }, index.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" }))))), index.h("span", { key: '6bc8ccdd4d4468eae859ed05618a037fe8c324b9', class: "x-switch-inner" }, this.checked ? this.checkedChildren : this.unCheckedChildren)));
2472
+ }
2473
+ };
2474
+ XSwitch.style = xSwitchCss();
2475
+
2476
+ 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))))}`;
2477
+
2478
+ const XTooltip = class {
2479
+ constructor(hostRef) {
2480
+ index.registerInstance(this, hostRef);
2481
+ this.openChange = index.createEvent(this, "openChange", 7);
2482
+ }
2483
+ get el() { return index.getElement(this); }
2484
+ // ==================== Props ====================
2485
+ /**
2486
+ * The text shown in the tooltip.
2487
+ * Use `tooltipTitle` to avoid conflict with native `title` attribute.
2488
+ * @example
2489
+ * <x-tooltip tooltip-title="Info"></x-tooltip>
2490
+ */
2491
+ tooltipTitle;
2492
+ /**
2493
+ * The position of the tooltip relative to the target.
2494
+ * @default 'top'
2495
+ * @example
2496
+ * <x-tooltip placement="bottom"></x-tooltip>
2497
+ */
2498
+ placement = 'top';
2499
+ /**
2500
+ * Tooltip trigger mode.
2501
+ * @default 'hover'
2502
+ * @example
2503
+ * <x-tooltip trigger="click"></x-tooltip>
2504
+ */
2505
+ trigger = 'hover';
2506
+ /**
2507
+ * Background color of the tooltip.
2508
+ * @example
2509
+ * <x-tooltip color="#333"></x-tooltip>
2510
+ */
2511
+ color;
2512
+ /**
2513
+ * Whether the floating tooltip card is visible or not (controlled mode).
2514
+ * @example
2515
+ * <x-tooltip open></x-tooltip>
2516
+ */
2517
+ open;
2518
+ /**
2519
+ * Whether the floating tooltip card is visible by default.
2520
+ * @example
2521
+ * <x-tooltip defaultOpen></x-tooltip>
2522
+ */
2523
+ defaultOpen = false;
2524
+ /**
2525
+ * Whether to show arrow.
2526
+ * Can be a boolean or an object with `pointAtCenter` option.
2527
+ * @default true
2528
+ * @example
2529
+ * <x-tooltip arrow={false}></x-tooltip>
2530
+ */
2531
+ arrow = true;
2532
+ /**
2533
+ * Delay in seconds before tooltip is shown on mouse enter.
2534
+ * @default 0.1
2535
+ * @example
2536
+ * <x-tooltip mouseEnterDelay={0.5}></x-tooltip>
2537
+ */
2538
+ mouseEnterDelay = 0.1;
2539
+ /**
2540
+ * Delay in seconds before tooltip is hidden on mouse leave.
2541
+ * @default 0.1
2542
+ * @example
2543
+ * <x-tooltip mouseLeaveDelay={0.5}></x-tooltip>
2544
+ */
2545
+ mouseLeaveDelay = 0.1;
2546
+ /**
2547
+ * Whether to destroy tooltip on hide.
2548
+ * @default false
2549
+ * @example
2550
+ * <x-tooltip destroyTooltipOnHide></x-tooltip>
2551
+ */
2552
+ destroyTooltipOnHide = false;
2553
+ /**
2554
+ * Whether to adjust popup placement automatically when popup is off screen.
2555
+ * @default true
2556
+ * @example
2557
+ * <x-tooltip autoAdjustOverflow={false}></x-tooltip>
2558
+ */
2559
+ autoAdjustOverflow = true;
2560
+ /**
2561
+ * Z-index of the tooltip.
2562
+ * @example
2563
+ * <x-tooltip zIndex={2000}></x-tooltip>
2564
+ */
2565
+ zIndex = 9999;
2566
+ /**
2567
+ * Custom class names for tooltip parts.
2568
+ * @example
2569
+ * <x-tooltip classNames={{ root: 'my-tooltip' }}></x-tooltip>
2570
+ */
2571
+ classNames;
2572
+ /**
2573
+ * Custom styles for tooltip parts.
2574
+ * @example
2575
+ * <x-tooltip styles={{ root: { background: '#000' } }}></x-tooltip>
2576
+ */
2577
+ styles;
2578
+ // ==================== Events ====================
2579
+ /**
2580
+ * Callback executed when visibility of the tooltip card is changed.
2581
+ * @example
2582
+ * <x-tooltip onOpenChange={(ev) => console.log(ev.detail)}></x-tooltip>
2583
+ */
2584
+ openChange;
2585
+ // ==================== State ====================
2586
+ /**
2587
+ * Internal visibility state.
2588
+ */
2589
+ visible = false;
2590
+ // ==================== Private ====================
2591
+ /**
2592
+ * Portal instance for tooltip content.
2593
+ */
2594
+ portalInstance = null;
2595
+ /**
2596
+ * Timeout for delayed show.
2597
+ */
2598
+ showTimeout;
2599
+ /**
2600
+ * Timeout for delayed hide.
2601
+ */
2602
+ hideTimeout;
2603
+ // ==================== Computed ====================
2604
+ get isOpen() {
2605
+ return this.open ?? this.visible;
2606
+ }
2607
+ // ==================== Lifecycle ====================
2608
+ componentWillLoad() {
2609
+ this.visible = this.open ?? this.defaultOpen ?? false;
2610
+ }
2611
+ componentDidLoad() {
2612
+ this.addEventListeners();
2613
+ }
2614
+ componentDidRender() {
2615
+ this.updatePortal();
2616
+ }
2617
+ disconnectedCallback() {
2618
+ this.clearTimeouts();
2619
+ this.removeEventListeners();
2620
+ this.destroyPortal();
2621
+ }
2622
+ // ==================== Watchers ====================
2623
+ handleOpenChange(newValue) {
2624
+ if (newValue !== undefined) {
2625
+ this.setVisible(newValue);
2626
+ }
2627
+ }
2628
+ // ==================== Methods ====================
2629
+ /**
2630
+ * Show the tooltip programmatically.
2631
+ * @returns Promise<void>
2632
+ * @example
2633
+ * await el.show()
2634
+ */
2635
+ async show() {
2636
+ this.setVisible(true);
2637
+ }
2638
+ /**
2639
+ * Hide the tooltip programmatically.
2640
+ * @returns Promise<void>
2641
+ * @example
2642
+ * await el.hide()
2643
+ */
2644
+ async hide() {
2645
+ this.setVisible(false);
2646
+ }
2647
+ // ==================== Private Methods ====================
2648
+ /**
2649
+ * Clear pending show/hide timeouts.
2650
+ * @returns void
2651
+ */
2652
+ clearTimeouts() {
2653
+ if (this.showTimeout) {
2654
+ clearTimeout(this.showTimeout);
2655
+ this.showTimeout = undefined;
2656
+ }
2657
+ if (this.hideTimeout) {
2658
+ clearTimeout(this.hideTimeout);
2659
+ this.hideTimeout = undefined;
2660
+ }
2661
+ }
2662
+ /**
2663
+ * Update internal visibility and emit openChange.
2664
+ * @param visible - New visibility state.
2665
+ * @returns void
2666
+ */
2667
+ setVisible(visible) {
2668
+ if (this.visible === visible)
2669
+ return;
2670
+ this.visible = visible;
2671
+ this.openChange.emit({ open: visible });
2672
+ }
2673
+ /**
2674
+ * Delay showing tooltip based on mouseEnterDelay.
2675
+ * @returns void
2676
+ */
2677
+ delayShow = () => {
2678
+ this.clearTimeouts();
2679
+ const delay = (this.mouseEnterDelay ?? 0.1) * 1000;
2680
+ this.showTimeout = setTimeout(() => {
2681
+ if (this.open === undefined) {
2682
+ this.setVisible(true);
2683
+ }
2684
+ }, delay);
2685
+ };
2686
+ /**
2687
+ * Delay hiding tooltip based on mouseLeaveDelay.
2688
+ * @returns void
2689
+ */
2690
+ delayHide = () => {
2691
+ this.clearTimeouts();
2692
+ const delay = (this.mouseLeaveDelay ?? 0.1) * 1000;
2693
+ this.hideTimeout = setTimeout(() => {
2694
+ if (this.open === undefined) {
2695
+ this.setVisible(false);
2696
+ }
2697
+ }, delay);
2698
+ };
2699
+ /**
2700
+ * Handle trigger mouse enter for hover mode.
2701
+ * @returns void
2702
+ */
2703
+ handleMouseEnter = () => {
2704
+ if (this.trigger === 'hover') {
2705
+ this.delayShow();
2706
+ }
2707
+ };
2708
+ /**
2709
+ * Handle trigger mouse leave for hover mode.
2710
+ * @returns void
2711
+ */
2712
+ handleMouseLeave = () => {
2713
+ if (this.trigger === 'hover') {
2714
+ this.delayHide();
2715
+ }
2716
+ };
2717
+ /**
2718
+ * Handle focus for focus trigger mode.
2719
+ * @returns void
2720
+ */
2721
+ handleFocus = () => {
2722
+ if (this.trigger === 'focus') {
2723
+ this.delayShow();
2724
+ }
2725
+ };
2726
+ /**
2727
+ * Handle blur for focus trigger mode.
2728
+ * @returns void
2729
+ */
2730
+ handleBlur = () => {
2731
+ if (this.trigger === 'focus') {
2732
+ this.delayHide();
2733
+ }
2734
+ };
2735
+ /**
2736
+ * Handle click for click trigger mode.
2737
+ * @returns void
2738
+ */
2739
+ handleClick = () => {
2740
+ if (this.trigger === 'click') {
2741
+ if (this.open === undefined) {
2742
+ this.setVisible(!this.visible);
2743
+ }
2744
+ }
2745
+ };
2746
+ /**
2747
+ * Handle context menu trigger mode.
2748
+ * @param e - Mouse event.
2749
+ * @returns void
2750
+ */
2751
+ handleContextMenu = (e) => {
2752
+ if (this.trigger === 'contextMenu') {
2753
+ e.preventDefault();
2754
+ if (this.open === undefined) {
2755
+ this.setVisible(!this.visible);
2756
+ }
2757
+ }
2758
+ };
2759
+ /**
2760
+ * Close tooltip when clicking outside.
2761
+ * @param e - Mouse event.
2762
+ * @returns void
2763
+ */
2764
+ handleDocumentClick = (e) => {
2765
+ if (this.trigger === 'click' || this.trigger === 'contextMenu') {
2766
+ const target = e.target;
2767
+ // Check if click is inside component
2768
+ if (this.el.contains(target))
2769
+ return;
2770
+ // Check if click is inside portal
2771
+ const portalEl = this.portalInstance?.getElement?.();
2772
+ if (portalEl?.contains(target))
2773
+ return;
2774
+ if (this.open === undefined) {
2775
+ this.setVisible(false);
2776
+ }
2777
+ }
2778
+ };
2779
+ /**
2780
+ * Handle hover inside portal to prevent hide.
2781
+ * @returns void
2782
+ */
2783
+ handlePortalMouseEnter = () => {
2784
+ if (this.trigger === 'hover') {
2785
+ this.clearTimeouts();
2786
+ }
2787
+ };
2788
+ /**
2789
+ * Handle mouse leave from portal for hover trigger.
2790
+ * @returns void
2791
+ */
2792
+ handlePortalMouseLeave = () => {
2793
+ if (this.trigger === 'hover') {
2794
+ this.delayHide();
2795
+ }
2796
+ };
2797
+ /**
2798
+ * Add global event listeners.
2799
+ * @returns void
2800
+ */
2801
+ addEventListeners() {
2802
+ document.addEventListener('click', this.handleDocumentClick);
2803
+ }
2804
+ /**
2805
+ * Remove global event listeners.
2806
+ * @returns void
2807
+ */
2808
+ removeEventListeners() {
2809
+ document.removeEventListener('click', this.handleDocumentClick);
2810
+ }
2811
+ /**
2812
+ * Determine whether to render arrow.
2813
+ * @returns boolean
2814
+ */
2815
+ shouldShowArrow() {
2816
+ if (typeof this.arrow === 'boolean') {
2817
+ return this.arrow;
2818
+ }
2819
+ return this.arrow !== undefined;
2820
+ }
2821
+ /**
2822
+ * Get trigger element inside shadow root.
2823
+ * @returns HTMLElement | undefined
2824
+ */
2825
+ getTriggerEl() {
2826
+ return this.el.shadowRoot
2827
+ ? this.el.shadowRoot.querySelector('.x-tooltip-trigger')
2828
+ : this.el.querySelector('.x-tooltip-trigger');
2829
+ }
2830
+ // ==================== Portal Methods ====================
2831
+ /**
2832
+ * Calculate arrow position based on trigger element and placement
2833
+ * @returns { arrowX: number; arrowY: number }
2834
+ */
2835
+ calculateArrowPosition() {
2836
+ const triggerEl = this.getTriggerEl();
2837
+ if (!triggerEl) {
2838
+ return { arrowX: 0, arrowY: 0 };
2839
+ }
2840
+ const triggerRect = triggerEl.getBoundingClientRect();
2841
+ const triggerWidth = triggerRect.width;
2842
+ const triggerHeight = triggerRect.height;
2843
+ let arrowX = 0;
2844
+ let arrowY = 0;
2845
+ // Calculate arrow position based on placement
2846
+ // We want the arrow to point at the center of the trigger
2847
+ switch (this.placement) {
2848
+ // Top placements - arrow points down, X is relative to trigger center
2849
+ case 'top':
2850
+ arrowX = triggerWidth / 2;
2851
+ arrowY = 0;
2852
+ break;
2853
+ case 'topLeft':
2854
+ arrowX = Math.min(20, triggerWidth / 2);
2855
+ arrowY = 0;
2856
+ break;
2857
+ case 'topRight':
2858
+ arrowX = triggerWidth - Math.min(20, triggerWidth / 2);
2859
+ arrowY = 0;
2860
+ break;
2861
+ // Bottom placements - arrow points up, X is relative to trigger center
2862
+ case 'bottom':
2863
+ arrowX = triggerWidth / 2;
2864
+ arrowY = 0;
2865
+ break;
2866
+ case 'bottomLeft':
2867
+ arrowX = Math.min(20, triggerWidth / 2);
2868
+ arrowY = 0;
2869
+ break;
2870
+ case 'bottomRight':
2871
+ arrowX = triggerWidth - Math.min(20, triggerWidth / 2);
2872
+ arrowY = 0;
2873
+ break;
2874
+ // Left placements - arrow points right, Y is relative to trigger center
2875
+ case 'left':
2876
+ arrowX = 0;
2877
+ arrowY = triggerHeight / 2;
2878
+ break;
2879
+ case 'leftTop':
2880
+ arrowX = 0;
2881
+ arrowY = Math.min(16, triggerHeight / 2);
2882
+ break;
2883
+ case 'leftBottom':
2884
+ arrowX = 0;
2885
+ arrowY = triggerHeight - Math.min(16, triggerHeight / 2);
2886
+ break;
2887
+ // Right placements - arrow points left, Y is relative to trigger center
2888
+ case 'right':
2889
+ arrowX = 0;
2890
+ arrowY = triggerHeight / 2;
2891
+ break;
2892
+ case 'rightTop':
2893
+ arrowX = 0;
2894
+ arrowY = Math.min(16, triggerHeight / 2);
2895
+ break;
2896
+ case 'rightBottom':
2897
+ arrowX = 0;
2898
+ arrowY = triggerHeight - Math.min(16, triggerHeight / 2);
2899
+ break;
2900
+ }
2901
+ return { arrowX, arrowY };
2902
+ }
2903
+ /**
2904
+ * Build tooltip content element for portal.
2905
+ * @returns HTMLElement
2906
+ */
2907
+ buildTooltipElement() {
2908
+ // Create x-tooltip-content component
2909
+ const tooltipEl = document.createElement('x-tooltip-content');
2910
+ // Set properties
2911
+ tooltipEl.tooltipTitle = this.tooltipTitle || '';
2912
+ tooltipEl.placement = this.placement;
2913
+ tooltipEl.showArrow = this.shouldShowArrow();
2914
+ if (this.color) {
2915
+ tooltipEl.color = this.color;
2916
+ }
2917
+ if (this.classNames?.root) {
2918
+ tooltipEl.contentClass = this.classNames.root;
2919
+ }
2920
+ // Calculate and set arrow position CSS variables
2921
+ const { arrowX, arrowY } = this.calculateArrowPosition();
2922
+ tooltipEl.style.setProperty('--arrow-x', `${arrowX}px`);
2923
+ tooltipEl.style.setProperty('--arrow-y', `${arrowY}px`);
2924
+ // Add event listeners for hover on portal
2925
+ tooltipEl.addEventListener('mouseenter', this.handlePortalMouseEnter);
2926
+ tooltipEl.addEventListener('mouseleave', this.handlePortalMouseLeave);
2927
+ return tooltipEl;
2928
+ }
2929
+ /**
2930
+ * Create or update portal content for tooltip.
2931
+ * @returns void
2932
+ */
2933
+ updatePortal() {
2934
+ const hasTitle = !!this.tooltipTitle;
2935
+ if (!this.isOpen || !hasTitle) {
2936
+ if (this.portalInstance) {
2937
+ this.portalInstance.destroy();
2938
+ this.portalInstance = null;
2939
+ }
2940
+ return;
2941
+ }
2942
+ const tooltipElement = this.buildTooltipElement();
2943
+ if (!this.portalInstance) {
2944
+ this.portalInstance = portalController.PortalController.create({
2945
+ open: this.isOpen,
2946
+ target: this.getTriggerEl(),
2947
+ placement: this.placement,
2948
+ zIndex: this.zIndex || 9999,
2949
+ offset: 8, // arrow size (5px) + gap (3px)
2950
+ content: tooltipElement,
2951
+ flip: false,
2952
+ shift: this.autoAdjustOverflow !== false,
2953
+ });
2954
+ }
2955
+ else {
2956
+ this.portalInstance.update({
2957
+ open: this.isOpen,
2958
+ target: this.getTriggerEl(),
2959
+ placement: this.placement,
2960
+ offset: 8,
2961
+ content: tooltipElement,
2962
+ flip: false,
2963
+ shift: this.autoAdjustOverflow !== false,
2964
+ });
2965
+ }
2966
+ }
2967
+ /**
2968
+ * Destroy portal instance if present.
2969
+ * @returns void
2970
+ */
2971
+ destroyPortal() {
2972
+ if (this.portalInstance) {
2973
+ this.portalInstance.destroy();
2974
+ this.portalInstance = null;
2975
+ }
2976
+ }
2977
+ // ==================== Render ====================
2978
+ /**
2979
+ * Renders the Tooltip component.
2980
+ *
2981
+ * Flow:
2982
+ * 1. Constructs host classes based on visibility and color.
2983
+ * 2. Attaches event listeners for all trigger modes (hover, focus, click, contextMenu).
2984
+ * 3. Renders a trigger wrapper `span` that wraps the default slot.
2985
+ * 4. The actual tooltip content is rendered via a Portal (managed by `updatePortal`) to escape container clipping.
2986
+ *
2987
+ * @returns JSX.Element
2988
+ */
2989
+ render() {
2990
+ return (index.h(index.Host, { key: '7f714f3aef2633cd18aac1fe03be7c840f01aa81', class: {
2991
+ 'x-tooltip-wrapper': true,
2992
+ 'x-tooltip-open': this.isOpen,
2993
+ 'x-tooltip-color': this.color ? true : false,
2994
+ }, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur, onClick: this.handleClick, onContextMenu: this.handleContextMenu }, index.h("span", { key: 'ae94a1ccfc97a0ba7bddb87394e7cbe0e4a4ff2a', class: "x-tooltip-trigger" }, index.h("slot", { key: '1f2ca22b7b432abe47e12d69e3ea94efe4c06c08' }))));
2995
+ }
2996
+ static get watchers() { return {
2997
+ "open": [{
2998
+ "handleOpenChange": 0
2999
+ }]
3000
+ }; }
3001
+ };
3002
+ XTooltip.style = xTooltipCss();
3003
+
3004
+ 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}`;
3005
+
3006
+ const XTooltipContent = class {
3007
+ constructor(hostRef) {
3008
+ index.registerInstance(this, hostRef);
3009
+ }
3010
+ get el() { return index.getElement(this); }
3011
+ // ==================== Props ====================
3012
+ /**
3013
+ * Tooltip title/content text.
3014
+ * @example
3015
+ * <x-tooltip-content tooltipTitle="Info"></x-tooltip-content>
3016
+ */
3017
+ tooltipTitle;
3018
+ /**
3019
+ * Placement of the tooltip.
3020
+ * @example
3021
+ * <x-tooltip-content placement="bottom"></x-tooltip-content>
3022
+ */
3023
+ placement = 'top';
3024
+ /**
3025
+ * Whether to show arrow.
3026
+ * @example
3027
+ * <x-tooltip-content showArrow={false}></x-tooltip-content>
3028
+ */
3029
+ showArrow = true;
3030
+ /**
3031
+ * Custom background color.
3032
+ * @example
3033
+ * <x-tooltip-content color="#333"></x-tooltip-content>
3034
+ */
3035
+ color;
3036
+ /**
3037
+ * Custom class for the content.
3038
+ * @example
3039
+ * <x-tooltip-content contentClass="my-tooltip"></x-tooltip-content>
3040
+ */
3041
+ contentClass;
3042
+ /**
3043
+ * Whether the tooltip is hidden.
3044
+ * @example
3045
+ * <x-tooltip-content hidden></x-tooltip-content>
3046
+ */
3047
+ hidden = false;
3048
+ // ==================== Render ====================
3049
+ /**
3050
+ * Render tooltip content, arrow, and slot.
3051
+ * @returns JSX.Element
3052
+ * @example
3053
+ * <x-tooltip-content tooltipTitle="Tip"></x-tooltip-content>
3054
+ */
3055
+ render() {
3056
+ // Build class map based on placement and visibility.
3057
+ const classes = {
3058
+ 'x-tooltip-content': true,
3059
+ [`x-tooltip-content-placement-${this.placement}`]: true,
3060
+ 'x-tooltip-content-hidden': this.hidden,
3061
+ [this.contentClass || '']: !!this.contentClass,
3062
+ };
3063
+ // Apply CSS variable for custom color.
3064
+ const style = {};
3065
+ if (this.color) {
3066
+ style['--x-tooltip-color'] = this.color;
3067
+ }
3068
+ return (index.h(index.Host, { key: 'a583a96aef26105e6b21504201ffda958a46103c', class: classes, style: style, role: "tooltip" }, index.h("div", { key: '9cf9e614628b794ff569e26d679507c437395548', class: {
3069
+ 'x-tooltip-content-inner': true,
3070
+ 'x-tooltip-content-color': this.color ? true : false,
3071
+ [this.contentClass || '']: !!this.contentClass,
3072
+ } }, this.tooltipTitle, index.h("slot", { key: '799907798ddfca9bf4ccdee5850301af616f8127' })), this.showArrow && (index.h("div", { key: '0a9215b4cbb5f583188851171cb3a50bd26683a2', class: "x-tooltip-content-arrow" }))));
3073
+ }
3074
+ };
3075
+ XTooltipContent.style = xTooltipContentCss();
3076
+
3077
+ exports.x_color_picker = XColorPicker;
3078
+ exports.x_divider = XDivider;
3079
+ exports.x_form_item = XFormItem;
3080
+ exports.x_input_number = XInputNumber;
3081
+ exports.x_modal = XModal;
3082
+ exports.x_slider = XSlider;
3083
+ exports.x_switch = XSwitch;
3084
+ exports.x_tooltip = XTooltip;
3085
+ exports.x_tooltip_content = XTooltipContent;