@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.
Files changed (89) hide show
  1. package/package.json +1 -1
  2. package/src/assets/images/pdf-viewer/loading-icon.svg +26 -0
  3. package/src/assets/images/pdf-viewer/shadow.png +0 -0
  4. package/src/assets/images/pdf-viewer/treeitem-collapsed.png +0 -0
  5. package/src/assets/images/pdf-viewer/treeitem-collapsed@2x.png +0 -0
  6. package/src/assets/images/pdf-viewer/treeitem-expanded.png +0 -0
  7. package/src/assets/images/pdf-viewer/treeitem-expanded@2x.png +0 -0
  8. package/src/assets/scss/components/_air-select.scss +111 -0
  9. package/src/assets/scss/components/_avatar.scss +36 -0
  10. package/src/assets/scss/components/_button.scss +110 -0
  11. package/src/assets/scss/components/_card.scss +7 -0
  12. package/src/assets/scss/components/_checkbox.scss +83 -0
  13. package/src/{components/datepicker/datepicker.scss → assets/scss/components/_datepicker.scss} +217 -1
  14. package/src/assets/scss/components/_dropdown.scss +78 -0
  15. package/src/assets/scss/components/_form.scss +22 -0
  16. package/src/assets/scss/components/_icon.scss +5 -0
  17. package/src/assets/scss/components/_modal.scss +9 -0
  18. package/src/assets/scss/components/_pagination.scss +12 -0
  19. package/src/assets/scss/components/_pdf-viewer.scss +4 -0
  20. package/src/assets/scss/components/_popover.scss +37 -0
  21. package/src/assets/scss/components/_segmeneted-control.scss +138 -0
  22. package/src/assets/scss/components/_select.scss +76 -0
  23. package/src/assets/scss/components/_table.scss +278 -0
  24. package/src/{components/tabs/tabs.scss → assets/scss/components/_tabs.scss} +1 -1
  25. package/src/assets/scss/components/_text-field.scss +36 -0
  26. package/src/assets/scss/components/_toaster.scss +97 -0
  27. package/src/assets/scss/components/_tree-view.scss +17 -0
  28. package/src/{components/wizard/wizard.scss → assets/scss/components/_wizard.scss} +1 -1
  29. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_annotation_layer_builder.scss +0 -0
  30. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_colors.scss +1 -1
  31. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_pdf_viewer.scss +2 -2
  32. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_text_layer_builder.scss +0 -0
  33. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_variables.scss +0 -0
  34. package/src/{components/pdf-viewer/styles → assets/scss/components/pdf-viewer}/_viewer.scss +6 -6
  35. package/src/assets/scss/components/{_animations.scss → select/_animations.scss} +0 -0
  36. package/src/assets/scss/components/{_clear.scss → select/_clear.scss} +0 -0
  37. package/src/assets/scss/components/{_component.scss → select/_component.scss} +0 -0
  38. package/src/assets/scss/components/{_dropdown-menu.scss → select/_dropdown-menu.scss} +0 -0
  39. package/src/assets/scss/components/{_dropdown-option.scss → select/_dropdown-option.scss} +0 -0
  40. package/src/assets/scss/components/{_dropdown-toggle.scss → select/_dropdown-toggle.scss} +0 -0
  41. package/src/assets/scss/components/{_open-indicator.scss → select/_open-indicator.scss} +0 -0
  42. package/src/assets/scss/components/{_search-input.scss → select/_search-input.scss} +0 -0
  43. package/src/assets/scss/components/{_selected.scss → select/_selected.scss} +1 -1
  44. package/src/assets/scss/components/{_spinner.scss → select/_spinner.scss} +0 -0
  45. package/src/assets/scss/components/{_states.scss → select/_states.scss} +0 -0
  46. package/src/assets/scss/components/{_variables.scss → select/_variables.scss} +0 -0
  47. package/src/assets/scss/main.scss +22 -1
  48. package/src/components/app/App.vue +0 -66
  49. package/src/components/app/ToastContainer.vue +0 -35
  50. package/src/components/app/ToastMessage.vue +0 -7
  51. package/src/components/avatar/Avatar.vue +0 -38
  52. package/src/components/button/Button.vue +0 -142
  53. package/src/components/card/Card.vue +0 -10
  54. package/src/components/card/CardBody.vue +0 -3
  55. package/src/components/checkbox/Checkbox.vue +0 -54
  56. package/src/components/checkbox/CheckboxGroup.vue +0 -3
  57. package/src/components/checkbox/Radio.vue +0 -36
  58. package/src/components/checkbox/RadioGroup.vue +0 -3
  59. package/src/components/datepicker/DatePicker.vue +0 -39
  60. package/src/components/datepicker/DateRangePicker.vue +0 -58
  61. package/src/components/datepicker/MonthPicker.vue +0 -34
  62. package/src/components/datepicker/PeriodPicker.vue +0 -97
  63. package/src/components/dropdown/Dropdown.vue +0 -14
  64. package/src/components/form/Form.vue +0 -4
  65. package/src/components/form/Label.vue +0 -24
  66. package/src/components/icon/Icon.vue +0 -8
  67. package/src/components/modal/Modal.vue +0 -13
  68. package/src/components/pagination/Pagination.vue +0 -14
  69. package/src/components/pdf-viewer/PdfViewerSpa.vue +0 -3
  70. package/src/components/popover/ConfirmPopover.vue +0 -5
  71. package/src/components/popover/Popover.vue +0 -35
  72. package/src/components/segmented-control/SegmentedControl.vue +0 -140
  73. package/src/components/select/AirSelect.vue +0 -113
  74. package/src/components/select/Dropdown.vue +0 -70
  75. package/src/components/select/Select.vue +0 -78
  76. package/src/components/table/Table.vue +0 -279
  77. package/src/components/tabs/Tab.vue +0 -5
  78. package/src/components/tabs/TabContent.vue +0 -5
  79. package/src/components/tabs/Tabs.vue +0 -1
  80. package/src/components/text-field/TextField.vue +0 -15
  81. package/src/components/text-field/Textarea.vue +0 -30
  82. package/src/components/tooltip/Tooltip.vue +0 -1
  83. package/src/components/tree/TreeView.vue +0 -19
  84. package/src/components/wizard/Sidebar.vue +0 -4
  85. package/src/components/wizard/Step.vue +0 -5
  86. package/src/components/wizard/Wizard.vue +0 -1
  87. package/src/index.stories.js +1 -0
  88. package/src/components/pdf-viewer/styles/index.css +0 -0
  89. package/src/components/pdf-viewer/styles/index.scss +0 -4
@@ -1,5 +1,4 @@
1
1
  <template>
2
-
3
2
  <div class="itf-radio form-check" :class="{ 'itf-radio__large': large, 'itf-radio__medium': medium }">
4
3
  <input class="form-check-input" :id="id" type="radio" :name="radioName" v-model="isChecked" :value="true" :disabled="disabled" />
5
4
  <label :for="id" slot="label" class="form-check-label">
@@ -7,42 +6,7 @@
7
6
  <slot name="icon"></slot>
8
7
  </label>
9
8
  </div>
10
-
11
9
  </template>
12
- <style lang="scss">
13
- @import '../../assets/scss/variables';
14
-
15
- .itf-radio {
16
- .form-check-input, .form-check-label {
17
- cursor: pointer;
18
- }
19
- &__large.form-check {
20
- padding-left: $form-check-padding-start * 2;
21
- min-height: 2.5rem;
22
-
23
- .form-check-label {
24
- padding-top: 0.25rem;
25
- }
26
- .form-check-input {
27
- margin-top: 0;
28
- width: $form-check-input-width * 2;
29
- height: $form-check-input-width * 2;
30
- margin-left: -$form-check-padding-start * 2;
31
- }
32
- }
33
- &__medium.form-check {
34
- padding-left: $form-check-padding-start * 1.5;
35
- min-height: 2rem;
36
-
37
- .form-check-input {
38
- margin-top: 0;
39
- width: $form-check-input-width * 1.5;
40
- height: $form-check-input-width * 1.5;
41
- margin-left: -$form-check-padding-start * 1.5;
42
- }
43
- }
44
- }
45
- </style>
46
10
  <script>
47
11
  import { Vue, Component, Prop, Model, Inject } from 'vue-property-decorator';
48
12
 
@@ -5,9 +5,6 @@
5
5
  </fieldset>
6
6
 
7
7
  </template>
8
- <style>
9
-
10
- </style>
11
8
  <script>
12
9
  import { Vue, Component, Prop, Model } from 'vue-property-decorator';
13
10
 
@@ -49,45 +49,6 @@
49
49
  </div>
50
50
  </div>
51
51
  </template>
52
- <style lang="scss">
53
- @import '../../assets/scss/variables';
54
- @import '../../assets/scss/directives/tooltip';
55
- @import '../../assets/scss/input-addon';
56
-
57
- [data-theme="dark"] {
58
- .itf-datepicker {
59
- &__dropdown {
60
- background-color: $dark-body-bg;
61
- border-color: $dark-border-color;
62
- box-shadow: 0 0 0 2px $dark-input-focus-border;
63
- }
64
- }
65
- }
66
-
67
- .itf-datepicker {
68
- &.with-addon .addon-end {
69
- pointer-events: all;
70
- padding-right: 0.25rem;
71
- }
72
- .form-control {
73
- border-radius: $input-border-radius !important;
74
- }
75
-
76
- &__dropdown {
77
- width: max-content;
78
- border: $input-border-width solid $input-border-color;
79
- border-radius: $input-border-radius;
80
- background-color: $body-bg;
81
- overflow: hidden;
82
- @if $enable-shadows {
83
- @include box-shadow($input-box-shadow, $input-btn-focus-box-shadow);
84
- } @else {
85
- // Avoid using mixin so we can pass custom focus shadow properly
86
- box-shadow: $input-btn-focus-box-shadow;
87
- }
88
- }
89
- }
90
- </style>
91
52
  <script>
92
53
  import {
93
54
  Vue, Component, Prop, Inject
@@ -68,64 +68,6 @@
68
68
  </div>
69
69
  </div>
70
70
  </template>
71
- <style lang="scss">
72
- @import '../../assets/scss/variables';
73
- @import '../../assets/scss/input-addon';
74
-
75
- .itf-daterange-picker {
76
- display: flex;
77
- .input-group-text.hidden {
78
- visibility: hidden;
79
- }
80
-
81
- &.with-addon .addon-end {
82
- pointer-events: all;
83
- padding-right: 0.25rem;
84
- }
85
- &__dropdown {
86
- width: max-content;
87
- overflow: hidden;
88
- border: $input-border-width solid $input-border-color;
89
- border-radius: $input-border-radius;
90
- background-color: $body-bg;
91
- @if $enable-shadows {
92
- @include box-shadow($input-box-shadow, $input-btn-focus-box-shadow);
93
- } @else {
94
- // Avoid using mixin so we can pass custom focus shadow properly
95
- box-shadow: $input-btn-focus-box-shadow;
96
- }
97
- }
98
-
99
- .form-control.focused, .form-control.focused input.form-control {
100
- background-color: $input-focus-border-color;
101
- }
102
- [data-theme="dark"] & {
103
- &__dropdown {
104
- box-shadow: 0 0 0 2px $dark-input-focus-border;
105
- }
106
- .form-control.focused, .form-control.focused input.form-control {
107
- background-color: $dark-input-focus-border-color;
108
- }
109
- .input-group-text {
110
- color: #fff;
111
- }
112
- }
113
- .form-control input.form-control {
114
- border: 0 none;
115
- padding: 0;
116
- max-width: 100px;
117
-
118
- &:focus, &:active {
119
- border: 0;
120
- box-shadow: none;
121
- }
122
- }
123
- .input-group-text {
124
- border: 0 none;
125
- background: transparent;
126
- }
127
- }
128
- </style>
129
71
  <script>
130
72
  import { Vue, Component, Prop, Inject } from 'vue-property-decorator';
131
73
  import { IMask, IMaskComponent } from 'vue-imask';
@@ -31,40 +31,6 @@
31
31
  </div>
32
32
  </div>
33
33
  </template>
34
- <style lang="scss">
35
- @import '../../assets/scss/variables';
36
- @import '../../assets/scss/directives/tooltip';
37
- @import '../../assets/scss/input-addon';
38
-
39
- .itf-monthpicker {
40
- .form-control {
41
- background-color: $input-bg;
42
-
43
- &:focus {
44
- background-color: $body-bg;
45
- }
46
- }
47
- &__dropdown {
48
- width: max-content;
49
- border: $input-border-width solid $input-border-color;
50
- border-radius: $input-border-radius;
51
- background-color: $body-bg;
52
- overflow: hidden;
53
- @if $enable-shadows {
54
- @include box-shadow($input-box-shadow, $input-btn-focus-box-shadow);
55
- } @else {
56
- // Avoid using mixin so we can pass custom focus shadow properly
57
- box-shadow: $input-btn-focus-box-shadow;
58
- }
59
-
60
- [data-theme="dark"] & {
61
- background-color: $dark-body-bg;
62
- border-color: $dark-border-color;
63
- box-shadow: 0 0 0 2px $dark-input-focus-border;
64
- }
65
- }
66
- }
67
- </style>
68
34
  <script>
69
35
  import { Vue, Component, Prop, Inject } from 'vue-property-decorator';
70
36
  import { DateTime } from 'luxon';
@@ -72,103 +72,6 @@
72
72
  </div>
73
73
  </div>
74
74
  </template>
75
- <style lang="scss">
76
- @import '../../assets/scss/variables';
77
-
78
- .itf-periodpicker {
79
- .form-control {
80
- background-color: $input-bg;
81
-
82
- &:focus {
83
- background-color: $body-bg;
84
- }
85
- }
86
-
87
- .air-datepicker {
88
- --adp-font-family: #{$font-family-base};
89
- --adp-color-current-date: #{$primary};
90
- --adp-cell-background-color-selected: #{$primary};
91
- --adp-cell-background-color-selected-hover: #{lighten($primary, 10%)};
92
- --adp-day-name-color: #{$secondary};
93
- }
94
-
95
- &__quarters {
96
- gap: 5px;
97
- }
98
- &__quarters, &__months {
99
- display: flex;
100
- }
101
-
102
- &__month {
103
- flex: 1 1 auto;
104
- border-radius: 0;
105
- justify-content: center;
106
- padding-left: 0;
107
- padding-right: 0;
108
- font-size: 14px;
109
- }
110
-
111
- &__quarter {
112
- flex: 1 1 33.3%;
113
- cursor: pointer;
114
- color: var(--grey);
115
- background-color: rgba(0, 0, 0, 0.04);
116
- height: 125px;
117
- width: 125px;
118
- display: flex;
119
- flex-direction: column;
120
- justify-content: space-between;
121
- border-radius: $input-border-radius;
122
- overflow: hidden;
123
- text-align: right;
124
-
125
- &:hover {
126
- background-color: rgba(9, 30, 66, 0.08);
127
- }
128
- &.active-inside {
129
- background-color: rgba(9, 30, 66, 0.08);
130
- }
131
- &.active {
132
- background-color: $primary;
133
- color: #fff;
134
-
135
- .itf-periodpicker__month {
136
- color: #fff;
137
- }
138
- }
139
-
140
- .quarter-number {
141
- font-size: 36px;
142
- }
143
- }
144
-
145
- &__dropdown {
146
- padding: 10px 15px;
147
- min-width: 400px;
148
- width: max-content;
149
- border: $input-border-width solid $input-border-color;
150
- border-radius: $input-border-radius;
151
- background-color: $body-bg;
152
- overflow: hidden;
153
- @if $enable-shadows {
154
- @include box-shadow($input-box-shadow, $input-btn-focus-box-shadow);
155
- } @else {
156
- // Avoid using mixin so we can pass custom focus shadow properly
157
- box-shadow: $input-btn-focus-box-shadow;
158
- }
159
-
160
- [data-theme="dark"] & {
161
- background-color: $dark-body-bg;
162
- border-color: $dark-border-color;
163
- box-shadow: 0 0 0 2px $dark-input-focus-border;
164
- }
165
-
166
- .btn-whole {
167
- background-color: rgba(0, 0, 0, 0.04);
168
- }
169
- }
170
- }
171
- </style>
172
75
  <script>
173
76
  import { Vue, Component, Prop, Inject } from 'vue-property-decorator';
174
77
  import { DateTime } from 'luxon';
@@ -21,20 +21,6 @@
21
21
  </div>
22
22
 
23
23
  </template>
24
- <style lang="scss">
25
- @import '../../assets/scss/variables';
26
- //@import '~bootstrap/scss/dropdown';
27
- //@import '~bootstrap/scss/transitions';
28
-
29
- .itf-dropdown {
30
- display: inline-block;
31
-
32
- &__menu.dropdown-menu {
33
- border: 0 none;
34
- padding: 0;
35
- }
36
- }
37
- </style>
38
24
  <script>
39
25
  import { Vue, Component, Prop, Watch, PropSync } from 'vue-property-decorator';
40
26
  import itfButton from '../button/Button';
@@ -3,10 +3,6 @@
3
3
  <slot :valid="valid" :validate="doValidation" :reset="resetValidation"/>
4
4
  </div>
5
5
  </template>
6
- <style lang="scss">
7
- @import '../../assets/scss/variables';
8
- //@import '~bootstrap/scss/forms';
9
- </style>
10
6
  <script>
11
7
  import { Vue, Component, Watch, Model } from 'vue-property-decorator';
12
8
  import * as validators from '../../helpers/validators';
@@ -23,30 +23,6 @@
23
23
  </div>
24
24
 
25
25
  </template>
26
- <style lang="scss" scoped>
27
- @import '../../assets/scss/variables';
28
-
29
- .itf-label {
30
- &.no-details {
31
- margin-bottom: .5rem;
32
- }
33
- &__label {
34
- .star {
35
- color: $danger;
36
- }
37
- }
38
- &__errors {
39
- min-height: 21px;
40
- margin-top: 4px;
41
- font-size: 0.75rem;
42
- opacity: .5;
43
-
44
- &.valid-feedback, &.invalid-feedback {
45
- opacity: 1;
46
- }
47
- }
48
- }
49
- </style>
50
26
  <script>
51
27
  import { Component, Prop, Inject, Mixins } from 'vue-property-decorator';
52
28
  import ValidatableMixin from '../../mixins/ValidatableMixin';
@@ -3,14 +3,6 @@
3
3
  <component @click="$emit('click')" :style="style" :is="iconComponent"></component>
4
4
  </div>
5
5
  </template>
6
- <style lang="scss" scoped>
7
- @import '../../assets/scss/variables';
8
-
9
- .itf-icon {
10
- display: inline-block;
11
- pointer-events: none;
12
- }
13
- </style>
14
6
  <script>
15
7
  import { Vue, Prop, Component } from 'vue-property-decorator';
16
8
  import icons from './icons';
@@ -23,19 +23,6 @@
23
23
  </div>
24
24
 
25
25
  </template>
26
- <style lang="scss">
27
- @import '../../assets/scss/variables';
28
- //@import '~bootstrap/scss/modal';
29
- //@import '~bootstrap/scss/transitions';
30
-
31
- .itf-modal {
32
- .modal-header {
33
- .btn-close {
34
- margin-right: 0;
35
- }
36
- }
37
- }
38
- </style>
39
26
  <script>
40
27
  import { Vue, Component, Prop, Watch, PropSync, Inject } from 'vue-property-decorator';
41
28
  import itfButton from '../button/Button';
@@ -25,20 +25,6 @@
25
25
  </nav>
26
26
 
27
27
  </template>
28
- <style lang="scss">
29
- @import '../../assets/scss/variables';
30
-
31
- .itf-pagination.pagination {
32
- padding-left: 0;
33
-
34
- .page-item {
35
- margin-right: 3px;
36
- .page-link {
37
- border-radius: .5rem;
38
- }
39
- }
40
- }
41
- </style>
42
28
  <script>
43
29
  import { Vue, Component, Model, Prop } from 'vue-property-decorator';
44
30
  import itfIcon from '../icon/Icon.vue';
@@ -1013,9 +1013,6 @@
1013
1013
  <slot v-bind="slotProps" name="footer"></slot>
1014
1014
  </div>
1015
1015
  </template>
1016
- <style lang="scss">
1017
- @import './styles/index.scss';
1018
- </style>
1019
1016
  <script>
1020
1017
  import {
1021
1018
  Component, Prop, Vue, Watch,
@@ -18,11 +18,6 @@
18
18
  </div>
19
19
  </itf-popover>
20
20
  </template>
21
- <style lang="scss">
22
- .nopadding .popover-body {
23
- padding: 0;
24
- }
25
- </style>
26
21
  <script>
27
22
  import { Vue, Component, Prop, PropSync } from 'vue-property-decorator';
28
23
  import itfPopover from './Popover';
@@ -9,41 +9,6 @@
9
9
  </div>
10
10
 
11
11
  </template>
12
- <style lang="scss">
13
- @import '../../assets/scss/variables';
14
-
15
- .itf-popover {
16
- display: none;
17
-
18
- .popover-body > & {
19
- display: block;
20
- }
21
- .border-right {
22
- border-right: 1px solid #eee;
23
- }
24
- }
25
- .itf-popover-container {
26
- display: inline-block;
27
- }
28
-
29
- [data-theme="dark"] {
30
- .itf-popover {
31
- .border-right {
32
- border-color: $dark-border-color;
33
- }
34
- }
35
- .popover {
36
- background-color: $dark-body-bg;
37
- border-color: $dark-border-color;
38
- }
39
- .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
40
- border-bottom-color: $dark-border-color;
41
- }
42
- .popover-body {
43
- color: $dark-body-color;
44
- }
45
- }
46
- </style>
47
12
  <script>
48
13
  import {
49
14
  Vue, Component, Prop, Watch, PropSync,
@@ -29,146 +29,6 @@
29
29
  </div>
30
30
  </div>
31
31
  </template>
32
- <style lang="scss">
33
- @import '../../assets/scss/variables';
34
-
35
- .itf-segmeneted-control {
36
- --itf-segmeneted-control--background: #{$input-bg};
37
- --itf-segmeneted-control--border-radius: #{$border-radius};
38
- --itf-segmeneted-control--shadow: 0 1px 3px rgba(0,0,0,0.1);
39
-
40
- cursor: pointer;
41
- background: var(--itf-segmeneted-control--background);
42
- border-radius: var(--itf-segmeneted-control--border-radius);
43
- margin: 0;
44
- padding: 2px;
45
- border: none;
46
- outline: none;
47
- display: inline-grid;
48
- grid-auto-flow: column;
49
- grid-auto-columns: 1fr;
50
- -webkit-user-select: none;
51
- -moz-user-select: none;
52
- -ms-user-select: none;
53
- user-select: none;
54
- overflow: hidden;
55
-
56
- .option {
57
- position: relative;
58
- cursor: pointer;
59
-
60
- &:hover input:not(:checked) + label span,
61
- &:active input:not(:checked) + label span,
62
- &:focus input:not(:checked) + label span {
63
- /*opacity: .2;*/
64
- color: var(--v-primary-base);
65
- }
66
- &:active input:not(:checked) + label span {
67
- transform: scale(.95);
68
- }
69
- &:first-of-type {
70
- grid-column: 1;
71
- grid-row: 1;
72
- box-shadow: none;
73
-
74
- label::before {
75
- opacity: 0;
76
- }
77
- label::after {
78
- opacity: 0;
79
- }
80
- }
81
- &:last-of-type {
82
- label::after {
83
- opacity: 0;
84
- }
85
- }
86
- label {
87
- justify-content: center;
88
- height: 100%;
89
- align-items: center;
90
- display: flex;
91
- cursor: pointer;
92
- position: relative;
93
- text-align: center;
94
- padding: .25rem 1.5rem;
95
- background: rgba(255, 255, 255, 0);
96
- color: rgba(0, 0, 0, 1);
97
-
98
- &::before,
99
- &::after {
100
- content: '';
101
- width: 1px;
102
- background: rgba(142, 142, 147, .15);
103
- position: absolute;
104
- top: 14%;
105
- bottom: 14%;
106
- border-radius: var(--itf-segmeneted-control--border-radius);
107
- will-change: background;
108
- -webkit-transition: background .2s ease;
109
- transition: background .2s ease;
110
- }
111
- &::before {
112
- left: 0;
113
- transform: translateX(-.5px);
114
- }
115
- &::after {
116
- right: 0;
117
- transform: translateX(.5px);
118
- }
119
- span {
120
- display: block;
121
- position: relative;
122
- z-index: 2;
123
- -webkit-transition: all .2s ease;
124
- transition: all .2s ease;
125
- will-change: transform;
126
- }
127
- }
128
-
129
- input {
130
- position: absolute;
131
- top: 0;
132
- left: 0;
133
- right: 0;
134
- bottom: 0;
135
- width: 100%;
136
- height: 100%;
137
- padding: 0;
138
- margin: 0;
139
- -webkit-appearance: none;
140
- -moz-appearance: none;
141
- appearance: none;
142
- outline: none;
143
- border: none;
144
- opacity: 0;
145
-
146
- &:checked + label {
147
- cursor: default;
148
- }
149
- &:checked + label::before,
150
- &:checked + label::after {
151
- background: var(--itf-segmeneted-control--background);
152
- z-index: 1;
153
- }
154
- }
155
- }
156
- .selection {
157
- margin-right: 1px;
158
- background: rgba(255, 255, 255, 1);
159
- border: .5px solid rgba(0, 0, 0, 0.04);
160
- box-shadow: var(--itf-segmeneted-control--shadow);
161
- /*box-shadow: 0 3px 8px 0 rgba(0,0,0,0.12), 0 3px 1px 0 rgba(0,0,0,0.04);*/
162
- border-radius: var(--itf-segmeneted-control--border-radius);
163
- grid-column: 1;
164
- grid-row: 1;
165
- z-index: 2;
166
- will-change: transform;
167
- -webkit-transition: transform .2s ease;
168
- transition: transform .2s ease;
169
- }
170
- }
171
- </style>
172
32
  <script>
173
33
  import { Vue, Component, Model, Prop, Watch } from 'vue-property-decorator';
174
34
  import itfSelect from '../select/Select';