atome 0.5.4.1.7 → 0.5.4.1.9
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 +4 -4
- data/CHANGELOG.md +4 -1
- data/lib/atome/renderers/browser/atome.rb +29 -10
- data/lib/atome/renderers/browser/helpers/color_helper.rb +23 -8
- data/lib/atome/renderers/browser/material.rb +21 -21
- data/lib/atome/renderers/browser/opal_add_on.rb +30 -29
- data/lib/atome/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4feb89bd1af8453078bbe9c826af8f6176c321ee7b155e109c3b8a3f6033e87e
         | 
| 4 | 
            +
              data.tar.gz: 7d13f98dde5fbafb74f27eae1ea4fe025ef7de735c939414cc23708205963a6f
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 82eca49b901057c6070c7db3f64496efee49b63833a27b6b0dc2388a32a7cf1e6b37a7531bec2e9272f963f9d39f75ae7884c20d89cbe1482c0abe58dc674b6e
         | 
| 7 | 
            +
              data.tar.gz: c1013e2b38c94c2a46fef8aa91fade3361ef952d71be71e7ddbeada26955c43a7ce21e252a5ceadf954fd4a8ea96faf7298f5666be5db9311b1478f6280d834e
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -15,4 +15,7 @@ vector now use class instead of a local style | |
| 15 15 | 
             
            ## [0.5.4.1.7] - 2023-05-25
         | 
| 16 16 |  | 
| 17 17 | 
             
            remove "shape :pre" and move the condition when using :definition to atome_common , because of a bug that remove all 
         | 
| 18 | 
            -
            attached atome  
         | 
| 18 | 
            +
            attached atome  
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            ## [0.5.4.1.8] - 2023-05-25
         | 
| 21 | 
            +
            Ready to add gradient color now systematically use a variable for each component( Red, green , blue , alpha)  
         | 
| @@ -23,17 +23,17 @@ generator.build_render(:browser_shape) do | |
| 23 23 | 
             
            end
         | 
| 24 24 |  | 
| 25 25 | 
             
            generator.build_render(:browser_color) do |_value|
         | 
| 26 | 
            -
              puts | 
| 26 | 
            +
              puts " @atome[:id] : #{@atome[:id]}"
         | 
| 27 27 | 
             
              @browser_type = :style
         | 
| 28 28 | 
             
              # puts "1 - for the id  : #{id} the browser type is  ::::> #{@browser_type}"
         | 
| 29 29 | 
             
              id_found = @atome[:id]
         | 
| 30 30 | 
             
              # type_found = @atome[:type]
         | 
| 31 31 | 
             
              # we remove previous unused style tag
         | 
| 32 32 | 
             
              BrowserHelper.browser_document[id]&.remove
         | 
| 33 | 
            -
               | 
| 34 | 
            -
               | 
| 35 | 
            -
               | 
| 36 | 
            -
               | 
| 33 | 
            +
              red = @atome[:red]
         | 
| 34 | 
            +
              green = @atome[:green]
         | 
| 35 | 
            +
              blue = @atome[:blue]
         | 
| 36 | 
            +
              alpha = @atome[:alpha]
         | 
| 37 37 | 
             
              ########################### old code ###########################
         | 
| 38 38 | 
             
              #   BrowserHelper.browser_document.head << Browser.DOM("<style atome='#{type_found}'
         | 
| 39 39 | 
             
              #   id='#{id_found}'>.#{id_found}{
         | 
| @@ -47,11 +47,30 @@ generator.build_render(:browser_color) do |_value| | |
| 47 47 | 
             
              ########################### new code ###########################
         | 
| 48 48 | 
             
              atomic_style = BrowserHelper.browser_document['#atomic_style']
         | 
| 49 49 |  | 
| 50 | 
            +
              #   class_content = <<STR
         | 
| 51 | 
            +
              # .#{id_found} {
         | 
| 52 | 
            +
              #   --#{id_found}_r : #{red * 255}
         | 
| 53 | 
            +
              #   --#{id_found}_g : #{green * 255}
         | 
| 54 | 
            +
              #   --#{id_found}_b : #{blue * 255}
         | 
| 55 | 
            +
              #   --#{id_found}_a : #{alpha}
         | 
| 56 | 
            +
              #   --#{id_found}_col : rgba(var(--#{id_found}_r ),var(--#{id_found}_g ),var(--#{id_found}_b ),var(--#{id_found}_a ))
         | 
| 57 | 
            +
              #
         | 
| 58 | 
            +
              #   background-color: rgba(#{red * 255}, #{green * 255}, #{blue * 255}, #{alpha});
         | 
| 59 | 
            +
              #   fill: rgba(#{red * 255}, #{green * 255}, #{blue * 255}, #{alpha});
         | 
| 60 | 
            +
              #   stroke: rgba(#{red * 255}, #{green * 255}, #{blue * 255}, #{alpha});
         | 
| 61 | 
            +
              # }
         | 
| 62 | 
            +
              # STR
         | 
| 63 | 
            +
             | 
| 50 64 | 
             
              class_content = <<STR
         | 
| 51 65 | 
             
            .#{id_found} {
         | 
| 52 | 
            -
               | 
| 53 | 
            -
               | 
| 54 | 
            -
               | 
| 66 | 
            +
              --#{id_found}_r : #{red * 255};
         | 
| 67 | 
            +
              --#{id_found}_g : #{green * 255};
         | 
| 68 | 
            +
              --#{id_found}_b : #{blue * 255};
         | 
| 69 | 
            +
              --#{id_found}_a : #{alpha};
         | 
| 70 | 
            +
              --#{id_found}_col : rgba(var(--#{id_found}_r ),var(--#{id_found}_g ),var(--#{id_found}_b ),var(--#{id_found}_a ));
         | 
| 71 | 
            +
              background-color: var(--#{id_found}_col);
         | 
| 72 | 
            +
              fill:  var(--#{id_found}_col);
         | 
| 73 | 
            +
              stroke:  var(--#{id_found}_col);
         | 
| 55 74 | 
             
            }
         | 
| 56 75 | 
             
            STR
         | 
| 57 76 |  | 
| @@ -114,8 +133,8 @@ STR | |
| 114 133 | 
             
                  atomic_style.text += class_content
         | 
| 115 134 | 
             
                end
         | 
| 116 135 | 
             
              end
         | 
| 117 | 
            -
            #
         | 
| 118 | 
            -
            #   @browser_object = BrowserHelper.browser_document[id_found]
         | 
| 136 | 
            +
              #
         | 
| 137 | 
            +
              #   @browser_object = BrowserHelper.browser_document[id_found]
         | 
| 119 138 |  | 
| 120 139 | 
             
            end
         | 
| 121 140 |  | 
| @@ -2,14 +2,20 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            # for browser rendering
         | 
| 4 4 | 
             
            module BrowserHelper
         | 
| 5 | 
            -
              def self.browser_colorize_color( | 
| 5 | 
            +
              def self.browser_colorize_color(red, green, blue, alpha, atome)
         | 
| 6 6 | 
             
                ########################### new code ###########################
         | 
| 7 7 | 
             
                id_found=atome[:id]
         | 
| 8 | 
            +
                # color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
         | 
| 8 9 | 
             
                new_class_content = <<STR
         | 
| 9 10 | 
             
            .#{id_found} {
         | 
| 10 | 
            -
               | 
| 11 | 
            -
               | 
| 12 | 
            -
               | 
| 11 | 
            +
              --#{id_found}_r : #{red * 255};
         | 
| 12 | 
            +
              --#{id_found}_g : #{green * 255};
         | 
| 13 | 
            +
              --#{id_found}_b : #{blue * 255};
         | 
| 14 | 
            +
              --#{id_found}_a : #{alpha};
         | 
| 15 | 
            +
              --#{id_found}_col : rgba(var(--#{id_found}_r ),var(--#{id_found}_g ),var(--#{id_found}_b ),var(--#{id_found}_a ));
         | 
| 16 | 
            +
              background-color: var(--#{id_found}_col);
         | 
| 17 | 
            +
              fill:  var(--#{id_found}_col);
         | 
| 18 | 
            +
              stroke:  var(--#{id_found}_col);
         | 
| 13 19 | 
             
            }
         | 
| 14 20 | 
             
            STR
         | 
| 15 21 |  | 
| @@ -32,13 +38,16 @@ STR | |
| 32 38 |  | 
| 33 39 | 
             
              end
         | 
| 34 40 |  | 
| 35 | 
            -
              def self.browser_colorize_shadow( | 
| 36 | 
            -
                "new shadow color is : #{color_updated}"
         | 
| 37 | 
            -
                puts "=====> #{color_updated} : #{atome}"
         | 
| 41 | 
            +
              def self.browser_colorize_shadow(red, green, blue, alpha, atome)
         | 
| 42 | 
            +
                # "new shadow color is : #{color_updated}"
         | 
| 43 | 
            +
                # puts "=====> #{color_updated} : #{atome}"
         | 
| 44 | 
            +
                # TODO: check if we need to use variable for the color or let it like it is!
         | 
| 38 45 | 
             
                left = atome[:left]
         | 
| 39 46 | 
             
                top = atome[:top]
         | 
| 40 47 | 
             
                blur = atome[:blur]
         | 
| 41 48 | 
             
                direction = atome[:direction]
         | 
| 49 | 
            +
             | 
| 50 | 
            +
             | 
| 42 51 | 
             
                # shadow_updated = "#{left}px #{top}px #{blur}px #{color_updated} #{direction}"
         | 
| 43 52 | 
             
                # `document.getElementById(#{atome[:id]}).sheet.cssRules[0].style.boxShadow = #{shadow_updated}`
         | 
| 44 53 |  | 
| @@ -46,7 +55,13 @@ STR | |
| 46 55 | 
             
                id_found= atome[:id]
         | 
| 47 56 | 
             
                class_content = <<STR
         | 
| 48 57 | 
             
            .#{id_found} {
         | 
| 49 | 
            -
               | 
| 58 | 
            +
              --#{id_found}_r : #{red * 255};
         | 
| 59 | 
            +
              --#{id_found}_g : #{green * 255};
         | 
| 60 | 
            +
              --#{id_found}_b : #{blue * 255};
         | 
| 61 | 
            +
              --#{id_found}_a : #{alpha};
         | 
| 62 | 
            +
              --#{id_found}_col : rgba(var(--#{id_found}_r ),var(--#{id_found}_g ),var(--#{id_found}_b ),var(--#{id_found}_a ));
         | 
| 63 | 
            +
             | 
| 64 | 
            +
              box-shadow: #{left}px #{top}px #{blur}px var(--#{id_found}_col) #{direction};
         | 
| 50 65 | 
             
            }
         | 
| 51 66 | 
             
            STR
         | 
| 52 67 |  | 
| @@ -3,46 +3,46 @@ | |
| 3 3 | 
             
            generator = Genesis.generator
         | 
| 4 4 |  | 
| 5 5 | 
             
            generator.build_render(:red) do |value|
         | 
| 6 | 
            -
              red = ( | 
| 7 | 
            -
              green = @atome[:green] | 
| 8 | 
            -
              blue = @atome[:blue] | 
| 6 | 
            +
              red = (@atome[:red] = value)
         | 
| 7 | 
            +
              green = @atome[:green]
         | 
| 8 | 
            +
              blue = @atome[:blue]
         | 
| 9 9 | 
             
              alpha = @atome[:alpha]
         | 
| 10 | 
            -
              color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
         | 
| 11 | 
            -
              BrowserHelper.send("browser_colorize_#{@atome[:type]}",  | 
| 10 | 
            +
              # color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
         | 
| 11 | 
            +
              BrowserHelper.send("browser_colorize_#{@atome[:type]}", red, green, blue, alpha, @atome)
         | 
| 12 12 | 
             
              # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
         | 
| 13 13 | 
             
              self
         | 
| 14 14 | 
             
            end
         | 
| 15 15 |  | 
| 16 16 | 
             
            generator.build_render(:green) do |value|
         | 
| 17 17 | 
             
              # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
         | 
| 18 | 
            -
              red = @atome[:red] | 
| 19 | 
            -
              green = (@atome[:green] = value) | 
| 20 | 
            -
              blue = @atome[:blue] | 
| 18 | 
            +
              red = @atome[:red]
         | 
| 19 | 
            +
              green = (@atome[:green] = value)
         | 
| 20 | 
            +
              blue = @atome[:blue]
         | 
| 21 21 | 
             
              alpha = @atome[:alpha]
         | 
| 22 | 
            -
              color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
         | 
| 23 | 
            -
              BrowserHelper.send("browser_colorize_#{@atome[:type]}",  | 
| 22 | 
            +
              # color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
         | 
| 23 | 
            +
              BrowserHelper.send("browser_colorize_#{@atome[:type]}", red, green, blue, alpha, @atome)
         | 
| 24 24 | 
             
              # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
         | 
| 25 25 | 
             
              self
         | 
| 26 26 | 
             
            end
         | 
| 27 27 |  | 
| 28 28 | 
             
            generator.build_render(:blue) do |value|
         | 
| 29 | 
            -
              red = @atome[:red] | 
| 30 | 
            -
              green = @atome[:green] | 
| 31 | 
            -
              blue = (@atome[:blue] = value) | 
| 29 | 
            +
              red = @atome[:red]
         | 
| 30 | 
            +
              green = @atome[:green]
         | 
| 31 | 
            +
              blue = (@atome[:blue] = value)
         | 
| 32 32 | 
             
              alpha = @atome[:alpha]
         | 
| 33 | 
            -
              color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
         | 
| 34 | 
            -
              BrowserHelper.send("browser_colorize_#{@atome[:type]}",  | 
| 33 | 
            +
              # color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
         | 
| 34 | 
            +
              BrowserHelper.send("browser_colorize_#{@atome[:type]}", red, green, blue, alpha, @atome)
         | 
| 35 35 | 
             
              # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
         | 
| 36 36 | 
             
              self
         | 
| 37 37 | 
             
            end
         | 
| 38 38 |  | 
| 39 39 | 
             
            generator.build_render(:alpha) do |value|
         | 
| 40 | 
            -
              red = @atome[:red] | 
| 41 | 
            -
              green = @atome[:green] | 
| 42 | 
            -
              blue = @atome[:blue] | 
| 40 | 
            +
              red = @atome[:red]
         | 
| 41 | 
            +
              green = @atome[:green]
         | 
| 42 | 
            +
              blue = @atome[:blue]
         | 
| 43 43 | 
             
              alpha = (@atome[:alpha] = value)
         | 
| 44 | 
            -
              color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
         | 
| 45 | 
            -
              BrowserHelper.send("browser_colorize_#{@atome[:type]}",  | 
| 44 | 
            +
              # color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
         | 
| 45 | 
            +
              BrowserHelper.send("browser_colorize_#{@atome[:type]}", red, green, blue, alpha, @atome)
         | 
| 46 46 | 
             
              # we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
         | 
| 47 47 | 
             
              self
         | 
| 48 48 | 
             
            end
         | 
| @@ -89,7 +89,7 @@ new ({ browser: :opacity }) do |value| | |
| 89 89 | 
             
            end
         | 
| 90 90 |  | 
| 91 91 | 
             
            new ({ browser: :definition }) do |value|
         | 
| 92 | 
            -
              target=id
         | 
| 92 | 
            +
              target = id
         | 
| 93 93 | 
             
              `
         | 
| 94 94 |  | 
| 95 95 | 
             
            var divElement =  document.querySelector('#'+#{target});;
         | 
| @@ -1,31 +1,32 @@ | |
| 1 | 
            -
            def add_new_class(class_name, tag_name, tag_content)
         | 
| 1 | 
            +
            # def add_new_class(class_name, tag_name, tag_content)
         | 
| 2 | 
            +
            #
         | 
| 3 | 
            +
            # `
         | 
| 4 | 
            +
            #   var styleTag = document.getElementById("atomic_style");
         | 
| 5 | 
            +
            #   styleTag.innerHTML += "\n."+#{class_name}+'{\n '+#{tag_name}+': '+#{tag_content}+';\n}\n\n\n\n';
         | 
| 6 | 
            +
            # `
         | 
| 7 | 
            +
            # end
         | 
| 8 | 
            +
            #
         | 
| 9 | 
            +
            # add_new_class('new_class', 'background-color','yellow')
         | 
| 10 | 
            +
            # add_new_class('other_class', 'color','red')
         | 
| 2 11 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 12 | 
            +
            # def update_css_tag(tag_name, var_name, value)
         | 
| 13 | 
            +
            #   alert "this code doesn't work with chrome"
         | 
| 14 | 
            +
            #   `
         | 
| 15 | 
            +
            #   var rules = null;
         | 
| 16 | 
            +
            #       var cssRules = document.styleSheets[0].cssRules;
         | 
| 17 | 
            +
            #       for (var i = 0; i < cssRules.length; i++) {
         | 
| 18 | 
            +
            #       var rule = cssRules[i];
         | 
| 19 | 
            +
            #       if (rule.selectorText === '.'+#{tag_name}) {
         | 
| 20 | 
            +
            #         rules = rule;
         | 
| 21 | 
            +
            #         break;
         | 
| 22 | 
            +
            #       }
         | 
| 23 | 
            +
            #       }
         | 
| 24 | 
            +
            #
         | 
| 25 | 
            +
            #       if (rules) {
         | 
| 26 | 
            +
            #
         | 
| 27 | 
            +
            #       rules.style.setProperty(#{var_name}, #{value});
         | 
| 28 | 
            +
            #       }
         | 
| 29 | 
            +
            # `
         | 
| 30 | 
            +
            # end
         | 
| 8 31 |  | 
| 9 | 
            -
             | 
| 10 | 
            -
            add_new_class('other_class', 'color','red')
         | 
| 11 | 
            -
             | 
| 12 | 
            -
            def update_css_tag(tag_name, var_name, value)
         | 
| 13 | 
            -
              `
         | 
| 14 | 
            -
              var rules = null;
         | 
| 15 | 
            -
                  var cssRules = document.styleSheets[0].cssRules;
         | 
| 16 | 
            -
                  for (var i = 0; i < cssRules.length; i++) {
         | 
| 17 | 
            -
                  var rule = cssRules[i];
         | 
| 18 | 
            -
                  if (rule.selectorText === '.'+#{tag_name}) {
         | 
| 19 | 
            -
                    rules = rule;
         | 
| 20 | 
            -
                    break;
         | 
| 21 | 
            -
                  }
         | 
| 22 | 
            -
                  }
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                  if (rules) {
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                  rules.style.setProperty(#{var_name}, #{value});
         | 
| 27 | 
            -
                  }
         | 
| 28 | 
            -
            `
         | 
| 29 | 
            -
            end
         | 
| 30 | 
            -
             | 
| 31 | 
            -
            update_css_tag('other_class', '--end-color', 'blue')
         | 
| 32 | 
            +
            # update_css_tag('other_class', '--end-color', 'blue')
         | 
    
        data/lib/atome/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: atome
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.5.4.1. | 
| 4 | 
            +
              version: 0.5.4.1.9
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jean-Eric Godard
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2023-05- | 
| 11 | 
            +
            date: 2023-05-30 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: arduino_firmata
         |