@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.
- package/LICENSE +21 -0
- package/README.md +182 -0
- package/cjs/JsBarcode-BlUjuVmB.cjs +3519 -0
- package/cjs/JsBarcode-BlUjuVmB.cjs.map +1 -0
- package/cjs/chunk-D4y6LrGi.cjs +40 -0
- package/cjs/components/JsBarcode-BOXEZn4Q.cjs +3519 -0
- package/cjs/components/JsBarcode-BOXEZn4Q.cjs.map +1 -0
- package/cjs/components/barcode/JsBarcode-BOXEZn4Q.cjs +3519 -0
- package/cjs/components/barcode/JsBarcode-BOXEZn4Q.cjs.map +1 -0
- package/cjs/components/barcode/chunk-D4y6LrGi.cjs +40 -0
- package/cjs/components/barcode/index.cjs +211 -0
- package/cjs/components/barcode/index.cjs.map +1 -0
- package/cjs/components/barcode/src/JsBarcode-BOXEZn4Q.cjs +3519 -0
- package/cjs/components/barcode/src/JsBarcode-BOXEZn4Q.cjs.map +1 -0
- package/cjs/components/barcode/src/barcode.cjs +102 -0
- package/cjs/components/barcode/src/barcode.cjs.map +1 -0
- package/cjs/components/barcode/src/barcode.vue.cjs +200 -0
- package/cjs/components/barcode/src/barcode.vue.cjs.map +1 -0
- package/cjs/components/barcode/src/chunk-D4y6LrGi.cjs +40 -0
- package/cjs/components/button/index.cjs +135 -0
- package/cjs/components/button/index.cjs.map +1 -0
- package/cjs/components/button/src/button.cjs +16 -0
- package/cjs/components/button/src/button.cjs.map +1 -0
- package/cjs/components/button/src/button.vue.cjs +124 -0
- package/cjs/components/button/src/button.vue.cjs.map +1 -0
- package/cjs/components/chunk-D4y6LrGi.cjs +40 -0
- package/cjs/components/date-picker/index.cjs +164 -0
- package/cjs/components/date-picker/index.cjs.map +1 -0
- package/cjs/components/date-picker/src/date-picker.cjs +25 -0
- package/cjs/components/date-picker/src/date-picker.cjs.map +1 -0
- package/cjs/components/date-picker/src/date-picker.vue.cjs +153 -0
- package/cjs/components/date-picker/src/date-picker.vue.cjs.map +1 -0
- package/cjs/components/dialog/index.cjs +346 -0
- package/cjs/components/dialog/index.cjs.map +1 -0
- package/cjs/components/dialog/src/dialog.cjs +40 -0
- package/cjs/components/dialog/src/dialog.cjs.map +1 -0
- package/cjs/components/dialog/src/dialog.vue.cjs +343 -0
- package/cjs/components/dialog/src/dialog.vue.cjs.map +1 -0
- package/cjs/components/index.cjs +9450 -0
- package/cjs/components/index.cjs.map +1 -0
- package/cjs/components/input/index.cjs +175 -0
- package/cjs/components/input/index.cjs.map +1 -0
- package/cjs/components/input/src/input.cjs +27 -0
- package/cjs/components/input/src/input.cjs.map +1 -0
- package/cjs/components/input/src/input.vue.cjs +164 -0
- package/cjs/components/input/src/input.vue.cjs.map +1 -0
- package/cjs/components/input-number/index.cjs +374 -0
- package/cjs/components/input-number/index.cjs.map +1 -0
- package/cjs/components/input-number/src/input-number.cjs +48 -0
- package/cjs/components/input-number/src/input-number.cjs.map +1 -0
- package/cjs/components/input-number/src/input-number.vue.cjs +363 -0
- package/cjs/components/input-number/src/input-number.vue.cjs.map +1 -0
- package/cjs/components/input-search/index.cjs +286 -0
- package/cjs/components/input-search/index.cjs.map +1 -0
- package/cjs/components/input-search/src/input-search.cjs +55 -0
- package/cjs/components/input-search/src/input-search.cjs.map +1 -0
- package/cjs/components/input-search/src/input-search.vue.cjs +275 -0
- package/cjs/components/input-search/src/input-search.vue.cjs.map +1 -0
- package/cjs/components/qr-code/index.cjs +1975 -0
- package/cjs/components/qr-code/index.cjs.map +1 -0
- package/cjs/components/qr-code/src/qr-code.cjs +63 -0
- package/cjs/components/qr-code/src/qr-code.cjs.map +1 -0
- package/cjs/components/qr-code/src/qr-code.vue.cjs +1964 -0
- package/cjs/components/qr-code/src/qr-code.vue.cjs.map +1 -0
- package/cjs/components/radial-menu/index.cjs +983 -0
- package/cjs/components/radial-menu/index.cjs.map +1 -0
- package/cjs/components/radial-menu/src/radial-menu.cjs +96 -0
- package/cjs/components/radial-menu/src/radial-menu.cjs.map +1 -0
- package/cjs/components/radial-menu/src/radial-menu.vue.cjs +921 -0
- package/cjs/components/radial-menu/src/radial-menu.vue.cjs.map +1 -0
- package/cjs/components/select/index.cjs +163 -0
- package/cjs/components/select/index.cjs.map +1 -0
- package/cjs/components/select/src/select.cjs +16 -0
- package/cjs/components/select/src/select.cjs.map +1 -0
- package/cjs/components/select/src/select.vue.cjs +152 -0
- package/cjs/components/select/src/select.vue.cjs.map +1 -0
- package/cjs/components/table/index.cjs +3351 -0
- package/cjs/components/table/index.cjs.map +1 -0
- package/cjs/components/table/src/table.cjs +62 -0
- package/cjs/components/table/src/table.cjs.map +1 -0
- package/cjs/components/table/src/table.vue.cjs +3085 -0
- package/cjs/components/table/src/table.vue.cjs.map +1 -0
- package/cjs/dialog-CJU00aEV.cjs +614 -0
- package/cjs/dialog-CJU00aEV.cjs.map +1 -0
- package/cjs/dialog-DcH26KbE.cjs +2 -0
- package/cjs/hooks/dialog-DpYPBcKV.cjs +266 -0
- package/cjs/hooks/dialog-DpYPBcKV.cjs.map +1 -0
- package/cjs/hooks/hooks-D2Jaq5kO.cjs +328 -0
- package/cjs/hooks/hooks-D2Jaq5kO.cjs.map +1 -0
- package/cjs/hooks/index.cjs +8 -0
- package/cjs/icons/index.cjs +86 -0
- package/cjs/icons/index.cjs.map +1 -0
- package/cjs/index.cjs +9141 -0
- package/cjs/index.cjs.map +1 -0
- package/cjs/utils/index.cjs +69 -0
- package/cjs/utils/index.cjs.map +1 -0
- package/esm/JsBarcode-kVJER62m.js +3514 -0
- package/esm/JsBarcode-kVJER62m.js.map +1 -0
- package/esm/chunk-BuRq7rDw.js +23 -0
- package/esm/components/JsBarcode-CzzxrEd_.js +3514 -0
- package/esm/components/JsBarcode-CzzxrEd_.js.map +1 -0
- package/esm/components/barcode/JsBarcode-C5ux6wsb.js +3514 -0
- package/esm/components/barcode/JsBarcode-C5ux6wsb.js.map +1 -0
- package/esm/components/barcode/chunk--em_ddB3.js +23 -0
- package/esm/components/barcode/index.mjs +204 -0
- package/esm/components/barcode/index.mjs.map +1 -0
- package/esm/components/barcode/src/JsBarcode-C5ux6wsb.js +3514 -0
- package/esm/components/barcode/src/JsBarcode-C5ux6wsb.js.map +1 -0
- package/esm/components/barcode/src/barcode.mjs +98 -0
- package/esm/components/barcode/src/barcode.mjs.map +1 -0
- package/esm/components/barcode/src/barcode.vue.mjs +194 -0
- package/esm/components/barcode/src/barcode.vue.mjs.map +1 -0
- package/esm/components/barcode/src/chunk--em_ddB3.js +23 -0
- package/esm/components/button/index.mjs +126 -0
- package/esm/components/button/index.mjs.map +1 -0
- package/esm/components/button/src/button.mjs +14 -0
- package/esm/components/button/src/button.mjs.map +1 -0
- package/esm/components/button/src/button.vue.mjs +117 -0
- package/esm/components/button/src/button.vue.mjs.map +1 -0
- package/esm/components/chunk-BuRq7rDw.js +23 -0
- package/esm/components/date-picker/index.mjs +155 -0
- package/esm/components/date-picker/index.mjs.map +1 -0
- package/esm/components/date-picker/src/date-picker.mjs +23 -0
- package/esm/components/date-picker/src/date-picker.mjs.map +1 -0
- package/esm/components/date-picker/src/date-picker.vue.mjs +146 -0
- package/esm/components/date-picker/src/date-picker.vue.mjs.map +1 -0
- package/esm/components/dialog/index.mjs +335 -0
- package/esm/components/dialog/index.mjs.map +1 -0
- package/esm/components/dialog/src/dialog.mjs +38 -0
- package/esm/components/dialog/src/dialog.mjs.map +1 -0
- package/esm/components/dialog/src/dialog.vue.mjs +334 -0
- package/esm/components/dialog/src/dialog.vue.mjs.map +1 -0
- package/esm/components/index.mjs +9386 -0
- package/esm/components/index.mjs.map +1 -0
- package/esm/components/input/index.mjs +166 -0
- package/esm/components/input/index.mjs.map +1 -0
- package/esm/components/input/src/input.mjs +25 -0
- package/esm/components/input/src/input.mjs.map +1 -0
- package/esm/components/input/src/input.vue.mjs +157 -0
- package/esm/components/input/src/input.vue.mjs.map +1 -0
- package/esm/components/input-number/index.mjs +365 -0
- package/esm/components/input-number/index.mjs.map +1 -0
- package/esm/components/input-number/src/input-number.mjs +45 -0
- package/esm/components/input-number/src/input-number.mjs.map +1 -0
- package/esm/components/input-number/src/input-number.vue.mjs +356 -0
- package/esm/components/input-number/src/input-number.vue.mjs.map +1 -0
- package/esm/components/input-search/index.mjs +277 -0
- package/esm/components/input-search/index.mjs.map +1 -0
- package/esm/components/input-search/src/input-search.mjs +53 -0
- package/esm/components/input-search/src/input-search.mjs.map +1 -0
- package/esm/components/input-search/src/input-search.vue.mjs +268 -0
- package/esm/components/input-search/src/input-search.vue.mjs.map +1 -0
- package/esm/components/qr-code/index.mjs +1967 -0
- package/esm/components/qr-code/index.mjs.map +1 -0
- package/esm/components/qr-code/src/qr-code.mjs +59 -0
- package/esm/components/qr-code/src/qr-code.mjs.map +1 -0
- package/esm/components/qr-code/src/qr-code.vue.mjs +1958 -0
- package/esm/components/qr-code/src/qr-code.vue.mjs.map +1 -0
- package/esm/components/radial-menu/index.mjs +974 -0
- package/esm/components/radial-menu/index.mjs.map +1 -0
- package/esm/components/radial-menu/src/radial-menu.mjs +94 -0
- package/esm/components/radial-menu/src/radial-menu.mjs.map +1 -0
- package/esm/components/radial-menu/src/radial-menu.vue.mjs +916 -0
- package/esm/components/radial-menu/src/radial-menu.vue.mjs.map +1 -0
- package/esm/components/select/index.mjs +154 -0
- package/esm/components/select/index.mjs.map +1 -0
- package/esm/components/select/src/select.mjs +14 -0
- package/esm/components/select/src/select.mjs.map +1 -0
- package/esm/components/select/src/select.vue.mjs +145 -0
- package/esm/components/select/src/select.vue.mjs.map +1 -0
- package/esm/components/table/index.mjs +3342 -0
- package/esm/components/table/index.mjs.map +1 -0
- package/esm/components/table/src/table.mjs +60 -0
- package/esm/components/table/src/table.mjs.map +1 -0
- package/esm/components/table/src/table.vue.mjs +3080 -0
- package/esm/components/table/src/table.vue.mjs.map +1 -0
- package/esm/dialog-Cm3Px-Bu.js +537 -0
- package/esm/dialog-Cm3Px-Bu.js.map +1 -0
- package/esm/dialog-CzZm50XM.js +2 -0
- package/esm/hooks/dialog-d4SMZWbw.js +261 -0
- package/esm/hooks/dialog-d4SMZWbw.js.map +1 -0
- package/esm/hooks/hooks-DdjieG2I.js +281 -0
- package/esm/hooks/hooks-DdjieG2I.js.map +1 -0
- package/esm/hooks/index.mjs +2 -0
- package/esm/icons/index.mjs +79 -0
- package/esm/icons/index.mjs.map +1 -0
- package/esm/index.mjs +9065 -0
- package/esm/index.mjs.map +1 -0
- package/esm/utils/index.mjs +65 -0
- package/esm/utils/index.mjs.map +1 -0
- package/global.d.ts +39 -0
- package/package.json +131 -0
- package/theme/index.css +1 -0
- package/theme/index.scss +16 -0
- package/theme/src/barcode.scss +14 -0
- package/theme/src/button.scss +65 -0
- package/theme/src/date-picker.scss +87 -0
- package/theme/src/dialog.scss +146 -0
- package/theme/src/ep-vars.scss +11 -0
- package/theme/src/input-number.scss +66 -0
- package/theme/src/input-search.scss +78 -0
- package/theme/src/input.scss +66 -0
- package/theme/src/mixins/bem.scss +35 -0
- package/theme/src/mixins/color.scss +8 -0
- package/theme/src/qr-code.scss +23 -0
- package/theme/src/radial-menu.scss +346 -0
- package/theme/src/select.scss +44 -0
- package/theme/src/table.scss +143 -0
- package/theme/src/tokens.scss +26 -0
- package/theme/src/tree-select.scss +45 -0
- package/theme/src/tree.scss +369 -0
- package/types/components/barcode/index.d.ts +183 -0
- package/types/components/barcode/src/barcode.d.ts +147 -0
- package/types/components/barcode/src/barcode.vue.d.ts +184 -0
- package/types/components/button/index.d.ts +135 -0
- package/types/components/button/src/button.d.ts +33 -0
- package/types/components/button/src/button.vue.d.ts +138 -0
- package/types/components/date-picker/index.d.ts +508 -0
- package/types/components/date-picker/src/date-picker.d.ts +35 -0
- package/types/components/date-picker/src/date-picker.vue.d.ts +509 -0
- package/types/components/dialog/index.d.ts +630 -0
- package/types/components/dialog/src/dialog.d.ts +70 -0
- package/types/components/dialog/src/dialog.vue.d.ts +257 -0
- package/types/components/index.d.ts +27 -0
- package/types/components/input/index.d.ts +233 -0
- package/types/components/input/src/input.d.ts +65 -0
- package/types/components/input/src/input.vue.d.ts +239 -0
- package/types/components/input-number/index.d.ts +713 -0
- package/types/components/input-number/src/input-number.d.ts +101 -0
- package/types/components/input-number/src/input-number.vue.d.ts +283 -0
- package/types/components/input-search/index.d.ts +113 -0
- package/types/components/input-search/src/input-search.d.ts +128 -0
- package/types/components/input-search/src/input-search.vue.d.ts +114 -0
- package/types/components/qr-code/index.d.ts +109 -0
- package/types/components/qr-code/src/qr-code.d.ts +93 -0
- package/types/components/qr-code/src/qr-code.vue.d.ts +109 -0
- package/types/components/radial-menu/index.d.ts +499 -0
- package/types/components/radial-menu/src/radial-menu-item.d.ts +40 -0
- package/types/components/radial-menu/src/radial-menu-item.vue.d.ts +95 -0
- package/types/components/radial-menu/src/radial-menu.d.ts +92 -0
- package/types/components/radial-menu/src/radial-menu.vue.d.ts +200 -0
- package/types/components/radial-menu/src/types.d.ts +48 -0
- package/types/components/radial-menu/src/use-radial-menu-items.d.ts +19 -0
- package/types/components/radial-menu/src/use-radial-menu-keyboard.d.ts +17 -0
- package/types/components/radial-menu/src/use-radial-menu-position.d.ts +45 -0
- package/types/components/radial-menu/src/use-radial-menu-shortcut.d.ts +8 -0
- package/types/components/radial-menu/src/use-radial-menu-state.d.ts +15 -0
- package/types/components/select/index.d.ts +5 -0
- package/types/components/select/src/select.d.ts +30 -0
- package/types/components/select/src/select.vue.d.ts +25 -0
- package/types/components/table/index.d.ts +8 -0
- package/types/components/table/src/editor-registry.d.ts +24 -0
- package/types/components/table/src/proxy-data.d.ts +10 -0
- package/types/components/table/src/table-editor.d.ts +18 -0
- package/types/components/table/src/table-editor.vue.d.ts +43 -0
- package/types/components/table/src/table.d.ts +179 -0
- package/types/components/table/src/table.vue.d.ts +121 -0
- package/types/components/tree/index.d.ts +5 -0
- package/types/components/tree/src/tree-node.vue.d.ts +88 -0
- package/types/components/tree/src/tree-types.d.ts +90 -0
- package/types/components/tree/src/tree.d.ts +448 -0
- package/types/components/tree/src/tree.vue.d.ts +301 -0
- package/types/components/tree/src/use-tree-check-conduct.d.ts +43 -0
- package/types/components/tree/src/use-tree-checked-state.d.ts +34 -0
- package/types/components/tree/src/use-tree-drag.d.ts +45 -0
- package/types/components/tree/src/use-tree-expanded-state.d.ts +41 -0
- package/types/components/tree/src/use-tree-keyboard.d.ts +21 -0
- package/types/components/tree/src/use-tree-load.d.ts +25 -0
- package/types/components/tree/src/use-tree-scroll.d.ts +17 -0
- package/types/components/tree/src/use-tree-selected-state.d.ts +29 -0
- package/types/components/tree-select/index.d.ts +5 -0
- package/types/components/tree-select/src/tree-select.d.ts +26 -0
- package/types/components/tree-select/src/tree-select.vue.d.ts +25 -0
- package/types/falcon-ui/index.d.ts +8 -0
- package/types/hooks/index.d.ts +3 -0
- package/types/hooks/src/use-clearable-state.d.ts +10 -0
- package/types/hooks/src/use-component.d.ts +15 -0
- package/types/hooks/src/use-dialog.d.ts +49 -0
- package/types/icons/index.d.ts +1 -0
- package/types/icons/src/components/holder-outlined.vue.d.ts +3 -0
- package/types/icons/src/components/index.d.ts +3 -0
- package/types/icons/src/components/minus-square-outlined.vue.d.ts +3 -0
- package/types/icons/src/components/plus-square-outlined.vue.d.ts +3 -0
- package/types/utils/index.d.ts +3 -0
- package/types/utils/src/bem.d.ts +11 -0
- package/types/utils/src/component.d.ts +6 -0
- package/types/utils/src/install.d.ts +5 -0
- package/umd/falcon-ui.umd.js +13297 -0
- package/umd/falcon-ui.umd.js.map +1 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
Object.defineProperties(exports, {
|
|
2
|
+
__esModule: { value: true },
|
|
3
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
+
});
|
|
5
|
+
let vue = require("vue");
|
|
6
|
+
let element_plus = require("element-plus");
|
|
7
|
+
var defaultNamespace = "fl";
|
|
8
|
+
var statePrefix = "is-";
|
|
9
|
+
var buildBemName = (namespace, block, blockSuffix = "", element = "", modifier = "") => {
|
|
10
|
+
let className = `${namespace}-${block}`;
|
|
11
|
+
if (blockSuffix) className += `-${blockSuffix}`;
|
|
12
|
+
if (element) className += `__${element}`;
|
|
13
|
+
if (modifier) className += `--${modifier}`;
|
|
14
|
+
return className;
|
|
15
|
+
};
|
|
16
|
+
const useNamespace = (block, namespace = defaultNamespace) => {
|
|
17
|
+
const b = (blockSuffix = "") => buildBemName(namespace, block, blockSuffix);
|
|
18
|
+
const e = (element) => element ? buildBemName(namespace, block, "", element) : "";
|
|
19
|
+
const m = (modifier) => modifier ? buildBemName(namespace, block, "", "", modifier) : "";
|
|
20
|
+
const be = (blockSuffix, element) => {
|
|
21
|
+
if (!blockSuffix || !element) return "";
|
|
22
|
+
return buildBemName(namespace, block, blockSuffix, element);
|
|
23
|
+
};
|
|
24
|
+
const em = (element, modifier) => {
|
|
25
|
+
if (!element || !modifier) return "";
|
|
26
|
+
return buildBemName(namespace, block, "", element, modifier);
|
|
27
|
+
};
|
|
28
|
+
const bm = (blockSuffix, modifier) => {
|
|
29
|
+
if (!blockSuffix || !modifier) return "";
|
|
30
|
+
return buildBemName(namespace, block, blockSuffix, "", modifier);
|
|
31
|
+
};
|
|
32
|
+
const bem = (blockSuffix, element, modifier) => {
|
|
33
|
+
if (!blockSuffix && !element && !modifier) return b();
|
|
34
|
+
return buildBemName(namespace, block, blockSuffix, element, modifier);
|
|
35
|
+
};
|
|
36
|
+
const is = (name, state = true) => state ? `${statePrefix}${name}` : "";
|
|
37
|
+
return {
|
|
38
|
+
namespace,
|
|
39
|
+
b,
|
|
40
|
+
e,
|
|
41
|
+
m,
|
|
42
|
+
be,
|
|
43
|
+
em,
|
|
44
|
+
bm,
|
|
45
|
+
bem,
|
|
46
|
+
is
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const mergeComponentExpose = (vm, exposed, extras = {}) => {
|
|
50
|
+
if (!vm?.exposed || !exposed || typeof exposed !== "object" && typeof exposed !== "function") return;
|
|
51
|
+
Object.assign(vm.exposed, extras, exposed);
|
|
52
|
+
};
|
|
53
|
+
const invokeListener = (listener, ...args) => {
|
|
54
|
+
if (typeof listener === "function") {
|
|
55
|
+
listener(...args);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (!Array.isArray(listener)) return;
|
|
59
|
+
for (const item of listener) if (typeof item === "function") item(...args);
|
|
60
|
+
};
|
|
61
|
+
const useMergedAttrs = ({ attrs, block, listenerName, onListener }) => {
|
|
62
|
+
const className = useNamespace(block).b();
|
|
63
|
+
return { mergedAttrs: (0, vue.computed)(() => {
|
|
64
|
+
const next = { ...attrs };
|
|
65
|
+
const originalListener = next[listenerName];
|
|
66
|
+
next.class = [className, next.class];
|
|
67
|
+
next[listenerName] = (...args) => {
|
|
68
|
+
onListener?.(...args);
|
|
69
|
+
invokeListener(originalListener, ...args);
|
|
70
|
+
};
|
|
71
|
+
return next;
|
|
72
|
+
}) };
|
|
73
|
+
};
|
|
74
|
+
const useMergedExpose = (extras) => {
|
|
75
|
+
const vm = (0, vue.getCurrentInstance)();
|
|
76
|
+
const changeRef = (exposed) => {
|
|
77
|
+
mergeComponentExpose(vm, exposed, extras);
|
|
78
|
+
};
|
|
79
|
+
return { changeRef };
|
|
80
|
+
};
|
|
81
|
+
const flButtonProps = {
|
|
82
|
+
debugLabel: {
|
|
83
|
+
type: String,
|
|
84
|
+
default: ""
|
|
85
|
+
},
|
|
86
|
+
debugMode: {
|
|
87
|
+
type: Boolean,
|
|
88
|
+
default: false
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const flButtonEmits = { "debug-click": (payload) => typeof payload.label === "string" };
|
|
92
|
+
var button_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
93
|
+
name: "FlButton",
|
|
94
|
+
inheritAttrs: false,
|
|
95
|
+
__name: "button",
|
|
96
|
+
props: flButtonProps,
|
|
97
|
+
emits: flButtonEmits,
|
|
98
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
99
|
+
const props = __props;
|
|
100
|
+
const emit = __emit;
|
|
101
|
+
const attrs = (0, vue.useAttrs)();
|
|
102
|
+
const slots = (0, vue.useSlots)();
|
|
103
|
+
const { changeRef } = useMergedExpose({ debugKind: "button" });
|
|
104
|
+
const { mergedAttrs } = useMergedAttrs({
|
|
105
|
+
attrs,
|
|
106
|
+
block: "button",
|
|
107
|
+
listenerName: "onClick",
|
|
108
|
+
onListener: () => {
|
|
109
|
+
if (props.debugMode) emit("debug-click", { label: props.debugLabel });
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
__expose({});
|
|
113
|
+
return (_ctx, _cache) => {
|
|
114
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.h)((0, vue.unref)(element_plus.ElButton), {
|
|
115
|
+
...(0, vue.unref)(mergedAttrs),
|
|
116
|
+
ref: (0, vue.unref)(changeRef)
|
|
117
|
+
}, (0, vue.unref)(slots))));
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
var button_default = button_vue_vue_type_script_setup_true_lang_default;
|
|
122
|
+
exports.default = button_default;
|
|
123
|
+
|
|
124
|
+
//# sourceMappingURL=button.vue.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.vue.cjs","names":[],"sources":["../../../../../../packages/utils/src/bem.ts","../../../../../../packages/utils/src/component.ts","../../../../../../packages/hooks/src/use-component.ts","../../../../../../packages/components/button/src/button.ts","../../../../../../packages/components/button/src/button.vue","../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["const defaultNamespace = 'fl'\r\nconst statePrefix = 'is-'\r\n\r\nconst buildBemName = (\r\n namespace: string,\r\n block: string,\r\n blockSuffix = '',\r\n element = '',\r\n modifier = ''\r\n) => {\r\n let className = `${namespace}-${block}`\r\n\r\n if (blockSuffix) {\r\n className += `-${blockSuffix}`\r\n }\r\n\r\n if (element) {\r\n className += `__${element}`\r\n }\r\n\r\n if (modifier) {\r\n className += `--${modifier}`\r\n }\r\n\r\n return className\r\n}\r\n\r\nexport const useNamespace = (block: string, namespace = defaultNamespace) => {\r\n const b = (blockSuffix = '') => buildBemName(namespace, block, blockSuffix)\r\n\r\n const e = (element?: string) => (element ? buildBemName(namespace, block, '', element) : '')\r\n\r\n const m = (modifier?: string) =>\r\n modifier ? buildBemName(namespace, block, '', '', modifier) : ''\r\n\r\n const be = (blockSuffix?: string, element?: string) => {\r\n if (!blockSuffix || !element) {\r\n return ''\r\n }\r\n\r\n return buildBemName(namespace, block, blockSuffix, element)\r\n }\r\n\r\n const em = (element?: string, modifier?: string) => {\r\n if (!element || !modifier) {\r\n return ''\r\n }\r\n\r\n return buildBemName(namespace, block, '', element, modifier)\r\n }\r\n\r\n const bm = (blockSuffix?: string, modifier?: string) => {\r\n if (!blockSuffix || !modifier) {\r\n return ''\r\n }\r\n\r\n return buildBemName(namespace, block, blockSuffix, '', modifier)\r\n }\r\n\r\n const bem = (blockSuffix?: string, element?: string, modifier?: string) => {\r\n if (!blockSuffix && !element && !modifier) {\r\n return b()\r\n }\r\n\r\n return buildBemName(namespace, block, blockSuffix, element, modifier)\r\n }\r\n\r\n const is = (name: string, state = true) => (state ? `${statePrefix}${name}` : '')\r\n\r\n return {\r\n namespace,\r\n b,\r\n e,\r\n m,\r\n be,\r\n em,\r\n bm,\r\n bem,\r\n is\r\n }\r\n}\r\n","type ExposedTarget = {\r\n exposed?: Record<string, unknown> | null\r\n} | null\r\n\r\nexport const mergeComponentExpose = (\r\n vm: ExposedTarget,\r\n exposed: unknown,\r\n extras: Record<string, unknown> = {}\r\n) => {\r\n if (!vm?.exposed || !exposed || (typeof exposed !== 'object' && typeof exposed !== 'function')) {\r\n return\r\n }\r\n\r\n Object.assign(vm.exposed, extras, exposed)\r\n}\r\n\r\nexport const invokeListener = (listener: unknown, ...args: unknown[]) => {\r\n if (typeof listener === 'function') {\r\n listener(...args)\r\n return\r\n }\r\n\r\n if (!Array.isArray(listener)) {\r\n return\r\n }\r\n\r\n for (const item of listener) {\r\n if (typeof item === 'function') {\r\n item(...args)\r\n }\r\n }\r\n}\r\n","import { computed, getCurrentInstance } from 'vue'\r\nimport { invokeListener, mergeComponentExpose, useNamespace } from '@falcon-ui/utils'\r\n\r\ntype UseMergedAttrsOptions = {\r\n attrs: Record<string, unknown>\r\n block: string\r\n listenerName: string\r\n onListener?: (...args: unknown[]) => void\r\n}\r\n\r\nexport const useMergedAttrs = ({\r\n attrs,\r\n block,\r\n listenerName,\r\n onListener\r\n}: UseMergedAttrsOptions) => {\r\n const ns = useNamespace(block)\r\n const className = ns.b()\r\n\r\n const mergedAttrs = computed(() => {\r\n const next = { ...attrs }\r\n const originalListener = next[listenerName]\r\n next.class = [className, next.class]\r\n\r\n next[listenerName] = (...args: unknown[]) => {\r\n onListener?.(...args)\r\n invokeListener(originalListener, ...args)\r\n }\r\n\r\n return next\r\n })\r\n\r\n return {\r\n mergedAttrs\r\n }\r\n}\r\n\r\nexport const useMergedExpose = <TExpose extends Record<string, unknown>>(extras: TExpose) => {\r\n const vm = getCurrentInstance()\r\n\r\n const changeRef = (exposed: unknown) => {\r\n mergeComponentExpose(vm, exposed, extras)\r\n }\r\n\r\n return {\r\n changeRef\r\n }\r\n}\r\n","import type { ExtractPublicPropTypes } from 'vue'\r\n\r\nexport const flButtonProps = {\r\n /**\r\n * 调试事件标签,在开启调试模式后会随 `debug-click` 一起抛出。\r\n */\r\n debugLabel: {\r\n type: String,\r\n default: ''\r\n },\r\n /**\r\n * 是否开启调试点击事件,开启后每次点击都会触发 `debug-click`。\r\n */\r\n debugMode: {\r\n type: Boolean,\r\n default: false\r\n }\r\n} as const\r\n\r\nexport interface FlButtonDebugPayload {\r\n /**\r\n * 用于标识当前按钮实例的业务标签。\r\n */\r\n label: string\r\n}\r\n\r\nexport const flButtonEmits = {\r\n /**\r\n * 开启调试模式后,在按钮点击时触发。\r\n */\r\n 'debug-click': (payload: FlButtonDebugPayload) => typeof payload.label === 'string'\r\n} as const\r\n\r\nexport type FlButtonProps = ExtractPublicPropTypes<typeof flButtonProps>\r\nexport type FlButtonEmits = typeof flButtonEmits\r\n\r\nexport type ButtonProps = FlButtonProps\r\nexport type ButtonEmits = FlButtonEmits\r\n","<template>\r\n <component :is=\"h(ElButton, { ...mergedAttrs, ref: changeRef }, slots)\" />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElButton } from 'element-plus'\r\nimport type { ComponentInstance } from 'vue'\r\nimport { h, useAttrs, useSlots } from 'vue'\r\nimport { useMergedAttrs, useMergedExpose } from '@falcon-ui/hooks'\r\nimport { flButtonEmits, flButtonProps } from './button'\r\n\r\ndefineOptions({\r\n name: 'FlButton',\r\n inheritAttrs: false\r\n})\r\n\r\nconst props = defineProps(flButtonProps)\r\nconst emit = defineEmits(flButtonEmits)\r\nconst attrs = useAttrs()\r\nconst slots = useSlots()\r\n\r\nconst _myExpose = {\r\n /**\r\n * 标记该暴露值来源于 FlButton,便于调试识别。\r\n */\r\n debugKind: 'button'\r\n}\r\n\r\nconst { changeRef } = useMergedExpose(_myExpose)\r\nconst { mergedAttrs } = useMergedAttrs({\r\n attrs: attrs as Record<string, unknown>,\r\n block: 'button',\r\n listenerName: 'onClick',\r\n onListener: () => {\r\n if (props.debugMode) {\r\n emit('debug-click', {\r\n label: props.debugLabel\r\n })\r\n }\r\n }\r\n})\r\n\r\ndefineExpose({} as ComponentInstance<typeof ElButton> & typeof _myExpose)\r\n</script>\r\n","<template>\r\n <component :is=\"h(ElButton, { ...mergedAttrs, ref: changeRef }, slots)\" />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElButton } from 'element-plus'\r\nimport type { ComponentInstance } from 'vue'\r\nimport { h, useAttrs, useSlots } from 'vue'\r\nimport { useMergedAttrs, useMergedExpose } from '@falcon-ui/hooks'\r\nimport { flButtonEmits, flButtonProps } from './button'\r\n\r\ndefineOptions({\r\n name: 'FlButton',\r\n inheritAttrs: false\r\n})\r\n\r\nconst props = defineProps(flButtonProps)\r\nconst emit = defineEmits(flButtonEmits)\r\nconst attrs = useAttrs()\r\nconst slots = useSlots()\r\n\r\nconst _myExpose = {\r\n /**\r\n * 标记该暴露值来源于 FlButton,便于调试识别。\r\n */\r\n debugKind: 'button'\r\n}\r\n\r\nconst { changeRef } = useMergedExpose(_myExpose)\r\nconst { mergedAttrs } = useMergedAttrs({\r\n attrs: attrs as Record<string, unknown>,\r\n block: 'button',\r\n listenerName: 'onClick',\r\n onListener: () => {\r\n if (props.debugMode) {\r\n emit('debug-click', {\r\n label: props.debugLabel\r\n })\r\n }\r\n }\r\n})\r\n\r\ndefineExpose({} as ComponentInstance<typeof ElButton> & typeof _myExpose)\r\n</script>\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
value: mod,
|
|
20
|
+
enumerable: true
|
|
21
|
+
}) : target, mod));
|
|
22
|
+
var __toDynamicImportESM = (isNodeMode) => (mod) => __toESM(mod.default, isNodeMode);
|
|
23
|
+
Object.defineProperty(exports, "__commonJSMin", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function() {
|
|
26
|
+
return __commonJSMin;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "__toDynamicImportESM", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function() {
|
|
32
|
+
return __toDynamicImportESM;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(exports, "__toESM", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function() {
|
|
38
|
+
return __toESM;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
Object.defineProperties(exports, {
|
|
2
|
+
__esModule: { value: true },
|
|
3
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
+
});
|
|
5
|
+
let vue = require("vue");
|
|
6
|
+
let element_plus = require("element-plus");
|
|
7
|
+
var defaultNamespace = "fl";
|
|
8
|
+
var statePrefix = "is-";
|
|
9
|
+
var buildBemName = (namespace, block, blockSuffix = "", element = "", modifier = "") => {
|
|
10
|
+
let className = `${namespace}-${block}`;
|
|
11
|
+
if (blockSuffix) className += `-${blockSuffix}`;
|
|
12
|
+
if (element) className += `__${element}`;
|
|
13
|
+
if (modifier) className += `--${modifier}`;
|
|
14
|
+
return className;
|
|
15
|
+
};
|
|
16
|
+
const useNamespace = (block, namespace = defaultNamespace) => {
|
|
17
|
+
const b = (blockSuffix = "") => buildBemName(namespace, block, blockSuffix);
|
|
18
|
+
const e = (element) => element ? buildBemName(namespace, block, "", element) : "";
|
|
19
|
+
const m = (modifier) => modifier ? buildBemName(namespace, block, "", "", modifier) : "";
|
|
20
|
+
const be = (blockSuffix, element) => {
|
|
21
|
+
if (!blockSuffix || !element) return "";
|
|
22
|
+
return buildBemName(namespace, block, blockSuffix, element);
|
|
23
|
+
};
|
|
24
|
+
const em = (element, modifier) => {
|
|
25
|
+
if (!element || !modifier) return "";
|
|
26
|
+
return buildBemName(namespace, block, "", element, modifier);
|
|
27
|
+
};
|
|
28
|
+
const bm = (blockSuffix, modifier) => {
|
|
29
|
+
if (!blockSuffix || !modifier) return "";
|
|
30
|
+
return buildBemName(namespace, block, blockSuffix, "", modifier);
|
|
31
|
+
};
|
|
32
|
+
const bem = (blockSuffix, element, modifier) => {
|
|
33
|
+
if (!blockSuffix && !element && !modifier) return b();
|
|
34
|
+
return buildBemName(namespace, block, blockSuffix, element, modifier);
|
|
35
|
+
};
|
|
36
|
+
const is = (name, state = true) => state ? `${statePrefix}${name}` : "";
|
|
37
|
+
return {
|
|
38
|
+
namespace,
|
|
39
|
+
b,
|
|
40
|
+
e,
|
|
41
|
+
m,
|
|
42
|
+
be,
|
|
43
|
+
em,
|
|
44
|
+
bm,
|
|
45
|
+
bem,
|
|
46
|
+
is
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const mergeComponentExpose = (vm, exposed, extras = {}) => {
|
|
50
|
+
if (!vm?.exposed || !exposed || typeof exposed !== "object" && typeof exposed !== "function") return;
|
|
51
|
+
Object.assign(vm.exposed, extras, exposed);
|
|
52
|
+
};
|
|
53
|
+
const invokeListener = (listener, ...args) => {
|
|
54
|
+
if (typeof listener === "function") {
|
|
55
|
+
listener(...args);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (!Array.isArray(listener)) return;
|
|
59
|
+
for (const item of listener) if (typeof item === "function") item(...args);
|
|
60
|
+
};
|
|
61
|
+
const withInstall = (component) => {
|
|
62
|
+
const installable = component;
|
|
63
|
+
installable.install = (app) => {
|
|
64
|
+
if (!component.name) return;
|
|
65
|
+
app.component(component.name, component);
|
|
66
|
+
};
|
|
67
|
+
return installable;
|
|
68
|
+
};
|
|
69
|
+
const useMergedAttrs = ({ attrs, block, listenerName, onListener }) => {
|
|
70
|
+
const className = useNamespace(block).b();
|
|
71
|
+
return { mergedAttrs: (0, vue.computed)(() => {
|
|
72
|
+
const next = { ...attrs };
|
|
73
|
+
const originalListener = next[listenerName];
|
|
74
|
+
next.class = [className, next.class];
|
|
75
|
+
next[listenerName] = (...args) => {
|
|
76
|
+
onListener?.(...args);
|
|
77
|
+
invokeListener(originalListener, ...args);
|
|
78
|
+
};
|
|
79
|
+
return next;
|
|
80
|
+
}) };
|
|
81
|
+
};
|
|
82
|
+
const useMergedExpose = (extras) => {
|
|
83
|
+
const vm = (0, vue.getCurrentInstance)();
|
|
84
|
+
const changeRef = (exposed) => {
|
|
85
|
+
mergeComponentExpose(vm, exposed, extras);
|
|
86
|
+
};
|
|
87
|
+
return { changeRef };
|
|
88
|
+
};
|
|
89
|
+
const flDatePickerProps = {
|
|
90
|
+
modelValue: {
|
|
91
|
+
type: [
|
|
92
|
+
String,
|
|
93
|
+
Number,
|
|
94
|
+
Date,
|
|
95
|
+
Array
|
|
96
|
+
],
|
|
97
|
+
default: null
|
|
98
|
+
},
|
|
99
|
+
isError: {
|
|
100
|
+
type: Boolean,
|
|
101
|
+
default: false
|
|
102
|
+
},
|
|
103
|
+
isTable: {
|
|
104
|
+
type: Boolean,
|
|
105
|
+
default: false
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
const flDatePickerEmits = { "update:modelValue": (_value) => true };
|
|
109
|
+
var date_picker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
110
|
+
name: "FlDatePicker",
|
|
111
|
+
inheritAttrs: false,
|
|
112
|
+
__name: "date-picker",
|
|
113
|
+
props: flDatePickerProps,
|
|
114
|
+
emits: flDatePickerEmits,
|
|
115
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
116
|
+
const props = __props;
|
|
117
|
+
const emit = __emit;
|
|
118
|
+
const attrs = (0, vue.useAttrs)();
|
|
119
|
+
const slots = (0, vue.useSlots)();
|
|
120
|
+
const rawAttrs = attrs;
|
|
121
|
+
const { changeRef } = useMergedExpose({});
|
|
122
|
+
const { mergedAttrs } = useMergedAttrs({
|
|
123
|
+
attrs: rawAttrs,
|
|
124
|
+
block: "date-picker",
|
|
125
|
+
listenerName: "onChange"
|
|
126
|
+
});
|
|
127
|
+
const updateModelValue = (value) => {
|
|
128
|
+
if (props.isError) {
|
|
129
|
+
emit("update:modelValue", null);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
emit("update:modelValue", value);
|
|
133
|
+
};
|
|
134
|
+
const mergedDatePickerAttrs = (0, vue.computed)(() => ({
|
|
135
|
+
...mergedAttrs.value,
|
|
136
|
+
modelValue: props.modelValue,
|
|
137
|
+
"onUpdate:modelValue": updateModelValue,
|
|
138
|
+
class: [mergedAttrs.value.class, {
|
|
139
|
+
"is-error": props.isError,
|
|
140
|
+
"is-table": props.isTable
|
|
141
|
+
}]
|
|
142
|
+
}));
|
|
143
|
+
const clearModelValue = () => {
|
|
144
|
+
emit("update:modelValue", null);
|
|
145
|
+
};
|
|
146
|
+
(0, vue.watch)(() => props.isError, (isError, previousIsError) => {
|
|
147
|
+
if (isError && previousIsError !== true) clearModelValue();
|
|
148
|
+
}, { immediate: true });
|
|
149
|
+
__expose({});
|
|
150
|
+
return (_ctx, _cache) => {
|
|
151
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.h)((0, vue.unref)(element_plus.ElDatePicker), {
|
|
152
|
+
...mergedDatePickerAttrs.value,
|
|
153
|
+
ref: (0, vue.unref)(changeRef)
|
|
154
|
+
}, (0, vue.unref)(slots))));
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
var date_picker_default$1 = date_picker_vue_vue_type_script_setup_true_lang_default;
|
|
159
|
+
const FlDatePicker = withInstall(date_picker_default$1);
|
|
160
|
+
var date_picker_default = FlDatePicker;
|
|
161
|
+
exports.FlDatePicker = FlDatePicker;
|
|
162
|
+
exports.default = date_picker_default;
|
|
163
|
+
|
|
164
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../../packages/utils/src/bem.ts","../../../../../packages/utils/src/component.ts","../../../../../packages/utils/src/install.ts","../../../../../packages/hooks/src/use-component.ts","../../../../../packages/components/date-picker/src/date-picker.ts","../../../../../packages/components/date-picker/src/date-picker.vue","../../../../../packages/components/date-picker/src/date-picker.vue","../../../../../packages/components/date-picker/index.ts"],"sourcesContent":["const defaultNamespace = 'fl'\r\nconst statePrefix = 'is-'\r\n\r\nconst buildBemName = (\r\n namespace: string,\r\n block: string,\r\n blockSuffix = '',\r\n element = '',\r\n modifier = ''\r\n) => {\r\n let className = `${namespace}-${block}`\r\n\r\n if (blockSuffix) {\r\n className += `-${blockSuffix}`\r\n }\r\n\r\n if (element) {\r\n className += `__${element}`\r\n }\r\n\r\n if (modifier) {\r\n className += `--${modifier}`\r\n }\r\n\r\n return className\r\n}\r\n\r\nexport const useNamespace = (block: string, namespace = defaultNamespace) => {\r\n const b = (blockSuffix = '') => buildBemName(namespace, block, blockSuffix)\r\n\r\n const e = (element?: string) => (element ? buildBemName(namespace, block, '', element) : '')\r\n\r\n const m = (modifier?: string) =>\r\n modifier ? buildBemName(namespace, block, '', '', modifier) : ''\r\n\r\n const be = (blockSuffix?: string, element?: string) => {\r\n if (!blockSuffix || !element) {\r\n return ''\r\n }\r\n\r\n return buildBemName(namespace, block, blockSuffix, element)\r\n }\r\n\r\n const em = (element?: string, modifier?: string) => {\r\n if (!element || !modifier) {\r\n return ''\r\n }\r\n\r\n return buildBemName(namespace, block, '', element, modifier)\r\n }\r\n\r\n const bm = (blockSuffix?: string, modifier?: string) => {\r\n if (!blockSuffix || !modifier) {\r\n return ''\r\n }\r\n\r\n return buildBemName(namespace, block, blockSuffix, '', modifier)\r\n }\r\n\r\n const bem = (blockSuffix?: string, element?: string, modifier?: string) => {\r\n if (!blockSuffix && !element && !modifier) {\r\n return b()\r\n }\r\n\r\n return buildBemName(namespace, block, blockSuffix, element, modifier)\r\n }\r\n\r\n const is = (name: string, state = true) => (state ? `${statePrefix}${name}` : '')\r\n\r\n return {\r\n namespace,\r\n b,\r\n e,\r\n m,\r\n be,\r\n em,\r\n bm,\r\n bem,\r\n is\r\n }\r\n}\r\n","type ExposedTarget = {\r\n exposed?: Record<string, unknown> | null\r\n} | null\r\n\r\nexport const mergeComponentExpose = (\r\n vm: ExposedTarget,\r\n exposed: unknown,\r\n extras: Record<string, unknown> = {}\r\n) => {\r\n if (!vm?.exposed || !exposed || (typeof exposed !== 'object' && typeof exposed !== 'function')) {\r\n return\r\n }\r\n\r\n Object.assign(vm.exposed, extras, exposed)\r\n}\r\n\r\nexport const invokeListener = (listener: unknown, ...args: unknown[]) => {\r\n if (typeof listener === 'function') {\r\n listener(...args)\r\n return\r\n }\r\n\r\n if (!Array.isArray(listener)) {\r\n return\r\n }\r\n\r\n for (const item of listener) {\r\n if (typeof item === 'function') {\r\n item(...args)\r\n }\r\n }\r\n}\r\n","import type { App, Plugin } from 'vue'\r\n\r\nexport type SFCWithInstall<T> = T & Plugin\r\n\r\nexport const withInstall = <T extends { name?: string }>(component: T): SFCWithInstall<T> => {\r\n const installable = component as SFCWithInstall<T>\r\n\r\n installable.install = (app: App) => {\r\n if (!component.name) {\r\n return\r\n }\r\n\r\n app.component(component.name, component as unknown as object)\r\n }\r\n\r\n return installable\r\n}\r\n","import { computed, getCurrentInstance } from 'vue'\r\nimport { invokeListener, mergeComponentExpose, useNamespace } from '@falcon-ui/utils'\r\n\r\ntype UseMergedAttrsOptions = {\r\n attrs: Record<string, unknown>\r\n block: string\r\n listenerName: string\r\n onListener?: (...args: unknown[]) => void\r\n}\r\n\r\nexport const useMergedAttrs = ({\r\n attrs,\r\n block,\r\n listenerName,\r\n onListener\r\n}: UseMergedAttrsOptions) => {\r\n const ns = useNamespace(block)\r\n const className = ns.b()\r\n\r\n const mergedAttrs = computed(() => {\r\n const next = { ...attrs }\r\n const originalListener = next[listenerName]\r\n next.class = [className, next.class]\r\n\r\n next[listenerName] = (...args: unknown[]) => {\r\n onListener?.(...args)\r\n invokeListener(originalListener, ...args)\r\n }\r\n\r\n return next\r\n })\r\n\r\n return {\r\n mergedAttrs\r\n }\r\n}\r\n\r\nexport const useMergedExpose = <TExpose extends Record<string, unknown>>(extras: TExpose) => {\r\n const vm = getCurrentInstance()\r\n\r\n const changeRef = (exposed: unknown) => {\r\n mergeComponentExpose(vm, exposed, extras)\r\n }\r\n\r\n return {\r\n changeRef\r\n }\r\n}\r\n","import type { ExtractPublicPropTypes, PropType } from 'vue'\r\n\r\nexport type FlDatePickerValue = string | number | Date | string[] | number[] | Date[] | null\r\n\r\nexport const flDatePickerProps = {\r\n /**\r\n * Bound value. Keeps the wrapper on explicit v-model contract.\r\n */\r\n modelValue: {\r\n type: [String, Number, Date, Array] as PropType<FlDatePickerValue>,\r\n default: null\r\n },\r\n /**\r\n * Whether the component is in error state.\r\n */\r\n isError: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Whether the component is used in a table-cell context.\r\n */\r\n isTable: {\r\n type: Boolean,\r\n default: false\r\n }\r\n} as const\r\n\r\nexport const flDatePickerEmits = {\r\n /**\r\n * Model value update event.\r\n */\r\n 'update:modelValue': (_value: FlDatePickerValue) => true\r\n} as const\r\n\r\nexport type FlDatePickerProps = ExtractPublicPropTypes<typeof flDatePickerProps>\r\nexport type FlDatePickerEmits = typeof flDatePickerEmits\r\n\r\nexport type DatePickerProps = FlDatePickerProps\r\nexport type DatePickerEmits = FlDatePickerEmits\r\n","<template>\r\n <component :is=\"h(ElDatePicker, { ...mergedDatePickerAttrs, ref: changeRef }, slots)\" />\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ElDatePicker } from 'element-plus'\r\nimport type { ComponentInstance } from 'vue'\r\nimport { computed, h, useAttrs, useSlots, watch } from 'vue'\r\nimport { useMergedAttrs, useMergedExpose } from '@falcon-ui/hooks'\r\nimport { flDatePickerEmits, flDatePickerProps } from './date-picker'\r\nimport type { FlDatePickerValue } from './date-picker'\r\n\r\ndefineOptions({\r\n name: 'FlDatePicker',\r\n inheritAttrs: false\r\n})\r\n\r\nconst props = defineProps(flDatePickerProps)\r\nconst emit = defineEmits(flDatePickerEmits)\r\nconst attrs = useAttrs()\r\nconst slots = useSlots()\r\nconst rawAttrs = attrs as Record<string, unknown>\r\n\r\nconst { changeRef } = useMergedExpose({})\r\nconst { mergedAttrs } = useMergedAttrs({\r\n attrs: rawAttrs,\r\n block: 'date-picker',\r\n listenerName: 'onChange'\r\n})\r\n\r\nconst updateModelValue = (value: FlDatePickerValue) => {\r\n if (props.isError) {\r\n emit('update:modelValue', null)\r\n return\r\n }\r\n\r\n emit('update:modelValue', value)\r\n}\r\n\r\nconst mergedDatePickerAttrs = computed(() => ({\r\n ...mergedAttrs.value,\r\n modelValue: props.modelValue,\r\n 'onUpdate:modelValue': updateModelValue,\r\n class: [mergedAttrs.value.class, { 'is-error': props.isError, 'is-table': props.isTable }]\r\n}))\r\n\r\nconst clearModelValue = () => {\r\n emit('update:modelValue', null)\r\n}\r\n\r\nwatch(\r\n () => props.isError,\r\n (isError, previousIsError) => {\r\n if (isError && previousIsError !== true) {\r\n clearModelValue()\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\ndefineExpose({} as ComponentInstance<typeof ElDatePicker>)\r\n</script>\r\n","<template>\r\n <component :is=\"h(ElDatePicker, { ...mergedDatePickerAttrs, ref: changeRef }, slots)\" />\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ElDatePicker } from 'element-plus'\r\nimport type { ComponentInstance } from 'vue'\r\nimport { computed, h, useAttrs, useSlots, watch } from 'vue'\r\nimport { useMergedAttrs, useMergedExpose } from '@falcon-ui/hooks'\r\nimport { flDatePickerEmits, flDatePickerProps } from './date-picker'\r\nimport type { FlDatePickerValue } from './date-picker'\r\n\r\ndefineOptions({\r\n name: 'FlDatePicker',\r\n inheritAttrs: false\r\n})\r\n\r\nconst props = defineProps(flDatePickerProps)\r\nconst emit = defineEmits(flDatePickerEmits)\r\nconst attrs = useAttrs()\r\nconst slots = useSlots()\r\nconst rawAttrs = attrs as Record<string, unknown>\r\n\r\nconst { changeRef } = useMergedExpose({})\r\nconst { mergedAttrs } = useMergedAttrs({\r\n attrs: rawAttrs,\r\n block: 'date-picker',\r\n listenerName: 'onChange'\r\n})\r\n\r\nconst updateModelValue = (value: FlDatePickerValue) => {\r\n if (props.isError) {\r\n emit('update:modelValue', null)\r\n return\r\n }\r\n\r\n emit('update:modelValue', value)\r\n}\r\n\r\nconst mergedDatePickerAttrs = computed(() => ({\r\n ...mergedAttrs.value,\r\n modelValue: props.modelValue,\r\n 'onUpdate:modelValue': updateModelValue,\r\n class: [mergedAttrs.value.class, { 'is-error': props.isError, 'is-table': props.isTable }]\r\n}))\r\n\r\nconst clearModelValue = () => {\r\n emit('update:modelValue', null)\r\n}\r\n\r\nwatch(\r\n () => props.isError,\r\n (isError, previousIsError) => {\r\n if (isError && previousIsError !== true) {\r\n clearModelValue()\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\ndefineExpose({} as ComponentInstance<typeof ElDatePicker>)\r\n</script>\r\n","import DatePicker from './src/date-picker.vue'\r\nimport { withInstall } from '@falcon-ui/utils'\r\n\r\nexport const FlDatePicker = withInstall(DatePicker)\r\n\r\nexport default FlDatePicker\r\n\r\nexport type {\r\n DatePickerEmits,\r\n DatePickerProps,\r\n FlDatePickerEmits,\r\n FlDatePickerProps\r\n} from './src/date-picker'\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const flDatePickerProps = {
|
|
3
|
+
modelValue: {
|
|
4
|
+
type: [
|
|
5
|
+
String,
|
|
6
|
+
Number,
|
|
7
|
+
Date,
|
|
8
|
+
Array
|
|
9
|
+
],
|
|
10
|
+
default: null
|
|
11
|
+
},
|
|
12
|
+
isError: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: false
|
|
15
|
+
},
|
|
16
|
+
isTable: {
|
|
17
|
+
type: Boolean,
|
|
18
|
+
default: false
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const flDatePickerEmits = { "update:modelValue": (_value) => true };
|
|
22
|
+
exports.flDatePickerEmits = flDatePickerEmits;
|
|
23
|
+
exports.flDatePickerProps = flDatePickerProps;
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=date-picker.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.cjs","names":[],"sources":["../../../../../../packages/components/date-picker/src/date-picker.ts"],"sourcesContent":["import type { ExtractPublicPropTypes, PropType } from 'vue'\r\n\r\nexport type FlDatePickerValue = string | number | Date | string[] | number[] | Date[] | null\r\n\r\nexport const flDatePickerProps = {\r\n /**\r\n * Bound value. Keeps the wrapper on explicit v-model contract.\r\n */\r\n modelValue: {\r\n type: [String, Number, Date, Array] as PropType<FlDatePickerValue>,\r\n default: null\r\n },\r\n /**\r\n * Whether the component is in error state.\r\n */\r\n isError: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Whether the component is used in a table-cell context.\r\n */\r\n isTable: {\r\n type: Boolean,\r\n default: false\r\n }\r\n} as const\r\n\r\nexport const flDatePickerEmits = {\r\n /**\r\n * Model value update event.\r\n */\r\n 'update:modelValue': (_value: FlDatePickerValue) => true\r\n} as const\r\n\r\nexport type FlDatePickerProps = ExtractPublicPropTypes<typeof flDatePickerProps>\r\nexport type FlDatePickerEmits = typeof flDatePickerEmits\r\n\r\nexport type DatePickerProps = FlDatePickerProps\r\nexport type DatePickerEmits = FlDatePickerEmits\r\n"],"mappings":";AAIA,MAAa,oBAAoB;CAI/B,YAAY;EACV,MAAM;GAAC;GAAQ;GAAQ;GAAM;GAAM;EACnC,SAAS;EACV;CAID,SAAS;EACP,MAAM;EACN,SAAS;EACV;CAID,SAAS;EACP,MAAM;EACN,SAAS;EACV;CACF;AAED,MAAa,oBAAoB,EAI/B,sBAAsB,WAA8B,MACrD"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
Object.defineProperties(exports, {
|
|
2
|
+
__esModule: { value: true },
|
|
3
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
+
});
|
|
5
|
+
let vue = require("vue");
|
|
6
|
+
let element_plus = require("element-plus");
|
|
7
|
+
var defaultNamespace = "fl";
|
|
8
|
+
var statePrefix = "is-";
|
|
9
|
+
var buildBemName = (namespace, block, blockSuffix = "", element = "", modifier = "") => {
|
|
10
|
+
let className = `${namespace}-${block}`;
|
|
11
|
+
if (blockSuffix) className += `-${blockSuffix}`;
|
|
12
|
+
if (element) className += `__${element}`;
|
|
13
|
+
if (modifier) className += `--${modifier}`;
|
|
14
|
+
return className;
|
|
15
|
+
};
|
|
16
|
+
const useNamespace = (block, namespace = defaultNamespace) => {
|
|
17
|
+
const b = (blockSuffix = "") => buildBemName(namespace, block, blockSuffix);
|
|
18
|
+
const e = (element) => element ? buildBemName(namespace, block, "", element) : "";
|
|
19
|
+
const m = (modifier) => modifier ? buildBemName(namespace, block, "", "", modifier) : "";
|
|
20
|
+
const be = (blockSuffix, element) => {
|
|
21
|
+
if (!blockSuffix || !element) return "";
|
|
22
|
+
return buildBemName(namespace, block, blockSuffix, element);
|
|
23
|
+
};
|
|
24
|
+
const em = (element, modifier) => {
|
|
25
|
+
if (!element || !modifier) return "";
|
|
26
|
+
return buildBemName(namespace, block, "", element, modifier);
|
|
27
|
+
};
|
|
28
|
+
const bm = (blockSuffix, modifier) => {
|
|
29
|
+
if (!blockSuffix || !modifier) return "";
|
|
30
|
+
return buildBemName(namespace, block, blockSuffix, "", modifier);
|
|
31
|
+
};
|
|
32
|
+
const bem = (blockSuffix, element, modifier) => {
|
|
33
|
+
if (!blockSuffix && !element && !modifier) return b();
|
|
34
|
+
return buildBemName(namespace, block, blockSuffix, element, modifier);
|
|
35
|
+
};
|
|
36
|
+
const is = (name, state = true) => state ? `${statePrefix}${name}` : "";
|
|
37
|
+
return {
|
|
38
|
+
namespace,
|
|
39
|
+
b,
|
|
40
|
+
e,
|
|
41
|
+
m,
|
|
42
|
+
be,
|
|
43
|
+
em,
|
|
44
|
+
bm,
|
|
45
|
+
bem,
|
|
46
|
+
is
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const mergeComponentExpose = (vm, exposed, extras = {}) => {
|
|
50
|
+
if (!vm?.exposed || !exposed || typeof exposed !== "object" && typeof exposed !== "function") return;
|
|
51
|
+
Object.assign(vm.exposed, extras, exposed);
|
|
52
|
+
};
|
|
53
|
+
const invokeListener = (listener, ...args) => {
|
|
54
|
+
if (typeof listener === "function") {
|
|
55
|
+
listener(...args);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (!Array.isArray(listener)) return;
|
|
59
|
+
for (const item of listener) if (typeof item === "function") item(...args);
|
|
60
|
+
};
|
|
61
|
+
const useMergedAttrs = ({ attrs, block, listenerName, onListener }) => {
|
|
62
|
+
const className = useNamespace(block).b();
|
|
63
|
+
return { mergedAttrs: (0, vue.computed)(() => {
|
|
64
|
+
const next = { ...attrs };
|
|
65
|
+
const originalListener = next[listenerName];
|
|
66
|
+
next.class = [className, next.class];
|
|
67
|
+
next[listenerName] = (...args) => {
|
|
68
|
+
onListener?.(...args);
|
|
69
|
+
invokeListener(originalListener, ...args);
|
|
70
|
+
};
|
|
71
|
+
return next;
|
|
72
|
+
}) };
|
|
73
|
+
};
|
|
74
|
+
const useMergedExpose = (extras) => {
|
|
75
|
+
const vm = (0, vue.getCurrentInstance)();
|
|
76
|
+
const changeRef = (exposed) => {
|
|
77
|
+
mergeComponentExpose(vm, exposed, extras);
|
|
78
|
+
};
|
|
79
|
+
return { changeRef };
|
|
80
|
+
};
|
|
81
|
+
const flDatePickerProps = {
|
|
82
|
+
modelValue: {
|
|
83
|
+
type: [
|
|
84
|
+
String,
|
|
85
|
+
Number,
|
|
86
|
+
Date,
|
|
87
|
+
Array
|
|
88
|
+
],
|
|
89
|
+
default: null
|
|
90
|
+
},
|
|
91
|
+
isError: {
|
|
92
|
+
type: Boolean,
|
|
93
|
+
default: false
|
|
94
|
+
},
|
|
95
|
+
isTable: {
|
|
96
|
+
type: Boolean,
|
|
97
|
+
default: false
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const flDatePickerEmits = { "update:modelValue": (_value) => true };
|
|
101
|
+
var date_picker_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
102
|
+
name: "FlDatePicker",
|
|
103
|
+
inheritAttrs: false,
|
|
104
|
+
__name: "date-picker",
|
|
105
|
+
props: flDatePickerProps,
|
|
106
|
+
emits: flDatePickerEmits,
|
|
107
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
108
|
+
const props = __props;
|
|
109
|
+
const emit = __emit;
|
|
110
|
+
const attrs = (0, vue.useAttrs)();
|
|
111
|
+
const slots = (0, vue.useSlots)();
|
|
112
|
+
const rawAttrs = attrs;
|
|
113
|
+
const { changeRef } = useMergedExpose({});
|
|
114
|
+
const { mergedAttrs } = useMergedAttrs({
|
|
115
|
+
attrs: rawAttrs,
|
|
116
|
+
block: "date-picker",
|
|
117
|
+
listenerName: "onChange"
|
|
118
|
+
});
|
|
119
|
+
const updateModelValue = (value) => {
|
|
120
|
+
if (props.isError) {
|
|
121
|
+
emit("update:modelValue", null);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
emit("update:modelValue", value);
|
|
125
|
+
};
|
|
126
|
+
const mergedDatePickerAttrs = (0, vue.computed)(() => ({
|
|
127
|
+
...mergedAttrs.value,
|
|
128
|
+
modelValue: props.modelValue,
|
|
129
|
+
"onUpdate:modelValue": updateModelValue,
|
|
130
|
+
class: [mergedAttrs.value.class, {
|
|
131
|
+
"is-error": props.isError,
|
|
132
|
+
"is-table": props.isTable
|
|
133
|
+
}]
|
|
134
|
+
}));
|
|
135
|
+
const clearModelValue = () => {
|
|
136
|
+
emit("update:modelValue", null);
|
|
137
|
+
};
|
|
138
|
+
(0, vue.watch)(() => props.isError, (isError, previousIsError) => {
|
|
139
|
+
if (isError && previousIsError !== true) clearModelValue();
|
|
140
|
+
}, { immediate: true });
|
|
141
|
+
__expose({});
|
|
142
|
+
return (_ctx, _cache) => {
|
|
143
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.h)((0, vue.unref)(element_plus.ElDatePicker), {
|
|
144
|
+
...mergedDatePickerAttrs.value,
|
|
145
|
+
ref: (0, vue.unref)(changeRef)
|
|
146
|
+
}, (0, vue.unref)(slots))));
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
var date_picker_default = date_picker_vue_vue_type_script_setup_true_lang_default;
|
|
151
|
+
exports.default = date_picker_default;
|
|
152
|
+
|
|
153
|
+
//# sourceMappingURL=date-picker.vue.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.vue.cjs","names":[],"sources":["../../../../../../packages/utils/src/bem.ts","../../../../../../packages/utils/src/component.ts","../../../../../../packages/hooks/src/use-component.ts","../../../../../../packages/components/date-picker/src/date-picker.ts","../../../../../../packages/components/date-picker/src/date-picker.vue","../../../../../../packages/components/date-picker/src/date-picker.vue"],"sourcesContent":["const defaultNamespace = 'fl'\r\nconst statePrefix = 'is-'\r\n\r\nconst buildBemName = (\r\n namespace: string,\r\n block: string,\r\n blockSuffix = '',\r\n element = '',\r\n modifier = ''\r\n) => {\r\n let className = `${namespace}-${block}`\r\n\r\n if (blockSuffix) {\r\n className += `-${blockSuffix}`\r\n }\r\n\r\n if (element) {\r\n className += `__${element}`\r\n }\r\n\r\n if (modifier) {\r\n className += `--${modifier}`\r\n }\r\n\r\n return className\r\n}\r\n\r\nexport const useNamespace = (block: string, namespace = defaultNamespace) => {\r\n const b = (blockSuffix = '') => buildBemName(namespace, block, blockSuffix)\r\n\r\n const e = (element?: string) => (element ? buildBemName(namespace, block, '', element) : '')\r\n\r\n const m = (modifier?: string) =>\r\n modifier ? buildBemName(namespace, block, '', '', modifier) : ''\r\n\r\n const be = (blockSuffix?: string, element?: string) => {\r\n if (!blockSuffix || !element) {\r\n return ''\r\n }\r\n\r\n return buildBemName(namespace, block, blockSuffix, element)\r\n }\r\n\r\n const em = (element?: string, modifier?: string) => {\r\n if (!element || !modifier) {\r\n return ''\r\n }\r\n\r\n return buildBemName(namespace, block, '', element, modifier)\r\n }\r\n\r\n const bm = (blockSuffix?: string, modifier?: string) => {\r\n if (!blockSuffix || !modifier) {\r\n return ''\r\n }\r\n\r\n return buildBemName(namespace, block, blockSuffix, '', modifier)\r\n }\r\n\r\n const bem = (blockSuffix?: string, element?: string, modifier?: string) => {\r\n if (!blockSuffix && !element && !modifier) {\r\n return b()\r\n }\r\n\r\n return buildBemName(namespace, block, blockSuffix, element, modifier)\r\n }\r\n\r\n const is = (name: string, state = true) => (state ? `${statePrefix}${name}` : '')\r\n\r\n return {\r\n namespace,\r\n b,\r\n e,\r\n m,\r\n be,\r\n em,\r\n bm,\r\n bem,\r\n is\r\n }\r\n}\r\n","type ExposedTarget = {\r\n exposed?: Record<string, unknown> | null\r\n} | null\r\n\r\nexport const mergeComponentExpose = (\r\n vm: ExposedTarget,\r\n exposed: unknown,\r\n extras: Record<string, unknown> = {}\r\n) => {\r\n if (!vm?.exposed || !exposed || (typeof exposed !== 'object' && typeof exposed !== 'function')) {\r\n return\r\n }\r\n\r\n Object.assign(vm.exposed, extras, exposed)\r\n}\r\n\r\nexport const invokeListener = (listener: unknown, ...args: unknown[]) => {\r\n if (typeof listener === 'function') {\r\n listener(...args)\r\n return\r\n }\r\n\r\n if (!Array.isArray(listener)) {\r\n return\r\n }\r\n\r\n for (const item of listener) {\r\n if (typeof item === 'function') {\r\n item(...args)\r\n }\r\n }\r\n}\r\n","import { computed, getCurrentInstance } from 'vue'\r\nimport { invokeListener, mergeComponentExpose, useNamespace } from '@falcon-ui/utils'\r\n\r\ntype UseMergedAttrsOptions = {\r\n attrs: Record<string, unknown>\r\n block: string\r\n listenerName: string\r\n onListener?: (...args: unknown[]) => void\r\n}\r\n\r\nexport const useMergedAttrs = ({\r\n attrs,\r\n block,\r\n listenerName,\r\n onListener\r\n}: UseMergedAttrsOptions) => {\r\n const ns = useNamespace(block)\r\n const className = ns.b()\r\n\r\n const mergedAttrs = computed(() => {\r\n const next = { ...attrs }\r\n const originalListener = next[listenerName]\r\n next.class = [className, next.class]\r\n\r\n next[listenerName] = (...args: unknown[]) => {\r\n onListener?.(...args)\r\n invokeListener(originalListener, ...args)\r\n }\r\n\r\n return next\r\n })\r\n\r\n return {\r\n mergedAttrs\r\n }\r\n}\r\n\r\nexport const useMergedExpose = <TExpose extends Record<string, unknown>>(extras: TExpose) => {\r\n const vm = getCurrentInstance()\r\n\r\n const changeRef = (exposed: unknown) => {\r\n mergeComponentExpose(vm, exposed, extras)\r\n }\r\n\r\n return {\r\n changeRef\r\n }\r\n}\r\n","import type { ExtractPublicPropTypes, PropType } from 'vue'\r\n\r\nexport type FlDatePickerValue = string | number | Date | string[] | number[] | Date[] | null\r\n\r\nexport const flDatePickerProps = {\r\n /**\r\n * Bound value. Keeps the wrapper on explicit v-model contract.\r\n */\r\n modelValue: {\r\n type: [String, Number, Date, Array] as PropType<FlDatePickerValue>,\r\n default: null\r\n },\r\n /**\r\n * Whether the component is in error state.\r\n */\r\n isError: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Whether the component is used in a table-cell context.\r\n */\r\n isTable: {\r\n type: Boolean,\r\n default: false\r\n }\r\n} as const\r\n\r\nexport const flDatePickerEmits = {\r\n /**\r\n * Model value update event.\r\n */\r\n 'update:modelValue': (_value: FlDatePickerValue) => true\r\n} as const\r\n\r\nexport type FlDatePickerProps = ExtractPublicPropTypes<typeof flDatePickerProps>\r\nexport type FlDatePickerEmits = typeof flDatePickerEmits\r\n\r\nexport type DatePickerProps = FlDatePickerProps\r\nexport type DatePickerEmits = FlDatePickerEmits\r\n","<template>\r\n <component :is=\"h(ElDatePicker, { ...mergedDatePickerAttrs, ref: changeRef }, slots)\" />\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ElDatePicker } from 'element-plus'\r\nimport type { ComponentInstance } from 'vue'\r\nimport { computed, h, useAttrs, useSlots, watch } from 'vue'\r\nimport { useMergedAttrs, useMergedExpose } from '@falcon-ui/hooks'\r\nimport { flDatePickerEmits, flDatePickerProps } from './date-picker'\r\nimport type { FlDatePickerValue } from './date-picker'\r\n\r\ndefineOptions({\r\n name: 'FlDatePicker',\r\n inheritAttrs: false\r\n})\r\n\r\nconst props = defineProps(flDatePickerProps)\r\nconst emit = defineEmits(flDatePickerEmits)\r\nconst attrs = useAttrs()\r\nconst slots = useSlots()\r\nconst rawAttrs = attrs as Record<string, unknown>\r\n\r\nconst { changeRef } = useMergedExpose({})\r\nconst { mergedAttrs } = useMergedAttrs({\r\n attrs: rawAttrs,\r\n block: 'date-picker',\r\n listenerName: 'onChange'\r\n})\r\n\r\nconst updateModelValue = (value: FlDatePickerValue) => {\r\n if (props.isError) {\r\n emit('update:modelValue', null)\r\n return\r\n }\r\n\r\n emit('update:modelValue', value)\r\n}\r\n\r\nconst mergedDatePickerAttrs = computed(() => ({\r\n ...mergedAttrs.value,\r\n modelValue: props.modelValue,\r\n 'onUpdate:modelValue': updateModelValue,\r\n class: [mergedAttrs.value.class, { 'is-error': props.isError, 'is-table': props.isTable }]\r\n}))\r\n\r\nconst clearModelValue = () => {\r\n emit('update:modelValue', null)\r\n}\r\n\r\nwatch(\r\n () => props.isError,\r\n (isError, previousIsError) => {\r\n if (isError && previousIsError !== true) {\r\n clearModelValue()\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\ndefineExpose({} as ComponentInstance<typeof ElDatePicker>)\r\n</script>\r\n","<template>\r\n <component :is=\"h(ElDatePicker, { ...mergedDatePickerAttrs, ref: changeRef }, slots)\" />\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ElDatePicker } from 'element-plus'\r\nimport type { ComponentInstance } from 'vue'\r\nimport { computed, h, useAttrs, useSlots, watch } from 'vue'\r\nimport { useMergedAttrs, useMergedExpose } from '@falcon-ui/hooks'\r\nimport { flDatePickerEmits, flDatePickerProps } from './date-picker'\r\nimport type { FlDatePickerValue } from './date-picker'\r\n\r\ndefineOptions({\r\n name: 'FlDatePicker',\r\n inheritAttrs: false\r\n})\r\n\r\nconst props = defineProps(flDatePickerProps)\r\nconst emit = defineEmits(flDatePickerEmits)\r\nconst attrs = useAttrs()\r\nconst slots = useSlots()\r\nconst rawAttrs = attrs as Record<string, unknown>\r\n\r\nconst { changeRef } = useMergedExpose({})\r\nconst { mergedAttrs } = useMergedAttrs({\r\n attrs: rawAttrs,\r\n block: 'date-picker',\r\n listenerName: 'onChange'\r\n})\r\n\r\nconst updateModelValue = (value: FlDatePickerValue) => {\r\n if (props.isError) {\r\n emit('update:modelValue', null)\r\n return\r\n }\r\n\r\n emit('update:modelValue', value)\r\n}\r\n\r\nconst mergedDatePickerAttrs = computed(() => ({\r\n ...mergedAttrs.value,\r\n modelValue: props.modelValue,\r\n 'onUpdate:modelValue': updateModelValue,\r\n class: [mergedAttrs.value.class, { 'is-error': props.isError, 'is-table': props.isTable }]\r\n}))\r\n\r\nconst clearModelValue = () => {\r\n emit('update:modelValue', null)\r\n}\r\n\r\nwatch(\r\n () => props.isError,\r\n (isError, previousIsError) => {\r\n if (isError && previousIsError !== true) {\r\n clearModelValue()\r\n }\r\n },\r\n { immediate: true }\r\n)\r\n\r\ndefineExpose({} as ComponentInstance<typeof ElDatePicker>)\r\n</script>\r\n"],"mappings":"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"}
|