@falcon-ui/falcon-ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +182 -0
  3. package/cjs/JsBarcode-BlUjuVmB.cjs +3519 -0
  4. package/cjs/JsBarcode-BlUjuVmB.cjs.map +1 -0
  5. package/cjs/chunk-D4y6LrGi.cjs +40 -0
  6. package/cjs/components/JsBarcode-BOXEZn4Q.cjs +3519 -0
  7. package/cjs/components/JsBarcode-BOXEZn4Q.cjs.map +1 -0
  8. package/cjs/components/barcode/JsBarcode-BOXEZn4Q.cjs +3519 -0
  9. package/cjs/components/barcode/JsBarcode-BOXEZn4Q.cjs.map +1 -0
  10. package/cjs/components/barcode/chunk-D4y6LrGi.cjs +40 -0
  11. package/cjs/components/barcode/index.cjs +211 -0
  12. package/cjs/components/barcode/index.cjs.map +1 -0
  13. package/cjs/components/barcode/src/JsBarcode-BOXEZn4Q.cjs +3519 -0
  14. package/cjs/components/barcode/src/JsBarcode-BOXEZn4Q.cjs.map +1 -0
  15. package/cjs/components/barcode/src/barcode.cjs +102 -0
  16. package/cjs/components/barcode/src/barcode.cjs.map +1 -0
  17. package/cjs/components/barcode/src/barcode.vue.cjs +200 -0
  18. package/cjs/components/barcode/src/barcode.vue.cjs.map +1 -0
  19. package/cjs/components/barcode/src/chunk-D4y6LrGi.cjs +40 -0
  20. package/cjs/components/button/index.cjs +135 -0
  21. package/cjs/components/button/index.cjs.map +1 -0
  22. package/cjs/components/button/src/button.cjs +16 -0
  23. package/cjs/components/button/src/button.cjs.map +1 -0
  24. package/cjs/components/button/src/button.vue.cjs +124 -0
  25. package/cjs/components/button/src/button.vue.cjs.map +1 -0
  26. package/cjs/components/chunk-D4y6LrGi.cjs +40 -0
  27. package/cjs/components/date-picker/index.cjs +164 -0
  28. package/cjs/components/date-picker/index.cjs.map +1 -0
  29. package/cjs/components/date-picker/src/date-picker.cjs +25 -0
  30. package/cjs/components/date-picker/src/date-picker.cjs.map +1 -0
  31. package/cjs/components/date-picker/src/date-picker.vue.cjs +153 -0
  32. package/cjs/components/date-picker/src/date-picker.vue.cjs.map +1 -0
  33. package/cjs/components/dialog/index.cjs +346 -0
  34. package/cjs/components/dialog/index.cjs.map +1 -0
  35. package/cjs/components/dialog/src/dialog.cjs +40 -0
  36. package/cjs/components/dialog/src/dialog.cjs.map +1 -0
  37. package/cjs/components/dialog/src/dialog.vue.cjs +343 -0
  38. package/cjs/components/dialog/src/dialog.vue.cjs.map +1 -0
  39. package/cjs/components/index.cjs +9450 -0
  40. package/cjs/components/index.cjs.map +1 -0
  41. package/cjs/components/input/index.cjs +175 -0
  42. package/cjs/components/input/index.cjs.map +1 -0
  43. package/cjs/components/input/src/input.cjs +27 -0
  44. package/cjs/components/input/src/input.cjs.map +1 -0
  45. package/cjs/components/input/src/input.vue.cjs +164 -0
  46. package/cjs/components/input/src/input.vue.cjs.map +1 -0
  47. package/cjs/components/input-number/index.cjs +374 -0
  48. package/cjs/components/input-number/index.cjs.map +1 -0
  49. package/cjs/components/input-number/src/input-number.cjs +48 -0
  50. package/cjs/components/input-number/src/input-number.cjs.map +1 -0
  51. package/cjs/components/input-number/src/input-number.vue.cjs +363 -0
  52. package/cjs/components/input-number/src/input-number.vue.cjs.map +1 -0
  53. package/cjs/components/input-search/index.cjs +286 -0
  54. package/cjs/components/input-search/index.cjs.map +1 -0
  55. package/cjs/components/input-search/src/input-search.cjs +55 -0
  56. package/cjs/components/input-search/src/input-search.cjs.map +1 -0
  57. package/cjs/components/input-search/src/input-search.vue.cjs +275 -0
  58. package/cjs/components/input-search/src/input-search.vue.cjs.map +1 -0
  59. package/cjs/components/qr-code/index.cjs +1975 -0
  60. package/cjs/components/qr-code/index.cjs.map +1 -0
  61. package/cjs/components/qr-code/src/qr-code.cjs +63 -0
  62. package/cjs/components/qr-code/src/qr-code.cjs.map +1 -0
  63. package/cjs/components/qr-code/src/qr-code.vue.cjs +1964 -0
  64. package/cjs/components/qr-code/src/qr-code.vue.cjs.map +1 -0
  65. package/cjs/components/radial-menu/index.cjs +983 -0
  66. package/cjs/components/radial-menu/index.cjs.map +1 -0
  67. package/cjs/components/radial-menu/src/radial-menu.cjs +96 -0
  68. package/cjs/components/radial-menu/src/radial-menu.cjs.map +1 -0
  69. package/cjs/components/radial-menu/src/radial-menu.vue.cjs +921 -0
  70. package/cjs/components/radial-menu/src/radial-menu.vue.cjs.map +1 -0
  71. package/cjs/components/select/index.cjs +163 -0
  72. package/cjs/components/select/index.cjs.map +1 -0
  73. package/cjs/components/select/src/select.cjs +16 -0
  74. package/cjs/components/select/src/select.cjs.map +1 -0
  75. package/cjs/components/select/src/select.vue.cjs +152 -0
  76. package/cjs/components/select/src/select.vue.cjs.map +1 -0
  77. package/cjs/components/table/index.cjs +3351 -0
  78. package/cjs/components/table/index.cjs.map +1 -0
  79. package/cjs/components/table/src/table.cjs +62 -0
  80. package/cjs/components/table/src/table.cjs.map +1 -0
  81. package/cjs/components/table/src/table.vue.cjs +3085 -0
  82. package/cjs/components/table/src/table.vue.cjs.map +1 -0
  83. package/cjs/dialog-CJU00aEV.cjs +614 -0
  84. package/cjs/dialog-CJU00aEV.cjs.map +1 -0
  85. package/cjs/dialog-DcH26KbE.cjs +2 -0
  86. package/cjs/hooks/dialog-DpYPBcKV.cjs +266 -0
  87. package/cjs/hooks/dialog-DpYPBcKV.cjs.map +1 -0
  88. package/cjs/hooks/hooks-D2Jaq5kO.cjs +328 -0
  89. package/cjs/hooks/hooks-D2Jaq5kO.cjs.map +1 -0
  90. package/cjs/hooks/index.cjs +8 -0
  91. package/cjs/icons/index.cjs +86 -0
  92. package/cjs/icons/index.cjs.map +1 -0
  93. package/cjs/index.cjs +9141 -0
  94. package/cjs/index.cjs.map +1 -0
  95. package/cjs/utils/index.cjs +69 -0
  96. package/cjs/utils/index.cjs.map +1 -0
  97. package/esm/JsBarcode-kVJER62m.js +3514 -0
  98. package/esm/JsBarcode-kVJER62m.js.map +1 -0
  99. package/esm/chunk-BuRq7rDw.js +23 -0
  100. package/esm/components/JsBarcode-CzzxrEd_.js +3514 -0
  101. package/esm/components/JsBarcode-CzzxrEd_.js.map +1 -0
  102. package/esm/components/barcode/JsBarcode-C5ux6wsb.js +3514 -0
  103. package/esm/components/barcode/JsBarcode-C5ux6wsb.js.map +1 -0
  104. package/esm/components/barcode/chunk--em_ddB3.js +23 -0
  105. package/esm/components/barcode/index.mjs +204 -0
  106. package/esm/components/barcode/index.mjs.map +1 -0
  107. package/esm/components/barcode/src/JsBarcode-C5ux6wsb.js +3514 -0
  108. package/esm/components/barcode/src/JsBarcode-C5ux6wsb.js.map +1 -0
  109. package/esm/components/barcode/src/barcode.mjs +98 -0
  110. package/esm/components/barcode/src/barcode.mjs.map +1 -0
  111. package/esm/components/barcode/src/barcode.vue.mjs +194 -0
  112. package/esm/components/barcode/src/barcode.vue.mjs.map +1 -0
  113. package/esm/components/barcode/src/chunk--em_ddB3.js +23 -0
  114. package/esm/components/button/index.mjs +126 -0
  115. package/esm/components/button/index.mjs.map +1 -0
  116. package/esm/components/button/src/button.mjs +14 -0
  117. package/esm/components/button/src/button.mjs.map +1 -0
  118. package/esm/components/button/src/button.vue.mjs +117 -0
  119. package/esm/components/button/src/button.vue.mjs.map +1 -0
  120. package/esm/components/chunk-BuRq7rDw.js +23 -0
  121. package/esm/components/date-picker/index.mjs +155 -0
  122. package/esm/components/date-picker/index.mjs.map +1 -0
  123. package/esm/components/date-picker/src/date-picker.mjs +23 -0
  124. package/esm/components/date-picker/src/date-picker.mjs.map +1 -0
  125. package/esm/components/date-picker/src/date-picker.vue.mjs +146 -0
  126. package/esm/components/date-picker/src/date-picker.vue.mjs.map +1 -0
  127. package/esm/components/dialog/index.mjs +335 -0
  128. package/esm/components/dialog/index.mjs.map +1 -0
  129. package/esm/components/dialog/src/dialog.mjs +38 -0
  130. package/esm/components/dialog/src/dialog.mjs.map +1 -0
  131. package/esm/components/dialog/src/dialog.vue.mjs +334 -0
  132. package/esm/components/dialog/src/dialog.vue.mjs.map +1 -0
  133. package/esm/components/index.mjs +9386 -0
  134. package/esm/components/index.mjs.map +1 -0
  135. package/esm/components/input/index.mjs +166 -0
  136. package/esm/components/input/index.mjs.map +1 -0
  137. package/esm/components/input/src/input.mjs +25 -0
  138. package/esm/components/input/src/input.mjs.map +1 -0
  139. package/esm/components/input/src/input.vue.mjs +157 -0
  140. package/esm/components/input/src/input.vue.mjs.map +1 -0
  141. package/esm/components/input-number/index.mjs +365 -0
  142. package/esm/components/input-number/index.mjs.map +1 -0
  143. package/esm/components/input-number/src/input-number.mjs +45 -0
  144. package/esm/components/input-number/src/input-number.mjs.map +1 -0
  145. package/esm/components/input-number/src/input-number.vue.mjs +356 -0
  146. package/esm/components/input-number/src/input-number.vue.mjs.map +1 -0
  147. package/esm/components/input-search/index.mjs +277 -0
  148. package/esm/components/input-search/index.mjs.map +1 -0
  149. package/esm/components/input-search/src/input-search.mjs +53 -0
  150. package/esm/components/input-search/src/input-search.mjs.map +1 -0
  151. package/esm/components/input-search/src/input-search.vue.mjs +268 -0
  152. package/esm/components/input-search/src/input-search.vue.mjs.map +1 -0
  153. package/esm/components/qr-code/index.mjs +1967 -0
  154. package/esm/components/qr-code/index.mjs.map +1 -0
  155. package/esm/components/qr-code/src/qr-code.mjs +59 -0
  156. package/esm/components/qr-code/src/qr-code.mjs.map +1 -0
  157. package/esm/components/qr-code/src/qr-code.vue.mjs +1958 -0
  158. package/esm/components/qr-code/src/qr-code.vue.mjs.map +1 -0
  159. package/esm/components/radial-menu/index.mjs +974 -0
  160. package/esm/components/radial-menu/index.mjs.map +1 -0
  161. package/esm/components/radial-menu/src/radial-menu.mjs +94 -0
  162. package/esm/components/radial-menu/src/radial-menu.mjs.map +1 -0
  163. package/esm/components/radial-menu/src/radial-menu.vue.mjs +916 -0
  164. package/esm/components/radial-menu/src/radial-menu.vue.mjs.map +1 -0
  165. package/esm/components/select/index.mjs +154 -0
  166. package/esm/components/select/index.mjs.map +1 -0
  167. package/esm/components/select/src/select.mjs +14 -0
  168. package/esm/components/select/src/select.mjs.map +1 -0
  169. package/esm/components/select/src/select.vue.mjs +145 -0
  170. package/esm/components/select/src/select.vue.mjs.map +1 -0
  171. package/esm/components/table/index.mjs +3342 -0
  172. package/esm/components/table/index.mjs.map +1 -0
  173. package/esm/components/table/src/table.mjs +60 -0
  174. package/esm/components/table/src/table.mjs.map +1 -0
  175. package/esm/components/table/src/table.vue.mjs +3080 -0
  176. package/esm/components/table/src/table.vue.mjs.map +1 -0
  177. package/esm/dialog-Cm3Px-Bu.js +537 -0
  178. package/esm/dialog-Cm3Px-Bu.js.map +1 -0
  179. package/esm/dialog-CzZm50XM.js +2 -0
  180. package/esm/hooks/dialog-d4SMZWbw.js +261 -0
  181. package/esm/hooks/dialog-d4SMZWbw.js.map +1 -0
  182. package/esm/hooks/hooks-DdjieG2I.js +281 -0
  183. package/esm/hooks/hooks-DdjieG2I.js.map +1 -0
  184. package/esm/hooks/index.mjs +2 -0
  185. package/esm/icons/index.mjs +79 -0
  186. package/esm/icons/index.mjs.map +1 -0
  187. package/esm/index.mjs +9065 -0
  188. package/esm/index.mjs.map +1 -0
  189. package/esm/utils/index.mjs +65 -0
  190. package/esm/utils/index.mjs.map +1 -0
  191. package/global.d.ts +39 -0
  192. package/package.json +131 -0
  193. package/theme/index.css +1 -0
  194. package/theme/index.scss +16 -0
  195. package/theme/src/barcode.scss +14 -0
  196. package/theme/src/button.scss +65 -0
  197. package/theme/src/date-picker.scss +87 -0
  198. package/theme/src/dialog.scss +146 -0
  199. package/theme/src/ep-vars.scss +11 -0
  200. package/theme/src/input-number.scss +66 -0
  201. package/theme/src/input-search.scss +78 -0
  202. package/theme/src/input.scss +66 -0
  203. package/theme/src/mixins/bem.scss +35 -0
  204. package/theme/src/mixins/color.scss +8 -0
  205. package/theme/src/qr-code.scss +23 -0
  206. package/theme/src/radial-menu.scss +346 -0
  207. package/theme/src/select.scss +44 -0
  208. package/theme/src/table.scss +143 -0
  209. package/theme/src/tokens.scss +26 -0
  210. package/theme/src/tree-select.scss +45 -0
  211. package/theme/src/tree.scss +369 -0
  212. package/types/components/barcode/index.d.ts +183 -0
  213. package/types/components/barcode/src/barcode.d.ts +147 -0
  214. package/types/components/barcode/src/barcode.vue.d.ts +184 -0
  215. package/types/components/button/index.d.ts +135 -0
  216. package/types/components/button/src/button.d.ts +33 -0
  217. package/types/components/button/src/button.vue.d.ts +138 -0
  218. package/types/components/date-picker/index.d.ts +508 -0
  219. package/types/components/date-picker/src/date-picker.d.ts +35 -0
  220. package/types/components/date-picker/src/date-picker.vue.d.ts +509 -0
  221. package/types/components/dialog/index.d.ts +630 -0
  222. package/types/components/dialog/src/dialog.d.ts +70 -0
  223. package/types/components/dialog/src/dialog.vue.d.ts +257 -0
  224. package/types/components/index.d.ts +27 -0
  225. package/types/components/input/index.d.ts +233 -0
  226. package/types/components/input/src/input.d.ts +65 -0
  227. package/types/components/input/src/input.vue.d.ts +239 -0
  228. package/types/components/input-number/index.d.ts +713 -0
  229. package/types/components/input-number/src/input-number.d.ts +101 -0
  230. package/types/components/input-number/src/input-number.vue.d.ts +283 -0
  231. package/types/components/input-search/index.d.ts +113 -0
  232. package/types/components/input-search/src/input-search.d.ts +128 -0
  233. package/types/components/input-search/src/input-search.vue.d.ts +114 -0
  234. package/types/components/qr-code/index.d.ts +109 -0
  235. package/types/components/qr-code/src/qr-code.d.ts +93 -0
  236. package/types/components/qr-code/src/qr-code.vue.d.ts +109 -0
  237. package/types/components/radial-menu/index.d.ts +499 -0
  238. package/types/components/radial-menu/src/radial-menu-item.d.ts +40 -0
  239. package/types/components/radial-menu/src/radial-menu-item.vue.d.ts +95 -0
  240. package/types/components/radial-menu/src/radial-menu.d.ts +92 -0
  241. package/types/components/radial-menu/src/radial-menu.vue.d.ts +200 -0
  242. package/types/components/radial-menu/src/types.d.ts +48 -0
  243. package/types/components/radial-menu/src/use-radial-menu-items.d.ts +19 -0
  244. package/types/components/radial-menu/src/use-radial-menu-keyboard.d.ts +17 -0
  245. package/types/components/radial-menu/src/use-radial-menu-position.d.ts +45 -0
  246. package/types/components/radial-menu/src/use-radial-menu-shortcut.d.ts +8 -0
  247. package/types/components/radial-menu/src/use-radial-menu-state.d.ts +15 -0
  248. package/types/components/select/index.d.ts +5 -0
  249. package/types/components/select/src/select.d.ts +30 -0
  250. package/types/components/select/src/select.vue.d.ts +25 -0
  251. package/types/components/table/index.d.ts +8 -0
  252. package/types/components/table/src/editor-registry.d.ts +24 -0
  253. package/types/components/table/src/proxy-data.d.ts +10 -0
  254. package/types/components/table/src/table-editor.d.ts +18 -0
  255. package/types/components/table/src/table-editor.vue.d.ts +43 -0
  256. package/types/components/table/src/table.d.ts +179 -0
  257. package/types/components/table/src/table.vue.d.ts +121 -0
  258. package/types/components/tree/index.d.ts +5 -0
  259. package/types/components/tree/src/tree-node.vue.d.ts +88 -0
  260. package/types/components/tree/src/tree-types.d.ts +90 -0
  261. package/types/components/tree/src/tree.d.ts +448 -0
  262. package/types/components/tree/src/tree.vue.d.ts +301 -0
  263. package/types/components/tree/src/use-tree-check-conduct.d.ts +43 -0
  264. package/types/components/tree/src/use-tree-checked-state.d.ts +34 -0
  265. package/types/components/tree/src/use-tree-drag.d.ts +45 -0
  266. package/types/components/tree/src/use-tree-expanded-state.d.ts +41 -0
  267. package/types/components/tree/src/use-tree-keyboard.d.ts +21 -0
  268. package/types/components/tree/src/use-tree-load.d.ts +25 -0
  269. package/types/components/tree/src/use-tree-scroll.d.ts +17 -0
  270. package/types/components/tree/src/use-tree-selected-state.d.ts +29 -0
  271. package/types/components/tree-select/index.d.ts +5 -0
  272. package/types/components/tree-select/src/tree-select.d.ts +26 -0
  273. package/types/components/tree-select/src/tree-select.vue.d.ts +25 -0
  274. package/types/falcon-ui/index.d.ts +8 -0
  275. package/types/hooks/index.d.ts +3 -0
  276. package/types/hooks/src/use-clearable-state.d.ts +10 -0
  277. package/types/hooks/src/use-component.d.ts +15 -0
  278. package/types/hooks/src/use-dialog.d.ts +49 -0
  279. package/types/icons/index.d.ts +1 -0
  280. package/types/icons/src/components/holder-outlined.vue.d.ts +3 -0
  281. package/types/icons/src/components/index.d.ts +3 -0
  282. package/types/icons/src/components/minus-square-outlined.vue.d.ts +3 -0
  283. package/types/icons/src/components/plus-square-outlined.vue.d.ts +3 -0
  284. package/types/utils/index.d.ts +3 -0
  285. package/types/utils/src/bem.d.ts +11 -0
  286. package/types/utils/src/component.d.ts +6 -0
  287. package/types/utils/src/install.d.ts +5 -0
  288. package/umd/falcon-ui.umd.js +13297 -0
  289. package/umd/falcon-ui.umd.js.map +1 -0
@@ -0,0 +1,369 @@
1
+ @use './mixins/bem.scss' as bem;
2
+ @use 'element-plus/theme-chalk/src/checkbox.scss';
3
+ @use 'element-plus/theme-chalk/src/tree.scss';
4
+
5
+ /**
6
+ * 树组件样式优先继承 Element Plus Tree 视觉变量。
7
+ */
8
+ @include bem.b(tree) {
9
+ color: var(--el-tree-text-color);
10
+ font-size: var(--el-font-size-base);
11
+ line-height: 1.5;
12
+ --fl-tree-node-content-height: var(--el-tree-node-content-height, 26px);
13
+ --fl-tree-node-hover-bg-color: var(--el-tree-node-hover-bg-color, var(--el-fill-color-light));
14
+ --fl-tree-node-text-color: var(--el-tree-text-color, var(--el-text-color-regular));
15
+ --fl-tree-node-icon-color: var(--el-tree-expand-icon-color, var(--el-text-color-placeholder));
16
+ --fl-tree-node-selected-bg-color: var(--el-color-primary-light-9);
17
+ --fl-tree-node-selected-text-color: var(--el-color-primary);
18
+ --fl-tree-node-disabled-text-color: var(--el-disabled-text-color);
19
+ --fl-tree-leaf-dot-color: var(--el-text-color-secondary);
20
+ --fl-tree-line-color: var(--el-border-color-light, #dcdfe6);
21
+ --fl-tree-line-width: 1px;
22
+ --fl-tree-drop-line-color: var(--el-color-primary);
23
+ --fl-tree-drop-forbidden-color: var(--el-color-danger);
24
+ --fl-tree-drop-inside-bg-color: var(--el-color-primary-light-9);
25
+ --fl-tree-node-filtered-color: var(--el-color-primary);
26
+ --fl-tree-node-filtered-bg-color: var(--el-color-primary-light-9);
27
+ --fl-tree-node-indent: 20px;
28
+ --fl-tree-switcher-size: var(--fl-tree-node-indent);
29
+ --fl-tree-collapse-duration: var(--el-transition-duration, 0.3s);
30
+ --fl-tree-collapse-easing: var(--el-transition-function-ease-in-out-bezier, ease-in-out);
31
+
32
+ &:focus {
33
+ outline: none;
34
+ }
35
+
36
+ @include bem.e(item) {
37
+ position: relative;
38
+ box-sizing: border-box;
39
+
40
+ &:hover > #{bem.selector('tree', 'item-content')} {
41
+ background-color: var(--fl-tree-node-hover-bg-color);
42
+ }
43
+ }
44
+
45
+ @include bem.e(item-content) {
46
+ position: relative;
47
+ display: flex;
48
+ align-items: stretch;
49
+ min-height: var(--fl-tree-node-content-height);
50
+ padding: 0 8px;
51
+ border-radius: var(--fl-radius-sm);
52
+ cursor: pointer;
53
+ user-select: none;
54
+ transition: background-color var(--el-transition-duration);
55
+
56
+ &.is-selected {
57
+ background-color: var(--fl-tree-node-selected-bg-color);
58
+ }
59
+
60
+ &.is-focused:not(.is-selected) {
61
+ background-color: var(--fl-tree-node-hover-bg-color);
62
+ }
63
+
64
+ &.is-selected #{bem.selector('tree', 'item-title')} {
65
+ color: var(--fl-tree-node-selected-text-color);
66
+ }
67
+
68
+ &.is-filtered:not(.is-selected) {
69
+ background-color: var(--fl-tree-node-filtered-bg-color);
70
+ }
71
+
72
+ &.is-filtered #{bem.selector('tree', 'item-title')} {
73
+ color: var(--fl-tree-node-filtered-color);
74
+ font-weight: 600;
75
+ }
76
+
77
+ &.is-disabled #{bem.selector('tree', 'item-icon')},
78
+ &.is-disabled #{bem.selector('tree', 'item-title')} {
79
+ color: var(--fl-tree-node-disabled-text-color);
80
+ }
81
+
82
+ &.is-draggable {
83
+ cursor: grab;
84
+ }
85
+
86
+ &.is-dragging {
87
+ opacity: 0.45;
88
+ cursor: grabbing;
89
+ }
90
+
91
+ &.is-drop-inside.is-drop-allowed {
92
+ background-color: var(--fl-tree-drop-inside-bg-color);
93
+ }
94
+
95
+ &.is-drop-forbidden {
96
+ cursor: no-drop;
97
+ }
98
+
99
+ &.is-drop-before::before,
100
+ &.is-drop-after::after {
101
+ position: absolute;
102
+ z-index: 2;
103
+ inset-inline-start: 8px;
104
+ inset-inline-end: 8px;
105
+ border-top: 2px solid var(--fl-tree-drop-line-color);
106
+ content: '';
107
+ pointer-events: none;
108
+ }
109
+
110
+ &.is-drop-before::before {
111
+ top: 0;
112
+ }
113
+
114
+ &.is-drop-after::after {
115
+ bottom: 0;
116
+ }
117
+
118
+ &.is-drop-forbidden::before,
119
+ &.is-drop-forbidden::after {
120
+ border-color: var(--fl-tree-drop-forbidden-color);
121
+ }
122
+ }
123
+
124
+ @include bem.e(indent) {
125
+ display: inline-flex;
126
+ align-self: stretch;
127
+ flex: 0 0 auto;
128
+ min-height: var(--fl-tree-node-content-height);
129
+ white-space: nowrap;
130
+ user-select: none;
131
+ }
132
+
133
+ @include bem.e(indent-unit) {
134
+ position: relative;
135
+ display: inline-block;
136
+ flex: 0 0 var(--fl-tree-node-indent);
137
+ width: var(--fl-tree-node-indent);
138
+ min-height: var(--fl-tree-node-content-height);
139
+ }
140
+
141
+ @include bem.e(item-icon) {
142
+ display: inline-flex;
143
+ align-items: center;
144
+ justify-content: center;
145
+ flex: 0 0 16px;
146
+ width: 16px;
147
+ min-width: 16px;
148
+ min-height: var(--fl-tree-node-content-height);
149
+ margin-inline-end: 4px;
150
+ color: var(--fl-tree-node-icon-color);
151
+ }
152
+
153
+ @include bem.e(item-checkbox) {
154
+ display: inline-flex;
155
+ align-items: center;
156
+ flex: 0 0 auto;
157
+ min-height: var(--fl-tree-node-content-height);
158
+ margin-inline-end: 4px;
159
+
160
+ .el-checkbox {
161
+ margin-right: 0;
162
+ }
163
+
164
+ .el-checkbox__label {
165
+ display: none;
166
+ }
167
+ }
168
+
169
+ @include bem.e(switcher) {
170
+ position: relative;
171
+ display: inline-flex;
172
+ align-self: stretch;
173
+ align-items: center;
174
+ justify-content: center;
175
+ width: 100%;
176
+ min-height: var(--fl-tree-node-content-height);
177
+
178
+ &--noop {
179
+ cursor: default;
180
+ }
181
+ }
182
+
183
+ @include bem.e(switcher-button) {
184
+ display: inline-flex;
185
+ align-items: center;
186
+ justify-content: center;
187
+ width: 16px;
188
+ height: 16px;
189
+ padding: 0;
190
+ border: 0;
191
+ background: transparent;
192
+ color: inherit;
193
+ cursor: pointer;
194
+ appearance: none;
195
+
196
+ &:disabled {
197
+ cursor: default;
198
+ }
199
+ }
200
+
201
+ @include bem.e(switcher-icon) {
202
+ display: inline-flex;
203
+ align-items: center;
204
+ justify-content: center;
205
+ width: 100%;
206
+ height: 100%;
207
+ font-size: 14px;
208
+
209
+ &.is-loading {
210
+ animation: rotating 2s linear infinite;
211
+ }
212
+ }
213
+
214
+ @include bem.e(switcher-dot) {
215
+ width: 4px;
216
+ height: 4px;
217
+ border-radius: 999px;
218
+ background-color: var(--fl-tree-leaf-dot-color);
219
+ }
220
+
221
+ @include bem.e(switcher-leaf-line) {
222
+ position: relative;
223
+ z-index: 1;
224
+ display: block;
225
+ align-self: stretch;
226
+ width: 100%;
227
+ min-height: var(--fl-tree-node-content-height);
228
+ }
229
+
230
+ @include bem.e(switcher-leaf-icon) {
231
+ position: absolute;
232
+ z-index: 2;
233
+ width: 6px;
234
+ height: 6px;
235
+ border: var(--fl-tree-line-width) solid var(--fl-tree-line-color);
236
+ border-radius: 999px;
237
+ background-color: var(--el-fill-color-blank);
238
+ }
239
+
240
+ @include bem.e(item-title) {
241
+ display: flex;
242
+ flex: 1 1 auto;
243
+ align-items: center;
244
+ min-width: 0;
245
+ min-height: var(--fl-tree-node-content-height);
246
+ color: var(--fl-tree-node-text-color);
247
+ font-size: inherit;
248
+ line-height: 1.5;
249
+ word-break: break-word;
250
+ }
251
+
252
+ @include bem.e(children) {
253
+ display: grid;
254
+ grid-template-rows: 1fr;
255
+ overflow: hidden;
256
+ }
257
+
258
+ @include bem.e(children-inner) {
259
+ display: flex;
260
+ flex-direction: column;
261
+ min-height: 0;
262
+ }
263
+
264
+ .fl-tree-collapse-enter-active,
265
+ .fl-tree-collapse-leave-active {
266
+ transform-origin: top;
267
+ transition:
268
+ grid-template-rows var(--fl-tree-collapse-duration) var(--fl-tree-collapse-easing),
269
+ opacity var(--fl-tree-collapse-duration) var(--fl-tree-collapse-easing),
270
+ transform var(--fl-tree-collapse-duration) var(--fl-tree-collapse-easing);
271
+ }
272
+
273
+ .fl-tree-collapse-enter-from,
274
+ .fl-tree-collapse-leave-to {
275
+ grid-template-rows: 0fr;
276
+ opacity: 0;
277
+ transform: translateY(-4px);
278
+ }
279
+
280
+ .fl-tree-collapse-enter-to,
281
+ .fl-tree-collapse-leave-from {
282
+ grid-template-rows: 1fr;
283
+ opacity: 1;
284
+ transform: translateY(0);
285
+ }
286
+
287
+ @media (prefers-reduced-motion: reduce) {
288
+ .fl-tree-collapse-enter-active,
289
+ .fl-tree-collapse-leave-active {
290
+ transition: none;
291
+ }
292
+
293
+ .fl-tree-collapse-enter-from,
294
+ .fl-tree-collapse-leave-to,
295
+ .fl-tree-collapse-enter-to,
296
+ .fl-tree-collapse-leave-from {
297
+ transform: none;
298
+ }
299
+ }
300
+
301
+ &.is-show-line {
302
+ #{bem.selector('tree', 'item-icon')} {
303
+ flex: 0 0 var(--fl-tree-switcher-size);
304
+ width: var(--fl-tree-switcher-size);
305
+ min-width: var(--fl-tree-switcher-size);
306
+ }
307
+
308
+ #{bem.selector('tree', 'indent-unit')} {
309
+ &::before {
310
+ position: absolute;
311
+ top: 0;
312
+ inset-inline-end: calc(var(--fl-tree-node-indent) / 2);
313
+ bottom: 0;
314
+ margin-inline-end: calc(var(--fl-tree-line-width) * -0.5);
315
+ border-inline-end: var(--fl-tree-line-width) solid var(--fl-tree-line-color);
316
+ content: '';
317
+ }
318
+
319
+ &.is-end::before {
320
+ display: none;
321
+ }
322
+ }
323
+
324
+ #{bem.selector('tree', 'switcher-leaf-line')} {
325
+ width: var(--fl-tree-switcher-size);
326
+
327
+ &::before {
328
+ position: absolute;
329
+ top: 0;
330
+ inset-inline-end: calc(50% - (var(--fl-tree-line-width) / 2));
331
+ bottom: 0;
332
+ border-inline-end: var(--fl-tree-line-width) solid var(--fl-tree-line-color);
333
+ content: '';
334
+ }
335
+
336
+ &::after {
337
+ position: absolute;
338
+ inset-inline-start: 50%;
339
+ top: 50%;
340
+ width: 50%;
341
+ border-bottom: var(--fl-tree-line-width) solid var(--fl-tree-line-color);
342
+ transform: translateY(-50%);
343
+ content: '';
344
+ }
345
+ }
346
+
347
+ #{bem.selector('tree', 'switcher-leaf-icon')} {
348
+ top: 50%;
349
+ inset-inline-start: 50%;
350
+ transform: translate(-50%, -50%);
351
+ }
352
+
353
+ #{bem.selector('tree', 'item')}.is-leaf.is-last
354
+ #{bem.selector('tree', 'switcher-leaf-line')}::before {
355
+ height: 50%;
356
+ bottom: auto;
357
+ }
358
+ }
359
+ }
360
+
361
+ @keyframes rotating {
362
+ from {
363
+ transform: rotate(0deg);
364
+ }
365
+
366
+ to {
367
+ transform: rotate(360deg);
368
+ }
369
+ }
@@ -0,0 +1,183 @@
1
+ export declare const FlBarcode: import("@falcon-ui/falcon-ui/utils").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ readonly value: {
3
+ readonly type: StringConstructor;
4
+ readonly default: "";
5
+ };
6
+ readonly format: {
7
+ readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").FlBarcodeFormat>;
8
+ readonly default: "CODE128";
9
+ readonly validator: (value: string) => boolean;
10
+ };
11
+ readonly width: {
12
+ readonly type: NumberConstructor;
13
+ readonly default: 2;
14
+ };
15
+ readonly height: {
16
+ readonly type: NumberConstructor;
17
+ readonly default: 100;
18
+ };
19
+ readonly color: {
20
+ readonly type: StringConstructor;
21
+ readonly default: "#000000";
22
+ };
23
+ readonly backgroundColor: {
24
+ readonly type: StringConstructor;
25
+ readonly default: "#ffffff";
26
+ };
27
+ readonly displayValue: {
28
+ readonly type: BooleanConstructor;
29
+ readonly default: true;
30
+ };
31
+ readonly text: {
32
+ readonly type: StringConstructor;
33
+ readonly default: "";
34
+ };
35
+ readonly font: {
36
+ readonly type: StringConstructor;
37
+ readonly default: "monospace";
38
+ };
39
+ readonly fontOptions: {
40
+ readonly type: StringConstructor;
41
+ readonly default: "";
42
+ };
43
+ readonly fontSize: {
44
+ readonly type: NumberConstructor;
45
+ readonly default: 20;
46
+ };
47
+ readonly textAlign: {
48
+ readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").FlBarcodeTextAlign>;
49
+ readonly default: "center";
50
+ readonly validator: (value: string) => boolean;
51
+ };
52
+ readonly textPosition: {
53
+ readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").FlBarcodeTextPosition>;
54
+ readonly default: "bottom";
55
+ readonly validator: (value: string) => boolean;
56
+ };
57
+ readonly textMargin: {
58
+ readonly type: NumberConstructor;
59
+ readonly default: 2;
60
+ };
61
+ readonly margin: {
62
+ readonly type: NumberConstructor;
63
+ readonly default: 10;
64
+ };
65
+ readonly marginTop: {
66
+ readonly type: NumberConstructor;
67
+ readonly default: undefined;
68
+ };
69
+ readonly marginRight: {
70
+ readonly type: NumberConstructor;
71
+ readonly default: undefined;
72
+ };
73
+ readonly marginBottom: {
74
+ readonly type: NumberConstructor;
75
+ readonly default: undefined;
76
+ };
77
+ readonly marginLeft: {
78
+ readonly type: NumberConstructor;
79
+ readonly default: undefined;
80
+ };
81
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
82
+ readonly value: {
83
+ readonly type: StringConstructor;
84
+ readonly default: "";
85
+ };
86
+ readonly format: {
87
+ readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").FlBarcodeFormat>;
88
+ readonly default: "CODE128";
89
+ readonly validator: (value: string) => boolean;
90
+ };
91
+ readonly width: {
92
+ readonly type: NumberConstructor;
93
+ readonly default: 2;
94
+ };
95
+ readonly height: {
96
+ readonly type: NumberConstructor;
97
+ readonly default: 100;
98
+ };
99
+ readonly color: {
100
+ readonly type: StringConstructor;
101
+ readonly default: "#000000";
102
+ };
103
+ readonly backgroundColor: {
104
+ readonly type: StringConstructor;
105
+ readonly default: "#ffffff";
106
+ };
107
+ readonly displayValue: {
108
+ readonly type: BooleanConstructor;
109
+ readonly default: true;
110
+ };
111
+ readonly text: {
112
+ readonly type: StringConstructor;
113
+ readonly default: "";
114
+ };
115
+ readonly font: {
116
+ readonly type: StringConstructor;
117
+ readonly default: "monospace";
118
+ };
119
+ readonly fontOptions: {
120
+ readonly type: StringConstructor;
121
+ readonly default: "";
122
+ };
123
+ readonly fontSize: {
124
+ readonly type: NumberConstructor;
125
+ readonly default: 20;
126
+ };
127
+ readonly textAlign: {
128
+ readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").FlBarcodeTextAlign>;
129
+ readonly default: "center";
130
+ readonly validator: (value: string) => boolean;
131
+ };
132
+ readonly textPosition: {
133
+ readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").FlBarcodeTextPosition>;
134
+ readonly default: "bottom";
135
+ readonly validator: (value: string) => boolean;
136
+ };
137
+ readonly textMargin: {
138
+ readonly type: NumberConstructor;
139
+ readonly default: 2;
140
+ };
141
+ readonly margin: {
142
+ readonly type: NumberConstructor;
143
+ readonly default: 10;
144
+ };
145
+ readonly marginTop: {
146
+ readonly type: NumberConstructor;
147
+ readonly default: undefined;
148
+ };
149
+ readonly marginRight: {
150
+ readonly type: NumberConstructor;
151
+ readonly default: undefined;
152
+ };
153
+ readonly marginBottom: {
154
+ readonly type: NumberConstructor;
155
+ readonly default: undefined;
156
+ };
157
+ readonly marginLeft: {
158
+ readonly type: NumberConstructor;
159
+ readonly default: undefined;
160
+ };
161
+ }>> & Readonly<{}>, {
162
+ readonly height: number;
163
+ readonly width: number;
164
+ readonly value: string;
165
+ readonly color: string;
166
+ readonly text: string;
167
+ readonly font: string;
168
+ readonly format: "CODE128" | "CODE39" | "EAN13" | "EAN8" | "UPCA" | "UPCE";
169
+ readonly backgroundColor: string;
170
+ readonly margin: number;
171
+ readonly displayValue: boolean;
172
+ readonly fontOptions: string;
173
+ readonly fontSize: number;
174
+ readonly textAlign: "center" | "right" | "left";
175
+ readonly textPosition: "top" | "bottom";
176
+ readonly textMargin: number;
177
+ readonly marginTop: number;
178
+ readonly marginRight: number;
179
+ readonly marginBottom: number;
180
+ readonly marginLeft: number;
181
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
182
+ export default FlBarcode;
183
+ export type { BarcodeProps, FlBarcodeFormat, FlBarcodeProps, FlBarcodeTextAlign, FlBarcodeTextPosition } from './src/barcode';
@@ -0,0 +1,147 @@
1
+ import type { ExtractPublicPropTypes, PropType } from 'vue';
2
+ export declare const flBarcodeFormats: readonly ["CODE128", "CODE39", "EAN13", "EAN8", "UPCA", "UPCE"];
3
+ export type FlBarcodeFormat = (typeof flBarcodeFormats)[number];
4
+ export declare const flBarcodeTextAligns: readonly ["left", "center", "right"];
5
+ export type FlBarcodeTextAlign = (typeof flBarcodeTextAligns)[number];
6
+ export declare const flBarcodeTextPositions: readonly ["top", "bottom"];
7
+ export type FlBarcodeTextPosition = (typeof flBarcodeTextPositions)[number];
8
+ export declare const flBarcodeProps: {
9
+ /**
10
+ * Barcode payload.
11
+ */
12
+ readonly value: {
13
+ readonly type: StringConstructor;
14
+ readonly default: "";
15
+ };
16
+ /**
17
+ * Supported barcode format.
18
+ */
19
+ readonly format: {
20
+ readonly type: PropType<FlBarcodeFormat>;
21
+ readonly default: "CODE128";
22
+ readonly validator: (value: string) => boolean;
23
+ };
24
+ /**
25
+ * Width of each bar.
26
+ */
27
+ readonly width: {
28
+ readonly type: NumberConstructor;
29
+ readonly default: 2;
30
+ };
31
+ /**
32
+ * Barcode height.
33
+ */
34
+ readonly height: {
35
+ readonly type: NumberConstructor;
36
+ readonly default: 100;
37
+ };
38
+ /**
39
+ * Bar color.
40
+ */
41
+ readonly color: {
42
+ readonly type: StringConstructor;
43
+ readonly default: "#000000";
44
+ };
45
+ /**
46
+ * Background color.
47
+ */
48
+ readonly backgroundColor: {
49
+ readonly type: StringConstructor;
50
+ readonly default: "#ffffff";
51
+ };
52
+ /**
53
+ * Whether to display readable text.
54
+ */
55
+ readonly displayValue: {
56
+ readonly type: BooleanConstructor;
57
+ readonly default: true;
58
+ };
59
+ /**
60
+ * Custom text. Falls back to value when empty.
61
+ */
62
+ readonly text: {
63
+ readonly type: StringConstructor;
64
+ readonly default: "";
65
+ };
66
+ /**
67
+ * Text font family.
68
+ */
69
+ readonly font: {
70
+ readonly type: StringConstructor;
71
+ readonly default: "monospace";
72
+ };
73
+ /**
74
+ * Text font style flags.
75
+ */
76
+ readonly fontOptions: {
77
+ readonly type: StringConstructor;
78
+ readonly default: "";
79
+ };
80
+ /**
81
+ * Text font size.
82
+ */
83
+ readonly fontSize: {
84
+ readonly type: NumberConstructor;
85
+ readonly default: 20;
86
+ };
87
+ /**
88
+ * Text alignment.
89
+ */
90
+ readonly textAlign: {
91
+ readonly type: PropType<FlBarcodeTextAlign>;
92
+ readonly default: "center";
93
+ readonly validator: (value: string) => boolean;
94
+ };
95
+ /**
96
+ * Text position.
97
+ */
98
+ readonly textPosition: {
99
+ readonly type: PropType<FlBarcodeTextPosition>;
100
+ readonly default: "bottom";
101
+ readonly validator: (value: string) => boolean;
102
+ };
103
+ /**
104
+ * Distance between barcode bars and text.
105
+ */
106
+ readonly textMargin: {
107
+ readonly type: NumberConstructor;
108
+ readonly default: 2;
109
+ };
110
+ /**
111
+ * Global margin around the barcode.
112
+ */
113
+ readonly margin: {
114
+ readonly type: NumberConstructor;
115
+ readonly default: 10;
116
+ };
117
+ /**
118
+ * Overrides the top margin when provided.
119
+ */
120
+ readonly marginTop: {
121
+ readonly type: NumberConstructor;
122
+ readonly default: undefined;
123
+ };
124
+ /**
125
+ * Overrides the right margin when provided.
126
+ */
127
+ readonly marginRight: {
128
+ readonly type: NumberConstructor;
129
+ readonly default: undefined;
130
+ };
131
+ /**
132
+ * Overrides the bottom margin when provided.
133
+ */
134
+ readonly marginBottom: {
135
+ readonly type: NumberConstructor;
136
+ readonly default: undefined;
137
+ };
138
+ /**
139
+ * Overrides the left margin when provided.
140
+ */
141
+ readonly marginLeft: {
142
+ readonly type: NumberConstructor;
143
+ readonly default: undefined;
144
+ };
145
+ };
146
+ export type FlBarcodeProps = ExtractPublicPropTypes<typeof flBarcodeProps>;
147
+ export type BarcodeProps = FlBarcodeProps;