tolk 4.3.0 → 5.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- //= require tolk/jquery-1.9.1.min.js
1
+ //= require tolk/jquery-3.7.0.js
@@ -0,0 +1,490 @@
1
+ /**
2
+ * Defaults
3
+ **/
4
+ *,
5
+ *:before,
6
+ *:after {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ strong {
11
+ font-weight: bold;
12
+ }
13
+
14
+ em {
15
+ font-style: italic;
16
+ }
17
+
18
+ a {
19
+ color: #888;
20
+ }
21
+
22
+ a:hover {
23
+ color: #000;
24
+ }
25
+
26
+ /**
27
+ * Variables
28
+ **/
29
+ :root {
30
+ --primary-color-h: 192.8;
31
+ --primary-color-s: 63%;
32
+ --primary-color-l: 49.8%;
33
+ --primary-color-hsl: var(--primary-color-h), var(--primary-color-s),
34
+ var(--primary-color-l);
35
+ --primary-color: hsl(var(--primary-color-hsl));
36
+ --primary-color-dark-2: hsl(
37
+ var(--primary-color-h),
38
+ var(--primary-color-s),
39
+ calc(var(--primary-color-l) * 0.9)
40
+ );
41
+ --primary-color-dark-4: hsl(
42
+ var(--primary-color-h),
43
+ var(--primary-color-s),
44
+ calc(var(--primary-color-l) * 0.9)
45
+ );
46
+ --primary-color-dark-8: hsl(
47
+ var(--primary-color-h),
48
+ var(--primary-color-s),
49
+ calc(var(--primary-color-l) * 0.9)
50
+ );
51
+ --font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI",
52
+ Roboto, Arial, sans-serif;
53
+ }
54
+
55
+ /**
56
+ * Some generic components
57
+ **/
58
+ .btn {
59
+ font-family: var(--font-family);
60
+ display: inline-block;
61
+ padding: 0.25em 0.5em;
62
+ border-radius: 2px;
63
+ border: none;
64
+ background-image: linear-gradient(
65
+ var(--primary-color),
66
+ var(--primary-color-dark-4)
67
+ );
68
+ color: #fff;
69
+ font-size: 1em;
70
+ cursor: pointer;
71
+ }
72
+ .btn:hover,
73
+ .btn:focus {
74
+ background-image: linear-gradient(
75
+ var(--primary-color-dark-2),
76
+ var(--primary-color-dark-8)
77
+ );
78
+ }
79
+ .btn:focus {
80
+ box-shadow: 0 0 0 3px
81
+ hsla(
82
+ var(--primary-color-h),
83
+ var(--primary-color-s),
84
+ var(--primary-color-l),
85
+ 0.5
86
+ );
87
+ }
88
+ .btn.btn--large {
89
+ font-size: 1.25em;
90
+ padding: 0.5em 0.75em;
91
+ }
92
+
93
+ select,
94
+ input {
95
+ font-family: var(--font-family);
96
+ font-size: 1em;
97
+ }
98
+
99
+ input[type="text"],
100
+ textarea {
101
+ font-family: var(--font-family);
102
+ font-size: 1em;
103
+ padding: 0.2em 0.25em;
104
+ border-radius: 2px;
105
+ border: 1px solid #ccc;
106
+ border-top: 1px solid #bbb;
107
+ }
108
+ input[type="text"]:focus,
109
+ textarea:focus {
110
+ box-shadow: 0 0 0 2px
111
+ hsla(
112
+ var(--primary-color-h),
113
+ var(--primary-color-s),
114
+ var(--primary-color-l),
115
+ 0.5
116
+ );
117
+ }
118
+
119
+ textarea {
120
+ line-height: 1.4em;
121
+ }
122
+
123
+ /**
124
+ * Base layout
125
+ **/
126
+ body {
127
+ font-family: var(--font-family);
128
+ background: #e9e9e9;
129
+ color: #333;
130
+ margin: 0;
131
+ padding: 0;
132
+ font-size: 14px;
133
+ line-height: 1.5em;
134
+ text-align: left;
135
+ }
136
+
137
+ .container {
138
+ background: #fff;
139
+ margin: 1rem;
140
+ border-radius: 3px;
141
+ overflow: hidden;
142
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
143
+ }
144
+
145
+ /**
146
+ * Header
147
+ **/
148
+ header {
149
+ background: #111;
150
+ color: #999;
151
+ padding: 1rem 1.5rem;
152
+ display: flex;
153
+ justify-content: space-between;
154
+ align-items: center;
155
+ }
156
+ header h1 {
157
+ font-size: 1.5em;
158
+ }
159
+ header a {
160
+ color: var(--primary-color);
161
+ text-decoration: none;
162
+ }
163
+ header a:hover,
164
+ header a:focus {
165
+ color: var(--primary-color);
166
+ text-decoration: underline;
167
+ }
168
+ header a:first-child {
169
+ font-weight: bold;
170
+ }
171
+
172
+ /**
173
+ * Navigation
174
+ **/
175
+ nav {
176
+ background: #333;
177
+ display: flex;
178
+ }
179
+ nav a {
180
+ color: #ccc;
181
+ padding: 1rem 1.5rem;
182
+ text-decoration: none;
183
+ }
184
+ nav a:hover,
185
+ nav a:focus {
186
+ background: #222;
187
+ color: #fff;
188
+ }
189
+ nav a.current {
190
+ background: var(--primary-color);
191
+ color: #fff;
192
+ }
193
+ nav .nav__badge {
194
+ background-color: rgba(0, 0, 0, 0.3);
195
+ padding: 0.25em 0.6em;
196
+ border-radius: 1em;
197
+ font-size: 0.75em;
198
+ color: #fff;
199
+ margin-left: 0.25em;
200
+ }
201
+
202
+ /**
203
+ * Page title
204
+ **/
205
+ h2 {
206
+ padding: 1rem 1.5rem;
207
+ font-size: 18px;
208
+ background-color: #f9f9f9;
209
+ color: var(--primary-color);
210
+ border-bottom: 1px solid #eee;
211
+ }
212
+ h2 small {
213
+ font-size: 0.75em;
214
+ color: #999;
215
+ }
216
+
217
+ /**
218
+ * Notice
219
+ **/
220
+ .notice {
221
+ background: #ffc;
222
+ color: #666600;
223
+ font-size: 1em;
224
+ padding: 1rem 1.5rem;
225
+ border-bottom: 1px solid #ffff66;
226
+ }
227
+ .notice a {
228
+ color: #666600;
229
+ }
230
+ .notice a:hover,
231
+ .notice a:focus {
232
+ color: #333300;
233
+ }
234
+
235
+ /**
236
+ * Search form
237
+ **/
238
+ .search {
239
+ padding: 1rem 1.5rem;
240
+ background-color: #f9f9f9;
241
+ border-bottom: 1px solid #eee;
242
+ line-height: 2em;
243
+ }
244
+
245
+ /**
246
+ * Empty state & blankslate
247
+ **/
248
+ .empty-state {
249
+ padding: 3rem 1.5rem;
250
+ text-align: center;
251
+ }
252
+ .empty-state svg {
253
+ max-height: 200px;
254
+ margin: 2em 0;
255
+ }
256
+ .empty-state .empty-state__msg {
257
+ font-size: 1.25em;
258
+ color: #aaa;
259
+ }
260
+ .empty-state form {
261
+ margin-top: 1em;
262
+ }
263
+
264
+ /**
265
+ * Locales list (locales index)
266
+ **/
267
+ ul.locales-list {
268
+ display: grid;
269
+ padding: 1.5rem 1.5rem;
270
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
271
+ grid-column-gap: 1em;
272
+ grid-row-gap: 1em;
273
+ }
274
+ ul.locales-list a {
275
+ text-decoration: none;
276
+ color: #2fadcf;
277
+ padding: 1.5em 1em;
278
+ height: 100%;
279
+ display: block;
280
+ text-align: center;
281
+ border: 1px solid #eee;
282
+ border-radius: 2px;
283
+ }
284
+ ul.locales-list a span {
285
+ font-size: 1.15em;
286
+ }
287
+ ul.locales-list a em.missing_translations,
288
+ ul.locales-list a em.updated_translations {
289
+ font-style: normal;
290
+ background: #ff3860;
291
+ color: #fff;
292
+ font-size: 9px;
293
+ padding: 0.25em 0.6em;
294
+ border-radius: 1em;
295
+ line-height: 1em;
296
+ vertical-align: top;
297
+ }
298
+ ul.locales-list a em.updated_translations {
299
+ background: #ffe857;
300
+ color: rgba(0, 0, 0, 0.7);
301
+ }
302
+ ul.locales-list a:hover,
303
+ ul.locales-list a:focus {
304
+ background-color: #f9f9f9;
305
+ }
306
+ ul.locales-list a:hover span,
307
+ ul.locales-list a:focus span {
308
+ text-decoration: underline;
309
+ }
310
+ ul.locales-list form {
311
+ border: 1px dashed
312
+ hsla(
313
+ var(--primary-color-h),
314
+ var(--primary-color-s),
315
+ var(--primary-color-l),
316
+ 0.5
317
+ );
318
+ background-color: hsla(
319
+ var(--primary-color-h),
320
+ var(--primary-color-s),
321
+ var(--primary-color-l),
322
+ 0.025
323
+ );
324
+ height: 100%;
325
+ display: grid;
326
+ justify-items: center;
327
+ align-items: center;
328
+ padding: 1.5em 1em;
329
+ }
330
+
331
+ /**
332
+ * Translations form
333
+ **/
334
+ div.translations table {
335
+ width: 100%;
336
+ text-align: left;
337
+ }
338
+
339
+ div.translations td,
340
+ div.translations th {
341
+ padding: 1rem 1.5rem;
342
+ vertical-align: top;
343
+ width: 50%;
344
+ }
345
+
346
+ div.translations td {
347
+ color: #222;
348
+ }
349
+
350
+ div.translations th {
351
+ font-weight: bold;
352
+ text-transform: uppercase;
353
+ color: #aaa;
354
+ border-bottom: 1px solid #ddd;
355
+ padding: 1.5rem 1.5rem 0.25rem 1.5rem;
356
+ }
357
+
358
+ div.translations th.actions,
359
+ div.translations td.actions {
360
+ width: 50px;
361
+ text-align: center;
362
+ padding: 12px 0.5rem;
363
+ }
364
+
365
+ div.translations tbody tr:nth-child(2n) td {
366
+ background-color: #fbfbfb;
367
+ }
368
+
369
+ div.translations tbody tr.active td:first-child {
370
+ box-shadow: 3px 0px 0px -1px var(--primary-color) inset;
371
+ }
372
+
373
+ div.translations textarea.locale {
374
+ width: 100%;
375
+ min-height: 42px;
376
+ }
377
+
378
+ div.translations .updated,
379
+ div.translations .previous {
380
+ color: #999;
381
+ border-left: 1px solid #ccc;
382
+ margin-bottom: 1.5em;
383
+ padding: 0 0 0 0.75em;
384
+ }
385
+ div.translations .updated .key,
386
+ div.translations .previous .key {
387
+ margin: 0 0 0.5em 0;
388
+ line-height: 13px;
389
+ }
390
+ div.translations .updated .key em,
391
+ div.translations .previous .key em {
392
+ color: #999;
393
+ text-transform: uppercase;
394
+ font-size: 9px;
395
+ font-style: normal;
396
+ margin-bottom: 0.5em;
397
+ border: 1px solid #ccc;
398
+ padding: 2px;
399
+ border-radius: 2px;
400
+ }
401
+
402
+ div.translations .updated {
403
+ color: #222;
404
+ border-color: orange;
405
+ }
406
+ div.translations .updated .key em {
407
+ color: orange;
408
+ border-color: orange;
409
+ }
410
+
411
+ div.translations .translation-key {
412
+ color: #aaa;
413
+ font-size: 10px;
414
+ display: block;
415
+ }
416
+
417
+ div.translations .original textarea {
418
+ display: none;
419
+ }
420
+
421
+ div.translations .original .interpolation,
422
+ div.translations .original .carriage_return,
423
+ div.translations .original .boolean {
424
+ color: var(--primary-color);
425
+ font-family: Courier, monospace;
426
+ font-weight: bold;
427
+ cursor: help;
428
+ }
429
+
430
+ div.translations .original .carriage_return:before {
431
+ content: "¶";
432
+ }
433
+
434
+ div.translations .actions a {
435
+ font-weight: bold;
436
+ text-decoration: none;
437
+ }
438
+
439
+ div.translations .actions .warning {
440
+ font-weight: bold;
441
+ font-size: 1.35em;
442
+ color: orange;
443
+ padding: 2px 4px;
444
+ display: none;
445
+ cursor: help;
446
+ }
447
+
448
+ div.translations .highlight {
449
+ background-color: yellow;
450
+ }
451
+
452
+ div.translations .table_submit {
453
+ background: #f5f5f5;
454
+ border-top: 1px solid #e0e0e0;
455
+ padding: 1.5rem;
456
+ display: flex;
457
+ justify-content: space-between;
458
+ align-items: center;
459
+ }
460
+
461
+ /**
462
+ * Pagination
463
+ **/
464
+ .pagination {
465
+ color: #777;
466
+ background: #f5f5f5;
467
+ }
468
+ .pagination a,
469
+ .pagination span,
470
+ .pagination em {
471
+ font-style: normal;
472
+ padding: 0.25em 0.75em;
473
+ text-decoration: none;
474
+ border: 1px solid #ddd;
475
+ border-radius: 2px;
476
+ display: inline-block;
477
+ background-color: #fff;
478
+ }
479
+ .pagination a.disabled,
480
+ .pagination span.disabled,
481
+ .pagination em.disabled {
482
+ opacity: 0.5;
483
+ }
484
+ .pagination a:hover,
485
+ .pagination a:focus,
486
+ .pagination em.current {
487
+ background-color: var(--primary-color);
488
+ border-color: var(--primary-color);
489
+ color: #fff;
490
+ }
data/lib/tolk/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tolk
2
- VERSION = "4.3.0"
2
+ VERSION = "5.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tolk
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 5.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2022-04-06 00:00:00.000000000 Z
15
+ date: 2023-06-20 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rails
@@ -20,14 +20,14 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: '5.0'
23
+ version: '6.0'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
28
  - - ">="
29
29
  - !ruby/object:Gem::Version
30
- version: '5.0'
30
+ version: '6.0'
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: sprockets-rails
33
33
  requirement: !ruby/object:Gem::Requirement
@@ -56,20 +56,6 @@ dependencies:
56
56
  - - ">="
57
57
  - !ruby/object:Gem::Version
58
58
  version: 0.8.6
59
- - !ruby/object:Gem::Dependency
60
- name: sassc
61
- requirement: !ruby/object:Gem::Requirement
62
- requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- version: '0'
66
- type: :runtime
67
- prerelease: false
68
- version_requirements: !ruby/object:Gem::Requirement
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: '0'
73
59
  - !ruby/object:Gem::Dependency
74
60
  name: sqlite3
75
61
  requirement: !ruby/object:Gem::Requirement
@@ -146,6 +132,20 @@ dependencies:
146
132
  - - ">="
147
133
  - !ruby/object:Gem::Version
148
134
  version: '0'
135
+ - !ruby/object:Gem::Dependency
136
+ name: sassc
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ type: :development
143
+ prerelease: false
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
149
  - !ruby/object:Gem::Dependency
150
150
  name: puma
151
151
  requirement: !ruby/object:Gem::Requirement
@@ -185,12 +185,12 @@ files:
185
185
  - app/assets/javascripts/tolk/actions.js
186
186
  - app/assets/javascripts/tolk/application.js
187
187
  - app/assets/javascripts/tolk/interpolations.js
188
- - app/assets/javascripts/tolk/jquery-1.9.1.min.js
188
+ - app/assets/javascripts/tolk/jquery-3.7.0.js
189
189
  - app/assets/javascripts/tolk/layout.js
190
190
  - app/assets/javascripts/tolk/libraries.js
191
191
  - app/assets/stylesheets/tolk/application.css
192
192
  - app/assets/stylesheets/tolk/reset.css
193
- - app/assets/stylesheets/tolk/screen.scss
193
+ - app/assets/stylesheets/tolk/screen.css
194
194
  - app/controllers/tolk/application_controller.rb
195
195
  - app/controllers/tolk/locales_controller.rb
196
196
  - app/controllers/tolk/searches_controller.rb
@@ -246,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
246
  - !ruby/object:Gem::Version
247
247
  version: '0'
248
248
  requirements: []
249
- rubygems_version: 3.3.10
249
+ rubygems_version: 3.4.14
250
250
  signing_key:
251
251
  specification_version: 4
252
252
  summary: Rails engine providing web interface for managing i18n yaml files