@frollo/frollo-web-ui 4.0.1 → 5.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/cjs/index.js +800 -446
- package/esm/fw-accordion.js +61 -28
- package/esm/fw-animations.js +2 -2
- package/esm/fw-bar-chart.js +2 -1
- package/esm/{fw-button-7902ae9e.js → fw-button-beaf20f4.js} +1 -1
- package/esm/fw-button.js +3 -3
- package/esm/fw-checkbox.js +25 -9
- package/esm/fw-drawer.js +225 -0
- package/esm/fw-dropdown.js +1 -1
- package/esm/{fw-image-c829ed20.js → fw-image-161b667a.js} +65 -59
- package/esm/fw-image.js +4 -4
- package/esm/fw-input.js +2 -2
- package/esm/{fw-loading-spinner-7462e0b2.js → fw-loading-spinner-51deaa3d.js} +1 -1
- package/esm/fw-modal.js +3 -3
- package/esm/fw-navigation-menu.js +3 -3
- package/esm/fw-sidebar-menu.js +3 -3
- package/esm/fw-table.js +9 -9
- package/esm/fw-tag.js +93 -18
- package/esm/fw-toast.js +1 -1
- package/esm/fw-transactions-card.js +4 -4
- package/esm/get-root-colours-e2a1cb28.js +21 -0
- package/esm/{index-f0510452.js → index-2766bfe4.js} +12 -11
- package/esm/{index-dbe0534d.js → index-3624f1c9.js} +115 -101
- package/esm/index.js +40 -36
- package/frollo-web-ui.esm.js +861 -494
- package/icons/index.ts +3 -1
- package/icons/xmark.svg +3 -0
- package/index.d.ts +393 -140
- package/package.json +1 -1
- package/types/components/fw-accordion/fw-accordion.vue.d.ts +22 -4
- package/types/components/fw-accordion/index.types.d.ts +1 -0
- package/types/components/fw-checkbox/fw-checkbox.vue.d.ts +35 -3
- package/types/components/fw-checkbox/index.types.d.ts +2 -0
- package/types/components/fw-drawer/fw-drawer.vue.d.ts +165 -0
- package/types/components/fw-drawer/index.d.ts +2 -0
- package/types/components/fw-drawer/index.types.d.ts +14 -0
- package/types/components/fw-input/fw-input.vue.d.ts +2 -2
- package/types/components/fw-tag/fw-tag.vue.d.ts +30 -8
- package/types/components/fw-tag/index.types.d.ts +4 -2
- package/types/components/index.d.ts +1 -0
- package/types/components/index.types.d.ts +1 -0
- package/types/helpers/get-root-colours.d.ts +9 -0
- package/types/icons/index.d.ts +2 -1
- package/web-components/index.js +863 -496
package/esm/fw-accordion.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { defineComponent, ref, pushScopeId, popScopeId, openBlock, createElementBlock, createElementVNode, normalizeClass,
|
|
1
|
+
import { defineComponent, ref, useCssVars, pushScopeId, popScopeId, openBlock, createElementBlock, createElementVNode, normalizeClass, createCommentVNode, toDisplayString, createVNode, Transition, withCtx, withDirectives, renderSlot, vShow } from 'vue';
|
|
2
|
+
import { u as useColours } from './get-root-colours-e2a1cb28.js';
|
|
2
3
|
import { s as styleInject } from './style-inject.es-1f59c1d0.js';
|
|
3
4
|
|
|
4
|
-
var
|
|
5
|
+
var __default__ = defineComponent({
|
|
5
6
|
name: 'FwAccordion',
|
|
6
7
|
props: {
|
|
7
8
|
/**
|
|
@@ -22,29 +23,59 @@ var script = defineComponent({
|
|
|
22
23
|
isOpened: {
|
|
23
24
|
type: Boolean,
|
|
24
25
|
"default": false
|
|
26
|
+
},
|
|
27
|
+
/**
|
|
28
|
+
* Whether the accordion open icon should be at the start or end
|
|
29
|
+
*/
|
|
30
|
+
iconPositionStart: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
"default": true
|
|
25
33
|
}
|
|
26
34
|
},
|
|
27
35
|
setup: function setup(props) {
|
|
28
36
|
var isOpen = ref(props.isOpened);
|
|
29
|
-
var
|
|
37
|
+
var _useColours = useColours(),
|
|
38
|
+
bgHoverColor = _useColours.primaryFade5;
|
|
39
|
+
var beforeEnter = function beforeEnter(el) {
|
|
40
|
+
el.style.height = '0';
|
|
41
|
+
};
|
|
42
|
+
var enter = function enter(el) {
|
|
30
43
|
el.style.height = el.scrollHeight + 'px';
|
|
31
44
|
};
|
|
32
|
-
var
|
|
45
|
+
var beforeLeave = function beforeLeave(el) {
|
|
46
|
+
el.style.height = el.scrollHeight + 'px';
|
|
47
|
+
};
|
|
48
|
+
var leave = function leave(el) {
|
|
33
49
|
el.style.height = '0';
|
|
34
50
|
};
|
|
35
51
|
return {
|
|
36
52
|
isOpen: isOpen,
|
|
37
|
-
|
|
38
|
-
|
|
53
|
+
beforeEnter: beforeEnter,
|
|
54
|
+
enter: enter,
|
|
55
|
+
beforeLeave: beforeLeave,
|
|
56
|
+
leave: leave,
|
|
57
|
+
bgHoverColor: bgHoverColor
|
|
39
58
|
};
|
|
40
59
|
}
|
|
41
60
|
});
|
|
61
|
+
var __injectCSSVars__ = function __injectCSSVars__() {
|
|
62
|
+
useCssVars(function (_ctx) {
|
|
63
|
+
return {
|
|
64
|
+
"0ec0724b": _ctx.bgHoverColor
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
var __setup__ = __default__.setup;
|
|
69
|
+
__default__.setup = __setup__ ? function (props, ctx) {
|
|
70
|
+
__injectCSSVars__();
|
|
71
|
+
return __setup__(props, ctx);
|
|
72
|
+
} : __injectCSSVars__;
|
|
42
73
|
|
|
43
74
|
var _withScopeId = function _withScopeId(n) {
|
|
44
|
-
return pushScopeId("data-v-
|
|
75
|
+
return pushScopeId("data-v-5123413b"), n = n(), popScopeId(), n;
|
|
45
76
|
};
|
|
46
77
|
var _hoisted_1 = {
|
|
47
|
-
"class": "fw-accordion rounded border border-grey-40"
|
|
78
|
+
"class": "fw-accordion rounded-sm border border-grey-40"
|
|
48
79
|
};
|
|
49
80
|
var _hoisted_2 = {
|
|
50
81
|
"class": "flex flex-row items-center justify-between w-full"
|
|
@@ -53,9 +84,6 @@ var _hoisted_3 = {
|
|
|
53
84
|
"class": "flex flex-row items-center"
|
|
54
85
|
};
|
|
55
86
|
var _hoisted_4 = {
|
|
56
|
-
"class": "h4 mb-0 ml-6"
|
|
57
|
-
};
|
|
58
|
-
var _hoisted_5 = {
|
|
59
87
|
key: 0,
|
|
60
88
|
"class": "h4"
|
|
61
89
|
};
|
|
@@ -64,31 +92,36 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
64
92
|
onClick: _cache[0] || (_cache[0] = function ($event) {
|
|
65
93
|
return _ctx.isOpen = !_ctx.isOpen;
|
|
66
94
|
}),
|
|
67
|
-
|
|
68
|
-
|
|
95
|
+
type: "button",
|
|
96
|
+
"class": normalizeClass(["fw-accordion--header px-8 py-4 bg-white w-full transition-all duration-100 ease-in focus:outline-primary", _ctx.isOpen ? 'fw-accordion--header-open' : ''])
|
|
97
|
+
}, [createElementVNode("div", _hoisted_2, [createElementVNode("div", _hoisted_3, [_ctx.iconPositionStart ? (openBlock(), createElementBlock("span", {
|
|
98
|
+
key: 0,
|
|
99
|
+
"class": normalizeClass(["fw-accordion--icon", _ctx.isOpen ? 'fw-accordion--icon-open' : ''])
|
|
100
|
+
}, null, 2)) : createCommentVNode("", true), createElementVNode("span", {
|
|
101
|
+
"class": normalizeClass(["h4 mb-0", _ctx.iconPositionStart ? 'ml-6' : 'ml-0'])
|
|
102
|
+
}, toDisplayString(_ctx.title), 3)]), _ctx.suffixTitle ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(_ctx.suffixTitle), 1)) : createCommentVNode("", true), !_ctx.iconPositionStart ? (openBlock(), createElementBlock("span", {
|
|
103
|
+
key: 1,
|
|
69
104
|
"class": normalizeClass(["fw-accordion--icon", _ctx.isOpen ? 'fw-accordion--icon-open' : ''])
|
|
70
|
-
}, null, 2)
|
|
71
|
-
name: "
|
|
72
|
-
onBeforeEnter: _ctx.
|
|
73
|
-
onEnter: _ctx.
|
|
74
|
-
onBeforeLeave: _ctx.
|
|
75
|
-
onLeave: _ctx.
|
|
76
|
-
"class": "transition-all duration-300 ease-in
|
|
105
|
+
}, null, 2)) : createCommentVNode("", true)])], 2), createVNode(Transition, {
|
|
106
|
+
name: "fw-accordion-transition",
|
|
107
|
+
onBeforeEnter: _ctx.beforeEnter,
|
|
108
|
+
onEnter: _ctx.enter,
|
|
109
|
+
onBeforeLeave: _ctx.beforeLeave,
|
|
110
|
+
onLeave: _ctx.leave,
|
|
111
|
+
"class": "transition-all duration-300 ease-in overflow-hidden"
|
|
77
112
|
}, {
|
|
78
113
|
"default": withCtx(function () {
|
|
79
|
-
return [_ctx.$slots
|
|
80
|
-
key: 0
|
|
81
|
-
}) : createCommentVNode("", true)];
|
|
114
|
+
return [withDirectives(createElementVNode("div", null, [renderSlot(_ctx.$slots, "default")], 512), [[vShow, _ctx.$slots["default"] && _ctx.isOpen]])];
|
|
82
115
|
}),
|
|
83
116
|
_: 3
|
|
84
117
|
}, 8, ["onBeforeEnter", "onEnter", "onBeforeLeave", "onLeave"])]);
|
|
85
118
|
}
|
|
86
119
|
|
|
87
|
-
var css_248z = ".fw-accordion--icon[data-v-
|
|
88
|
-
var stylesheet = ".fw-accordion--icon[data-v-
|
|
120
|
+
var css_248z = ".fw-accordion--header-open[data-v-5123413b],.fw-accordion--header[data-v-5123413b]:focus-visible,.fw-accordion--header[data-v-5123413b]:hover{background-color:var(--0ec0724b)}.fw-accordion--icon[data-v-5123413b]{position:relative}.fw-accordion--icon[data-v-5123413b]:after,.fw-accordion--icon[data-v-5123413b]:before{background:var(--colorBody);border-radius:3px;content:\"\";height:.2rem;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;width:1rem}.fw-accordion--icon[data-v-5123413b]:after{-webkit-transform:translate(-50%,-50%) rotate(90deg);-ms-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg)}.fw-accordion--icon-open[data-v-5123413b]:after{width:0}";
|
|
121
|
+
var stylesheet = ".fw-accordion--header-open[data-v-5123413b],.fw-accordion--header[data-v-5123413b]:focus-visible,.fw-accordion--header[data-v-5123413b]:hover{background-color:var(--0ec0724b)}.fw-accordion--icon[data-v-5123413b]{position:relative}.fw-accordion--icon[data-v-5123413b]:after,.fw-accordion--icon[data-v-5123413b]:before{background:var(--colorBody);border-radius:3px;content:\"\";height:.2rem;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;width:1rem}.fw-accordion--icon[data-v-5123413b]:after{-webkit-transform:translate(-50%,-50%) rotate(90deg);-ms-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg)}.fw-accordion--icon-open[data-v-5123413b]:after{width:0}";
|
|
89
122
|
styleInject(css_248z);
|
|
90
123
|
|
|
91
|
-
|
|
92
|
-
|
|
124
|
+
__default__.render = render;
|
|
125
|
+
__default__.__scopeId = "data-v-5123413b";
|
|
93
126
|
|
|
94
|
-
export {
|
|
127
|
+
export { __default__ as FwAccordion };
|
package/esm/fw-animations.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import './es.number.constructor-d6ff8874.js';
|
|
2
2
|
import { defineComponent, useCssVars, pushScopeId, popScopeId, createElementVNode, openBlock, createElementBlock, createStaticVNode } from 'vue';
|
|
3
3
|
import { s as styleInject } from './style-inject.es-1f59c1d0.js';
|
|
4
|
-
export { s as FwLoadingSpinner } from './fw-loading-spinner-
|
|
4
|
+
export { s as FwLoadingSpinner } from './fw-loading-spinner-51deaa3d.js';
|
|
5
5
|
import './is-forced-752b5893.js';
|
|
6
6
|
import './classof-39c30bd5.js';
|
|
7
|
-
import './index-
|
|
7
|
+
import './index-3624f1c9.js';
|
|
8
8
|
import './check-94a5917a.js';
|
|
9
9
|
|
|
10
10
|
var __default__$1 = defineComponent({
|
package/esm/fw-bar-chart.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { s as FwBarChart } from './index-
|
|
1
|
+
export { s as FwBarChart } from './index-2766bfe4.js';
|
|
2
2
|
import './es.number.constructor-d6ff8874.js';
|
|
3
3
|
import './is-forced-752b5893.js';
|
|
4
4
|
import './classof-39c30bd5.js';
|
|
@@ -15,4 +15,5 @@ import './array-method-has-species-support-3d413468.js';
|
|
|
15
15
|
import './es.function.name-557cb1f9.js';
|
|
16
16
|
import './does-not-exceed-safe-integer-31d08811.js';
|
|
17
17
|
import 'vue';
|
|
18
|
+
import './get-root-colours-e2a1cb28.js';
|
|
18
19
|
import './uniqueId-fe08534a.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './es.array.includes-91be7771.js';
|
|
2
2
|
import { defineComponent, ref, computed, resolveComponent, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, createElementBlock, createElementVNode, renderSlot, createVNode, createCommentVNode } from 'vue';
|
|
3
|
-
import { s as script$1 } from './fw-loading-spinner-
|
|
3
|
+
import { s as script$1 } from './fw-loading-spinner-51deaa3d.js';
|
|
4
4
|
import { s as styleInject } from './style-inject.es-1f59c1d0.js';
|
|
5
5
|
|
|
6
6
|
var script = defineComponent({
|
package/esm/fw-button.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { s as FwButton } from './fw-button-
|
|
1
|
+
export { s as FwButton } from './fw-button-beaf20f4.js';
|
|
2
2
|
import './es.array.includes-91be7771.js';
|
|
3
3
|
import './is-forced-752b5893.js';
|
|
4
4
|
import './export-a37ba078.js';
|
|
@@ -6,7 +6,7 @@ import './add-to-unscopables-2400f45b.js';
|
|
|
6
6
|
import './object-create-f6f3a673.js';
|
|
7
7
|
import './object-keys-4f5bf4e7.js';
|
|
8
8
|
import 'vue';
|
|
9
|
-
import './fw-loading-spinner-
|
|
10
|
-
import './index-
|
|
9
|
+
import './fw-loading-spinner-51deaa3d.js';
|
|
10
|
+
import './index-3624f1c9.js';
|
|
11
11
|
import './check-94a5917a.js';
|
|
12
12
|
import './style-inject.es-1f59c1d0.js';
|
package/esm/fw-checkbox.js
CHANGED
|
@@ -19,12 +19,20 @@ var script = defineComponent({
|
|
|
19
19
|
},
|
|
20
20
|
props: {
|
|
21
21
|
/**
|
|
22
|
-
* The name of the input field.
|
|
22
|
+
* The name of the checkbox input field.
|
|
23
|
+
* Multiple checkboxes can use the same name with a unique value.
|
|
23
24
|
*/
|
|
24
25
|
name: {
|
|
25
26
|
type: String,
|
|
26
27
|
required: true
|
|
27
28
|
},
|
|
29
|
+
/**
|
|
30
|
+
* The value of the input field. Must be unique per name.
|
|
31
|
+
*/
|
|
32
|
+
value: {
|
|
33
|
+
type: String,
|
|
34
|
+
required: false
|
|
35
|
+
},
|
|
28
36
|
/**
|
|
29
37
|
* Label for the input. Also renders to an aria-label attribute
|
|
30
38
|
*/
|
|
@@ -42,6 +50,13 @@ var script = defineComponent({
|
|
|
42
50
|
*/
|
|
43
51
|
hint: {
|
|
44
52
|
type: String
|
|
53
|
+
},
|
|
54
|
+
/**
|
|
55
|
+
* Enable or disable the error hidden element
|
|
56
|
+
*/
|
|
57
|
+
enableErrors: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
"default": true
|
|
45
60
|
}
|
|
46
61
|
},
|
|
47
62
|
setup: function setup() {
|
|
@@ -53,7 +68,7 @@ var script = defineComponent({
|
|
|
53
68
|
});
|
|
54
69
|
|
|
55
70
|
var _withScopeId = function _withScopeId(n) {
|
|
56
|
-
return pushScopeId("data-v-
|
|
71
|
+
return pushScopeId("data-v-9ac45436"), n = n(), popScopeId(), n;
|
|
57
72
|
};
|
|
58
73
|
var _hoisted_1 = {
|
|
59
74
|
"class": "fw-checkbox w-full"
|
|
@@ -65,6 +80,7 @@ var _hoisted_3 = ["for"];
|
|
|
65
80
|
var _hoisted_4 = ["value", "name", "id"];
|
|
66
81
|
var _hoisted_5 = ["innerHTML"];
|
|
67
82
|
var _hoisted_6 = {
|
|
83
|
+
key: 0,
|
|
68
84
|
"class": "italic text-sm font-medium min-h-[21px]"
|
|
69
85
|
};
|
|
70
86
|
var _hoisted_7 = {
|
|
@@ -78,7 +94,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
78
94
|
var _component_InputField = resolveComponent("InputField");
|
|
79
95
|
return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(_component_InputField, {
|
|
80
96
|
name: _ctx.name,
|
|
81
|
-
value: _ctx.name,
|
|
97
|
+
value: _ctx.value ? _ctx.value : _ctx.name,
|
|
82
98
|
type: "checkbox",
|
|
83
99
|
rules: _ctx.rules
|
|
84
100
|
}, {
|
|
@@ -91,7 +107,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
91
107
|
"for": "fw-checkbox-".concat(_ctx.name, "-").concat(_ctx.uuid),
|
|
92
108
|
"class": "inline-flex items-center mb-3"
|
|
93
109
|
}, [createElementVNode("input", mergeProps(field, {
|
|
94
|
-
value: _ctx.name,
|
|
110
|
+
value: _ctx.value ? _ctx.value : _ctx.name,
|
|
95
111
|
name: "fw-checkbox-".concat(_ctx.name, "-").concat(_ctx.uuid),
|
|
96
112
|
id: "fw-checkbox-".concat(_ctx.name, "-").concat(_ctx.uuid),
|
|
97
113
|
type: "checkbox",
|
|
@@ -100,7 +116,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
100
116
|
key: 0,
|
|
101
117
|
"class": "ml-2",
|
|
102
118
|
innerHTML: _ctx.label
|
|
103
|
-
}, null, 8, _hoisted_5)) : createCommentVNode("", true)], 8, _hoisted_3),
|
|
119
|
+
}, null, 8, _hoisted_5)) : createCommentVNode("", true)], 8, _hoisted_3), _ctx.enableErrors ? (openBlock(), createElementBlock("div", _hoisted_6, [createVNode(Transition, {
|
|
104
120
|
name: "fwFadeIn",
|
|
105
121
|
mode: "out-in"
|
|
106
122
|
}, {
|
|
@@ -108,17 +124,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
108
124
|
return [(errorMessage || errors[0]) && meta.touched ? (openBlock(), createElementBlock("span", _hoisted_7, toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(_ctx.hint), 1)) : createCommentVNode("", true)];
|
|
109
125
|
}),
|
|
110
126
|
_: 2
|
|
111
|
-
}, 1024)])])];
|
|
127
|
+
}, 1024)])) : createCommentVNode("", true)])];
|
|
112
128
|
}),
|
|
113
129
|
_: 1
|
|
114
130
|
}, 8, ["name", "value", "rules"])]);
|
|
115
131
|
}
|
|
116
132
|
|
|
117
|
-
var css_248z = ".fwFadeIn-enter-active[data-v-
|
|
118
|
-
var stylesheet = ".fwFadeIn-enter-active[data-v-
|
|
133
|
+
var css_248z = ".fwFadeIn-enter-active[data-v-9ac45436]{-webkit-animation:fwFadeIn-9ac45436 .35s;animation:fwFadeIn-9ac45436 .35s;-webkit-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active[data-v-9ac45436]{animation:fwFadeIn-9ac45436 .35s reverse;-webkit-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn-9ac45436{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn-9ac45436{0%{opacity:0}to{opacity:1}}.fw-checkbox input[data-v-9ac45436]{-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;display:inline-block;flex-shrink:0;-webkit-transition:background .2s ease-in;transition:background .2s ease-in;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.fw-checkbox input[data-v-9ac45436]:checked{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='3 3 10 10' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}";
|
|
134
|
+
var stylesheet = ".fwFadeIn-enter-active[data-v-9ac45436]{-webkit-animation:fwFadeIn-9ac45436 .35s;animation:fwFadeIn-9ac45436 .35s;-webkit-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active[data-v-9ac45436]{animation:fwFadeIn-9ac45436 .35s reverse;-webkit-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn-9ac45436{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn-9ac45436{0%{opacity:0}to{opacity:1}}.fw-checkbox input[data-v-9ac45436]{-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;display:inline-block;flex-shrink:0;-webkit-transition:background .2s ease-in;transition:background .2s ease-in;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.fw-checkbox input[data-v-9ac45436]:checked{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='3 3 10 10' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}";
|
|
119
135
|
styleInject(css_248z);
|
|
120
136
|
|
|
121
137
|
script.render = render;
|
|
122
|
-
script.__scopeId = "data-v-
|
|
138
|
+
script.__scopeId = "data-v-9ac45436";
|
|
123
139
|
|
|
124
140
|
export { script as FwCheckbox };
|
package/esm/fw-drawer.js
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import './es.array.includes-91be7771.js';
|
|
2
|
+
import { defineComponent, ref, computed, onMounted, resolveComponent, openBlock, createBlock, Transition, withCtx, createElementBlock, normalizeClass, createElementVNode, renderSlot, createCommentVNode, createVNode, createTextVNode, toDisplayString } from 'vue';
|
|
3
|
+
import { s as script$1 } from './fw-button-beaf20f4.js';
|
|
4
|
+
import { u as uniqueId } from './uniqueId-fe08534a.js';
|
|
5
|
+
import { b as render$1 } from './index-3624f1c9.js';
|
|
6
|
+
import { s as styleInject } from './style-inject.es-1f59c1d0.js';
|
|
7
|
+
import './is-forced-752b5893.js';
|
|
8
|
+
import './export-a37ba078.js';
|
|
9
|
+
import './add-to-unscopables-2400f45b.js';
|
|
10
|
+
import './object-create-f6f3a673.js';
|
|
11
|
+
import './object-keys-4f5bf4e7.js';
|
|
12
|
+
import './fw-loading-spinner-51deaa3d.js';
|
|
13
|
+
import './check-94a5917a.js';
|
|
14
|
+
|
|
15
|
+
var script = defineComponent({
|
|
16
|
+
name: 'FwDrawer',
|
|
17
|
+
components: {
|
|
18
|
+
FwButton: script$1,
|
|
19
|
+
XMarkSvg: render$1
|
|
20
|
+
},
|
|
21
|
+
emits: ['update:modelValue', 'cancel', 'confirm'],
|
|
22
|
+
props: {
|
|
23
|
+
/**
|
|
24
|
+
* The drawer's v-model. Controls the visibility of the drawer.
|
|
25
|
+
*/
|
|
26
|
+
modelValue: {
|
|
27
|
+
type: Boolean
|
|
28
|
+
},
|
|
29
|
+
/**
|
|
30
|
+
* The header title of the drawer
|
|
31
|
+
*/
|
|
32
|
+
header: {
|
|
33
|
+
type: String
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* The body description of the drawer
|
|
37
|
+
*/
|
|
38
|
+
body: {
|
|
39
|
+
type: String
|
|
40
|
+
},
|
|
41
|
+
/**
|
|
42
|
+
* The aria role of the drawer container. Defaults to `dialog`
|
|
43
|
+
*/
|
|
44
|
+
role: {
|
|
45
|
+
type: String,
|
|
46
|
+
"default": 'dialog'
|
|
47
|
+
},
|
|
48
|
+
/**
|
|
49
|
+
* Whether to show the cancel button
|
|
50
|
+
*/
|
|
51
|
+
showCancel: {
|
|
52
|
+
type: Boolean,
|
|
53
|
+
"default": false
|
|
54
|
+
},
|
|
55
|
+
/**
|
|
56
|
+
* Whether to show the confirm button
|
|
57
|
+
*/
|
|
58
|
+
showConfirm: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
"default": true
|
|
61
|
+
},
|
|
62
|
+
/**
|
|
63
|
+
* Custom text for the cancel button
|
|
64
|
+
*/
|
|
65
|
+
cancelButtonText: {
|
|
66
|
+
type: String,
|
|
67
|
+
"default": 'Cancel'
|
|
68
|
+
},
|
|
69
|
+
/**
|
|
70
|
+
* Button variant for the cancel button
|
|
71
|
+
*/
|
|
72
|
+
cancelButtonType: {
|
|
73
|
+
type: String,
|
|
74
|
+
"default": 'secondary',
|
|
75
|
+
validator: function validator(value) {
|
|
76
|
+
return ['primary', 'secondary', 'tertiary', 'error', 'success', 'link', 'text', 'transparent'].includes(value);
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
/**
|
|
80
|
+
* Custom text for the confirm button
|
|
81
|
+
*/
|
|
82
|
+
confirmButtonText: {
|
|
83
|
+
type: String,
|
|
84
|
+
"default": 'Confirm'
|
|
85
|
+
},
|
|
86
|
+
/**
|
|
87
|
+
* Button variant for the confirm button
|
|
88
|
+
*/
|
|
89
|
+
confirmButtonType: {
|
|
90
|
+
type: String,
|
|
91
|
+
"default": 'primary',
|
|
92
|
+
validator: function validator(value) {
|
|
93
|
+
return ['primary', 'secondary', 'tertiary', 'error', 'success', 'link', 'text', 'transparent'].includes(value);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
setup: function setup(props, ctx) {
|
|
98
|
+
var baseDrawerClass = "fixed shadow-card top-0 right-0 z-40 h-screen bg-white";
|
|
99
|
+
var drawerFooterClass = "\n sticky bottom-0 w-full shadow-card bg-white p-4\n ";
|
|
100
|
+
var isMounted = ref(false);
|
|
101
|
+
var uuid = uniqueId();
|
|
102
|
+
var isOpen = computed({
|
|
103
|
+
get: function get() {
|
|
104
|
+
return props.modelValue;
|
|
105
|
+
},
|
|
106
|
+
set: function set(state) {
|
|
107
|
+
return ctx.emit('update:modelValue', state);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
var onConfirmed = function onConfirmed() {
|
|
111
|
+
ctx.emit('confirm');
|
|
112
|
+
isOpen.value = false;
|
|
113
|
+
};
|
|
114
|
+
var onCancelled = function onCancelled() {
|
|
115
|
+
ctx.emit('cancel');
|
|
116
|
+
isOpen.value = false;
|
|
117
|
+
};
|
|
118
|
+
onMounted(function () {
|
|
119
|
+
isMounted.value = true;
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
baseDrawerClass: baseDrawerClass,
|
|
123
|
+
drawerFooterClass: drawerFooterClass,
|
|
124
|
+
isOpen: isOpen,
|
|
125
|
+
uuid: uuid,
|
|
126
|
+
isMounted: isMounted,
|
|
127
|
+
onConfirmed: onConfirmed,
|
|
128
|
+
onCancelled: onCancelled
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
var _hoisted_1 = ["id"];
|
|
134
|
+
var _hoisted_2 = {
|
|
135
|
+
"class": "flex flex-row justify-between items-center p-4"
|
|
136
|
+
};
|
|
137
|
+
var _hoisted_3 = ["id"];
|
|
138
|
+
var _hoisted_4 = ["id"];
|
|
139
|
+
var _hoisted_5 = {
|
|
140
|
+
key: 0,
|
|
141
|
+
"class": "flex items-center"
|
|
142
|
+
};
|
|
143
|
+
var _hoisted_6 = {
|
|
144
|
+
key: 1,
|
|
145
|
+
"class": "flex items-center space-x-2"
|
|
146
|
+
};
|
|
147
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
148
|
+
var _component_XMarkSvg = resolveComponent("XMarkSvg");
|
|
149
|
+
var _component_FwButton = resolveComponent("FwButton");
|
|
150
|
+
return openBlock(), createBlock(Transition, {
|
|
151
|
+
name: "drawerSlideInOut",
|
|
152
|
+
appear: ""
|
|
153
|
+
}, {
|
|
154
|
+
"default": withCtx(function () {
|
|
155
|
+
return [_ctx.isOpen ? (openBlock(), createElementBlock("div", {
|
|
156
|
+
key: 0,
|
|
157
|
+
id: "fw-drawer-".concat(_ctx.uuid),
|
|
158
|
+
"class": normalizeClass(["fw-drawer", _ctx.baseDrawerClass]),
|
|
159
|
+
tabindex: "-1",
|
|
160
|
+
"aria-labelledby": "drawer-label"
|
|
161
|
+
}, [createElementVNode("div", _hoisted_2, [_ctx.$slots.header ? (openBlock(), createElementBlock("h3", {
|
|
162
|
+
key: 0,
|
|
163
|
+
id: "drawer_".concat(_ctx.uuid, "_header"),
|
|
164
|
+
"class": "inline-flex items-center mb-0 text-body font-semibold"
|
|
165
|
+
}, [renderSlot(_ctx.$slots, "header")], 8, _hoisted_3)) : createCommentVNode("", true), createVNode(_component_FwButton, {
|
|
166
|
+
variant: "primary",
|
|
167
|
+
tabindex: "",
|
|
168
|
+
title: "Close drawer",
|
|
169
|
+
onClick: _cache[0] || (_cache[0] = function ($event) {
|
|
170
|
+
return _ctx.onCancelled();
|
|
171
|
+
}),
|
|
172
|
+
"class": "inline-block w-9 h-9 !p-0 shadow inline-flex items-center justify-center rounded-full"
|
|
173
|
+
}, {
|
|
174
|
+
"default": withCtx(function () {
|
|
175
|
+
return [createVNode(_component_XMarkSvg, {
|
|
176
|
+
"class": "w-6 h-6 inline-block m-0 transition-rotate duration-200"
|
|
177
|
+
})];
|
|
178
|
+
}),
|
|
179
|
+
_: 1
|
|
180
|
+
})]), _ctx.$slots.body ? (openBlock(), createElementBlock("div", {
|
|
181
|
+
key: 0,
|
|
182
|
+
"class": "fw-drawer-body h-screen overflow-y-scroll pb-[155px]",
|
|
183
|
+
id: "drawer_".concat(_ctx.uuid, "_body")
|
|
184
|
+
}, [renderSlot(_ctx.$slots, "body")], 8, _hoisted_4)) : createCommentVNode("", true), _ctx.$slots.footer || _ctx.showConfirm || _ctx.showCancel ? (openBlock(), createElementBlock("div", {
|
|
185
|
+
key: 1,
|
|
186
|
+
"class": normalizeClass(["fw-drawer-footer", _ctx.drawerFooterClass])
|
|
187
|
+
}, [_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_5, [renderSlot(_ctx.$slots, "footer")])) : (openBlock(), createElementBlock("div", _hoisted_6, [_ctx.showCancel ? (openBlock(), createBlock(_component_FwButton, {
|
|
188
|
+
key: 0,
|
|
189
|
+
"class": "basis-1/2",
|
|
190
|
+
variant: _ctx.cancelButtonType,
|
|
191
|
+
"aria-label": _ctx.cancelButtonText,
|
|
192
|
+
onClick: _cache[1] || (_cache[1] = function ($event) {
|
|
193
|
+
return _ctx.onCancelled();
|
|
194
|
+
})
|
|
195
|
+
}, {
|
|
196
|
+
"default": withCtx(function () {
|
|
197
|
+
return [createTextVNode(toDisplayString(_ctx.cancelButtonText), 1)];
|
|
198
|
+
}),
|
|
199
|
+
_: 1
|
|
200
|
+
}, 8, ["variant", "aria-label"])) : createCommentVNode("", true), _ctx.showConfirm ? (openBlock(), createBlock(_component_FwButton, {
|
|
201
|
+
key: 1,
|
|
202
|
+
"class": "basis-1/2",
|
|
203
|
+
variant: _ctx.confirmButtonType,
|
|
204
|
+
"aria-label": _ctx.confirmButtonText,
|
|
205
|
+
onClick: _cache[2] || (_cache[2] = function ($event) {
|
|
206
|
+
return _ctx.onConfirmed();
|
|
207
|
+
})
|
|
208
|
+
}, {
|
|
209
|
+
"default": withCtx(function () {
|
|
210
|
+
return [createTextVNode(toDisplayString(_ctx.confirmButtonText), 1)];
|
|
211
|
+
}),
|
|
212
|
+
_: 1
|
|
213
|
+
}, 8, ["variant", "aria-label"])) : createCommentVNode("", true)]))], 2)) : createCommentVNode("", true)], 10, _hoisted_1)) : createCommentVNode("", true)];
|
|
214
|
+
}),
|
|
215
|
+
_: 3
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
var css_248z = ".drawerSlideInOut-enter-active{-webkit-animation:drawerSlideInOut .4s;animation:drawerSlideInOut .4s;-webkit-transition:all .4s ease-in;transition:all .4s ease-in}.drawerSlideInOut-leave-active{animation:drawerSlideInOut .4s reverse;-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}@-webkit-keyframes drawerSlideInOut{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes drawerSlideInOut{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}";
|
|
220
|
+
var stylesheet = ".drawerSlideInOut-enter-active{-webkit-animation:drawerSlideInOut .4s;animation:drawerSlideInOut .4s;-webkit-transition:all .4s ease-in;transition:all .4s ease-in}.drawerSlideInOut-leave-active{animation:drawerSlideInOut .4s reverse;-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}@-webkit-keyframes drawerSlideInOut{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes drawerSlideInOut{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}";
|
|
221
|
+
styleInject(css_248z);
|
|
222
|
+
|
|
223
|
+
script.render = render;
|
|
224
|
+
|
|
225
|
+
export { script as FwDrawer };
|
package/esm/fw-dropdown.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './es.array.find-dfa1f42f.js';
|
|
2
2
|
import { defineComponent, toRef, ref, computed, onMounted, onBeforeUnmount, pushScopeId, popScopeId, resolveComponent, openBlock, createElementBlock, toDisplayString, createCommentVNode, createElementVNode, normalizeClass, createVNode, Transition, withCtx, Fragment, renderList } from 'vue';
|
|
3
3
|
import { u as useField } from './vee-validate.esm-a17a23c3.js';
|
|
4
|
-
import { a as render$1 } from './index-
|
|
4
|
+
import { a as render$1 } from './index-3624f1c9.js';
|
|
5
5
|
import './es.function.name-557cb1f9.js';
|
|
6
6
|
import { s as styleInject } from './style-inject.es-1f59c1d0.js';
|
|
7
7
|
import './is-forced-752b5893.js';
|