cozy-bar 0.0.0-development
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/LICENSE +21 -0
- package/README.md +174 -0
- package/dist/cozy-bar.min.js +77 -0
- package/dist/cozy-bar.min.js.map +1 -0
- package/package.json +165 -0
- package/src/assets/icons/16/icon-storage-16.svg +3 -0
- package/src/assets/icons/24/icon-arrow-left.svg +3 -0
- package/src/assets/icons/32/icon-claudy.svg +1 -0
- package/src/assets/icons/apps/icon-collect.svg +25 -0
- package/src/assets/icons/apps/icon-drive.svg +17 -0
- package/src/assets/icons/apps/icon-market-soon.svg +25 -0
- package/src/assets/icons/apps/icon-photos.svg +19 -0
- package/src/assets/icons/apps/icon-soon.svg +21 -0
- package/src/assets/icons/apps/icon-store.svg +19 -0
- package/src/assets/icons/claudyActions/icon-bills.svg +6 -0
- package/src/assets/icons/claudyActions/icon-laptop.svg +7 -0
- package/src/assets/icons/claudyActions/icon-phone.svg +8 -0
- package/src/assets/icons/claudyActions/icon-question-mark.svg +6 -0
- package/src/assets/icons/comingsoon/icon-bank.svg +12 -0
- package/src/assets/icons/comingsoon/icon-sante.svg +12 -0
- package/src/assets/icons/comingsoon/icon-store.svg +6 -0
- package/src/assets/icons/icon-cozy.svg +3 -0
- package/src/assets/icons/icon-shield.svg +3 -0
- package/src/assets/icons/spinner.svg +4 -0
- package/src/assets/sprites/icon-apps.svg +1 -0
- package/src/assets/sprites/icon-cozy-home.svg +16 -0
- package/src/components/Apps/AppItem.jsx +117 -0
- package/src/components/Apps/AppItemPlaceholder.jsx +12 -0
- package/src/components/Apps/AppNavButtons.jsx +94 -0
- package/src/components/Apps/AppsContent.jsx +91 -0
- package/src/components/Apps/ButtonCozyHome.jsx +30 -0
- package/src/components/Apps/ButtonCozyHome.spec.jsx +53 -0
- package/src/components/Apps/IconCozyHome.jsx +38 -0
- package/src/components/Apps/index.jsx +72 -0
- package/src/components/Banner.jsx +41 -0
- package/src/components/Bar.jsx +295 -0
- package/src/components/Bar.spec.jsx +133 -0
- package/src/components/Claudy.jsx +81 -0
- package/src/components/ClaudyIcon.jsx +18 -0
- package/src/components/Drawer.jsx +227 -0
- package/src/components/Drawer.spec.jsx +98 -0
- package/src/components/SearchBar.jsx +358 -0
- package/src/components/Settings/SettingsContent.jsx +163 -0
- package/src/components/Settings/StorageData.jsx +29 -0
- package/src/components/Settings/helper.js +8 -0
- package/src/components/Settings/index.jsx +220 -0
- package/src/components/StorageIcon.jsx +16 -0
- package/src/components/SupportModal.jsx +59 -0
- package/src/components/__snapshots__/Bar.spec.jsx.snap +302 -0
- package/src/config/claudyActions.json +20 -0
- package/src/config/persistWhitelist.json +4 -0
- package/src/dom.js +80 -0
- package/src/index.jsx +242 -0
- package/src/index.spec.jsx +34 -0
- package/src/lib/api/helpers.js +13 -0
- package/src/lib/api/index.jsx +145 -0
- package/src/lib/exceptions.js +89 -0
- package/src/lib/expiringMemoize.js +13 -0
- package/src/lib/icon.js +77 -0
- package/src/lib/intents.js +16 -0
- package/src/lib/logger.js +11 -0
- package/src/lib/middlewares/appsI18n.js +57 -0
- package/src/lib/realtime.js +43 -0
- package/src/lib/reducers/apps.js +175 -0
- package/src/lib/reducers/apps.spec.js +59 -0
- package/src/lib/reducers/content.js +50 -0
- package/src/lib/reducers/context.js +86 -0
- package/src/lib/reducers/index.js +73 -0
- package/src/lib/reducers/locale.js +22 -0
- package/src/lib/reducers/settings.js +111 -0
- package/src/lib/reducers/theme.js +48 -0
- package/src/lib/reducers/unserializable.js +26 -0
- package/src/lib/stack-client.js +401 -0
- package/src/lib/stack.js +79 -0
- package/src/lib/store/index.js +44 -0
- package/src/locales/de.json +57 -0
- package/src/locales/en.json +57 -0
- package/src/locales/es.json +57 -0
- package/src/locales/fr.json +57 -0
- package/src/locales/it.json +57 -0
- package/src/locales/ja.json +57 -0
- package/src/locales/nl_NL.json +57 -0
- package/src/locales/pl.json +57 -0
- package/src/locales/ru.json +57 -0
- package/src/locales/sq.json +57 -0
- package/src/locales/zh_CN.json +57 -0
- package/src/proptypes/index.js +10 -0
- package/src/queries/index.js +16 -0
- package/src/styles/apps.css +248 -0
- package/src/styles/banner.css +64 -0
- package/src/styles/bar.css +106 -0
- package/src/styles/base.css +21 -0
- package/src/styles/claudy.css +98 -0
- package/src/styles/drawer.css +126 -0
- package/src/styles/index.styl +33 -0
- package/src/styles/indicators.css +58 -0
- package/src/styles/nav.css +81 -0
- package/src/styles/navigation_item.css +34 -0
- package/src/styles/searchbar.css +156 -0
- package/src/styles/settings.css +34 -0
- package/src/styles/storage.css +22 -0
- package/src/styles/supportModal.css +20 -0
- package/src/styles/theme.styl +25 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
[role=banner] .coz-nav-apps-btns {
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
font-size: 1rem;
|
|
5
|
+
text-decoration: none;
|
|
6
|
+
border: none;
|
|
7
|
+
background-color: transparent;
|
|
8
|
+
line-height: 1rem;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
[role=banner] .coz-nav-apps-btns-main {
|
|
12
|
+
display: flex;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
align-items: center;
|
|
15
|
+
height: 3rem;
|
|
16
|
+
margin: 0 .75rem;
|
|
17
|
+
padding: 0;
|
|
18
|
+
background-color: transparent;
|
|
19
|
+
border: none;
|
|
20
|
+
color: black;
|
|
21
|
+
font-size: 1rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[role=banner] .coz-nav-apps-btns-main:hover,
|
|
25
|
+
[role=banner] .coz-nav-apps-btns-main:focus,
|
|
26
|
+
[role=banner] .coz-nav-apps-btns-main:active {
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
color: black;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
[role=banner] .coz-nav-apps-btns-main[disabled]:hover,
|
|
32
|
+
[role=banner] .coz-nav-apps-btns-main[disabled]:focus,
|
|
33
|
+
[role=banner] .coz-nav-apps-btns-main[disabled]:active {
|
|
34
|
+
cursor: default;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
[role=banner] .coz-nav-app-name {
|
|
38
|
+
margin: 0 .4rem;
|
|
39
|
+
font-weight: bold;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
[role=banner] .coz-nav-apps-btns-sep {
|
|
43
|
+
height: 1.75rem;
|
|
44
|
+
background-color: #d8d8d8;
|
|
45
|
+
width: 1px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
[role=banner] .coz-nav-apps-btns-home {
|
|
49
|
+
height: 2rem;
|
|
50
|
+
margin-right: .75rem;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
[role=banner] .coz-nav-apps-btns-home.--flagship {
|
|
54
|
+
background: none;
|
|
55
|
+
border: 0;
|
|
56
|
+
height: 100%;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[role=banner] .coz-nav-apps-btns-home-svg {
|
|
60
|
+
max-width: 2rem;
|
|
61
|
+
max-height: 2rem;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
[role=banner] .coz-nav-apps-btns-home,
|
|
65
|
+
[role=banner] .coz-nav-apps-btns-home[href]:visited {
|
|
66
|
+
color: var(--dodgerBlue);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
[role=banner] .coz-nav-apps-btns-home[href]:hover,
|
|
70
|
+
[role=banner] .coz-nav-apps-btns-home[href]:active,
|
|
71
|
+
[role=banner] .coz-nav-apps-btns-home[href]:focus {
|
|
72
|
+
color: var(--scienceBlue);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
[role=banner] .coz-nav-apps-btns.--currentHome .coz-nav-apps-btns-main {
|
|
76
|
+
margin-left: 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
[role=banner] .coz-nav-apps-btns.--currentHome .coz-nav-apps-btns-home {
|
|
80
|
+
margin-right: 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/* POP */
|
|
84
|
+
[role=banner] .coz-nav-pop--apps {
|
|
85
|
+
width: 20rem;
|
|
86
|
+
max-height: 20rem;
|
|
87
|
+
left: 3.5rem;
|
|
88
|
+
transform-origin: 10% 0%;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
[role=banner] .coz-nav .--currentHome + .coz-nav-pop--apps {
|
|
92
|
+
left: 0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* POP CONTENT */
|
|
96
|
+
|
|
97
|
+
[role=banner] .coz-nav-pop--apps .coz-nav-pop-content {
|
|
98
|
+
display: flex;
|
|
99
|
+
flex-direction: column;
|
|
100
|
+
/* pop size less pop border size*/
|
|
101
|
+
max-height: calc(20rem - 2px);
|
|
102
|
+
width: 100%;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@media (max-height: 21rem) {
|
|
106
|
+
[role=banner] .coz-nav-pop--apps {
|
|
107
|
+
max-height: calc(100vh - 4rem)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
[role=banner] .coz-nav-pop--apps .coz-nav-pop-content {
|
|
111
|
+
max-height: calc(100vh - 4rem - 2px);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
[role=banner] .coz-nav-pop--apps .coz-nav-pop-content .coz-nav-group {
|
|
117
|
+
flex-grow: 1;
|
|
118
|
+
flex-shrink: 1;
|
|
119
|
+
overflow-y: auto;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
[role=banner] .coz-nav-apps-item {
|
|
123
|
+
display: flex;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* current app item */
|
|
127
|
+
[role=banner] .coz-nav-apps-item.--current a[role=menuitem] {
|
|
128
|
+
font-weight: bold;
|
|
129
|
+
background-color: var(--paleGrey);
|
|
130
|
+
border-left: 4px solid var(--dodgerBlue)
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
[role=banner] .coz-nav-apps-item [role=menuitem],
|
|
134
|
+
[role=banner] [role=menuitem].coz-apps-home-btn {
|
|
135
|
+
display: flex;
|
|
136
|
+
box-sizing: border-box;
|
|
137
|
+
justify-content: flex-start;
|
|
138
|
+
flex-shrink: 0;
|
|
139
|
+
align-items: center;
|
|
140
|
+
width: 100%;
|
|
141
|
+
height: 3rem;
|
|
142
|
+
/* we remove the left border from the padding */
|
|
143
|
+
padding: .5rem 1rem .5rem calc(1rem - 4px);
|
|
144
|
+
color: var(--charcoalGrey);
|
|
145
|
+
text-decoration: none;
|
|
146
|
+
outline: none;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
[role=banner] .coz-nav-apps-item:first-of-type [role=menuitem] {
|
|
150
|
+
margin-top: .5rem;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
[role=banner] .coz-nav-apps-item:last-of-type [role=menuitem] {
|
|
154
|
+
margin-bottom: .5rem;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
[role=banner] .coz-nav-apps-item-icon {
|
|
158
|
+
margin-right: .5rem;
|
|
159
|
+
height: 2rem;
|
|
160
|
+
width: 2rem;
|
|
161
|
+
/* force svg inline to be 2rem */
|
|
162
|
+
min-width: 2rem;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
[role=banner] .coz-nav-apps-item [role=menuitem] .coz-label {
|
|
166
|
+
padding-right: .5rem;
|
|
167
|
+
width: 100%;
|
|
168
|
+
overflow-x: hidden;
|
|
169
|
+
text-overflow: ellipsis;
|
|
170
|
+
white-space: nowrap;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
[role=banner] [role=menuitem].coz-apps-home-btn {
|
|
174
|
+
display: flex;
|
|
175
|
+
margin-top: 0;
|
|
176
|
+
color: #5d6165;
|
|
177
|
+
font-weight: bold;
|
|
178
|
+
font-size: 14px;
|
|
179
|
+
justify-content: center;
|
|
180
|
+
align-items: center;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
[role=banner] [role=menuitem].coz-apps-home-btn.--mobile > span {
|
|
184
|
+
display: flex;
|
|
185
|
+
justify-content: flex-start;
|
|
186
|
+
}
|
|
187
|
+
[role=banner] [role=menuitem].coz-apps-home-btn img, .coz-apps-home-btn svg {
|
|
188
|
+
width: 1rem;
|
|
189
|
+
height: 1rem;
|
|
190
|
+
margin-right: .5rem;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
@keyframes barPlaceHolderShimmer {
|
|
194
|
+
0% { background-position: -20rem 0; }
|
|
195
|
+
80% { background-position: 20rem 0; }
|
|
196
|
+
80.1% { background-position: -20rem 0; }
|
|
197
|
+
100% { background-position: -20rem 0; }
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
[role=banner] .coz-loading-placeholder {
|
|
201
|
+
display: inline-block;
|
|
202
|
+
width: 100%;
|
|
203
|
+
height: 100%;
|
|
204
|
+
min-height: 1em;
|
|
205
|
+
animation: barPlaceHolderShimmer 1s linear infinite;
|
|
206
|
+
animation-delay: .1s;
|
|
207
|
+
animation-duration: 2s;
|
|
208
|
+
animation-iteration-count: infinite;
|
|
209
|
+
animation-timing-function: linear;
|
|
210
|
+
background-position: -20rem 0;
|
|
211
|
+
background-image: linear-gradient(to right, var(--silver) 0, var(--paleGrey) 50%, var(--silver) 100%);
|
|
212
|
+
background-size: 20rem 10rem;
|
|
213
|
+
background-repeat: no-repeat;
|
|
214
|
+
background-color: var(--silver);
|
|
215
|
+
border-radius: .15rem;
|
|
216
|
+
margin: .1rem 0;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
[role=banner] .coz-nav-apps-item-icon.coz-loading-placeholder {
|
|
221
|
+
width: 2rem;
|
|
222
|
+
height: 2rem;
|
|
223
|
+
margin: 0 1rem;
|
|
224
|
+
display: block;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
[role=banner] .coz-nav-apps-item [role=menuitem] .coz-label.coz-loading-placeholder {
|
|
228
|
+
height: 1em;
|
|
229
|
+
width: 7rem;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
[role=banner] .coz-nav-apps-btns.--loading {
|
|
233
|
+
width: 12rem;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
[role=banner] .coz-nav-apps-btns-home.coz-loading-placeholder {
|
|
237
|
+
height: 2rem;
|
|
238
|
+
width: 2rem;
|
|
239
|
+
border-radius: 2rem;
|
|
240
|
+
background-color: var(--silver);
|
|
241
|
+
flex-shrink: 0;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
[role=banner] .coz-nav-apps-btns-main.coz-loading-placeholder {
|
|
245
|
+
height: 1.5rem;
|
|
246
|
+
margin: 0;
|
|
247
|
+
background-color: var(--silver);
|
|
248
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
@media (max-width: 63.9375rem) {
|
|
2
|
+
.has-banner [role=application] .o-layout-2panes:before {
|
|
3
|
+
height: 6rem;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
[role=banner] .coz-bar-banner {
|
|
7
|
+
font-size: 14px;
|
|
8
|
+
transition: none;
|
|
9
|
+
transition-delay: none;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
[role=banner] .coz-bar-banner-button {
|
|
13
|
+
max-width: 7rem;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@media (max-width: 30rem) {
|
|
18
|
+
.has-banner [role=application] .o-layout-2panes:before {
|
|
19
|
+
height: 7rem;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
[role=banner] .coz-bar-banner {
|
|
23
|
+
height: auto;
|
|
24
|
+
font-size: 13px;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@media (max-width: 18rem) {
|
|
29
|
+
.has-banner [role=application] .o-layout-2panes:before {
|
|
30
|
+
height: 8rem;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[role=banner] .coz-bar-banner.unmounted {
|
|
35
|
+
height: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
[role=banner] .coz-bar-banner {
|
|
39
|
+
display: flex;
|
|
40
|
+
background: var(--dodgerBlue);
|
|
41
|
+
box-sizing: border-box;
|
|
42
|
+
width: 100%;
|
|
43
|
+
height: 3rem;
|
|
44
|
+
padding: 0 1rem 0 1rem;
|
|
45
|
+
justify-content: space-between;
|
|
46
|
+
align-items: center;
|
|
47
|
+
color: white;
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.12), 0 0 4px 0 rgba(0, 0, 0, 0.06);
|
|
50
|
+
transition: height 1s;
|
|
51
|
+
transition-delay: 1s;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[role=banner] .coz-bar-banner-button,
|
|
55
|
+
[role=banner] .coz-bar-banner-button:hover,
|
|
56
|
+
[role=banner] .coz-bar-banner-button:visited
|
|
57
|
+
[role=banner] .coz-bar-banner-button:active
|
|
58
|
+
[role=banner] .coz-bar-banner-button:focus {
|
|
59
|
+
border-color: white!important;
|
|
60
|
+
min-height: 2rem;
|
|
61
|
+
height: 2rem;
|
|
62
|
+
flex-shrink: 0;
|
|
63
|
+
max-width: 10rem;
|
|
64
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
[role=banner] {
|
|
2
|
+
position: fixed;
|
|
3
|
+
top: 0;
|
|
4
|
+
left: 0;
|
|
5
|
+
z-index: var(--z-index-bar);
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: stretch;
|
|
8
|
+
flex-shrink: 0;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
width: 100%;
|
|
11
|
+
min-height: 3em;
|
|
12
|
+
font-family: Lato, sans-serif;
|
|
13
|
+
font-size: 1rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@media (min-width: 64rem) {
|
|
17
|
+
[role=banner] {
|
|
18
|
+
position: relative;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
[role=banner] .coz-bar-wrapper {
|
|
23
|
+
display: flex;
|
|
24
|
+
flex-direction: column;
|
|
25
|
+
width: 100%;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
[role=banner] .coz-bar-container {
|
|
29
|
+
display: flex;
|
|
30
|
+
height: 3rem;
|
|
31
|
+
width: 100%;
|
|
32
|
+
padding: 0 1.25em 0 1em;
|
|
33
|
+
box-sizing: border-box;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@media (max-width: 48em) {
|
|
37
|
+
[role=banner] .coz-bar-container {
|
|
38
|
+
padding: 0 1em 0 0;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
[role=banner] .coz-bar-title {
|
|
43
|
+
display: flex;
|
|
44
|
+
margin: 0;
|
|
45
|
+
align-items: center;
|
|
46
|
+
min-width: 8em;
|
|
47
|
+
font-size: 1.5em;
|
|
48
|
+
font-weight: normal;
|
|
49
|
+
color: var(--charcoalGrey);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@media (max-width: 48em) {
|
|
53
|
+
[role=banner] .coz-bar-title {
|
|
54
|
+
font-size: 1.25em
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
[role=banner] .coz-bar-title img {
|
|
59
|
+
margin-right: .45em;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
[role=banner] .coz-bar-title span {
|
|
63
|
+
margin-right: .25em;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
[role=banner] .coz-bar-title strong {
|
|
67
|
+
font-weight: bold;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@media (max-width: 30em) {
|
|
71
|
+
[role=banner] .coz-bar-hide-sm {
|
|
72
|
+
display: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
[role=banner] .coz-bar-title strong {
|
|
76
|
+
padding: 0;
|
|
77
|
+
text-transform: capitalize;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
[role=banner] .coz-bar-btn {
|
|
82
|
+
padding: 0;
|
|
83
|
+
border: none;
|
|
84
|
+
background-color: transparent;
|
|
85
|
+
background-position: center;
|
|
86
|
+
flex: 0 0 2.5rem;
|
|
87
|
+
cursor: pointer;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
[role=banner] .coz-bar-burger {
|
|
91
|
+
margin-right: 0.25em;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@media (min-width: 48.0625em) {
|
|
95
|
+
[role=banner] .coz-bar-burger,
|
|
96
|
+
[role=banner] .coz-drawer-wrapper {
|
|
97
|
+
display: none;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
@media (max-width: 48em) {
|
|
103
|
+
[role=banner] .coz-bar-hide-sm {
|
|
104
|
+
display: none;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
[role=banner] .coz-sep-flex {
|
|
2
|
+
margin: 0;
|
|
3
|
+
border: none;
|
|
4
|
+
flex: 1 0;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
[role=banner] .blurry {
|
|
8
|
+
opacity: .5;
|
|
9
|
+
filter: blur(5px);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
[role=banner] [data-icon] {
|
|
13
|
+
background-repeat: no-repeat;
|
|
14
|
+
background-position: 0 50%;
|
|
15
|
+
padding-left: calc(16px + .5em);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
[role=banner] .u-flex-grow {
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-grow: 1;
|
|
21
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
[role=banner] .coz-claudy {
|
|
2
|
+
position: fixed;
|
|
3
|
+
bottom: 5em;
|
|
4
|
+
right: 2em;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@media (min-width: 64em) {
|
|
8
|
+
[role=banner] .coz-claudy {
|
|
9
|
+
bottom: 2em;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
[role=banner] .coz-claudy-icon {
|
|
14
|
+
width: 3.5em;
|
|
15
|
+
height: 3.5em;
|
|
16
|
+
border-radius: 100%;
|
|
17
|
+
border: none;
|
|
18
|
+
background-color: var(--dodgerBlue);
|
|
19
|
+
background-repeat: no-repeat;
|
|
20
|
+
background-size: 2em;
|
|
21
|
+
background-position: .75em;
|
|
22
|
+
box-shadow: 0 1px 3px 0 rgba(50, 54, 63, 0.19), 0 6px 18px 0 rgba(50, 54, 63, 0.39);
|
|
23
|
+
animation: none;
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
opacity: .5;
|
|
26
|
+
transition: all .2s ease-out;
|
|
27
|
+
outline: 0;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
[role=banner] .coz-claudy-icon:hover,
|
|
31
|
+
[role=banner] .coz-claudy-icon:focus,
|
|
32
|
+
[role=banner] .coz-claudy-icon:active,
|
|
33
|
+
[role=banner] .coz-claudy [data-claudy-opened=true] {
|
|
34
|
+
animation: none;
|
|
35
|
+
transform: scale(1.1);
|
|
36
|
+
opacity: 1;
|
|
37
|
+
transition: all .2s ease-out;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[role=banner] .coz-claudy .coz-claudy-intent-wrapper {
|
|
41
|
+
position: fixed;
|
|
42
|
+
bottom: 9.5em;
|
|
43
|
+
right: 2em;
|
|
44
|
+
width: 25em;
|
|
45
|
+
border-radius: .3em;
|
|
46
|
+
background: white;
|
|
47
|
+
transform-origin: 100% 100% 0;
|
|
48
|
+
transform: scale(0) translateY(6em);
|
|
49
|
+
filter: drop-shadow(0 4px 6px rgba(50, 54, 63, 0.5));
|
|
50
|
+
opacity: 0;
|
|
51
|
+
transition: .2s transform ease-in, .1s opacity ease-in;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[role=banner] .coz-claudy--opened .coz-claudy-intent-wrapper {
|
|
55
|
+
transform: scale(1) translateY(0);
|
|
56
|
+
opacity: 1;
|
|
57
|
+
transition: .2s transform cubic-bezier(0.2, 0.75, 0.3, 1.15), .1s opacity ease-in;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
[role=banner] .coz-claudy-intent-wrapper::after {
|
|
61
|
+
position: fixed;
|
|
62
|
+
content: '';
|
|
63
|
+
right: 3em;
|
|
64
|
+
width: 0;
|
|
65
|
+
height: 0;
|
|
66
|
+
/* Make it a bit taller to avoid browser spacing issue
|
|
67
|
+
between it and the tooltip */
|
|
68
|
+
border-bottom: .8em solid transparent;
|
|
69
|
+
border-right: 1.5em solid white;
|
|
70
|
+
bottom: -.6em;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
[role=banner] .coz-claudy .coz-claudy-intent-wrapper .coz-intent{
|
|
74
|
+
width: 100%;
|
|
75
|
+
height: 100%;
|
|
76
|
+
border: none;
|
|
77
|
+
border-radius: .3em;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@media (min-width: 64em) {
|
|
81
|
+
[role=banner] .coz-claudy .coz-claudy-intent-wrapper {
|
|
82
|
+
bottom: 6.5em;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
@media (max-width: 48em) {
|
|
87
|
+
[role=banner] .coz-claudy .coz-claudy-intent-wrapper {
|
|
88
|
+
width: calc(100% - 2em);
|
|
89
|
+
height: calc(100% - 2em)!important; /* overwritte intent setSize here */
|
|
90
|
+
right: 1em;
|
|
91
|
+
top: 1em;
|
|
92
|
+
transform-origin: 50% 50% 0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
[role=banner] .coz-claudy-intent-wrapper::after {
|
|
96
|
+
display: none;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
[role=banner] .coz-drawer-wrapper {
|
|
2
|
+
position: fixed;
|
|
3
|
+
top: 0;
|
|
4
|
+
left: 0;
|
|
5
|
+
width: 100vw;
|
|
6
|
+
height: 100%;
|
|
7
|
+
display: flex;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
[role=banner] .coz-drawer-wrapper[aria-hidden=true] {
|
|
11
|
+
pointer-events: none;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
[role=banner] .coz-drawer-wrapper[aria-hidden=false] {
|
|
15
|
+
pointer-events: auto;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
[role=banner] .coz-drawer-wrapper::before {
|
|
19
|
+
content: '';
|
|
20
|
+
display: block;
|
|
21
|
+
position: absolute;
|
|
22
|
+
top: 0;
|
|
23
|
+
left: 0;
|
|
24
|
+
width: 100%;
|
|
25
|
+
height: 100%;
|
|
26
|
+
background-color: var(--charcoalGrey);
|
|
27
|
+
opacity: 0;
|
|
28
|
+
transition: opacity .2s ease-out .1s;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
[role=banner] .coz-drawer-wrapper[aria-hidden=false]::before {
|
|
32
|
+
opacity: .5;
|
|
33
|
+
transition: opacity .2s ease-out;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
[role=banner] .coz-drawer-wrapper aside {
|
|
37
|
+
position: absolute;
|
|
38
|
+
bottom: 0;
|
|
39
|
+
left: 0;
|
|
40
|
+
width: 90%;
|
|
41
|
+
max-width: 30em;
|
|
42
|
+
height: 100%;
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
background-color: #fff;
|
|
46
|
+
transform: translateX(-100%);
|
|
47
|
+
transform-origin: 0% 0%;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
[role=banner] .coz-drawer-wrapper aside.with-transition {
|
|
51
|
+
transition: transform .2s ease-out;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[role=banner] .coz-drawer-wrapper[aria-hidden=false] aside {
|
|
55
|
+
transform: translateX(0%);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
[role=banner] .coz-drawer-wrapper[aria-hidden=false] aside.with-transition {
|
|
59
|
+
transition: transform .3s cubic-bezier(0.2, 0.75, 0.3, 1.0);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
[role=banner] .coz-drawer-wrapper ul {
|
|
63
|
+
margin: 0;
|
|
64
|
+
padding: 0;
|
|
65
|
+
list-style-type: none;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
[role=banner] .coz-drawer-wrapper nav hr {
|
|
69
|
+
margin: 0;
|
|
70
|
+
border: none;
|
|
71
|
+
border-bottom: solid 1px var(--silver);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
[role=banner] .coz-drawer-wrapper .coz-nav-icon {
|
|
75
|
+
margin-right: .5em;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
[role=banner] .coz-drawer--apps {
|
|
79
|
+
flex: 0 1 100%;
|
|
80
|
+
/* IMPORTANT: on Chrome, the `overflow-y: scroll` property on .coz-drawer--apps prevented
|
|
81
|
+
swipe events to be dispatched correctly ; the `touch-action: pan-y` fixes the problem
|
|
82
|
+
see https://greensock.com/forums/topic/17546-draggable-text-elements-with-overflow/ */
|
|
83
|
+
overflow-y: scroll;
|
|
84
|
+
touch-action: pan-y;
|
|
85
|
+
position: relative;
|
|
86
|
+
overflow-x: hidden;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
[role=banner] .coz-drawer--apps ul li {
|
|
90
|
+
flex: 0 0 100%;
|
|
91
|
+
max-width: 100%;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
[role=banner] .coz-drawer--apps ul:last-of-type + hr {
|
|
95
|
+
display: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
[role=banner] .coz-drawer--apps [role=menuitem] {
|
|
99
|
+
display: flex;
|
|
100
|
+
flex-direction: row;
|
|
101
|
+
padding: .3em .3em .3em 1.3em;
|
|
102
|
+
height: 3rem;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
[role=banner] .coz-drawer--apps .coz-nav-item img {
|
|
106
|
+
width: 2rem;
|
|
107
|
+
margin-right: .5rem;
|
|
108
|
+
max-height: 2rem;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
[role=banner] .coz-drawer--apps .coz-nav-category {
|
|
113
|
+
font-size: 1em;
|
|
114
|
+
padding: 2em 2em .5em;
|
|
115
|
+
margin: 0;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
[role=banner] .coz-drawer--settings {
|
|
119
|
+
padding-bottom: env(safe-area-inset-bottom);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/* /!\ Trick to prevent application from scrolling in the background when the drawer is opened */
|
|
123
|
+
[role=banner][data-drawer-visible=true] + [role=application] {
|
|
124
|
+
position: fixed;
|
|
125
|
+
width: 100%;
|
|
126
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@import './base.css'
|
|
2
|
+
@import './indicators.css'
|
|
3
|
+
@import './bar.css'
|
|
4
|
+
@import './banner.css'
|
|
5
|
+
@import './nav.css'
|
|
6
|
+
@import './navigation_item.css'
|
|
7
|
+
@import './apps.css'
|
|
8
|
+
@import './settings.css'
|
|
9
|
+
@import './storage.css'
|
|
10
|
+
@import './drawer.css'
|
|
11
|
+
@import './claudy.css'
|
|
12
|
+
@import './searchbar.css'
|
|
13
|
+
@import './supportModal.css'
|
|
14
|
+
|
|
15
|
+
@import './theme.styl'
|
|
16
|
+
|
|
17
|
+
@import 'settings/palette'
|
|
18
|
+
@import 'settings/z-index'
|
|
19
|
+
@import 'tools/mixins'
|
|
20
|
+
@import 'utilities/display'
|
|
21
|
+
@import 'utilities/position'
|
|
22
|
+
@import 'utilities/dimensions'
|
|
23
|
+
|
|
24
|
+
@import 'components/button.styl'
|
|
25
|
+
|
|
26
|
+
:root {
|
|
27
|
+
--z-index-bar: $bar-index;
|
|
28
|
+
--z-index-selection: $selection-index;
|
|
29
|
+
--z-index-over-selection: $selection-index + 1;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.coz-bar-hidden
|
|
33
|
+
@extend $visuallyhidden
|