@seamly/web-ui 19.1.1 → 20.0.0-beta.1
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/CHANGELOG.md +625 -0
- package/build/dist/lib/components.js +2 -1
- package/build/dist/lib/components.min.js +1 -1
- package/build/dist/lib/index.debug.js +183 -128
- package/build/dist/lib/index.debug.min.js +1 -1
- package/build/dist/lib/index.debug.min.js.LICENSE.txt +45 -25
- package/build/dist/lib/index.js +7290 -7753
- package/build/dist/lib/index.min.js +1 -1
- package/build/dist/lib/index.min.js.LICENSE.txt +0 -5
- package/build/dist/lib/standalone.js +5785 -6255
- package/build/dist/lib/standalone.min.js +1 -1
- package/build/dist/lib/standalone.min.js.LICENSE.txt +0 -5
- package/build/dist/lib/style-guide.js +10834 -4971
- package/build/dist/lib/style-guide.min.js +2 -1
- package/build/dist/lib/style-guide.min.js.LICENSE.txt +9 -0
- package/build/dist/lib/styles.css +1 -1
- package/package.json +1 -2
- package/src/icons/icon_file-32.svg +1 -1
- package/src/javascripts/api/errors/seamly-base-error.js +7 -0
- package/src/javascripts/api/index.js +48 -37
- package/src/javascripts/api/producer.js +5 -1
- package/src/javascripts/config.js +1 -5
- package/src/javascripts/domains/app/actions.js +22 -5
- package/src/javascripts/domains/config/actions.js +3 -0
- package/src/javascripts/domains/config/reducer.js +9 -0
- package/src/javascripts/domains/errors/index.js +5 -4
- package/src/javascripts/domains/forms/hooks.js +3 -1
- package/src/javascripts/domains/forms/provider.js +12 -0
- package/src/javascripts/domains/forms/reducer.js +2 -0
- package/src/javascripts/domains/i18n/hooks.js +2 -1
- package/src/javascripts/domains/i18n/reducer.js +2 -0
- package/src/javascripts/domains/interrupt/reducer.js +2 -2
- package/src/javascripts/domains/options/middleware.js +15 -31
- package/src/javascripts/domains/store/index.js +2 -1
- package/src/javascripts/domains/store/state-reducer.js +3 -8
- package/src/javascripts/domains/translations/components/options-dialog/form.js +1 -1
- package/src/javascripts/domains/translations/components/options-dialog/index.js +15 -1
- package/src/javascripts/domains/translations/reducer.js +2 -0
- package/src/javascripts/domains/visibility/actions.js +1 -1
- package/src/javascripts/domains/visibility/hooks.js +10 -8
- package/src/javascripts/domains/visibility/utils.js +1 -2
- package/src/javascripts/index.js +5 -3
- package/src/javascripts/lib/css.js +7 -1
- package/src/javascripts/lib/engine/index.js +4 -3
- package/src/javascripts/lib/external-api/index.js +38 -29
- package/src/javascripts/package/components.js +2 -1
- package/src/javascripts/style-guide/components/app.js +1 -1
- package/src/javascripts/style-guide/components/static-core.js +18 -4
- package/src/javascripts/style-guide/states.js +203 -298
- package/src/javascripts/ui/components/chat-app.js +1 -1
- package/src/javascripts/ui/components/conversation/component-filter.js +6 -0
- package/src/javascripts/ui/components/conversation/event/carousel-component/index.js +8 -1
- package/src/javascripts/ui/components/conversation/event/carousel-message/components/slide.js +2 -3
- package/src/javascripts/ui/components/conversation/event/conversation-suggestions.js +70 -0
- package/src/javascripts/ui/components/conversation/event/participant.js +2 -5
- package/src/javascripts/ui/components/conversation/event/splash.js +26 -0
- package/src/javascripts/ui/components/conversation/event/text.js +1 -2
- package/src/javascripts/ui/components/core/seamly-core.js +12 -9
- package/src/javascripts/ui/components/core/seamly-event-subscriber.js +4 -10
- package/src/javascripts/ui/components/core/seamly-instance-functions-loader.js +1 -8
- package/src/javascripts/ui/components/entry/entry-container.js +5 -3
- package/src/javascripts/ui/components/entry/text-entry/index.js +7 -1
- package/src/javascripts/ui/components/entry/text-entry/text-entry-form.js +5 -1
- package/src/javascripts/ui/components/entry/toggle-button.js +4 -2
- package/src/javascripts/ui/components/entry/upload/file-upload-form.js +1 -1
- package/src/javascripts/ui/components/form-controls/error.js +6 -2
- package/src/javascripts/ui/components/form-controls/form.js +26 -3
- package/src/javascripts/ui/components/layout/app-frame.js +24 -15
- package/src/javascripts/ui/components/layout/chat-frame.js +0 -2
- package/src/javascripts/ui/components/layout/modal-wrapper.js +0 -80
- package/src/javascripts/ui/components/layout/pre-chat-messages.js +45 -0
- package/src/javascripts/ui/components/options/options-frame.js +9 -4
- package/src/javascripts/ui/components/options/options.js +1 -4
- package/src/javascripts/ui/components/options/transcript/index.js +15 -1
- package/src/javascripts/ui/components/options/transcript/transcript-form.js +1 -1
- package/src/javascripts/ui/components/suggestions/index.js +174 -0
- package/src/javascripts/ui/components/suggestions/suggestions-item.js +40 -0
- package/src/javascripts/ui/components/suggestions/suggestions-list.js +24 -0
- package/src/javascripts/ui/components/view/app-view.js +21 -0
- package/src/javascripts/ui/components/view/deprecated-view.js +30 -0
- package/src/javascripts/ui/components/view/index.js +27 -0
- package/src/javascripts/ui/components/view/inline-view.js +45 -0
- package/src/javascripts/ui/components/view/window-view/collapse-button.js +20 -0
- package/src/javascripts/ui/components/view/window-view/index.js +82 -0
- package/src/javascripts/ui/components/view/window-view/window-open-button.js +68 -0
- package/src/javascripts/ui/components/widgets/lightbox.js +7 -2
- package/src/javascripts/ui/hooks/component-helper-hooks.js +0 -9
- package/src/javascripts/ui/hooks/seamly-hooks.js +0 -1
- package/src/javascripts/ui/hooks/seamly-state-hooks.js +28 -4
- package/src/javascripts/ui/hooks/use-seamly-chat.js +12 -3
- package/src/javascripts/ui/hooks/use-seamly-commands.js +4 -31
- package/src/javascripts/ui/utils/seamly-utils.js +2 -14
- package/src/stylesheets/1-settings/_animations.scss +0 -6
- package/src/stylesheets/1-settings/_config.scss +34 -35
- package/src/stylesheets/2-tools/_functions.scss +0 -5
- package/src/stylesheets/2-tools/_mixins.scss +4 -16
- package/src/stylesheets/3-app/_app.scss +78 -135
- package/src/stylesheets/4-base/_a11y.scss +0 -3
- package/src/stylesheets/4-base/_elements.scss +0 -11
- package/src/stylesheets/4-base/_formelements.scss +4 -14
- package/src/stylesheets/5-components/_avatar.scss +2 -44
- package/src/stylesheets/5-components/_buttons.scss +6 -45
- package/src/stylesheets/5-components/_chat-status.scss +14 -38
- package/src/stylesheets/5-components/_choice-prompt.scss +33 -2
- package/src/stylesheets/5-components/_collapse-button.scss +16 -0
- package/src/stylesheets/5-components/_conversation.scss +26 -2
- package/src/stylesheets/5-components/_disclaimer.scss +10 -12
- package/src/stylesheets/5-components/_divider.scss +7 -4
- package/src/stylesheets/5-components/_error.scss +1 -1
- package/src/stylesheets/5-components/_form.scss +9 -0
- package/src/stylesheets/5-components/_icon.scss +10 -1
- package/src/stylesheets/5-components/_idle.scss +0 -8
- package/src/stylesheets/5-components/_input.scss +14 -20
- package/src/stylesheets/5-components/_interrupt.scss +0 -2
- package/src/stylesheets/5-components/_loader.scss +0 -32
- package/src/stylesheets/5-components/_message-author.scss +40 -0
- package/src/stylesheets/5-components/_message-body.scss +194 -0
- package/src/stylesheets/5-components/_message-card.scss +55 -0
- package/src/stylesheets/5-components/_message-carousel.scss +143 -0
- package/src/stylesheets/5-components/_message-count.scss +11 -28
- package/src/stylesheets/5-components/_message-cta.scss +23 -0
- package/src/stylesheets/5-components/_message-info.scss +11 -0
- package/src/stylesheets/5-components/_message-translation-info.scss +17 -0
- package/src/stylesheets/5-components/_message.scss +13 -364
- package/src/stylesheets/5-components/_modal.scss +28 -58
- package/src/stylesheets/5-components/_notification.scss +0 -5
- package/src/stylesheets/5-components/_options.scss +27 -42
- package/src/stylesheets/5-components/_pre-chat-messages.scss +30 -0
- package/src/stylesheets/5-components/_prompt.scss +0 -8
- package/src/stylesheets/5-components/_skip-link.scss +3 -3
- package/src/stylesheets/5-components/_suggestions.scss +96 -0
- package/src/stylesheets/5-components/_unstarted.scss +50 -0
- package/src/stylesheets/5-components/_upload.scss +26 -28
- package/src/stylesheets/5-components/_window-open-button.scss +39 -0
- package/src/stylesheets/6-webui-only/_hover.scss +151 -0
- package/src/stylesheets/6-webui-only/_scrollbar.scss +31 -0
- package/src/stylesheets/7-deprecated/1-settings/_animations.scss +43 -0
- package/src/stylesheets/7-deprecated/1-settings/_config.scss +105 -0
- package/src/stylesheets/7-deprecated/2-tools/_functions.scss +22 -0
- package/src/stylesheets/7-deprecated/2-tools/_mixins.scss +77 -0
- package/src/stylesheets/7-deprecated/3-app/_app.scss +214 -0
- package/src/stylesheets/7-deprecated/4-base/_a11y.scss +14 -0
- package/src/stylesheets/7-deprecated/4-base/_elements.scss +21 -0
- package/src/stylesheets/7-deprecated/4-base/_formelements.scss +57 -0
- package/src/stylesheets/{5-components → 7-deprecated/5-components}/_agent-info.scss +0 -0
- package/src/stylesheets/7-deprecated/5-components/_avatar.scss +64 -0
- package/src/stylesheets/7-deprecated/5-components/_buttons.scss +94 -0
- package/src/stylesheets/{5-components → 7-deprecated/5-components}/_card.scss +0 -0
- package/src/stylesheets/{5-components → 7-deprecated/5-components}/_carousel.scss +0 -0
- package/src/stylesheets/7-deprecated/5-components/_character-limit.scss +36 -0
- package/src/stylesheets/{5-components/_cobrowsing.scss → 7-deprecated/5-components/_chat-status.scss} +18 -16
- package/src/stylesheets/7-deprecated/5-components/_choice-prompt.scss +27 -0
- package/src/stylesheets/7-deprecated/5-components/_collapse-button.scss +17 -0
- package/src/stylesheets/7-deprecated/5-components/_conversation.scss +44 -0
- package/src/stylesheets/7-deprecated/5-components/_disclaimer.scss +36 -0
- package/src/stylesheets/7-deprecated/5-components/_divider.scss +91 -0
- package/src/stylesheets/7-deprecated/5-components/_error.scss +24 -0
- package/src/stylesheets/{5-components → 7-deprecated/5-components}/_faq.scss +8 -3
- package/src/stylesheets/{5-components → 7-deprecated/5-components}/_header-controls.scss +0 -0
- package/src/stylesheets/7-deprecated/5-components/_icon.scss +4 -0
- package/src/stylesheets/7-deprecated/5-components/_idle.scss +61 -0
- package/src/stylesheets/7-deprecated/5-components/_input.scss +78 -0
- package/src/stylesheets/7-deprecated/5-components/_interrupt.scss +35 -0
- package/src/stylesheets/7-deprecated/5-components/_loader.scss +78 -0
- package/src/stylesheets/7-deprecated/5-components/_message-count.scss +41 -0
- package/src/stylesheets/7-deprecated/5-components/_message.scss +385 -0
- package/src/stylesheets/7-deprecated/5-components/_modal.scss +138 -0
- package/src/stylesheets/7-deprecated/5-components/_notification.scss +20 -0
- package/src/stylesheets/7-deprecated/5-components/_options.scss +286 -0
- package/src/stylesheets/7-deprecated/5-components/_prompt.scss +44 -0
- package/src/stylesheets/7-deprecated/5-components/_skip-link.scss +21 -0
- package/src/stylesheets/{5-components → 7-deprecated/5-components}/_svg-graphic.scss +0 -0
- package/src/stylesheets/7-deprecated/5-components/_upload.scss +213 -0
- package/src/stylesheets/deprecated-view.scss +64 -0
- package/src/stylesheets/styles-webui-only.scss +3 -0
- package/src/stylesheets/styles.scss +15 -25
- package/webpack/config.site.js +4 -0
- package/webpack/defaults.js +5 -0
- package/src/.DS_Store +0 -0
- package/src/javascripts/ui/components/conversation/event/hooks/use-text-rendering.js +0 -35
- package/src/javascripts/ui/components/faq/faq.js +0 -162
- package/src/javascripts/ui/components/layout/view.js +0 -36
- package/src/javascripts/ui/components/options/cobrowsing.js +0 -110
- package/src/javascripts/ui/components/warnings/cobrowsing-active-frame.js +0 -29
- package/src/javascripts/ui/components/warnings/cobrowsing-active.js +0 -33
- package/src/stylesheets/5-components/_modal_mode.scss +0 -108
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
@media (hover: hover) {
|
|
2
|
+
.#{$n}-button.#{$n}-collapse-button,
|
|
3
|
+
.#{$n}-modal__enlarge,
|
|
4
|
+
.#{$n}-modal__close {
|
|
5
|
+
transition: background-color $transition;
|
|
6
|
+
|
|
7
|
+
&:hover {
|
|
8
|
+
background-color: $interaction-dark;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
path {
|
|
12
|
+
transition: fill $transition;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&:hover svg path {
|
|
16
|
+
fill: $white;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.#{$n}-button {
|
|
21
|
+
transition: color $transition, background-color $transition;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.#{$n}-button--primary:not(.#{$n}-button--disabled) {
|
|
25
|
+
&:hover {
|
|
26
|
+
background-color: $interaction-dark;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.#{$n}-button--secondary:not(.#{$n}-button--disabled),
|
|
31
|
+
.#{$n}-button--tertiary:not(.#{$n}-button--disabled) {
|
|
32
|
+
&:hover {
|
|
33
|
+
color: $interaction-dark;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.#{$n}-choice-prompt__item--secondary .#{$n}-button {
|
|
38
|
+
&:hover {
|
|
39
|
+
background-color: initial;
|
|
40
|
+
color: $interaction-dark;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.#{$n}-message--type-cta .#{$n}-button {
|
|
45
|
+
&:hover {
|
|
46
|
+
background-color: $white;
|
|
47
|
+
color: $interaction-dark;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.#{$n}-message__body a {
|
|
52
|
+
transition: color $transition;
|
|
53
|
+
|
|
54
|
+
&:hover {
|
|
55
|
+
text-decoration: none;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.#{$n}-conversation__item--source-agent
|
|
60
|
+
.#{$n}-message__body.#{$n}-message__body
|
|
61
|
+
a {
|
|
62
|
+
&:hover {
|
|
63
|
+
color: $interaction-dark;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.#{$n}-input__text {
|
|
68
|
+
transition: padding $transition, border $transition;
|
|
69
|
+
|
|
70
|
+
&:hover {
|
|
71
|
+
border-color: $interaction-dark;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&:focus {
|
|
75
|
+
border-color: transparent;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.#{$n}-input__submit:not(:disabled):hover .#{$n}-icon path {
|
|
80
|
+
fill: $interaction-dark;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.#{$n}-card__content.#{$n}-card__content .#{$n}-button.#{$n}-button:hover {
|
|
84
|
+
color: $white;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.#{$n}-carousel__controls .#{$n}-button .#{$n}-icon svg path {
|
|
88
|
+
transition: fill $transition;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.#{$n}-carousel__controls .#{$n}-button:hover .#{$n}-icon svg path {
|
|
92
|
+
fill: $interaction-dark;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.#{$n}-carousel-pagination__button::before {
|
|
96
|
+
transition: background-color $transition;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.#{$n}-carousel-pagination__button:hover::before {
|
|
100
|
+
background-color: $interaction-dark;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.#{$n}-upload-toggle path {
|
|
104
|
+
transition: fill $transition;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.#{$n}-upload-toggle:hover path {
|
|
108
|
+
background-color: $interaction-dark;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.#{$n}-file-upload {
|
|
112
|
+
transition: border $transition;
|
|
113
|
+
|
|
114
|
+
&:hover {
|
|
115
|
+
border-color: $interaction-dark;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.#{$n}-upload__label {
|
|
120
|
+
transition: color $transition;
|
|
121
|
+
|
|
122
|
+
&:hover {
|
|
123
|
+
color: $interaction-dark;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.#{$n}-options__menu__item:not(.#{$n}-button--disabled) {
|
|
128
|
+
transition: color $transition;
|
|
129
|
+
|
|
130
|
+
&:hover {
|
|
131
|
+
color: $interaction-dark;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.#{$n}-options__close {
|
|
136
|
+
transition: color $transition;
|
|
137
|
+
|
|
138
|
+
&:hover {
|
|
139
|
+
color: $interaction-dark;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.#{$n}-transcript__input,
|
|
144
|
+
.#{$n}-input__select {
|
|
145
|
+
transition: border $transition;
|
|
146
|
+
|
|
147
|
+
&:hover {
|
|
148
|
+
border-color: $interaction-dark;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
.#{$n}-app__body,
|
|
2
|
+
.#{$n}-app--layout-inline .#{$n}-suggestions__list,
|
|
3
|
+
.#{$n}-options__wrapper {
|
|
4
|
+
scrollbar-color: $brand1 transparent;
|
|
5
|
+
|
|
6
|
+
&::-webkit-scrollbar {
|
|
7
|
+
width: $spacer * 0.75;
|
|
8
|
+
height: $spacer * 0.75;
|
|
9
|
+
background-color: transparent;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&::-webkit-scrollbar-thumb {
|
|
13
|
+
width: $spacer * 0.75;
|
|
14
|
+
height: $spacer * 0.75;
|
|
15
|
+
transition: background-color $transition;
|
|
16
|
+
border: $spacer * 0.25 solid transparent;
|
|
17
|
+
background-clip: padding-box;
|
|
18
|
+
border-radius: $borderradius;
|
|
19
|
+
background-color: $grey-c;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&::-webkit-scrollbar-button {
|
|
23
|
+
display: none;
|
|
24
|
+
width: 0;
|
|
25
|
+
height: 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&::-webkit-scrollbar-corner {
|
|
29
|
+
background-color: transparent;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// ##### ANIMATIONS #####
|
|
2
|
+
// ======================
|
|
3
|
+
|
|
4
|
+
// LOADER
|
|
5
|
+
|
|
6
|
+
@keyframes #{$n}-loader {
|
|
7
|
+
0%,
|
|
8
|
+
75%,
|
|
9
|
+
100% {
|
|
10
|
+
transform: scaleY(0.45);
|
|
11
|
+
border-radius: 50% 50%;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
37.5% {
|
|
15
|
+
transform: scaleY(1);
|
|
16
|
+
border-radius: $spacer * 0.125;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// FADEIN
|
|
21
|
+
|
|
22
|
+
@keyframes #{$n}-fadeIn {
|
|
23
|
+
0% {
|
|
24
|
+
opacity: 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
100% {
|
|
28
|
+
opacity: 1;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// BLINK
|
|
33
|
+
|
|
34
|
+
@keyframes #{$n}-blink {
|
|
35
|
+
0%,
|
|
36
|
+
100% {
|
|
37
|
+
opacity: 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
50% {
|
|
41
|
+
opacity: 1;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// ##### CONFIG #####
|
|
2
|
+
// ==================
|
|
3
|
+
|
|
4
|
+
// VARIABLES
|
|
5
|
+
// ---------
|
|
6
|
+
|
|
7
|
+
// APP NAME
|
|
8
|
+
// set top class name of app.
|
|
9
|
+
$app-name: 'cvco' !default;
|
|
10
|
+
$n: $app-name !default;
|
|
11
|
+
|
|
12
|
+
// PATHS
|
|
13
|
+
// usage: url(#{$image-path}arrow.svg)
|
|
14
|
+
$image-path: '../../img/' !default;
|
|
15
|
+
|
|
16
|
+
// BRAND COLORS
|
|
17
|
+
$brand1: #003a5d !default; // 'primary'
|
|
18
|
+
$brand2: #223182 !default; // 'secondary'
|
|
19
|
+
$brand3: #4a48c1 !default; // 'tertiary'
|
|
20
|
+
|
|
21
|
+
// UI COLORS
|
|
22
|
+
$interaction: $brand3 !default;
|
|
23
|
+
|
|
24
|
+
$highlight: #ffc700 !default;
|
|
25
|
+
|
|
26
|
+
$positive: #00875e !default;
|
|
27
|
+
$positive-light: #19b183 !default;
|
|
28
|
+
|
|
29
|
+
$negative: #db1639 !default;
|
|
30
|
+
$negative-dark: #ad001f !default;
|
|
31
|
+
|
|
32
|
+
$grey-a: #eff3f6 !default;
|
|
33
|
+
$grey-b: #dee3e5 !default;
|
|
34
|
+
$grey-c: #a3b4bf !default;
|
|
35
|
+
$grey-d: #6a7f8c !default;
|
|
36
|
+
$grey-e: #3d4166 !default;
|
|
37
|
+
|
|
38
|
+
$disabled: #5e727b; // 5:1
|
|
39
|
+
|
|
40
|
+
$white: #fff !default;
|
|
41
|
+
$black: #000 !default;
|
|
42
|
+
|
|
43
|
+
// BACKGROUND COLORS
|
|
44
|
+
$app-bg: $white !default;
|
|
45
|
+
|
|
46
|
+
// TYPOGRAPHY
|
|
47
|
+
$fontsize-tiny: 10px !default;
|
|
48
|
+
$fontsize-small: 12px !default;
|
|
49
|
+
$fontsize-medium: 14px !default;
|
|
50
|
+
$fontsize-default: 16px !default;
|
|
51
|
+
$fontsize-large: 18px !default;
|
|
52
|
+
$fontsize-xlarge: 21px !default;
|
|
53
|
+
|
|
54
|
+
$fontweight-bold: 700 !default;
|
|
55
|
+
|
|
56
|
+
$fontfamily-default: arial, helvetica, sans-serif !default;
|
|
57
|
+
|
|
58
|
+
// SPACER
|
|
59
|
+
$spacer: 20px !default;
|
|
60
|
+
$flex-spacer: 2vw !default;
|
|
61
|
+
|
|
62
|
+
// BORDER
|
|
63
|
+
$thin-border: 1px !default;
|
|
64
|
+
|
|
65
|
+
// BORDER-RADIUS
|
|
66
|
+
$borderradius: $spacer * 0.5 !default;
|
|
67
|
+
$borderradius-small: $borderradius * 0.5 !default;
|
|
68
|
+
|
|
69
|
+
// DIMENSIONS
|
|
70
|
+
$app-initial-width: 195px !default;
|
|
71
|
+
$app-started-width: 375px !default;
|
|
72
|
+
|
|
73
|
+
$app-full-height: 720px !default;
|
|
74
|
+
$app-collapsed-height: 54px !default;
|
|
75
|
+
|
|
76
|
+
$app-inline-height: 480px !default;
|
|
77
|
+
|
|
78
|
+
$post-full-height: 170px !default;
|
|
79
|
+
$post-collapsed-height: 65px !default;
|
|
80
|
+
|
|
81
|
+
$viewport-width: 100vw !default;
|
|
82
|
+
$viewport-height: 100vh !default;
|
|
83
|
+
|
|
84
|
+
$badge-touch-size: 32px !default;
|
|
85
|
+
|
|
86
|
+
// Z-INDEX
|
|
87
|
+
$z-index: 1 !default;
|
|
88
|
+
|
|
89
|
+
// BOX SHADOWS
|
|
90
|
+
$boxshadow: 0 $spacer * 0.25 $spacer * 1.5 hsla(204, 26%, 28%, 0.15),
|
|
91
|
+
0 $spacer * 0.15 $spacer * 0.5 hsla(204, 26%, 28%, 0.2) !default;
|
|
92
|
+
$boxshadow-soft: 0 0 $spacer 0 rgba($black, 0.1) !default;
|
|
93
|
+
|
|
94
|
+
// TRANSITIONS
|
|
95
|
+
$transition: 0.3s ease-in-out !default;
|
|
96
|
+
$transition-slow: 0.75s ease-in-out !default;
|
|
97
|
+
|
|
98
|
+
// BREAKPOINTS
|
|
99
|
+
$breakpoints: (
|
|
100
|
+
phablet: 480px,
|
|
101
|
+
phablet-l: 640px,
|
|
102
|
+
tablet: 767px,
|
|
103
|
+
desktop: 1024px,
|
|
104
|
+
desktop-l: 1200px,
|
|
105
|
+
);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// ##### FUNCTIONS #####
|
|
2
|
+
// =====================
|
|
3
|
+
|
|
4
|
+
// SET TEXT COLOR
|
|
5
|
+
|
|
6
|
+
@function set-text-color($color) {
|
|
7
|
+
@if (lightness($color) > 66.66) {
|
|
8
|
+
@return $grey-e;
|
|
9
|
+
} @else {
|
|
10
|
+
@return $white;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// SET BORDER COLOR
|
|
15
|
+
|
|
16
|
+
@function set-border-color($color) {
|
|
17
|
+
@if (lightness($color) > 66.66) {
|
|
18
|
+
@return $grey-c;
|
|
19
|
+
} @else {
|
|
20
|
+
@return $white;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* stylelint-disable selector-max-universal */
|
|
2
|
+
|
|
3
|
+
// ##### MIXINS #####
|
|
4
|
+
// ==================
|
|
5
|
+
|
|
6
|
+
// BOX-SIZING
|
|
7
|
+
// ----------
|
|
8
|
+
|
|
9
|
+
@mixin boxSizing($value: border-box) {
|
|
10
|
+
box-sizing: $value;
|
|
11
|
+
|
|
12
|
+
*,
|
|
13
|
+
*::before,
|
|
14
|
+
*::after {
|
|
15
|
+
box-sizing: $value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// RESPONSIVE APP SIZING
|
|
20
|
+
// ---------------------
|
|
21
|
+
|
|
22
|
+
@mixin responsiveAppSizing() {
|
|
23
|
+
max-width: calc(#{$viewport-width} - #{$flex-spacer * 2});
|
|
24
|
+
max-height: calc(#{$viewport-height * 0.85} - #{$flex-spacer * 2});
|
|
25
|
+
|
|
26
|
+
@include media('>phablet-l') {
|
|
27
|
+
max-height: calc(#{$viewport-height} - #{$flex-spacer * 2});
|
|
28
|
+
// iOS Safari needs a bit more space
|
|
29
|
+
@supports (-webkit-overflow-scrolling: touch) {
|
|
30
|
+
max-height: calc(#{$viewport-height * 0.9} - #{$flex-spacer * 2});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@include media('>desktop') {
|
|
35
|
+
right: $spacer;
|
|
36
|
+
bottom: $spacer;
|
|
37
|
+
max-height: calc(#{$viewport-height} - #{$spacer * 2});
|
|
38
|
+
// iOS Safari needs a bit more space
|
|
39
|
+
@supports (-webkit-overflow-scrolling: touch) {
|
|
40
|
+
max-height: calc(#{$viewport-height * 0.9} - #{$spacer * 2});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// UNLIST
|
|
46
|
+
// ------
|
|
47
|
+
|
|
48
|
+
@mixin unList() {
|
|
49
|
+
margin: 0;
|
|
50
|
+
padding: 0;
|
|
51
|
+
list-style: none;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// STYLE PLACEHOLDER
|
|
55
|
+
// -----------------
|
|
56
|
+
|
|
57
|
+
@mixin stylePlaceholder() {
|
|
58
|
+
&::-webkit-input-placeholder {
|
|
59
|
+
// Chrome/Opera/Safari
|
|
60
|
+
@content;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&::-moz-placeholder {
|
|
64
|
+
// Firefox 19+
|
|
65
|
+
@content;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&:-ms-input-placeholder {
|
|
69
|
+
// IE 10+
|
|
70
|
+
@content;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&:-moz-placeholder {
|
|
74
|
+
// Firefox 18-
|
|
75
|
+
@content;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
// See settings/_config.scss for vars
|
|
2
|
+
$app-parts-padding: $spacer * 0.5;
|
|
3
|
+
$app-header-bgcolor: $brand3;
|
|
4
|
+
|
|
5
|
+
.#{$n}-app--deprecated {
|
|
6
|
+
@include responsiveAppSizing();
|
|
7
|
+
@include boxSizing;
|
|
8
|
+
|
|
9
|
+
display: flex;
|
|
10
|
+
position: fixed;
|
|
11
|
+
z-index: $z-index;
|
|
12
|
+
right: $flex-spacer;
|
|
13
|
+
bottom: $flex-spacer;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
width: $app-started-width;
|
|
16
|
+
height: $app-full-height;
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
transition: height $transition-slow, width $transition-slow;
|
|
19
|
+
border: $thin-border solid set-border-color($app-bg);
|
|
20
|
+
border-radius: $borderradius;
|
|
21
|
+
outline: 0;
|
|
22
|
+
background-color: $app-bg;
|
|
23
|
+
box-shadow: $boxshadow-soft;
|
|
24
|
+
color: set-text-color($app-bg);
|
|
25
|
+
font-family: $fontfamily-default;
|
|
26
|
+
font-size: $fontsize-default;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.#{$n}-app--layout-inline.#{$n}-app--deprecated {
|
|
30
|
+
position: relative;
|
|
31
|
+
right: auto;
|
|
32
|
+
bottom: auto;
|
|
33
|
+
width: auto;
|
|
34
|
+
height: 100vh;
|
|
35
|
+
min-height: $spacer * 24;
|
|
36
|
+
max-height: $spacer * 32;
|
|
37
|
+
transition: height $transition, width $transition;
|
|
38
|
+
background-color: initial;
|
|
39
|
+
box-shadow: none;
|
|
40
|
+
|
|
41
|
+
@include media('>phablet-l') {
|
|
42
|
+
display: block;
|
|
43
|
+
border: 0 none;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.#{$n}-app--collapsed.#{$n}-app--deprecated {
|
|
48
|
+
width: $app-initial-width;
|
|
49
|
+
height: $app-collapsed-height;
|
|
50
|
+
border: 0;
|
|
51
|
+
background: none;
|
|
52
|
+
box-shadow: none;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.#{$n}-app--collapsed.#{$n}-app--started.#{$n}-app--deprecated {
|
|
56
|
+
width: $app-started-width;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.#{$n}-app-wrapper {
|
|
60
|
+
display: flex;
|
|
61
|
+
position: relative;
|
|
62
|
+
z-index: 1;
|
|
63
|
+
flex: 1 1 100%;
|
|
64
|
+
flex-direction: column;
|
|
65
|
+
width: 100%;
|
|
66
|
+
transition: width $transition, margin-right $transition,
|
|
67
|
+
border-radius $transition;
|
|
68
|
+
background-color: $app-bg;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.#{$n}-app--layout-inline.#{$n}-app--deprecated .#{$n}-app-wrapper {
|
|
72
|
+
@include media('>phablet-l') {
|
|
73
|
+
width: 50%;
|
|
74
|
+
height: 100%;
|
|
75
|
+
margin-right: 50%;
|
|
76
|
+
border: $thin-border solid set-border-color($app-bg);
|
|
77
|
+
border-top-left-radius: $borderradius;
|
|
78
|
+
border-bottom-left-radius: $borderradius;
|
|
79
|
+
|
|
80
|
+
&:last-child {
|
|
81
|
+
width: 100%;
|
|
82
|
+
margin-right: 0;
|
|
83
|
+
border-radius: $borderradius;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@include media('>desktop') {
|
|
88
|
+
width: 67%;
|
|
89
|
+
margin-right: 33%;
|
|
90
|
+
|
|
91
|
+
&:last-child {
|
|
92
|
+
width: 67%;
|
|
93
|
+
margin-right: 33%;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.#{$n}-app__header {
|
|
99
|
+
display: flex;
|
|
100
|
+
position: relative;
|
|
101
|
+
flex: 0 0 auto;
|
|
102
|
+
flex-direction: row;
|
|
103
|
+
justify-content: flex-end;
|
|
104
|
+
height: $app-collapsed-height;
|
|
105
|
+
padding: $app-parts-padding;
|
|
106
|
+
border-bottom: $thin-border solid $grey-b;
|
|
107
|
+
border-top-left-radius: $borderradius;
|
|
108
|
+
border-top-right-radius: $borderradius;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.#{$n}-app--collapsed.#{$n}-app--deprecated .#{$n}-app__header {
|
|
112
|
+
border-bottom: 0;
|
|
113
|
+
border-bottom-left-radius: $borderradius;
|
|
114
|
+
border-bottom-right-radius: $borderradius;
|
|
115
|
+
background-color: $app-header-bgcolor;
|
|
116
|
+
color: set-text-color($app-header-bgcolor);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.#{$n}-toggle-button {
|
|
120
|
+
display: none;
|
|
121
|
+
position: absolute;
|
|
122
|
+
z-index: $z-index;
|
|
123
|
+
flex-direction: column;
|
|
124
|
+
justify-content: center;
|
|
125
|
+
width: 100%;
|
|
126
|
+
height: $app-collapsed-height;
|
|
127
|
+
margin: 0;
|
|
128
|
+
padding: $app-parts-padding $app-parts-padding $app-parts-padding
|
|
129
|
+
$badge-touch-size + $app-parts-padding + $spacer * 0.5;
|
|
130
|
+
border: 0;
|
|
131
|
+
background: none;
|
|
132
|
+
background-color: transparent;
|
|
133
|
+
color: $white;
|
|
134
|
+
font-size: $fontsize-small;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.#{$n}-app--collapsed.#{$n}-app--deprecated .#{$n}-toggle-button {
|
|
138
|
+
display: flex;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.#{$n}-toggle-button__title {
|
|
142
|
+
margin: 0;
|
|
143
|
+
font-size: $fontsize-small;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.#{$n}-toggle-button__subtitle {
|
|
147
|
+
margin: 0;
|
|
148
|
+
font-size: $fontsize-small;
|
|
149
|
+
font-weight: $fontweight-bold;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.#{$n}-toggle-button__button {
|
|
153
|
+
position: absolute;
|
|
154
|
+
z-index: $z-index;
|
|
155
|
+
top: 0;
|
|
156
|
+
left: 0;
|
|
157
|
+
width: 100%;
|
|
158
|
+
height: 100%;
|
|
159
|
+
margin: 0;
|
|
160
|
+
padding: 0;
|
|
161
|
+
border: 0;
|
|
162
|
+
background: none;
|
|
163
|
+
|
|
164
|
+
&:focus {
|
|
165
|
+
outline: 1px solid $white;
|
|
166
|
+
outline-offset: -5px;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.#{$n}-app__container {
|
|
171
|
+
display: flex;
|
|
172
|
+
position: relative;
|
|
173
|
+
flex: 1 1 auto;
|
|
174
|
+
flex-direction: column;
|
|
175
|
+
max-height: 100%;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.#{$n}-app__body {
|
|
179
|
+
display: flex;
|
|
180
|
+
position: relative;
|
|
181
|
+
flex-grow: 4;
|
|
182
|
+
padding: 0;
|
|
183
|
+
overflow-y: auto;
|
|
184
|
+
border-bottom: $thin-border solid $grey-b;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.#{$n}-app--collapsed.#{$n}-app--deprecated .#{$n}-app__body {
|
|
188
|
+
display: none;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.#{$n}-app--layout-window.#{$n}-app--deprecated .#{$n}-app__body {
|
|
192
|
+
overscroll-behavior: contain;
|
|
193
|
+
/* stylelint-disable-next-line property-no-vendor-prefix */
|
|
194
|
+
-ms-scroll-chaining: none;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.#{$n}-app__entry {
|
|
198
|
+
position: relative;
|
|
199
|
+
flex: 0 0 auto;
|
|
200
|
+
padding: $app-parts-padding;
|
|
201
|
+
|
|
202
|
+
.#{$n}-entry__body--hidden {
|
|
203
|
+
display: none;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.#{$n}-app--collapsed.#{$n}-app--deprecated .#{$n}-app__entry {
|
|
208
|
+
display: none;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.#{$n}-entry__body {
|
|
212
|
+
display: flex;
|
|
213
|
+
align-items: center;
|
|
214
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* stylelint-disable declaration-no-important */
|
|
2
|
+
|
|
3
|
+
// ##### A11Y #####
|
|
4
|
+
// ================
|
|
5
|
+
|
|
6
|
+
// VISUALLY HIDDEN
|
|
7
|
+
|
|
8
|
+
.#{$n}-visually-hidden {
|
|
9
|
+
position: absolute !important;
|
|
10
|
+
width: 1px;
|
|
11
|
+
height: 1px;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
clip: rect(1px, 1px, 1px, 1px);
|
|
14
|
+
}
|