classcard-ui 0.2.232 → 0.2.236
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/dist/classcard-ui.common.js +107 -72
- package/dist/classcard-ui.common.js.map +1 -1
- package/dist/classcard-ui.umd.js +107 -72
- package/dist/classcard-ui.umd.js.map +1 -1
- package/dist/classcard-ui.umd.min.js +1 -1
- package/dist/classcard-ui.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/CButtonWithDropdown/CButtonWithDropdown.vue +15 -13
- package/src/components/CDatepicker/CDatepicker.vue +5 -0
- package/src/components/CInputAddon/CInputAddon.vue +33 -9
- package/src/components/CMultiselect/CMultiselect.vue +2 -0
- package/src/stories/CButtonWithDropdown.stories.js +16 -6
- package/src/stories/CDatepicker.stories.js +1 -0
package/package.json
CHANGED
|
@@ -25,7 +25,12 @@
|
|
|
25
25
|
:class="dropdownPositionClass"
|
|
26
26
|
class="origin-top-right absolute right-0 z-10 mt-2 -mr-1 w-56 rounded-md shadow-lg bg-white ring-1 ring-gray-900 ring-opacity-5"
|
|
27
27
|
>
|
|
28
|
-
<div
|
|
28
|
+
<div
|
|
29
|
+
class="py-1"
|
|
30
|
+
role="menu"
|
|
31
|
+
aria-orientation="vertical"
|
|
32
|
+
aria-labelledby="option-menu"
|
|
33
|
+
>
|
|
29
34
|
<li
|
|
30
35
|
v-for="item in items"
|
|
31
36
|
v-bind:key="item.items"
|
|
@@ -78,21 +83,18 @@ export default {
|
|
|
78
83
|
computed: {
|
|
79
84
|
classes() {
|
|
80
85
|
return {
|
|
81
|
-
"border text-gray-700 border-gray-300 hover:bg-gray-50 focus:ring-indigo-600":
|
|
82
|
-
this.type == "secondary",
|
|
83
86
|
"border text-white hover:bg-indigo-800 bg-indigo-700 focus:ring-indigo-600":
|
|
84
87
|
this.type == "primary",
|
|
85
|
-
"border text-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
"border text-gray-700 border-gray-300 hover:bg-gray-50 focus:ring-indigo-600":
|
|
89
|
+
this.type == "secondary",
|
|
90
|
+
"border text-white hover:bg-green-800 bg-green-700 focus:ring-green-600":
|
|
91
|
+
this.type == "success",
|
|
92
|
+
"border text-white hover:bg-red-800 bg-red-700 focus:ring-red-600":
|
|
93
|
+
this.type == "danger",
|
|
94
|
+
"border border-green-800 bg-green-100 text-green-800 hover:bg-green-200 focus:ring-green-200":
|
|
95
|
+
this.type == "light-green",
|
|
88
96
|
"border border-red-800 bg-red-100 text-red-800 hover:bg-red-200 focus:ring-red-200":
|
|
89
|
-
|
|
90
|
-
(this.type == "light-red" && !this.selectedValue),
|
|
91
|
-
"border border-red-800 bg-red-400 text-white hover:bg-red-500 focus:ring-red-500":
|
|
92
|
-
(this.type == "light-red" && this.isSelected == true) ||
|
|
93
|
-
(this.type == "light-red" && this.selectedValue),
|
|
94
|
-
"border border-green-900 bg-green-800 text-white hover:bg-green-900 focus:ring-green-900":
|
|
95
|
-
this.type == "success" && this.selectedValue,
|
|
97
|
+
this.type == "light-red",
|
|
96
98
|
"cursor-default pointer-events-none": this.isLoading,
|
|
97
99
|
};
|
|
98
100
|
},
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
@input="onDayClick"
|
|
12
12
|
:value="value"
|
|
13
13
|
:min-date="minDate"
|
|
14
|
+
:is-expanded="isExpanded"
|
|
14
15
|
>
|
|
15
16
|
<template v-slot="{ inputValue, togglePopover }">
|
|
16
17
|
<div class="flex items-center mt-1">
|
|
@@ -84,6 +85,10 @@ export default {
|
|
|
84
85
|
type: [String, Date],
|
|
85
86
|
default: null,
|
|
86
87
|
},
|
|
88
|
+
isExpanded: {
|
|
89
|
+
type: Boolean,
|
|
90
|
+
default: false,
|
|
91
|
+
},
|
|
87
92
|
},
|
|
88
93
|
data() {
|
|
89
94
|
const masks = {
|
|
@@ -11,9 +11,13 @@
|
|
|
11
11
|
</div>
|
|
12
12
|
<span v-if="hint" class="text-sm text-gray-500">{{ hint }}</span>
|
|
13
13
|
</div>
|
|
14
|
-
<div
|
|
14
|
+
<div
|
|
15
|
+
v-if="!inlineAddon && addonType == 'leading'"
|
|
16
|
+
class="relative mt-1 flex rounded-md"
|
|
17
|
+
>
|
|
15
18
|
<span
|
|
16
19
|
:class="disabled ? 'opacity-50' : ''"
|
|
20
|
+
v-if="addon"
|
|
17
21
|
class="inline-flex items-center px-3 rounded-l-md border border-r-0 border-gray-300 bg-gray-50 text-gray-500 sm:text-sm"
|
|
18
22
|
>
|
|
19
23
|
{{ addon }}
|
|
@@ -23,7 +27,7 @@
|
|
|
23
27
|
:value="inputValue"
|
|
24
28
|
@input="$emit('input', $event.target.value)"
|
|
25
29
|
@blur="$emit('blur', $event.target.value)"
|
|
26
|
-
:class="errorClasses"
|
|
30
|
+
:class="{ ...errorClasses, 'rounded-l-md': !addon }"
|
|
27
31
|
class="focus:ring-indigo-500 focus:border-indigo-500 flex-1 block w-full px-3 py-2 rounded-r-md sm:text-sm disabled:opacity-50"
|
|
28
32
|
:placeholder="placeholder"
|
|
29
33
|
:disabled="disabled"
|
|
@@ -35,7 +39,10 @@
|
|
|
35
39
|
<c-icon name="exclamation-circle" type="solid" class="h-5 w-5"></c-icon>
|
|
36
40
|
</div>
|
|
37
41
|
</div>
|
|
38
|
-
<div
|
|
42
|
+
<div
|
|
43
|
+
v-if="!inlineAddon && addonType == 'trailing'"
|
|
44
|
+
class="relative mt-1 flex rounded-md"
|
|
45
|
+
>
|
|
39
46
|
<input
|
|
40
47
|
:type="inputType"
|
|
41
48
|
:value="inputValue"
|
|
@@ -59,7 +66,10 @@
|
|
|
59
66
|
{{ addon }}
|
|
60
67
|
</span>
|
|
61
68
|
</div>
|
|
62
|
-
<div
|
|
69
|
+
<div
|
|
70
|
+
v-if="inlineAddon && addonType == 'trailing'"
|
|
71
|
+
class="relative mt-1 flex rounded-md"
|
|
72
|
+
>
|
|
63
73
|
<input
|
|
64
74
|
:type="inputType"
|
|
65
75
|
:value="inputValue"
|
|
@@ -70,12 +80,18 @@
|
|
|
70
80
|
:placeholder="placeholder"
|
|
71
81
|
:disabled="disabled"
|
|
72
82
|
/>
|
|
73
|
-
<div
|
|
83
|
+
<div
|
|
84
|
+
class="absolute inset-y-0 right-3 flex items-center pointer-events-none"
|
|
85
|
+
>
|
|
74
86
|
<div
|
|
75
87
|
v-if="!isValidate"
|
|
76
88
|
class="right-0 pr-2 flex items-center pointer-events-none text-red-600"
|
|
77
89
|
>
|
|
78
|
-
<c-icon
|
|
90
|
+
<c-icon
|
|
91
|
+
name="exclamation-circle"
|
|
92
|
+
type="solid"
|
|
93
|
+
class="h-5 w-5"
|
|
94
|
+
></c-icon>
|
|
79
95
|
</div>
|
|
80
96
|
<span
|
|
81
97
|
class="text-gray-500 sm:text-sm"
|
|
@@ -85,8 +101,13 @@
|
|
|
85
101
|
</span>
|
|
86
102
|
</div>
|
|
87
103
|
</div>
|
|
88
|
-
<div
|
|
89
|
-
|
|
104
|
+
<div
|
|
105
|
+
v-if="inlineAddon && addonType == 'leading'"
|
|
106
|
+
class="relative mt-1 flex rounded-md"
|
|
107
|
+
>
|
|
108
|
+
<div
|
|
109
|
+
class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"
|
|
110
|
+
>
|
|
90
111
|
<span class="text-gray-500 sm:text-sm">{{ addon }}</span>
|
|
91
112
|
</div>
|
|
92
113
|
<input
|
|
@@ -110,7 +131,10 @@
|
|
|
110
131
|
<p v-if="!isValidate" class="mt-2 text-sm text-red-600">
|
|
111
132
|
{{ errorMessage }}
|
|
112
133
|
</p>
|
|
113
|
-
<p
|
|
134
|
+
<p
|
|
135
|
+
v-if="helpText && isValidate == true"
|
|
136
|
+
:class="`mt-2 text-sm ${helpTextColorStyles}`"
|
|
137
|
+
>
|
|
114
138
|
{{ helpText }}
|
|
115
139
|
</p>
|
|
116
140
|
</div>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<label v-if="label" class="text-sm text-gray-900">{{ label }}</label>
|
|
4
|
+
<p v-if="subLabel" class="text-sm text-gray-500">{{ subLabel }}</p>
|
|
4
5
|
<v-select
|
|
5
6
|
class="text-sm mt-1"
|
|
6
7
|
:placeholder="placeholder"
|
|
@@ -80,6 +81,7 @@ export default {
|
|
|
80
81
|
required: true,
|
|
81
82
|
},
|
|
82
83
|
label: String,
|
|
84
|
+
subLabel: String,
|
|
83
85
|
placeholder: {
|
|
84
86
|
type: String,
|
|
85
87
|
default: "Start typing... (min 2 characters) to search options",
|
|
@@ -8,7 +8,17 @@ export default {
|
|
|
8
8
|
subcomponents: { CIcon },
|
|
9
9
|
argTypes: {
|
|
10
10
|
type: {
|
|
11
|
-
control: {
|
|
11
|
+
control: {
|
|
12
|
+
type: "select",
|
|
13
|
+
options: [
|
|
14
|
+
"primary",
|
|
15
|
+
"secondary",
|
|
16
|
+
"success",
|
|
17
|
+
"danger",
|
|
18
|
+
"light-green",
|
|
19
|
+
"light-red",
|
|
20
|
+
],
|
|
21
|
+
},
|
|
12
22
|
},
|
|
13
23
|
items: { control: { type: "object" } },
|
|
14
24
|
},
|
|
@@ -23,9 +33,9 @@ const Template = (args, { argTypes }) => ({
|
|
|
23
33
|
export const Default = Template.bind({});
|
|
24
34
|
Default.args = {
|
|
25
35
|
items: [
|
|
26
|
-
{ text: "one", value:
|
|
27
|
-
{ text: "two"
|
|
36
|
+
{ text: "one", value: "one" },
|
|
37
|
+
{ text: "two", value: "two" },
|
|
28
38
|
],
|
|
29
|
-
// type: 'primary',
|
|
30
|
-
label: "Button"
|
|
31
|
-
};
|
|
39
|
+
// type: 'primary',
|
|
40
|
+
label: "Button",
|
|
41
|
+
};
|