utility_palettes 1.0.6 → 1.0.7

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: 1d8f31793c6a4e60c252482c30055502d70144de5bed9d23df9de024db4368f1
4
- data.tar.gz: 5ced674f30ca462a559654de7316a3b62613fbbad08e491f1869c2d7c7c9e9d6
3
+ metadata.gz: 4e50a9ba1974c7ad508f05d4b60f4d868a160031c36c503df679d3a4db30b258
4
+ data.tar.gz: d828cbc001cc3f2601f0ce9ea6959d35845d60636d8944d32357cc6b979eb1b2
5
5
  SHA512:
6
- metadata.gz: abbf9cf347cf917305600ee6c8a844a2775a55e33e4e03021780c944a8b8c11063c5f009ef6c22f878d8f88b613675af47a4db6bdb55ddc069d6aed70784077b
7
- data.tar.gz: 355f1c3c73f49348332ea1f65fcf72a0ca1ab0f18b6491973f5c773e14948c8f21b9764563c0f888471fe52d77b41d63b09dfc503be2a486f7c467cedcfae7e7
6
+ metadata.gz: 5b65fd127485c342042fe364c6cd06aa337dea97e4b333f194815b4be4b5e4659e9e08f604479fed3100ce35e8a96de1058ce9b512ca77175983a3c01ccc8706
7
+ data.tar.gz: 204720c9fca51a36b5d220eb040a1630e1535663bc807883a53ca5b205fac4e91788f7f5eec48d37bdc8da7423c73cb031fe8b9c339a751dc0f7bd80ecde89d7
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # UtilityPalettes
2
2
 
3
- ![Static Badge](https://img.shields.io/badge/Gem_Version-1.0.6-blue)
3
+ ![Static Badge](https://img.shields.io/badge/Gem_Version-1.0.7-blue)
4
4
  [![Static Badge](https://img.shields.io/badge/RubyGems-red)](https://rubygems.org/gems/utility_palettes)
5
5
 
6
6
  > Generate your own colour palettes in an instance.
@@ -1,107 +1,107 @@
1
- # frozen_string_literal: true
2
-
3
- module UtilityPalettes
4
- class Swatch
5
- # ? Single Colour's Palette
6
- # a function to create an absolute palette that incorporates a single colour input
7
- def self.absolute_generator(label, base_colour)
8
- @method = UtilityPalettes.configuration.method
9
-
10
- # colours are index inversely to their lightness
11
- base_level = UtilityPalettes::Swatch.base_lightness_index(base_colour)
12
- generated_absolute_swatches = { UtilityPalettes::Swatch.label(label, base_level) => base_colour }
13
-
14
- # TODO: remove once confident the lower loop is equivalent to these
15
- # # Lighter colours
16
- # # calc the space available to create lightened colours based off the base colour
17
- # if base_level.positive?
18
- # (0..base_level).each do |new_level|
19
- # new_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, new_level)
20
- # generated_absolute_swatches = {}.merge(generated_absolute_swatches, { UtilityPalettes::Swatch.label(label, new_level) => new_colour })
21
- # end
22
- # end
23
-
24
- # # Darker colours
25
- # # calc the space available to create darkened colours based off the base colour
26
- # if base_level < 9
27
- # (base_level..9).each do |new_level|
28
- # new_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, new_level)
29
- # generated_absolute_swatches = {}.merge(generated_absolute_swatches, { UtilityPalettes::Swatch.label(label, new_level) => new_colour })
30
- # end
31
- # end
32
-
33
- if base_level.positive?
34
- (0..9).each do |new_level|
35
- new_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, new_level)
36
- generated_absolute_swatches.merge!({ UtilityPalettes::Swatch.label(label, new_level) => new_colour })
37
- end
38
- end
39
-
40
- generated_absolute_swatches
41
- end
42
-
43
- # ? Single Colour's Relative Palette
44
- # a function to create a relative palette centred on a single colour input
45
- def self.relative_generator(label, base_colour)
46
- @method = UtilityPalettes.configuration.method
47
-
48
- lighter_colour = nil
49
- darker_colour = nil
50
-
51
- # colours are index inversely to their lightness
52
- base_level = UtilityPalettes::Swatch.base_lightness_index(base_colour)
53
- generated_relative_swatches = { label => base_colour }
54
-
55
- # Lighter Colour
56
- if base_level > 1
57
- lighter_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, base_level + 2)
58
- elsif base_level.positive?
59
- lighter_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, base_level + 1)
60
- else
61
- lighter_colour = base_colour # TODO: should this be differently? but needs to return something for output loop
62
- end
63
-
64
- # Darker Colour
65
- if base_level < 8
66
- darker_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, base_level - 2)
67
- elsif base_level < 9
68
- darker_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, base_level - 1)
69
- else
70
- darker_colour = base_colour # TODO: should this be differently? but needs to return something for output loop
71
- end
72
-
73
- generated_relative_swatches.merge!({ "#{label}-light" => lighter_colour })
74
- generated_relative_swatches.merge!({ "#{label}-dark" => darker_colour })
75
-
76
- generated_relative_swatches
77
- end
78
-
79
- def self.base_lightness_index(colour)
80
- 9 - (colour.hsl[:l] / 10).floor
81
- end
82
-
83
- def self.label(label, index)
84
- levels = { '0' => 50, '1' => 100, '2' => 200, '3' => 300, '4' => 400, '5' => 500, '6' => 600, '7' => 700, '8' => 800, '9' => 900 }
85
-
86
- [label, levels.dig(index.to_s)].join('-')
87
- end
88
-
89
- # TODO: create other sequence methods
90
- # ? How to Calculate the next colour in the Palette
91
- def self.generate(colour, base_level, new_level)
92
- case @method
93
- when 'hsl'
94
- UtilityPalettes::Sequences.hsl(colour, new_level - base_level)
95
- when 'rgb'
96
- # TODO
97
- else
98
- UtilityPalettes::Sequences.hsl(colour, new_level - base_level)
99
- end
100
- end
101
-
102
- def build_step_check
103
- # const ALL_LEVELS = [50, 100, 200, 300, 400, 600, 700, 800, 900];
104
- # const levels = options.levels == null ? ALL_LEVELS : options.levels.filter(level => ALL_LEVELS.includes(level));
105
- end
106
- end
107
- end
1
+ # frozen_string_literal: true
2
+
3
+ module UtilityPalettes
4
+ class Swatch
5
+ # ? Single Colour's Palette
6
+ # a function to create an absolute palette that incorporates a single colour input
7
+ def self.absolute_generator(label, base_colour)
8
+ @method = UtilityPalettes.configuration.method
9
+
10
+ # colours are index inversely to their lightness
11
+ base_level = UtilityPalettes::Swatch.base_lightness_index(base_colour)
12
+ generated_absolute_swatches = { UtilityPalettes::Swatch.label(label, base_level) => base_colour }
13
+
14
+ # TODO: remove once confident the lower loop is equivalent to these
15
+ # # Lighter colours
16
+ # # calc the space available to create lightened colours based off the base colour
17
+ # if base_level.positive?
18
+ # (0..base_level).each do |new_level|
19
+ # new_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, new_level)
20
+ # generated_absolute_swatches = {}.merge(generated_absolute_swatches, { UtilityPalettes::Swatch.label(label, new_level) => new_colour })
21
+ # end
22
+ # end
23
+
24
+ # # Darker colours
25
+ # # calc the space available to create darkened colours based off the base colour
26
+ # if base_level < 9
27
+ # (base_level..9).each do |new_level|
28
+ # new_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, new_level)
29
+ # generated_absolute_swatches = {}.merge(generated_absolute_swatches, { UtilityPalettes::Swatch.label(label, new_level) => new_colour })
30
+ # end
31
+ # end
32
+
33
+ unless base_level.negative?
34
+ (0..9).each do |new_level|
35
+ new_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, new_level)
36
+ generated_absolute_swatches.merge!({ UtilityPalettes::Swatch.label(label, new_level) => new_colour })
37
+ end
38
+ end
39
+
40
+ generated_absolute_swatches
41
+ end
42
+
43
+ # ? Single Colour's Relative Palette
44
+ # a function to create a relative palette centred on a single colour input
45
+ def self.relative_generator(label, base_colour)
46
+ @method = UtilityPalettes.configuration.method
47
+
48
+ lighter_colour = nil
49
+ darker_colour = nil
50
+
51
+ # colours are index inversely to their lightness
52
+ base_level = UtilityPalettes::Swatch.base_lightness_index(base_colour)
53
+ generated_relative_swatches = { label => base_colour }
54
+
55
+ # Lighter Colour
56
+ if base_level > 1
57
+ lighter_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, base_level + 2)
58
+ elsif base_level.positive?
59
+ lighter_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, base_level + 1)
60
+ else
61
+ lighter_colour = base_colour # TODO: should this be differently? but needs to return something for output loop
62
+ end
63
+
64
+ # Darker Colour
65
+ if base_level < 8
66
+ darker_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, base_level - 2)
67
+ elsif base_level < 9
68
+ darker_colour = UtilityPalettes::Swatch.generate(base_colour, base_level, base_level - 1)
69
+ else
70
+ darker_colour = base_colour # TODO: should this be differently? but needs to return something for output loop
71
+ end
72
+
73
+ generated_relative_swatches.merge!({ "#{label}-light" => lighter_colour })
74
+ generated_relative_swatches.merge!({ "#{label}-dark" => darker_colour })
75
+
76
+ generated_relative_swatches
77
+ end
78
+
79
+ def self.base_lightness_index(colour)
80
+ 9 - (colour.hsl[:l] / 10).floor
81
+ end
82
+
83
+ def self.label(label, index)
84
+ levels = { '0' => 50, '1' => 100, '2' => 200, '3' => 300, '4' => 400, '5' => 500, '6' => 600, '7' => 700, '8' => 800, '9' => 900 }
85
+
86
+ [label, levels.dig(index.to_s)].join('-')
87
+ end
88
+
89
+ # TODO: create other sequence methods
90
+ # ? How to Calculate the next colour in the Palette
91
+ def self.generate(colour, base_level, new_level)
92
+ case @method
93
+ when 'hsl'
94
+ UtilityPalettes::Sequences.hsl(colour, new_level - base_level)
95
+ when 'rgb'
96
+ # TODO
97
+ else
98
+ UtilityPalettes::Sequences.hsl(colour, new_level - base_level)
99
+ end
100
+ end
101
+
102
+ def build_step_check
103
+ # const ALL_LEVELS = [50, 100, 200, 300, 400, 600, 700, 800, 900];
104
+ # const levels = options.levels == null ? ALL_LEVELS : options.levels.filter(level => ALL_LEVELS.includes(level));
105
+ end
106
+ end
107
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UtilityPalettes
4
- VERSION = '1.0.6'
4
+ VERSION = '1.0.7'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utility_palettes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Louis Davis