phlex_ui 0.1.6 → 0.1.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 +4 -4
- data/lib/phlex_ui/calendar/body.rb +13 -13
- data/lib/phlex_ui/calendar/days.rb +92 -92
- data/lib/phlex_ui/calendar/header.rb +11 -11
- data/lib/phlex_ui/calendar/next.rb +36 -36
- data/lib/phlex_ui/calendar/prev.rb +36 -36
- data/lib/phlex_ui/calendar/title.rb +20 -20
- data/lib/phlex_ui/calendar/weekdays.rb +23 -23
- data/lib/phlex_ui/calendar.rb +31 -31
- data/lib/phlex_ui/command/dialog.rb +11 -11
- data/lib/phlex_ui/command/dialog_content.rb +40 -40
- data/lib/phlex_ui/command/dialog_trigger.rb +21 -21
- data/lib/phlex_ui/command/empty.rb +13 -13
- data/lib/phlex_ui/command/group.rb +32 -32
- data/lib/phlex_ui/command/input.rb +47 -47
- data/lib/phlex_ui/command/item.rb +24 -24
- data/lib/phlex_ui/command/list.rb +11 -11
- data/lib/phlex_ui/command.rb +11 -11
- data/lib/phlex_ui/pagination/content.rb +17 -0
- data/lib/phlex_ui/pagination/ellipsis.rb +42 -0
- data/lib/phlex_ui/pagination/item.rb +28 -0
- data/lib/phlex_ui/pagination.rb +19 -0
- data/lib/phlex_ui/sheet/content.rb +65 -65
- data/lib/phlex_ui/sheet/description.rb +11 -11
- data/lib/phlex_ui/sheet/footer.rb +11 -11
- data/lib/phlex_ui/sheet/header.rb +11 -11
- data/lib/phlex_ui/sheet/middle.rb +11 -11
- data/lib/phlex_ui/sheet/title.rb +11 -11
- data/lib/phlex_ui/sheet/trigger.rb +11 -11
- data/lib/phlex_ui/sheet.rb +11 -11
- metadata +7 -3
@@ -1,77 +1,77 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PhlexUI
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
4
|
+
class Sheet::Content < Base
|
5
|
+
SIDE_CLASS = {
|
6
|
+
top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
7
|
+
right: "inset-y-0 right-0 h-full border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",
|
8
|
+
bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
9
|
+
left: "inset-y-0 left-0 h-full border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left"
|
10
|
+
}
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
def initialize(side: :right, **attrs)
|
13
|
+
@side = side
|
14
|
+
@side_classes = SIDE_CLASS[side]
|
15
|
+
super(**attrs)
|
16
|
+
end
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
18
|
+
def template(&block)
|
19
|
+
template_tag(data: {sheet_target: "content"}) do
|
20
|
+
div(data: {controller: "dismissable"}) do
|
21
|
+
backdrop
|
22
|
+
div(**attrs) do
|
23
|
+
block&.call
|
24
|
+
close_button
|
25
|
+
end
|
28
26
|
end
|
27
|
+
end
|
28
|
+
end
|
29
29
|
|
30
|
-
|
30
|
+
private
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
32
|
+
def default_attrs
|
33
|
+
{
|
34
|
+
data_state: "open", # For animate in
|
35
|
+
class: tokens(
|
36
|
+
"fixed pointer-events-auto z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
37
|
+
@side_classes
|
38
|
+
)
|
39
|
+
}
|
40
|
+
end
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
end
|
64
|
-
span(class: "sr-only") { "Close" }
|
65
|
-
end
|
42
|
+
def close_button
|
43
|
+
button(
|
44
|
+
type: "button",
|
45
|
+
class: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",
|
46
|
+
data_action: "click->dismissable#dismiss"
|
47
|
+
) do
|
48
|
+
svg(
|
49
|
+
width: "15",
|
50
|
+
height: "15",
|
51
|
+
viewbox: "0 0 15 15",
|
52
|
+
fill: "none",
|
53
|
+
xmlns: "http://www.w3.org/2000/svg",
|
54
|
+
class: "h-4 w-4"
|
55
|
+
) do |s|
|
56
|
+
s.path(
|
57
|
+
d:
|
58
|
+
"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",
|
59
|
+
fill: "currentColor",
|
60
|
+
fill_rule: "evenodd",
|
61
|
+
clip_rule: "evenodd"
|
62
|
+
)
|
66
63
|
end
|
64
|
+
span(class: "sr-only") { "Close" }
|
65
|
+
end
|
66
|
+
end
|
67
67
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
end
|
68
|
+
def backdrop
|
69
|
+
div(
|
70
|
+
data_state: "open",
|
71
|
+
data_action: "click->dismissable#dismiss",
|
72
|
+
class:
|
73
|
+
"fixed pointer-events-auto inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
|
74
|
+
)
|
76
75
|
end
|
77
|
-
end
|
76
|
+
end
|
77
|
+
end
|
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PhlexUI
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class Sheet::Description < Base
|
5
|
+
def template(&block)
|
6
|
+
p(**attrs, &block)
|
7
|
+
end
|
8
8
|
|
9
|
-
|
9
|
+
private
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
11
|
+
def default_attrs
|
12
|
+
{
|
13
|
+
class: "text-sm text-muted-foreground"
|
14
|
+
}
|
16
15
|
end
|
17
|
-
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PhlexUI
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class Sheet::Footer < Base
|
5
|
+
def template(&block)
|
6
|
+
div(**attrs, &block)
|
7
|
+
end
|
8
8
|
|
9
|
-
|
9
|
+
private
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
11
|
+
def default_attrs
|
12
|
+
{
|
13
|
+
class: "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 gap-y-2 sm:gap-y-0"
|
14
|
+
}
|
16
15
|
end
|
17
|
-
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PhlexUI
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class Sheet::Header < Base
|
5
|
+
def template(&block)
|
6
|
+
div(**attrs, &block)
|
7
|
+
end
|
8
8
|
|
9
|
-
|
9
|
+
private
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
11
|
+
def default_attrs
|
12
|
+
{
|
13
|
+
class: "flex flex-col space-y-1.5 text-center sm:text-left"
|
14
|
+
}
|
16
15
|
end
|
17
|
-
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PhlexUI
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class Sheet::Middle < Base
|
5
|
+
def template(&block)
|
6
|
+
div(**attrs, &block)
|
7
|
+
end
|
8
8
|
|
9
|
-
|
9
|
+
private
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
11
|
+
def default_attrs
|
12
|
+
{
|
13
|
+
class: "py-4"
|
14
|
+
}
|
16
15
|
end
|
17
|
-
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/phlex_ui/sheet/title.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PhlexUI
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class Sheet::Title < Base
|
5
|
+
def template(&block)
|
6
|
+
h3(**attrs, &block)
|
7
|
+
end
|
8
8
|
|
9
|
-
|
9
|
+
private
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
11
|
+
def default_attrs
|
12
|
+
{
|
13
|
+
class: "text-lg font-semibold leading-none tracking-tight"
|
14
|
+
}
|
16
15
|
end
|
17
|
-
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PhlexUI
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class Sheet::Trigger < Base
|
5
|
+
def template(&block)
|
6
|
+
div(**attrs, &block)
|
7
|
+
end
|
8
8
|
|
9
|
-
|
9
|
+
private
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
11
|
+
def default_attrs
|
12
|
+
{
|
13
|
+
data: {action: "click->sheet#open"}
|
14
|
+
}
|
16
15
|
end
|
17
|
-
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/phlex_ui/sheet.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PhlexUI
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class Sheet < Base
|
5
|
+
def template(&block)
|
6
|
+
div(**attrs, &block)
|
7
|
+
end
|
8
8
|
|
9
|
-
|
9
|
+
private
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
11
|
+
def default_attrs
|
12
|
+
{
|
13
|
+
data: {controller: "sheet"}
|
14
|
+
}
|
16
15
|
end
|
17
|
-
end
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phlex_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- George Kettle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: phlex
|
@@ -196,6 +196,10 @@ files:
|
|
196
196
|
- lib/phlex_ui/input_error.rb
|
197
197
|
- lib/phlex_ui/label.rb
|
198
198
|
- lib/phlex_ui/link.rb
|
199
|
+
- lib/phlex_ui/pagination.rb
|
200
|
+
- lib/phlex_ui/pagination/content.rb
|
201
|
+
- lib/phlex_ui/pagination/ellipsis.rb
|
202
|
+
- lib/phlex_ui/pagination/item.rb
|
199
203
|
- lib/phlex_ui/popover.rb
|
200
204
|
- lib/phlex_ui/popover/content.rb
|
201
205
|
- lib/phlex_ui/popover/trigger.rb
|
@@ -267,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
267
271
|
- !ruby/object:Gem::Version
|
268
272
|
version: '0'
|
269
273
|
requirements: []
|
270
|
-
rubygems_version: 3.
|
274
|
+
rubygems_version: 3.5.6
|
271
275
|
signing_key:
|
272
276
|
specification_version: 4
|
273
277
|
summary: PhlexUI is a UI Component Library for Ruby developers.
|