@itfin/components 1.2.33 → 1.2.34
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/package.json +1 -1
- package/src/assets/images/pdf-viewer/loading-icon.svg +26 -0
- package/src/assets/images/pdf-viewer/shadow.png +0 -0
- package/src/assets/images/pdf-viewer/treeitem-collapsed.png +0 -0
- package/src/assets/images/pdf-viewer/treeitem-collapsed@2x.png +0 -0
- package/src/assets/images/pdf-viewer/treeitem-expanded.png +0 -0
- package/src/assets/images/pdf-viewer/treeitem-expanded@2x.png +0 -0
- package/src/assets/scss/components/_air-select.scss +111 -0
- package/src/assets/scss/components/_avatar.scss +36 -0
- package/src/assets/scss/components/_button.scss +110 -0
- package/src/assets/scss/components/_card.scss +7 -0
- package/src/assets/scss/components/_checkbox.scss +83 -0
- package/src/{components/datepicker/datepicker.scss → assets/scss/components/_datepicker.scss} +217 -1
- package/src/assets/scss/components/_dropdown.scss +78 -0
- package/src/assets/scss/components/_form.scss +22 -0
- package/src/assets/scss/components/_icon.scss +5 -0
- package/src/assets/scss/components/_modal.scss +9 -0
- package/src/assets/scss/components/_pagination.scss +12 -0
- package/src/assets/scss/components/_pdf-viewer.scss +4 -0
- package/src/assets/scss/components/_popover.scss +37 -0
- package/src/assets/scss/components/_segmeneted-control.scss +138 -0
- package/src/assets/scss/components/_select.scss +76 -0
- package/src/assets/scss/components/_table.scss +278 -0
- package/src/{components/tabs/tabs.scss → assets/scss/components/_tabs.scss} +1 -1
- package/src/assets/scss/components/_text-field.scss +36 -0
- package/src/assets/scss/components/_toaster.scss +97 -0
- package/src/assets/scss/components/_tree-view.scss +17 -0
- package/src/{components/wizard/wizard.scss → assets/scss/components/_wizard.scss} +1 -1
- package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_annotation_layer_builder.scss +0 -0
- package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_colors.scss +1 -1
- package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_pdf_viewer.scss +2 -2
- package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_text_layer_builder.scss +0 -0
- package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_variables.scss +0 -0
- package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_viewer.scss +6 -6
- package/src/assets/scss/components/{_animations.scss → select/_animations.scss} +0 -0
- package/src/assets/scss/components/{_clear.scss → select/_clear.scss} +0 -0
- package/src/assets/scss/components/{_component.scss → select/_component.scss} +0 -0
- package/src/assets/scss/components/{_dropdown-menu.scss → select/_dropdown-menu.scss} +0 -0
- package/src/assets/scss/components/{_dropdown-option.scss → select/_dropdown-option.scss} +0 -0
- package/src/assets/scss/components/{_dropdown-toggle.scss → select/_dropdown-toggle.scss} +0 -0
- package/src/assets/scss/components/{_open-indicator.scss → select/_open-indicator.scss} +0 -0
- package/src/assets/scss/components/{_search-input.scss → select/_search-input.scss} +0 -0
- package/src/assets/scss/components/{_selected.scss → select/_selected.scss} +1 -1
- package/src/assets/scss/components/{_spinner.scss → select/_spinner.scss} +0 -0
- package/src/assets/scss/components/{_states.scss → select/_states.scss} +0 -0
- package/src/assets/scss/components/{_variables.scss → select/_variables.scss} +0 -0
- package/src/assets/scss/main.scss +22 -1
- package/src/components/app/App.vue +0 -66
- package/src/components/app/ToastContainer.vue +0 -35
- package/src/components/app/ToastMessage.vue +0 -7
- package/src/components/avatar/Avatar.vue +0 -38
- package/src/components/button/Button.vue +0 -142
- package/src/components/card/Card.vue +0 -10
- package/src/components/card/CardBody.vue +0 -3
- package/src/components/checkbox/Checkbox.vue +0 -54
- package/src/components/checkbox/CheckboxGroup.vue +0 -3
- package/src/components/checkbox/Radio.vue +0 -36
- package/src/components/checkbox/RadioGroup.vue +0 -3
- package/src/components/datepicker/DatePicker.vue +0 -39
- package/src/components/datepicker/DateRangePicker.vue +0 -58
- package/src/components/datepicker/MonthPicker.vue +0 -34
- package/src/components/datepicker/PeriodPicker.vue +0 -97
- package/src/components/dropdown/Dropdown.vue +0 -14
- package/src/components/form/Form.vue +0 -4
- package/src/components/form/Label.vue +0 -24
- package/src/components/icon/Icon.vue +0 -8
- package/src/components/modal/Modal.vue +0 -13
- package/src/components/pagination/Pagination.vue +0 -14
- package/src/components/pdf-viewer/PdfViewerSpa.vue +0 -3
- package/src/components/popover/ConfirmPopover.vue +0 -5
- package/src/components/popover/Popover.vue +0 -35
- package/src/components/segmented-control/SegmentedControl.vue +0 -140
- package/src/components/select/AirSelect.vue +0 -113
- package/src/components/select/Dropdown.vue +0 -70
- package/src/components/select/Select.vue +0 -78
- package/src/components/table/Table.vue +0 -279
- package/src/components/tabs/Tab.vue +0 -5
- package/src/components/tabs/TabContent.vue +0 -5
- package/src/components/tabs/Tabs.vue +0 -1
- package/src/components/text-field/TextField.vue +0 -15
- package/src/components/text-field/Textarea.vue +0 -30
- package/src/components/tooltip/Tooltip.vue +0 -1
- package/src/components/tree/TreeView.vue +0 -19
- package/src/components/wizard/Sidebar.vue +0 -4
- package/src/components/wizard/Step.vue +0 -5
- package/src/components/wizard/Wizard.vue +0 -1
- package/src/index.stories.js +1 -0
- package/src/components/pdf-viewer/styles/index.css +0 -0
- package/src/components/pdf-viewer/styles/index.scss +0 -4
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
@import '../variables';
|
|
2
|
+
|
|
3
|
+
.itf-toast-container.toast-container {
|
|
4
|
+
position: fixed;
|
|
5
|
+
z-index: $zindex-tooltip;
|
|
6
|
+
pointer-events: none;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
padding: 15px;
|
|
11
|
+
|
|
12
|
+
&.is-top-left,
|
|
13
|
+
&.is-top-center,
|
|
14
|
+
&.is-top-right {
|
|
15
|
+
width: 100%;
|
|
16
|
+
top: 0;
|
|
17
|
+
left: 0;
|
|
18
|
+
}
|
|
19
|
+
&.is-top-left {
|
|
20
|
+
align-items: flex-start;
|
|
21
|
+
}
|
|
22
|
+
&.is-top-center {
|
|
23
|
+
align-items: center;
|
|
24
|
+
}
|
|
25
|
+
&.is-top-right {
|
|
26
|
+
align-items: flex-end;
|
|
27
|
+
}
|
|
28
|
+
&.is-center {
|
|
29
|
+
width: 100%;
|
|
30
|
+
height: 100%;
|
|
31
|
+
left: 0;
|
|
32
|
+
top: 0;
|
|
33
|
+
align-items: center;
|
|
34
|
+
justify-content: center;
|
|
35
|
+
}
|
|
36
|
+
&.is-bottom-left,
|
|
37
|
+
&.is-bottom-center,
|
|
38
|
+
&.is-bottom-right {
|
|
39
|
+
bottom: 0;
|
|
40
|
+
left: 0;
|
|
41
|
+
width: 100%;
|
|
42
|
+
justify-content: flex-end;
|
|
43
|
+
}
|
|
44
|
+
&.is-bottom-left {
|
|
45
|
+
align-items: flex-start;
|
|
46
|
+
}
|
|
47
|
+
&.is-bottom-center {
|
|
48
|
+
align-items: center;
|
|
49
|
+
}
|
|
50
|
+
&.is-bottom-right {
|
|
51
|
+
align-items: flex-end;
|
|
52
|
+
}
|
|
53
|
+
&.has-mask {
|
|
54
|
+
background-color: rgba(255, 255, 255, 0.5);
|
|
55
|
+
width: 100%;
|
|
56
|
+
height: 100%;
|
|
57
|
+
pointer-events: all;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
.itf-toast-wrapper {
|
|
63
|
+
max-width: 100%;
|
|
64
|
+
}
|
|
65
|
+
.itf-toast-fade-enter-active {
|
|
66
|
+
animation: itf-toast-fade-in-down 0.3s;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.itf-toast-fade-leave-active {
|
|
70
|
+
animation: itf-toast-fade-out 0.3s;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
@keyframes itf-toast-fade-in-down {
|
|
74
|
+
0% {
|
|
75
|
+
opacity: 0;
|
|
76
|
+
transform: translateY(-20px);
|
|
77
|
+
}
|
|
78
|
+
100% {
|
|
79
|
+
opacity: 1;
|
|
80
|
+
transform: translateY(0px);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@keyframes itf-toast-fade-out {
|
|
85
|
+
0% {
|
|
86
|
+
opacity: 1;
|
|
87
|
+
margin-top: 0;
|
|
88
|
+
}
|
|
89
|
+
100% {
|
|
90
|
+
opacity: 0;
|
|
91
|
+
margin-top: -45px;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.itf-toast-message {
|
|
96
|
+
z-index: $zindex-toaster;
|
|
97
|
+
}
|
|
File without changes
|
package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_pdf_viewer.scss
RENAMED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
overflow: visible;
|
|
26
26
|
border: 9px solid transparent;
|
|
27
27
|
background-clip: content-box;
|
|
28
|
-
border-image: url(
|
|
28
|
+
border-image: url(/3rdparty/pdf-viewer/shadow.png) 9 9 repeat;
|
|
29
29
|
background-color: rgba(255, 255, 255, 1);
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
top: 0;
|
|
103
103
|
right: 0;
|
|
104
104
|
bottom: 0;
|
|
105
|
-
background: url(
|
|
105
|
+
background: url(/3rdparty/pdf-viewer/loading-icon.svg) center no-repeat;
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
.pdf-app .pdfPresentationMode .pdfViewer {
|
|
File without changes
|
package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_variables.scss
RENAMED
|
File without changes
|
|
@@ -371,7 +371,7 @@ html[dir="rtl"] .pdf-app .findbar {
|
|
|
371
371
|
}
|
|
372
372
|
.pdf-app #findInput[data-status="pending"] {
|
|
373
373
|
background-size: 16px;
|
|
374
|
-
background-image: url(
|
|
374
|
+
background-image: url(/3rdparty/pdf-viewer/loading-icon.svg);
|
|
375
375
|
background-repeat: no-repeat;
|
|
376
376
|
background-position: right;
|
|
377
377
|
}
|
|
@@ -795,7 +795,7 @@ html[dir="rtl"] .pdf-app .verticalToolbarSeparator {
|
|
|
795
795
|
}
|
|
796
796
|
|
|
797
797
|
.pdf-app .toolbarField.pageNumber.visiblePageIsLoading {
|
|
798
|
-
background-image: url(
|
|
798
|
+
background-image: url(/3rdparty/pdf-viewer/loading-icon.svg);
|
|
799
799
|
background-repeat: no-repeat;
|
|
800
800
|
background-position: 1px;
|
|
801
801
|
background-size: 16px;
|
|
@@ -953,12 +953,12 @@ html[dir="rtl"] .pdf-app .attachmentsItem > button {
|
|
|
953
953
|
color: rgba(255, 255, 255, 0.5);
|
|
954
954
|
}
|
|
955
955
|
.pdf-app .outlineItemToggler::before {
|
|
956
|
-
content: url(
|
|
956
|
+
content: url(/3rdparty/pdf-viewer/treeitem-expanded.png);
|
|
957
957
|
display: inline-block;
|
|
958
958
|
position: absolute;
|
|
959
959
|
}
|
|
960
960
|
.pdf-app .outlineItemToggler.outlineItemsHidden::before {
|
|
961
|
-
content: url(
|
|
961
|
+
content: url(/3rdparty/pdf-viewer/treeitem-collapsed.png);
|
|
962
962
|
}
|
|
963
963
|
html[dir="rtl"] .pdf-app .outlineItemToggler.outlineItemsHidden::before {
|
|
964
964
|
transform: scaleX(-1);
|
|
@@ -1254,10 +1254,10 @@ html[dir="rtl"] .pdf-app #documentPropertiesOverlay .row > * {
|
|
|
1254
1254
|
.pdf-app .outlineItemToggler::before {
|
|
1255
1255
|
transform: scale(0.5);
|
|
1256
1256
|
top: -1px;
|
|
1257
|
-
content: url(
|
|
1257
|
+
content: url(/3rdparty/pdf-viewer/treeitem-expanded@2x.png);
|
|
1258
1258
|
}
|
|
1259
1259
|
.pdf-app .outlineItemToggler.outlineItemsHidden::before {
|
|
1260
|
-
content: url(
|
|
1260
|
+
content: url(/3rdparty/pdf-viewer/treeitem-collapsed@2x.png);
|
|
1261
1261
|
}
|
|
1262
1262
|
html[dir="rtl"] .pdf-app .outlineItemToggler.outlineItemsHidden::before {
|
|
1263
1263
|
transform: scaleX(-1) scale(0.5);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -2,7 +2,28 @@
|
|
|
2
2
|
@import './fonts.scss';
|
|
3
3
|
@import './dark-theme.scss';
|
|
4
4
|
@import './scrollbar';
|
|
5
|
-
@import '
|
|
5
|
+
@import './components/toaster';
|
|
6
|
+
@import './components/avatar';
|
|
7
|
+
@import './components/button';
|
|
8
|
+
@import './components/card';
|
|
9
|
+
@import './components/checkbox';
|
|
10
|
+
@import './components/datepicker';
|
|
11
|
+
@import './components/dropdown';
|
|
12
|
+
@import './components/form';
|
|
13
|
+
@import './components/icon';
|
|
14
|
+
@import './components/modal';
|
|
15
|
+
@import './components/pagination';
|
|
16
|
+
@import './components/pdf-viewer';
|
|
17
|
+
@import './components/popover';
|
|
18
|
+
@import './components/segmeneted-control';
|
|
19
|
+
@import './components/select';
|
|
20
|
+
@import './components/table';
|
|
21
|
+
@import './components/tabs';
|
|
22
|
+
@import './components/text-field';
|
|
23
|
+
@import './components/tree-view';
|
|
24
|
+
@import './components/wizard';
|
|
25
|
+
@import './directives/loading';
|
|
26
|
+
@import './directives/tooltip';
|
|
6
27
|
|
|
7
28
|
.form-control {
|
|
8
29
|
min-height: 2.5rem;
|
|
@@ -3,72 +3,6 @@
|
|
|
3
3
|
<slot></slot>
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
6
|
-
<style lang="scss">
|
|
7
|
-
@import '../../assets/scss/main';
|
|
8
|
-
//@import '~bootstrap/scss/reboot';
|
|
9
|
-
//@import '~bootstrap/scss/type';
|
|
10
|
-
//@import '~bootstrap/scss/root';
|
|
11
|
-
//@import '~bootstrap/scss/toasts';
|
|
12
|
-
//@import '~bootstrap/scss/close';
|
|
13
|
-
|
|
14
|
-
.itf-toast-container.toast-container {
|
|
15
|
-
position: fixed;
|
|
16
|
-
z-index: $zindex-tooltip;
|
|
17
|
-
pointer-events: none;
|
|
18
|
-
display: flex;
|
|
19
|
-
flex-direction: column;
|
|
20
|
-
box-sizing: border-box;
|
|
21
|
-
padding: 15px;
|
|
22
|
-
|
|
23
|
-
&.is-top-left,
|
|
24
|
-
&.is-top-center,
|
|
25
|
-
&.is-top-right {
|
|
26
|
-
width: 100%;
|
|
27
|
-
top: 0;
|
|
28
|
-
left: 0;
|
|
29
|
-
}
|
|
30
|
-
&.is-top-left {
|
|
31
|
-
align-items: flex-start;
|
|
32
|
-
}
|
|
33
|
-
&.is-top-center {
|
|
34
|
-
align-items: center;
|
|
35
|
-
}
|
|
36
|
-
&.is-top-right {
|
|
37
|
-
align-items: flex-end;
|
|
38
|
-
}
|
|
39
|
-
&.is-center {
|
|
40
|
-
width: 100%;
|
|
41
|
-
height: 100%;
|
|
42
|
-
left: 0;
|
|
43
|
-
top: 0;
|
|
44
|
-
align-items: center;
|
|
45
|
-
justify-content: center;
|
|
46
|
-
}
|
|
47
|
-
&.is-bottom-left,
|
|
48
|
-
&.is-bottom-center,
|
|
49
|
-
&.is-bottom-right {
|
|
50
|
-
bottom: 0;
|
|
51
|
-
left: 0;
|
|
52
|
-
width: 100%;
|
|
53
|
-
justify-content: flex-end;
|
|
54
|
-
}
|
|
55
|
-
&.is-bottom-left {
|
|
56
|
-
align-items: flex-start;
|
|
57
|
-
}
|
|
58
|
-
&.is-bottom-center {
|
|
59
|
-
align-items: center;
|
|
60
|
-
}
|
|
61
|
-
&.is-bottom-right {
|
|
62
|
-
align-items: flex-end;
|
|
63
|
-
}
|
|
64
|
-
&.has-mask {
|
|
65
|
-
background-color: rgba(255, 255, 255, 0.5);
|
|
66
|
-
width: 100%;
|
|
67
|
-
height: 100%;
|
|
68
|
-
pointer-events: all;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
</style>
|
|
72
6
|
<script>
|
|
73
7
|
import { Vue, Component } from 'vue-property-decorator';
|
|
74
8
|
import Message from './message';
|
|
@@ -28,41 +28,6 @@
|
|
|
28
28
|
</div>
|
|
29
29
|
</transition>
|
|
30
30
|
</template>
|
|
31
|
-
<style lang="scss">
|
|
32
|
-
.itf-toast-wrapper {
|
|
33
|
-
max-width: 100%;
|
|
34
|
-
}
|
|
35
|
-
.itf-toast-fade-enter-active {
|
|
36
|
-
animation: itf-toast-fade-in-down 0.3s;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.itf-toast-fade-leave-active {
|
|
40
|
-
animation: itf-toast-fade-out 0.3s;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
@keyframes itf-toast-fade-in-down {
|
|
44
|
-
0% {
|
|
45
|
-
opacity: 0;
|
|
46
|
-
transform: translateY(-20px);
|
|
47
|
-
}
|
|
48
|
-
100% {
|
|
49
|
-
opacity: 1;
|
|
50
|
-
transform: translateY(0px);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
@keyframes itf-toast-fade-out {
|
|
55
|
-
0% {
|
|
56
|
-
opacity: 1;
|
|
57
|
-
margin-top: 0;
|
|
58
|
-
}
|
|
59
|
-
100% {
|
|
60
|
-
opacity: 0;
|
|
61
|
-
margin-top: -45px;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
</style>
|
|
66
31
|
<script>
|
|
67
32
|
import { Vue, Component, Watch } from 'vue-property-decorator';
|
|
68
33
|
import ToastMessage from './ToastMessage.vue';
|
|
@@ -28,13 +28,6 @@
|
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
30
30
|
</template>
|
|
31
|
-
<style lang="scss" scoped>
|
|
32
|
-
@import '../../assets/scss/variables';
|
|
33
|
-
|
|
34
|
-
.itf-toast-message {
|
|
35
|
-
z-index: $zindex-toaster;
|
|
36
|
-
}
|
|
37
|
-
</style>
|
|
38
31
|
<script>
|
|
39
32
|
import { Vue, Component, Prop, Emit } from 'vue-property-decorator';
|
|
40
33
|
import itfButton from '../button/Button';
|
|
@@ -28,44 +28,6 @@
|
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
30
30
|
</template>
|
|
31
|
-
<style lang="scss" scoped>
|
|
32
|
-
@import '../../assets/scss/variables';
|
|
33
|
-
|
|
34
|
-
.itf-avatar {
|
|
35
|
-
--positive: #{$green};
|
|
36
|
-
|
|
37
|
-
position: relative;
|
|
38
|
-
display: inline-block;
|
|
39
|
-
font-size: 0;
|
|
40
|
-
line-height: 0;
|
|
41
|
-
vertical-align: middle;
|
|
42
|
-
|
|
43
|
-
.shadow {
|
|
44
|
-
stroke-width: 2;
|
|
45
|
-
stroke: rgba(0, 0, 0, 0.1);
|
|
46
|
-
fill: none;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.status-badge {
|
|
50
|
-
position: absolute;
|
|
51
|
-
pointer-events: none;
|
|
52
|
-
border-radius: 50%;
|
|
53
|
-
background-color: var(--positive);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.feature-icon {
|
|
57
|
-
width: 3rem;
|
|
58
|
-
height: 3rem;
|
|
59
|
-
border-radius: 0.5rem;
|
|
60
|
-
overflow: hidden;
|
|
61
|
-
|
|
62
|
-
img {
|
|
63
|
-
max-width: 100%;
|
|
64
|
-
max-height: 100%;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
</style>
|
|
69
31
|
<script>
|
|
70
32
|
import { Vue, Component, Watch, Prop } from 'vue-property-decorator';
|
|
71
33
|
|
|
@@ -1,145 +1,3 @@
|
|
|
1
|
-
<style lang="scss">
|
|
2
|
-
@import '../../assets/scss/variables';
|
|
3
|
-
|
|
4
|
-
:root {
|
|
5
|
-
--itf-button-basic-bg-color: rgba(9, 30, 66, 0.08);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
[data-theme="dark"] {
|
|
9
|
-
--itf-button-basic-bg-color: rgba(246, 225, 189, 0.08);
|
|
10
|
-
|
|
11
|
-
.itf-button.btn {
|
|
12
|
-
&.btn-secondary {
|
|
13
|
-
&, &.disabled {
|
|
14
|
-
background-color: $dark-btn-secondary-color;
|
|
15
|
-
border-color: $dark-btn-secondary-color;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
&:active, &:focus {
|
|
19
|
-
background-color: lighten($dark-btn-secondary-color, 5%);
|
|
20
|
-
border-color: lighten($dark-btn-secondary-color, 5%);
|
|
21
|
-
}
|
|
22
|
-
&:hover {
|
|
23
|
-
background-color: lighten($dark-btn-secondary-color, 10%);
|
|
24
|
-
border-color: lighten($dark-btn-secondary-color, 10%);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
&.btn-primary {
|
|
28
|
-
&, &.disabled {
|
|
29
|
-
background-color: $dark-btn-primary-color;
|
|
30
|
-
border-color: $dark-btn-primary-color;
|
|
31
|
-
color: $body-color;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
&:active, &:focus {
|
|
35
|
-
color: $body-color;
|
|
36
|
-
background-color: darken($dark-btn-primary-color, 5%);
|
|
37
|
-
border-color: darken($dark-btn-primary-color, 5%);
|
|
38
|
-
box-shadow: 0 0 0 0.125rem mix($dark-btn-primary-color, $dark-body-bg, 50%);
|
|
39
|
-
}
|
|
40
|
-
&:hover {
|
|
41
|
-
color: $body-color;
|
|
42
|
-
background-color: darken($dark-btn-primary-color, 10%);
|
|
43
|
-
border-color: darken($dark-btn-primary-color, 10%);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.itf-button.btn {
|
|
50
|
-
display: inline-flex;
|
|
51
|
-
align-items: center;
|
|
52
|
-
position: relative;
|
|
53
|
-
|
|
54
|
-
&.btn-primary {
|
|
55
|
-
color: #fff; // @todo remove when remove vuetify
|
|
56
|
-
}
|
|
57
|
-
&.itf-button__block {
|
|
58
|
-
display: block;
|
|
59
|
-
width: 100%;
|
|
60
|
-
}
|
|
61
|
-
& > div {
|
|
62
|
-
pointer-events: none;
|
|
63
|
-
}
|
|
64
|
-
.itf-spinner {
|
|
65
|
-
position: absolute;
|
|
66
|
-
top: 50%;
|
|
67
|
-
left: 50%;
|
|
68
|
-
margin: -0.75rem;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
&.loading {
|
|
72
|
-
cursor: progress;
|
|
73
|
-
pointer-events: none;
|
|
74
|
-
color: transparent;
|
|
75
|
-
|
|
76
|
-
&.btn-sm .itf-spinner {
|
|
77
|
-
width: 1rem;
|
|
78
|
-
height: 1rem;
|
|
79
|
-
margin: -0.5rem;
|
|
80
|
-
}
|
|
81
|
-
&.btn-lg .itf-spinner {
|
|
82
|
-
width: 1.75rem;
|
|
83
|
-
height: 1.75rem;
|
|
84
|
-
margin: -0.875rem;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
&.btn-basic {
|
|
88
|
-
&:hover, &.active {
|
|
89
|
-
background-color: var(--itf-button-basic-bg-color);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
&.btn-icon {
|
|
93
|
-
padding: 0.25rem;
|
|
94
|
-
svg {
|
|
95
|
-
width: 1.5rem;
|
|
96
|
-
height: 1.5rem;
|
|
97
|
-
}
|
|
98
|
-
&.btn-sm {
|
|
99
|
-
svg {
|
|
100
|
-
width: 1.3125rem;
|
|
101
|
-
height: 1.3125rem;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
&.btn-lg {
|
|
105
|
-
svg {
|
|
106
|
-
width: 1.875rem;
|
|
107
|
-
height: 1.875rem;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
</style>
|
|
113
|
-
<!---template>
|
|
114
|
-
|
|
115
|
-
<nuxt-link
|
|
116
|
-
@click.native="$emit('click', $event)"
|
|
117
|
-
:disabled="disabled"
|
|
118
|
-
:target="target"
|
|
119
|
-
:tag="isLink ? 'a' : 'button'"
|
|
120
|
-
:event="isLink ? 'click' : []"
|
|
121
|
-
:class="{
|
|
122
|
-
[`btn-${color}`]: color,
|
|
123
|
-
'itf-button__block': block,
|
|
124
|
-
'labeled': labeled,
|
|
125
|
-
'disabled': disabled || loading,
|
|
126
|
-
'btn-primary': primary,
|
|
127
|
-
'btn-basic': !primary && !secondary && !color,
|
|
128
|
-
'btn-secondary': secondary,
|
|
129
|
-
'btn-sm': small,
|
|
130
|
-
'btn-lg': large,
|
|
131
|
-
// 'px-3': small && !icon,
|
|
132
|
-
// 'px-5': large && !icon,
|
|
133
|
-
// 'px-4': !icon && !large && !small,
|
|
134
|
-
'btn-icon': icon,
|
|
135
|
-
'loading': loading
|
|
136
|
-
}">
|
|
137
|
-
<div class="itf-spinner" :class="{'itf-spinner__white': primary}" v-if="loading"></div>
|
|
138
|
-
<div v-if="loading && loadingText">{{loadingText}}</div>
|
|
139
|
-
<slot v-else></slot>
|
|
140
|
-
</nuxt-link>
|
|
141
|
-
|
|
142
|
-
</template-->
|
|
143
1
|
<script>
|
|
144
2
|
import { Vue, Component, Prop } from 'vue-property-decorator';
|
|
145
3
|
|
|
@@ -5,16 +5,6 @@
|
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
7
|
</template>
|
|
8
|
-
<style lang="scss">
|
|
9
|
-
@import '../../assets/scss/variables';
|
|
10
|
-
//@import '~bootstrap/scss/card';
|
|
11
|
-
|
|
12
|
-
.card {
|
|
13
|
-
& > .itf-loading {
|
|
14
|
-
border-radius: $card-border-radius;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
</style>
|
|
18
8
|
<script>
|
|
19
9
|
import { Vue, Component } from 'vue-property-decorator';
|
|
20
10
|
|
|
@@ -11,60 +11,6 @@
|
|
|
11
11
|
</div>
|
|
12
12
|
|
|
13
13
|
</template>
|
|
14
|
-
<style lang="scss">
|
|
15
|
-
@import '../../assets/scss/variables';
|
|
16
|
-
|
|
17
|
-
.itf-checkbox {
|
|
18
|
-
.form-check-input, .form-check-label {
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
}
|
|
21
|
-
&__large.form-check {
|
|
22
|
-
padding-left: $form-check-padding-start * 2;
|
|
23
|
-
min-height: 2.5rem;
|
|
24
|
-
|
|
25
|
-
.form-check-label {
|
|
26
|
-
padding-top: 0.25rem;
|
|
27
|
-
}
|
|
28
|
-
.form-check-input {
|
|
29
|
-
margin-top: 0;
|
|
30
|
-
width: $form-check-input-width * 2;
|
|
31
|
-
height: $form-check-input-width * 2;
|
|
32
|
-
margin-left: -$form-check-padding-start * 2;
|
|
33
|
-
border-radius: 0.75rem;
|
|
34
|
-
}
|
|
35
|
-
&.form-switch {
|
|
36
|
-
padding-left: $form-switch-padding-start * 2;
|
|
37
|
-
|
|
38
|
-
.form-check-input {
|
|
39
|
-
width: $form-switch-width * 2;
|
|
40
|
-
margin-left: -$form-switch-padding-start * 2;
|
|
41
|
-
border-radius: 100px;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
&__medium.form-check {
|
|
46
|
-
padding-left: $form-check-padding-start * 1.5;
|
|
47
|
-
min-height: 2rem;
|
|
48
|
-
|
|
49
|
-
.form-check-input {
|
|
50
|
-
margin-top: 0;
|
|
51
|
-
width: $form-check-input-width * 1.5;
|
|
52
|
-
height: $form-check-input-width * 1.5;
|
|
53
|
-
margin-left: -$form-check-padding-start * 1.5;
|
|
54
|
-
border-radius: 0.5rem;
|
|
55
|
-
}
|
|
56
|
-
&.form-switch {
|
|
57
|
-
padding-left: $form-switch-padding-start * 1.5;
|
|
58
|
-
|
|
59
|
-
.form-check-input {
|
|
60
|
-
width: $form-switch-width * 1.5;
|
|
61
|
-
margin-left: -$form-switch-padding-start * 1.5;
|
|
62
|
-
border-radius: 100px;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
</style>
|
|
68
14
|
<script>
|
|
69
15
|
import { Vue, Component, Prop, Model, Inject } from 'vue-property-decorator';
|
|
70
16
|
|