lexxy 0.1.20.beta → 0.1.21.beta

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.
Binary file
Binary file
@@ -44,7 +44,7 @@
44
44
  .lexxy-content__bold {
45
45
  font-weight: bold;
46
46
  }
47
-
47
+
48
48
  .lexxy-content__strikethrough {
49
49
  text-decoration: line-through;
50
50
  }
@@ -53,6 +53,12 @@
53
53
  text-decoration: underline;
54
54
  }
55
55
 
56
+ mark,
57
+ .lexxy-content__highlight {
58
+ background-color: transparent;
59
+ color: inherit;
60
+ }
61
+
56
62
  blockquote {
57
63
  border-inline-start: 0.25em solid var(--lexxy-color-ink-lighter);
58
64
  font-style: italic;
@@ -105,6 +111,14 @@
105
111
  }
106
112
  }
107
113
 
114
+ li.lexxy-nested-listitem {
115
+ list-style-type: none;
116
+
117
+ ol, ul {
118
+ margin: 0;
119
+ }
120
+ }
121
+
108
122
  > :last-child {
109
123
  margin-block-end: 0;
110
124
  }
@@ -211,12 +225,14 @@
211
225
  color: var(--lexxy-color-text-subtle);
212
226
  font-size: var(--lexxy-text-small);
213
227
 
214
- input {
228
+ textarea {
215
229
  background: var(--lexxy-color-canvas);
216
- color: var(--lexxy-color-text);
217
230
  border: none;
231
+ color: inherit;
232
+ font-family: inherit;
218
233
  inline-size: 100%;
219
234
  max-inline-size: 100%;
235
+ resize: none;
220
236
  text-align: center;
221
237
 
222
238
  &:focus {
@@ -163,29 +163,64 @@
163
163
  background-color: var(--lexxy-color-canvas);
164
164
  border-radius: calc(var(--lexxy-radius) + var(--lexxy-toolbar-gap));
165
165
  box-shadow: var(--lexxy-shadow);
166
- display: flex;
166
+ display: grid;
167
+ grid-template-columns: repeat(4, 1fr);
168
+ gap: var(--lexxy-toolbar-gap);
167
169
  inset-inline-end: 0;
168
170
  padding: var(--lexxy-toolbar-gap);
169
171
  position: absolute;
172
+
173
+ .lexxy-editor__toolbar-spacer {
174
+ display: none;
175
+ }
176
+
177
+ * + .lexxy-editor__toolbar-spacer + button {
178
+ margin-left: 0.5lh;
179
+ }
170
180
  }
171
181
 
172
- /* Link dialog
182
+ /* Dialog
173
183
  /* -------------------------------------------------------------------------- */
174
184
 
175
- :where(.lexxy-link-dialog) {
185
+ :where(.lexxy-dialog) {
176
186
  display: contents;
187
+ position: relative;
177
188
 
178
189
  dialog {
179
190
  background-color: var(--lexxy-color-canvas);
180
- border: 1px solid var(--lexxy-color-ink-lighter);
191
+ border: 2px solid var(--lexxy-color-selected-hover);
181
192
  border-radius: var(--lexxy-radius);
182
- box-shadow: var(--lexxy-shadow);
193
+ border-start-start-radius: 0;
194
+ box-sizing: border-box;
183
195
  color: var(--lexxy-color-ink);
196
+ inset-block-start: 2lh;
197
+ inline-size: 100%;
198
+ max-inline-size: 38ch;
199
+ margin: 0;
184
200
  padding: 1ch;
185
201
  position: absolute;
186
- z-index: 1;
202
+ z-index: 3;
187
203
  }
188
204
 
205
+ &:has(dialog[open]) + .lexxy-editor__toolbar-button {
206
+ background-color: var(--lexxy-color-selected-hover);
207
+ border-end-end-radius: 0;
208
+ border-end-start-radius: 0;
209
+ }
210
+ }
211
+
212
+ :where(lexxy-toolbar[overflowing]) .lexxy-dialog dialog {
213
+ --dialog-padding: 0.5ch;
214
+ inset-inline-end: var(--dialog-padding);
215
+ inset-inline-start: var(--dialog-padding) !important;
216
+ inline-size: calc(100% - 2 * var(--dialog-padding));
217
+ margin: auto;
218
+ }
219
+
220
+ /* Link dialog
221
+ /* -------------------------------------------------------------------------- */
222
+
223
+ :where(.lexxy-link-dialog) {
189
224
  .lexxy-dialog-actions {
190
225
  display: flex;
191
226
  font-size: var(--lexxy-text-small);
@@ -205,7 +240,8 @@
205
240
  border: 1px solid var(--lexxy-color-ink-lighter);
206
241
  border-radius: var(--lexxy-radius);
207
242
  color: var(--lexxy-color-text);
208
- min-inline-size: 30ch;
243
+ box-sizing: border-box;
244
+ inline-size: 100%;
209
245
  }
210
246
 
211
247
  button {
@@ -221,6 +257,66 @@
221
257
  }
222
258
  }
223
259
 
260
+ /* Color dialog
261
+ /* -------------------------------------------------------------------------- */
262
+
263
+ :where(.lexxy-highlight-dialog) {
264
+ .lexxy-highlight-dialog-content {
265
+ display: flex;
266
+ flex-direction: column;
267
+ gap: 0.75ch;
268
+
269
+ [data-button-group] {
270
+ display: flex;
271
+ flex-direction: row;
272
+ flex-wrap: wrap;
273
+ gap: 0.5ch;
274
+ }
275
+
276
+ button {
277
+ block-size: 3.5ch;
278
+ color: var(--lexxy-color-text);
279
+ inline-size: 3.5ch;
280
+ position: relative;
281
+ outline: none;
282
+
283
+ &:after {
284
+ align-self: center;
285
+ content: "Aa";
286
+ display: inline-block;
287
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
288
+ position: absolute;
289
+ inset-block-start: 0;
290
+ inset-block-end: 0;
291
+ inset-inline-end: 0;
292
+ inset-inline-start: 0;
293
+ }
294
+
295
+ &:hover {
296
+ opacity: 0.8;
297
+ }
298
+
299
+ &[aria-pressed="true"] {
300
+ box-shadow: 0 0 0 1px var(--lexxy-color-canvas), 0 0 0 3px var(--lexxy-color-accent-dark);
301
+
302
+ &:after {
303
+ content: "✓";
304
+ }
305
+ }
306
+ }
307
+
308
+ .lexxy-highlight-dialog-reset {
309
+ inline-size: 100%;
310
+
311
+ &[disabled] {
312
+ display: none;
313
+ }
314
+
315
+ &:after { display: none; }
316
+ }
317
+ }
318
+ }
319
+
224
320
  /* Language picker
225
321
  /* -------------------------------------------------------------------------- */
226
322
 
@@ -35,6 +35,26 @@
35
35
  --lexxy-color-selected-dark: var(--lexxy-color-blue);
36
36
  --lexxy-color-code-bg: var(--lexxy-color-ink-lightest);
37
37
 
38
+ --highlight-1: rgb(136, 118, 38);
39
+ --highlight-2: rgb(185, 94, 6);
40
+ --highlight-3: rgb(207, 0, 0);
41
+ --highlight-4: rgb(216, 28, 170);
42
+ --highlight-5: rgb(144, 19, 254);
43
+ --highlight-6: rgb(5, 98, 185);
44
+ --highlight-7: rgb(17, 138, 15);
45
+ --highlight-8: rgb(148, 82, 22);
46
+ --highlight-9: rgb(102, 102, 102);
47
+
48
+ --highlight-bg-1: rgba(229, 223, 6, 0.3);
49
+ --highlight-bg-2: rgba(255, 185, 87, 0.3);
50
+ --highlight-bg-3: rgba(255, 118, 118, 0.3);
51
+ --highlight-bg-4: rgba(248, 137, 216, 0.3);
52
+ --highlight-bg-5: rgba(190, 165, 255, 0.3);
53
+ --highlight-bg-6: rgba(124, 192, 252, 0.3);
54
+ --highlight-bg-7: rgba(140, 255, 129, 0.3);
55
+ --highlight-bg-8: rgba(221, 170, 123, 0.3);
56
+ --highlight-bg-9: rgba(200, 200, 200, 0.3);
57
+
38
58
  /* Typography */
39
59
  --lexxy-font-base: system-ui, sans-serif;
40
60
  --lexxy-font-mono: ui-monospace, "Menlo", "Monaco", Consolas, monospace;
data/config/ci.rb ADDED
@@ -0,0 +1,13 @@
1
+ # Run using bin/ci
2
+
3
+ CI.run do
4
+ step "Style: Ruby", "bin/rubocop -f github"
5
+ step "Style: JavaScript", "yarn lint"
6
+
7
+ step "Tests: prepare", "env RAILS_ENV=test bin/rails db:test:prepare"
8
+ step "Tests: run", "env RAILS_ENV=test bin/rails test:all -d"
9
+
10
+ unless success?
11
+ failure "Signoff: CI failed.", "Fix the issues and try again."
12
+ end
13
+ end
data/lib/lexxy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lexxy
2
- VERSION = "0.1.20.beta"
2
+ VERSION = "0.1.21.beta"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lexxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.20.beta
4
+ version: 0.1.21.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jorge Manrubia
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-11-07 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails
@@ -136,6 +136,7 @@ files:
136
136
  - app/views/people/_person.html.erb
137
137
  - app/views/people/_prompt_item.html.erb
138
138
  - app/views/people/index.html.erb
139
+ - config/ci.rb
139
140
  - config/routes.rb
140
141
  - lib/action_text/attachables/remote_video.rb
141
142
  - lib/active_storage/blob_with_preview_url.rb
@@ -169,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
170
  - !ruby/object:Gem::Version
170
171
  version: '0'
171
172
  requirements: []
172
- rubygems_version: 3.6.2
173
+ rubygems_version: 3.6.9
173
174
  specification_version: 4
174
175
  summary: A new editor for Action Text based on Meta's Lexical framework.
175
176
  test_files: []