isomorfeus-preact 10.6.4 → 10.6.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9139d86ae5d30b8cbd21428ec5d04f9b94947af601b23ad99a1ddf1b4c5a0bb3
4
- data.tar.gz: 9d88925436a0af3b9fdbaf471270be083e8a4eeb15e4006e259904a710ba75af
3
+ metadata.gz: 5757a53a68a0b01e3f2b9ac36e1fd96cfdeeceb479c7d7db04b45f7ce50c5e3d
4
+ data.tar.gz: 983b3d47c597cc1843c2db9022d96258155bd99b73fe38e78b74ea1b5f9fd68b
5
5
  SHA512:
6
- metadata.gz: 17943e26b2bab061b6c9a8e9e10800d6728af6d1d644460a1cbddedb770d27415cd41a35076f57809d0b45090d5ff4d5dee874781f13c49baf043a2ac6a84809
7
- data.tar.gz: 3953c11f9b646dbf0652b6e1906e04677ad91d62e8021b0cb57e7098ae9a54cb80572280bf40df95d85d18baebd472e1f0e1d0ab88097ce1ebee92c7ba0f7e78
6
+ metadata.gz: 71b008c2f87eb8d66bb1986f9b9e1fb9296768a3a60f3e023c50c14e5f65e178e000fc3ea42134272a2182720a85228e64bb7d11dfc0e408cad0563f9ec5e549
7
+ data.tar.gz: f8d133a89b1a835add5e17b408d76cc359d52d8daa513606a50aafc9079689d087d7416236f5fa6100c0a70c788c02ef24ae58b6084bd1a13785b19b6dee4c46
data/README.md CHANGED
@@ -22,36 +22,36 @@ apply, but in the Ruby way, see:
22
22
  - [https://preactjs.com/guide/v10/getting-started](https://preactjs.com/guide/v10/getting-started)
23
23
 
24
24
  Component Types:
25
- - [Class Component](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/class_component.md)
26
- - [Function and Memo Component](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/function_component.md)
27
- - [Lucid App, Lucid Component](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/lucid_component.md)
28
- - [Lucid Func (for use with Hooks)](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/lucid_func_component.md)
29
- - [Preact Javascript Components and Preact Elements](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/javascript_component.md)
25
+ - [Class Component](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/class_component.md)
26
+ - [Function and Memo Component](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/function_component.md)
27
+ - [Lucid App, Lucid Component](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/lucid_component.md)
28
+ - [Lucid Func (for use with Hooks)](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/lucid_func_component.md)
29
+ - [Preact Javascript Components and Preact Elements](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/javascript_component.md)
30
30
 
31
31
  Which component to use?
32
32
  - Usually LucidApp and LucidComponent.
33
33
 
34
34
  Specific to Class, Lucid and LucidMaterial Components:
35
- - [Events](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/events.md)
36
- - [Lifecycle Callbacks](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/lifecycle_callbacks.md)
37
- - [Props](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/props.md)
38
- - [State](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/state.md)
35
+ - [Events](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/events.md)
36
+ - [Lifecycle Callbacks](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/lifecycle_callbacks.md)
37
+ - [Props](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/props.md)
38
+ - [State](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/state.md)
39
39
 
40
40
  For all Components:
41
- - [Accessibility](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/accessibility.md)
42
- - [Render Blocks](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/render_blocks.md)
43
- - [Rendering HTML or SVG Elements](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/rendering_elements.md)
41
+ - [Accessibility](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/accessibility.md)
42
+ - [Render Blocks](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/render_blocks.md)
43
+ - [Rendering HTML or SVG Elements](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/rendering_elements.md)
44
44
 
45
45
  Special Preact Features:
46
- - [Context](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/context.md)
47
- - [Fragments](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/fragments.md)
48
- - [Refs](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/refs.md)
46
+ - [Context](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/context.md)
47
+ - [Fragments](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/fragments.md)
48
+ - [Refs](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/refs.md)
49
49
 
50
50
  Other Features:
51
- - [Hot Module Reloading](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/hot_module_reloading.md)
52
- - [Server Side Rendering](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/server_side_rendering.md)
53
- - [Using Wouter as Router](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/wouter.md)
54
- - [Isomorfeus Helpers](https://github.com/isomorfeus/isomorfeus-preact/blob/master/ruby/docs/isomorfeus_helpers.md)
51
+ - [Hot Module Reloading](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/hot_module_reloading.md)
52
+ - [Server Side Rendering](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/server_side_rendering.md)
53
+ - [Using Wouter as Router](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/wouter.md)
54
+ - [Isomorfeus Helpers](https://github.com/isomorfeus/isomorfeus-preact/blob/master/docs/isomorfeus_helpers.md)
55
55
 
56
56
  ### Development Tools
57
57
  The Preact Devtools allow for analyzing, debugging and profiling components. A very helpful toolset and working very nice with isomorfeus-preact:
@@ -2,6 +2,7 @@ module Isomorfeus
2
2
  module Preact
3
3
  module Imports
4
4
  def self.add
5
+ Isomorfeus.add_web_js_import('preact/debug') if Isomorfeus.development?
5
6
  Isomorfeus.add_common_js_import('preact', 'Preact', '*')
6
7
  Isomorfeus.add_common_js_import('preact/hooks', 'PreactHooks', '*')
7
8
  Isomorfeus.add_common_js_import('wouter-preact', nil, ['Router', 'Link', 'Redirect', 'Route', 'Switch'])
data/lib/nano_css.rb CHANGED
@@ -64,7 +64,7 @@ module NanoCSS
64
64
  var sheet = renderer.sh.sheet;
65
65
 
66
66
  // Unknown pseudo-selectors will throw, this try/catch swallows all errors.
67
- try { sheet.insertRule(rawCssRule, sheet.cssRules.length); }
67
+ try { sheet.insertRule(rawCssRule, sheet.cssRules.length); }
68
68
  catch (error) {}
69
69
  } else {
70
70
  // Test if .insertRule() works in dev mode. Unknown pseudo-selectors will throw when
@@ -126,8 +126,8 @@ module NanoCSS
126
126
 
127
127
  return renderer;
128
128
  };
129
- }
130
-
129
+ }
130
+
131
131
  # addons
132
132
 
133
133
  %x{
@@ -136,7 +136,7 @@ module NanoCSS
136
136
  if (process.env.NODE_ENV !== 'production') {
137
137
  blocks = {};
138
138
  }
139
-
139
+
140
140
  renderer.rule = function (css, block) {
141
141
  // Warn user if CSS selectors clash.
142
142
  if (process.env.NODE_ENV !== 'production') {
@@ -147,36 +147,36 @@ module NanoCSS
147
147
  'For example, use nano.rule({color: "red"}, "RedText").'
148
148
  );
149
149
  }
150
-
150
+
151
151
  if (blocks[block]) {
152
- console.error('Block name "' + block + '" used more than once.');
152
+ console.error('nano-css block name "' + block + '" used more than once.');
153
153
  }
154
-
154
+
155
155
  blocks[block] = 1;
156
156
  }
157
157
  }
158
-
158
+
159
159
  block = block || renderer.hash(css);
160
160
  block = renderer.pfx + block;
161
161
  renderer.put('.' + block, css);
162
-
162
+
163
163
  return ' ' + block;
164
164
  };
165
165
  };
166
166
  }
167
167
 
168
168
  %x{
169
- self.sheet = function (renderer) {
169
+ self.sheet = function (renderer) {
170
170
  renderer.sheet = function (map, block) {
171
171
  var result = {};
172
-
172
+
173
173
  if (!block) {
174
174
  block = renderer.hash(map);
175
175
  }
176
-
176
+
177
177
  var onElementModifier = function (elementModifier) {
178
178
  var styles = map[elementModifier];
179
-
179
+
180
180
  if ((process.env.NODE_ENV !== 'production') && renderer.sourcemaps) {
181
181
  // In dev mode emit CSS immediately to generate sourcemaps.
182
182
  result[elementModifier] = renderer.rule(styles, block + '-' + elementModifier);
@@ -186,22 +186,22 @@ module NanoCSS
186
186
  enumerable: true,
187
187
  get: function () {
188
188
  var classNames = renderer.rule(styles, block + '-' + elementModifier);
189
-
189
+
190
190
  Object.defineProperty(result, elementModifier, {
191
191
  value: classNames,
192
192
  enumerable: true
193
193
  });
194
-
194
+
195
195
  return classNames;
196
196
  },
197
197
  });
198
198
  }
199
199
  };
200
-
200
+
201
201
  for (var elementModifier in map) {
202
202
  onElementModifier(elementModifier);
203
203
  }
204
-
204
+
205
205
  return result;
206
206
  };
207
207
  };
@@ -216,11 +216,11 @@ module NanoCSS
216
216
  var len1 = parents.length;
217
217
  var len2 = selectors.length;
218
218
  var i, j, sel, pos, parent, replacedSelector;
219
-
219
+
220
220
  for (i = 0; i < len2; i++) {
221
221
  sel = selectors[i];
222
222
  pos = sel.indexOf('&');
223
-
223
+
224
224
  if (pos > -1) {
225
225
  for (j = 0; j < len1; j++) {
226
226
  parent = parents[j];
@@ -230,7 +230,7 @@ module NanoCSS
230
230
  } else {
231
231
  for (j = 0; j < len1; j++) {
232
232
  parent = parents[j];
233
-
233
+
234
234
  if (parent) {
235
235
  result.push(parent + ' ' + sel);
236
236
  } else {
@@ -239,7 +239,7 @@ module NanoCSS
239
239
  }
240
240
  }
241
241
  }
242
-
242
+
243
243
  return result.join(',');
244
244
  };
245
245
  };
@@ -248,28 +248,28 @@ module NanoCSS
248
248
  %x{
249
249
  self.hydrate = function (renderer) {
250
250
  var hydrated = {};
251
-
251
+
252
252
  renderer.hydrate = function (sh) {
253
253
  var cssRules = sh.cssRules || sh.sheet.cssRules;
254
-
254
+
255
255
  for (var i = 0; i < cssRules.length; i++)
256
256
  hydrated[cssRules[i].selectorText] = 1;
257
257
  };
258
-
258
+
259
259
  if (renderer.client) {
260
260
  if (renderer.sh) renderer.hydrate(renderer.sh);
261
-
261
+
262
262
  var put = renderer.put;
263
-
263
+
264
264
  renderer.put = function (selector, css) {
265
265
  if (selector in hydrated) return;
266
-
266
+
267
267
  put(selector, css);
268
268
  };
269
269
  }
270
270
  };
271
271
  }
272
-
272
+
273
273
  %x{
274
274
  var UNITLESS_NUMBER_PROPS = [
275
275
  'animation-iteration-count',
@@ -305,7 +305,7 @@ module NanoCSS
305
305
  'widows',
306
306
  'z-index',
307
307
  'zoom',
308
-
308
+
309
309
  // SVG-related properties
310
310
  'fill-opacity',
311
311
  'flood-opacity',
@@ -316,34 +316,34 @@ module NanoCSS
316
316
  'stroke-opacity',
317
317
  'stroke-width',
318
318
  ];
319
-
319
+
320
320
  var unitlessCssProperties = {};
321
-
321
+
322
322
  for (var i = 0; i < UNITLESS_NUMBER_PROPS.length; i++) {
323
323
  var prop = UNITLESS_NUMBER_PROPS[i];
324
-
324
+
325
325
  unitlessCssProperties[prop] = 1;
326
326
  unitlessCssProperties['-webkit-' + prop] = 1;
327
327
  unitlessCssProperties['-ms-' + prop] = 1;
328
328
  unitlessCssProperties['-moz-' + prop] = 1;
329
329
  unitlessCssProperties['-o-' + prop] = 1;
330
330
  }
331
-
331
+
332
332
  self.unitless = function (renderer) {
333
333
  var decl = renderer.decl;
334
-
334
+
335
335
  renderer.decl = function (prop, value) {
336
336
  var str = decl(prop, value);
337
-
337
+
338
338
  if (typeof value === 'number') {
339
339
  var pos = str.indexOf(':');
340
340
  var propKebab = str.substr(0, pos);
341
-
341
+
342
342
  if (!unitlessCssProperties[propKebab]) {
343
343
  return decl(prop, value + 'px');
344
344
  }
345
345
  }
346
-
346
+
347
347
  return str;
348
348
  };
349
349
  };
@@ -352,13 +352,13 @@ module NanoCSS
352
352
  %x{
353
353
  self.global = function (renderer) {
354
354
  var selector = renderer.selector;
355
-
355
+
356
356
  renderer.selector = function (parent, current) {
357
357
  if (parent.indexOf(':global') > -1) parent = '';
358
-
358
+
359
359
  return selector(parent, current);
360
360
  };
361
-
361
+
362
362
  renderer.global = function (css) {
363
363
  return renderer.put('', css);
364
364
  };
@@ -366,58 +366,58 @@ module NanoCSS
366
366
  }
367
367
 
368
368
  %x{
369
- self.keyframes = function (renderer, config) {
369
+ self.keyframes = function (renderer, config) {
370
370
  config = renderer.assign({
371
371
  prefixes: ['-webkit-', '-moz-', '-o-', ''],
372
372
  }, config || {});
373
-
373
+
374
374
  var prefixes = config.prefixes;
375
-
375
+
376
376
  if (renderer.client) {
377
377
  // Craete @keyframe Stylesheet `ksh`.
378
378
  document.head.appendChild(renderer.ksh = document.createElement('style'));
379
379
  }
380
-
380
+
381
381
  var putAt = renderer.putAt;
382
-
382
+
383
383
  renderer.putAt = function (__, keyframes, prelude) {
384
384
  // @keyframes
385
385
  if (prelude[1] === 'k') {
386
386
  var str = '';
387
-
387
+
388
388
  for (var keyframe in keyframes) {
389
389
  var decls = keyframes[keyframe];
390
390
  var strDecls = '';
391
-
391
+
392
392
  for (var prop in decls)
393
393
  strDecls += renderer.decl(prop, decls[prop]);
394
-
394
+
395
395
  str += keyframe + '{' + strDecls + '}';
396
396
  }
397
-
397
+
398
398
  for (var i = 0; i < prefixes.length; i++) {
399
399
  var prefix = prefixes[i];
400
400
  var rawKeyframes = prelude.replace('@keyframes', '@' + prefix + 'keyframes') + '{' + str + '}';
401
-
401
+
402
402
  if (renderer.client) {
403
403
  renderer.ksh.appendChild(document.createTextNode(rawKeyframes));
404
404
  } else {
405
405
  renderer.putRaw(rawKeyframes);
406
406
  }
407
407
  }
408
-
408
+
409
409
  return;
410
410
  }
411
-
411
+
412
412
  putAt(__, keyframes, prelude);
413
413
  };
414
-
414
+
415
415
  renderer.keyframes = function (keyframes, block) {
416
416
  if (!block) block = renderer.hash(keyframes);
417
417
  block = renderer.pfx + block;
418
-
418
+
419
419
  renderer.putAt('', keyframes, '@keyframes ' + block);
420
-
420
+
421
421
  return block;
422
422
  };
423
423
  };
@@ -434,7 +434,7 @@ module NanoCSS
434
434
  opacity: 1,
435
435
  }
436
436
  },
437
-
437
+
438
438
  '.fadeIn': {
439
439
  animation: 'fadeIn .4s linear',
440
440
  }
@@ -453,7 +453,7 @@ module NanoCSS
453
453
  opacity: 0,
454
454
  }
455
455
  },
456
-
456
+
457
457
  '.fadeOut': {
458
458
  animation: 'fadeOut .3s linear',
459
459
  'animation-fill-mode': 'forwards',
@@ -1,3 +1,3 @@
1
1
  module Preact
2
- VERSION = '10.6.4'
2
+ VERSION = '10.6.8'
3
3
  end
data/lib/preact.rb CHANGED
@@ -63,7 +63,7 @@ module Preact
63
63
  };
64
64
 
65
65
  self.native_to_ruby_event = function(event) {
66
- if (event.hasOwnProperty('target')) { return #{::Browser::Event.new(`event`)}; }
66
+ if ('target' in event) { return #{::Browser::Event.new(`event`)}; }
67
67
  else if (Array.isArray(event)) { return event; }
68
68
  else { return Opal.Hash.$new(event); }
69
69
  };
@@ -219,7 +219,7 @@ module Preact
219
219
  if (component.__c) { self.deep_force_update(component.__c); }
220
220
  else if (component.base) { self.update_components_from_dom(component.base); }
221
221
  };
222
-
222
+
223
223
  self.update_components_from_dom = function(node, fn) {
224
224
  let children = node.childNodes;
225
225
  for (let i=children && children.length; i--;) {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-preact
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.6.4
4
+ version: 10.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-25 00:00:00.000000000 Z
11
+ date: 2022-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.13.10
33
+ version: 3.13.11
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.13.10
40
+ version: 3.13.11
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: opal
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.4.0
47
+ version: 1.4.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.4.0
54
+ version: 1.4.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: opal-activesupport
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.14.2
89
+ version: 0.14.5
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.14.2
96
+ version: 0.14.5
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: isomorfeus-redux
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.4.7
117
+ version: 0.4.8
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.4.7
124
+ version: 0.4.8
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: dalli
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.5.6
173
+ version: 0.6.0
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.5.6
180
+ version: 0.6.0
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rake
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -471,7 +471,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
471
471
  - !ruby/object:Gem::Version
472
472
  version: '0'
473
473
  requirements: []
474
- rubygems_version: 3.2.32
474
+ rubygems_version: 3.3.3
475
475
  signing_key:
476
476
  specification_version: 4
477
477
  summary: Preact for the Isomorfeus Framework Project.