protos 0.4.1 → 0.4.2
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 +10 -1
- data/README.md +2 -1
- data/TODO.md +18 -0
- data/lib/protos/accordion/item.rb +2 -2
- data/lib/protos/accordion.rb +3 -9
- data/lib/protos/alert/actions.rb +1 -1
- data/lib/protos/alert/icon.rb +1 -1
- data/lib/protos/alert.rb +15 -13
- data/lib/protos/attributes.rb +3 -0
- data/lib/protos/avatar.rb +60 -32
- data/lib/protos/breadcrumbs.rb +1 -1
- data/lib/protos/card/actions.rb +1 -1
- data/lib/protos/card/body.rb +1 -1
- data/lib/protos/card/title.rb +1 -1
- data/lib/protos/card.rb +9 -7
- data/lib/protos/carousel/actions.rb +10 -10
- data/lib/protos/carousel/item.rb +1 -1
- data/lib/protos/carousel.rb +7 -5
- data/lib/protos/chat_bubble/content.rb +17 -12
- data/lib/protos/chat_bubble/footer.rb +1 -1
- data/lib/protos/chat_bubble/header.rb +1 -1
- data/lib/protos/chat_bubble/image.rb +1 -1
- data/lib/protos/chat_bubble.rb +10 -5
- data/lib/protos/collapse/content.rb +1 -1
- data/lib/protos/collapse/title.rb +1 -1
- data/lib/protos/collapse.rb +5 -1
- data/lib/protos/combobox.rb +1 -1
- data/lib/protos/command/dialog.rb +8 -8
- data/lib/protos/command/empty.rb +1 -1
- data/lib/protos/command/input.rb +12 -12
- data/lib/protos/command/list.rb +1 -1
- data/lib/protos/command/title.rb +1 -1
- data/lib/protos/drawer/content.rb +1 -1
- data/lib/protos/drawer/side.rb +6 -6
- data/lib/protos/drawer/trigger.rb +1 -1
- data/lib/protos/drawer.rb +2 -2
- data/lib/protos/dropdown/menu.rb +7 -7
- data/lib/protos/dropdown.rb +2 -2
- data/lib/protos/hero/content.rb +1 -1
- data/lib/protos/hero/overlay.rb +1 -1
- data/lib/protos/hero.rb +1 -1
- data/lib/protos/list/item.rb +4 -4
- data/lib/protos/list.rb +1 -4
- data/lib/protos/modal/close_button.rb +1 -4
- data/lib/protos/modal/dialog.rb +17 -12
- data/lib/protos/popover.rb +6 -6
- data/lib/protos/stats/actions.rb +1 -1
- data/lib/protos/stats/description.rb +1 -1
- data/lib/protos/stats/figure.rb +1 -1
- data/lib/protos/stats/stat.rb +1 -1
- data/lib/protos/stats/title.rb +1 -1
- data/lib/protos/stats/value.rb +1 -1
- data/lib/protos/stats.rb +1 -1
- data/lib/protos/steps/step.rb +49 -0
- data/lib/protos/steps.rb +27 -0
- data/lib/protos/swap/off.rb +1 -1
- data/lib/protos/swap/on.rb +1 -1
- data/lib/protos/swap.rb +1 -1
- data/lib/protos/table/caption.rb +15 -1
- data/lib/protos/table/cell.rb +13 -8
- data/lib/protos/table/head.rb +11 -18
- data/lib/protos/table.rb +9 -7
- data/lib/protos/tabs/tab.rb +1 -1
- data/lib/protos/tabs.rb +13 -7
- data/lib/protos/timeline/center.rb +1 -1
- data/lib/protos/timeline/left.rb +1 -1
- data/lib/protos/timeline/right.rb +1 -1
- data/lib/protos/toast/close_button.rb +1 -1
- data/lib/protos/toast.rb +19 -17
- data/lib/protos/token_list.rb +7 -1
- data/lib/protos/types.rb +0 -25
- data/lib/protos/typography/heading.rb +15 -13
- data/lib/protos/typography/inline_link.rb +6 -6
- data/lib/protos/typography/paragraph.rb +3 -3
- data/lib/protos/version.rb +1 -1
- data/lib/protos.rb +3 -0
- metadata +5 -2
data/lib/protos/tabs.rb
CHANGED
@@ -5,6 +5,13 @@ module Protos
|
|
5
5
|
# DOCS: A component that contains many Protos::Tab components
|
6
6
|
# https://daisyui.com/components/tab/
|
7
7
|
|
8
|
+
SIZES = {
|
9
|
+
xs: "tabs-xs",
|
10
|
+
sm: "tabs-sm",
|
11
|
+
md: "tabs-md",
|
12
|
+
lg: "tabs-lg"
|
13
|
+
}.freeze
|
14
|
+
|
8
15
|
option :type,
|
9
16
|
default: -> { :default },
|
10
17
|
reader: false,
|
@@ -33,12 +40,7 @@ module Protos
|
|
33
40
|
private
|
34
41
|
|
35
42
|
def size
|
36
|
-
|
37
|
-
xs: "tabs-xs",
|
38
|
-
sm: "tabs-sm",
|
39
|
-
md: "tabs-md",
|
40
|
-
lg: "tabs-lg"
|
41
|
-
}.fetch(@size)
|
43
|
+
SIZES.fetch(@size)
|
42
44
|
end
|
43
45
|
|
44
46
|
def type
|
@@ -58,7 +60,11 @@ module Protos
|
|
58
60
|
|
59
61
|
def theme
|
60
62
|
{
|
61
|
-
container:
|
63
|
+
container: %W[
|
64
|
+
tabs
|
65
|
+
#{size}
|
66
|
+
#{type}
|
67
|
+
]
|
62
68
|
}
|
63
69
|
end
|
64
70
|
end
|
data/lib/protos/timeline/left.rb
CHANGED
data/lib/protos/toast.rb
CHANGED
@@ -18,6 +18,18 @@ module Protos
|
|
18
18
|
:bottom_end
|
19
19
|
)
|
20
20
|
|
21
|
+
POSITIONS = {
|
22
|
+
top_start: "toast-start toast-top",
|
23
|
+
top_center: "toast-center toast-top",
|
24
|
+
top_end: "toast-end toast-top",
|
25
|
+
middle_start: "toast-start toast-middle",
|
26
|
+
middle_center: "toast-center toast-middle",
|
27
|
+
middle_end: "toast-end toast-middle",
|
28
|
+
bottom_start: "toast-start toast-bottom",
|
29
|
+
bottom_center: "toast-center toast-bottom",
|
30
|
+
bottom_end: "toast-end toast-bottom"
|
31
|
+
}.freeze
|
32
|
+
|
21
33
|
option :position,
|
22
34
|
type: Positions,
|
23
35
|
default: -> { :bottom_end },
|
@@ -38,27 +50,17 @@ module Protos
|
|
38
50
|
end
|
39
51
|
|
40
52
|
def position
|
41
|
-
|
42
|
-
top_start: "toast-start toast-top",
|
43
|
-
top_center: "toast-center toast-top",
|
44
|
-
top_end: "toast-end toast-top",
|
45
|
-
middle_start: "toast-start toast-middle",
|
46
|
-
middle_center: "toast-center toast-middle",
|
47
|
-
middle_end: "toast-end toast-middle",
|
48
|
-
bottom_start: "toast-start toast-bottom",
|
49
|
-
bottom_center: "toast-center toast-bottom",
|
50
|
-
bottom_end: "toast-end toast-bottom"
|
51
|
-
}.fetch(@position)
|
53
|
+
POSITIONS.fetch(@position)
|
52
54
|
end
|
53
55
|
|
54
56
|
def theme
|
55
57
|
{
|
56
|
-
container:
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
58
|
+
container: %W[
|
59
|
+
#{position}
|
60
|
+
toast
|
61
|
+
[&:not([open])]:hidden
|
62
|
+
bg-transparent
|
63
|
+
]
|
62
64
|
}
|
63
65
|
end
|
64
66
|
end
|
data/lib/protos/token_list.rb
CHANGED
@@ -37,7 +37,13 @@ module Protos
|
|
37
37
|
private
|
38
38
|
|
39
39
|
def parse(tokens)
|
40
|
-
tokens
|
40
|
+
case tokens
|
41
|
+
when Array then tokens
|
42
|
+
when String then tokens.split
|
43
|
+
else
|
44
|
+
raise ArgumentError, "Invalid tokens: #{tokens}, must be either " \
|
45
|
+
"String or an Array"
|
46
|
+
end
|
41
47
|
end
|
42
48
|
end
|
43
49
|
end
|
data/lib/protos/types.rb
CHANGED
@@ -3,30 +3,5 @@
|
|
3
3
|
module Protos
|
4
4
|
module Types
|
5
5
|
include Dry.Types()
|
6
|
-
|
7
|
-
MaskShapes = Types::Coercible::Symbol.enum(
|
8
|
-
:none,
|
9
|
-
:squircle,
|
10
|
-
:heart,
|
11
|
-
:hexagon,
|
12
|
-
:hexagon2,
|
13
|
-
:decagon,
|
14
|
-
:pentagon,
|
15
|
-
:diamond,
|
16
|
-
:square,
|
17
|
-
:circle,
|
18
|
-
:parallelogram,
|
19
|
-
:parallelogram2,
|
20
|
-
:parallelogram3,
|
21
|
-
:parallelogram4,
|
22
|
-
:star,
|
23
|
-
:star2,
|
24
|
-
:triangle,
|
25
|
-
:triangle2,
|
26
|
-
:triangle3,
|
27
|
-
:triangle4,
|
28
|
-
:half1,
|
29
|
-
:half2
|
30
|
-
)
|
31
6
|
end
|
32
7
|
end
|
@@ -6,11 +6,19 @@ module Protos
|
|
6
6
|
# DOCS: A heading component that encapsulates all heading levels by their
|
7
7
|
# size and level.
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
Sizes = Types::Coercible::Symbol.enum(:xs, :sm, :md, :lg, :xl)
|
10
|
+
Levels = Types::Integer.enum(1, 2, 3, 4, 5, 6)
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
SIZES = {
|
13
|
+
xs: "text-lg font-medium",
|
14
|
+
sm: "text-xl font-medium",
|
15
|
+
md: "text-2xl font-semibold",
|
16
|
+
lg: "text-3xl font-semibold md:text-4xl",
|
17
|
+
xl: "text-4xl font-bold md:text-5xl"
|
18
|
+
}.freeze
|
19
|
+
|
20
|
+
option :size, type: Sizes, default: -> { "md" }, reader: false
|
21
|
+
option :level, type: Levels, default: -> { 1 }, reader: false
|
14
22
|
|
15
23
|
def view_template(&)
|
16
24
|
send(element, **attrs, &)
|
@@ -20,23 +28,17 @@ module Protos
|
|
20
28
|
|
21
29
|
def theme
|
22
30
|
{
|
23
|
-
container:
|
31
|
+
container: [
|
24
32
|
size,
|
25
33
|
"scroll-m-20",
|
26
34
|
"tracking-tight",
|
27
35
|
"transition-colors"
|
28
|
-
|
36
|
+
]
|
29
37
|
}
|
30
38
|
end
|
31
39
|
|
32
40
|
def size
|
33
|
-
|
34
|
-
xs: "text-lg font-medium",
|
35
|
-
sm: "text-xl font-medium",
|
36
|
-
md: "text-2xl font-semibold",
|
37
|
-
lg: "text-3xl font-semibold md:text-4xl",
|
38
|
-
xl: "text-4xl font-bold md:text-5xl"
|
39
|
-
}.fetch(@size.to_sym)
|
41
|
+
SIZES.fetch(@size.to_sym)
|
40
42
|
end
|
41
43
|
|
42
44
|
def element
|
@@ -13,12 +13,12 @@ module Protos
|
|
13
13
|
|
14
14
|
def theme
|
15
15
|
{
|
16
|
-
container:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
container: %w[
|
17
|
+
font-semibold
|
18
|
+
hover:underline
|
19
|
+
underline-offset-4
|
20
|
+
cursor-pointer
|
21
|
+
]
|
22
22
|
}
|
23
23
|
end
|
24
24
|
end
|
data/lib/protos/version.rb
CHANGED
data/lib/protos.rb
CHANGED
@@ -91,6 +91,9 @@ module Protos
|
|
91
91
|
require_relative "protos/stats/title"
|
92
92
|
require_relative "protos/stats/value"
|
93
93
|
|
94
|
+
require_relative "protos/steps"
|
95
|
+
require_relative "protos/steps/step"
|
96
|
+
|
94
97
|
require_relative "protos/swap"
|
95
98
|
require_relative "protos/swap/on"
|
96
99
|
require_relative "protos/swap/off"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nolan J Tait
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-04-
|
11
|
+
date: 2024-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-core
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- LICENSE.txt
|
94
94
|
- README.md
|
95
95
|
- Rakefile
|
96
|
+
- TODO.md
|
96
97
|
- benchmarks/.keep
|
97
98
|
- benchmarks/table.txt
|
98
99
|
- examples/list.rb
|
@@ -162,6 +163,8 @@ files:
|
|
162
163
|
- lib/protos/stats/stat.rb
|
163
164
|
- lib/protos/stats/title.rb
|
164
165
|
- lib/protos/stats/value.rb
|
166
|
+
- lib/protos/steps.rb
|
167
|
+
- lib/protos/steps/step.rb
|
165
168
|
- lib/protos/swap.rb
|
166
169
|
- lib/protos/swap/off.rb
|
167
170
|
- lib/protos/swap/on.rb
|