kiso 0.1.0.pre → 0.2.0.pre
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 +36 -2
- data/README.md +67 -27
- data/Rakefile +8 -0
- data/app/assets/tailwind/kiso/checkbox.css +18 -0
- data/app/assets/tailwind/kiso/color-mode.css +9 -0
- data/app/assets/tailwind/kiso/dashboard.css +194 -0
- data/app/assets/tailwind/kiso/engine.css +117 -0
- data/app/assets/tailwind/kiso/input-otp.css +10 -0
- data/app/assets/tailwind/kiso/radio-group.css +17 -0
- data/app/helpers/kiso/component_helper.rb +46 -27
- data/app/helpers/kiso/icon_helper.rb +53 -9
- data/app/helpers/kiso/theme_helper.rb +38 -0
- data/app/javascript/controllers/kiso/combobox_controller.js +616 -0
- data/app/javascript/controllers/kiso/command_controller.js +184 -0
- data/app/javascript/controllers/kiso/command_dialog_controller.js +104 -0
- data/app/javascript/controllers/kiso/dropdown_menu_controller.js +684 -0
- data/app/javascript/controllers/kiso/index.d.ts +12 -0
- data/app/javascript/controllers/kiso/index.js +42 -0
- data/app/javascript/controllers/kiso/input_otp_controller.js +195 -0
- data/app/javascript/controllers/kiso/popover_controller.js +254 -0
- data/app/javascript/controllers/kiso/select_controller.js +307 -0
- data/app/javascript/controllers/kiso/sidebar_controller.js +84 -0
- data/app/javascript/controllers/kiso/theme_controller.js +89 -0
- data/app/javascript/controllers/kiso/toggle_controller.js +24 -0
- data/app/javascript/controllers/kiso/toggle_group_controller.js +128 -0
- data/app/javascript/kiso/utils/focusable.js +8 -0
- data/app/javascript/kiso/utils/highlight.js +43 -0
- data/app/javascript/kiso/utils/positioning.js +86 -0
- data/app/javascript/kiso/vendor/floating-ui-core.js +1 -0
- data/app/javascript/kiso/vendor/floating-ui-dom.js +1 -0
- data/app/views/kiso/components/_alert.html.erb +1 -1
- data/app/views/kiso/components/_avatar.html.erb +23 -0
- data/app/views/kiso/components/_badge.html.erb +1 -1
- data/app/views/kiso/components/_breadcrumb.html.erb +8 -0
- data/app/views/kiso/components/_button.html.erb +1 -1
- data/app/views/kiso/components/_card.html.erb +1 -1
- data/app/views/kiso/components/_checkbox.html.erb +7 -0
- data/app/views/kiso/components/_color_mode_button.html.erb +14 -0
- data/app/views/kiso/components/_color_mode_select.html.erb +24 -0
- data/app/views/kiso/components/_combobox.html.erb +12 -0
- data/app/views/kiso/components/_command.html.erb +7 -0
- data/app/views/kiso/components/_dashboard_group.html.erb +14 -0
- data/app/views/kiso/components/_dashboard_navbar.html.erb +7 -0
- data/app/views/kiso/components/_dashboard_panel.html.erb +7 -0
- data/app/views/kiso/components/_dashboard_sidebar.html.erb +11 -0
- data/app/views/kiso/components/_dashboard_toolbar.html.erb +7 -0
- data/app/views/kiso/components/_dropdown_menu.html.erb +7 -0
- data/app/views/kiso/components/{_empty_state.html.erb → _empty.html.erb} +2 -2
- data/app/views/kiso/components/_field.html.erb +12 -0
- data/app/views/kiso/components/_field_group.html.erb +7 -0
- data/app/views/kiso/components/_field_set.html.erb +7 -0
- data/app/views/kiso/components/_input.html.erb +8 -0
- data/app/views/kiso/components/_input_group.html.erb +8 -0
- data/app/views/kiso/components/_input_otp.html.erb +22 -0
- data/app/views/kiso/components/_kbd.html.erb +7 -0
- data/app/views/kiso/components/_label.html.erb +5 -0
- data/app/views/kiso/components/_nav.html.erb +7 -0
- data/app/views/kiso/components/_pagination.html.erb +9 -0
- data/app/views/kiso/components/_popover.html.erb +8 -0
- data/app/views/kiso/components/_radio_group.html.erb +8 -0
- data/app/views/kiso/components/_select.html.erb +8 -0
- data/app/views/kiso/components/_select_native.html.erb +16 -0
- data/app/views/kiso/components/_separator.html.erb +1 -1
- data/app/views/kiso/components/_stats_card.html.erb +1 -1
- data/app/views/kiso/components/_stats_grid.html.erb +1 -1
- data/app/views/kiso/components/_switch.html.erb +10 -0
- data/app/views/kiso/components/_table.html.erb +2 -1
- data/app/views/kiso/components/_textarea.html.erb +9 -0
- data/app/views/kiso/components/_toggle.html.erb +12 -0
- data/app/views/kiso/components/_toggle_group.html.erb +12 -0
- data/app/views/kiso/components/alert/_description.html.erb +1 -1
- data/app/views/kiso/components/alert/_title.html.erb +1 -1
- data/app/views/kiso/components/avatar/_badge.html.erb +7 -0
- data/app/views/kiso/components/avatar/_fallback.html.erb +7 -0
- data/app/views/kiso/components/avatar/_group.html.erb +7 -0
- data/app/views/kiso/components/avatar/_group_count.html.erb +7 -0
- data/app/views/kiso/components/avatar/_image.html.erb +6 -0
- data/app/views/kiso/components/breadcrumb/_ellipsis.html.erb +10 -0
- data/app/views/kiso/components/breadcrumb/_item.html.erb +7 -0
- data/app/views/kiso/components/breadcrumb/_link.html.erb +7 -0
- data/app/views/kiso/components/breadcrumb/_list.html.erb +7 -0
- data/app/views/kiso/components/breadcrumb/_page.html.erb +9 -0
- data/app/views/kiso/components/breadcrumb/_separator.html.erb +9 -0
- data/app/views/kiso/components/card/_action.html.erb +7 -0
- data/app/views/kiso/components/card/_content.html.erb +1 -1
- data/app/views/kiso/components/card/_description.html.erb +1 -1
- data/app/views/kiso/components/card/_footer.html.erb +1 -1
- data/app/views/kiso/components/card/_header.html.erb +1 -1
- data/app/views/kiso/components/card/_title.html.erb +1 -1
- data/app/views/kiso/components/combobox/_chip.html.erb +19 -0
- data/app/views/kiso/components/combobox/_chips.html.erb +20 -0
- data/app/views/kiso/components/combobox/_chips_input.html.erb +10 -0
- data/app/views/kiso/components/combobox/_content.html.erb +9 -0
- data/app/views/kiso/components/combobox/_empty.html.erb +9 -0
- data/app/views/kiso/components/combobox/_group.html.erb +8 -0
- data/app/views/kiso/components/combobox/_input.html.erb +23 -0
- data/app/views/kiso/components/combobox/_item.html.erb +19 -0
- data/app/views/kiso/components/combobox/_label.html.erb +7 -0
- data/app/views/kiso/components/combobox/_list.html.erb +10 -0
- data/app/views/kiso/components/combobox/_separator.html.erb +6 -0
- data/app/views/kiso/components/command/_dialog.html.erb +11 -0
- data/app/views/kiso/components/command/_empty.html.erb +9 -0
- data/app/views/kiso/components/command/_group.html.erb +14 -0
- data/app/views/kiso/components/command/_input.html.erb +16 -0
- data/app/views/kiso/components/command/_item.html.erb +13 -0
- data/app/views/kiso/components/command/_list.html.erb +10 -0
- data/app/views/kiso/components/command/_separator.html.erb +7 -0
- data/app/views/kiso/components/command/_shortcut.html.erb +7 -0
- data/app/views/kiso/components/dashboard_navbar/_toggle.html.erb +11 -0
- data/app/views/kiso/components/dashboard_sidebar/_collapse.html.erb +12 -0
- data/app/views/kiso/components/dashboard_sidebar/_footer.html.erb +7 -0
- data/app/views/kiso/components/dashboard_sidebar/_header.html.erb +7 -0
- data/app/views/kiso/components/dashboard_sidebar/_toggle.html.erb +11 -0
- data/app/views/kiso/components/dashboard_toolbar/_left.html.erb +7 -0
- data/app/views/kiso/components/dashboard_toolbar/_right.html.erb +7 -0
- data/app/views/kiso/components/dropdown_menu/_checkbox_item.html.erb +18 -0
- data/app/views/kiso/components/dropdown_menu/_content.html.erb +10 -0
- data/app/views/kiso/components/dropdown_menu/_group.html.erb +8 -0
- data/app/views/kiso/components/dropdown_menu/_item.html.erb +15 -0
- data/app/views/kiso/components/dropdown_menu/_label.html.erb +8 -0
- data/app/views/kiso/components/dropdown_menu/_radio_group.html.erb +10 -0
- data/app/views/kiso/components/dropdown_menu/_radio_item.html.erb +19 -0
- data/app/views/kiso/components/dropdown_menu/_separator.html.erb +6 -0
- data/app/views/kiso/components/dropdown_menu/_shortcut.html.erb +7 -0
- data/app/views/kiso/components/dropdown_menu/_sub.html.erb +8 -0
- data/app/views/kiso/components/dropdown_menu/_sub_content.html.erb +10 -0
- data/app/views/kiso/components/dropdown_menu/_sub_trigger.html.erb +12 -0
- data/app/views/kiso/components/dropdown_menu/_trigger.html.erb +9 -0
- data/app/views/kiso/components/empty/_content.html.erb +7 -0
- data/app/views/kiso/components/empty/_description.html.erb +7 -0
- data/app/views/kiso/components/empty/_header.html.erb +7 -0
- data/app/views/kiso/components/empty/_media.html.erb +7 -0
- data/app/views/kiso/components/empty/_title.html.erb +7 -0
- data/app/views/kiso/components/field/_content.html.erb +7 -0
- data/app/views/kiso/components/field/_description.html.erb +7 -0
- data/app/views/kiso/components/field/_error.html.erb +22 -0
- data/app/views/kiso/components/field/_label.html.erb +5 -0
- data/app/views/kiso/components/field/_separator.html.erb +15 -0
- data/app/views/kiso/components/field/_title.html.erb +7 -0
- data/app/views/kiso/components/field_set/_legend.html.erb +9 -0
- data/app/views/kiso/components/input_group/_addon.html.erb +7 -0
- data/app/views/kiso/components/input_otp/_group.html.erb +7 -0
- data/app/views/kiso/components/input_otp/_separator.html.erb +8 -0
- data/app/views/kiso/components/input_otp/_slot.html.erb +11 -0
- data/app/views/kiso/components/kbd/_group.html.erb +7 -0
- data/app/views/kiso/components/nav/_item.html.erb +15 -0
- data/app/views/kiso/components/nav/_section.html.erb +37 -0
- data/app/views/kiso/components/nav/_section_title.html.erb +7 -0
- data/app/views/kiso/components/pagination/_content.html.erb +7 -0
- data/app/views/kiso/components/pagination/_ellipsis.html.erb +9 -0
- data/app/views/kiso/components/pagination/_item.html.erb +7 -0
- data/app/views/kiso/components/pagination/_link.html.erb +9 -0
- data/app/views/kiso/components/pagination/_next.html.erb +12 -0
- data/app/views/kiso/components/pagination/_previous.html.erb +12 -0
- data/app/views/kiso/components/popover/_anchor.html.erb +8 -0
- data/app/views/kiso/components/popover/_content.html.erb +11 -0
- data/app/views/kiso/components/popover/_description.html.erb +7 -0
- data/app/views/kiso/components/popover/_header.html.erb +7 -0
- data/app/views/kiso/components/popover/_title.html.erb +7 -0
- data/app/views/kiso/components/popover/_trigger.html.erb +9 -0
- data/app/views/kiso/components/radio_group/_item.html.erb +6 -0
- data/app/views/kiso/components/select/_content.html.erb +10 -0
- data/app/views/kiso/components/select/_group.html.erb +8 -0
- data/app/views/kiso/components/select/_item.html.erb +19 -0
- data/app/views/kiso/components/select/_label.html.erb +7 -0
- data/app/views/kiso/components/select/_separator.html.erb +6 -0
- data/app/views/kiso/components/select/_trigger.html.erb +13 -0
- data/app/views/kiso/components/select/_value.html.erb +11 -0
- data/app/views/kiso/components/stats_card/_description.html.erb +1 -1
- data/app/views/kiso/components/stats_card/_header.html.erb +1 -1
- data/app/views/kiso/components/stats_card/_label.html.erb +1 -1
- data/app/views/kiso/components/stats_card/_value.html.erb +1 -1
- data/app/views/kiso/components/table/_body.html.erb +1 -1
- data/app/views/kiso/components/table/_caption.html.erb +1 -1
- data/app/views/kiso/components/table/_cell.html.erb +1 -1
- data/app/views/kiso/components/table/_footer.html.erb +1 -1
- data/app/views/kiso/components/table/_head.html.erb +1 -1
- data/app/views/kiso/components/table/_header.html.erb +1 -1
- data/app/views/kiso/components/table/_row.html.erb +1 -1
- data/app/views/kiso/components/toggle_group/_item.html.erb +13 -0
- data/config/deploy.docs.yml +31 -0
- data/config/deploy.yml +34 -0
- data/config/importmap.rb +10 -0
- data/lib/kiso/cli/base.rb +15 -0
- data/lib/kiso/cli/icons.rb +2 -1
- data/lib/kiso/cli/main.rb +6 -0
- data/lib/kiso/cli/make.rb +22 -12
- data/lib/kiso/configuration.rb +54 -0
- data/lib/kiso/engine.rb +36 -1
- data/lib/kiso/theme_overrides.rb +130 -0
- data/lib/kiso/themes/alert.rb +16 -1
- data/lib/kiso/themes/avatar.rb +53 -0
- data/lib/kiso/themes/badge.rb +15 -5
- data/lib/kiso/themes/breadcrumb.rb +44 -0
- data/lib/kiso/themes/button.rb +15 -2
- data/lib/kiso/themes/card.rb +18 -2
- data/lib/kiso/themes/checkbox.rb +33 -0
- data/lib/kiso/themes/color_mode_button.rb +15 -0
- data/lib/kiso/themes/color_mode_select.rb +7 -0
- data/lib/kiso/themes/combobox.rb +97 -0
- data/lib/kiso/themes/command.rb +79 -0
- data/lib/kiso/themes/dashboard.rb +51 -0
- data/lib/kiso/themes/dropdown_menu.rb +108 -0
- data/lib/kiso/themes/empty.rb +54 -0
- data/lib/kiso/themes/field.rb +76 -0
- data/lib/kiso/themes/field_group.rb +15 -0
- data/lib/kiso/themes/field_set.rb +32 -0
- data/lib/kiso/themes/input.rb +33 -0
- data/lib/kiso/themes/input_group.rb +39 -0
- data/lib/kiso/themes/input_otp.rb +46 -0
- data/lib/kiso/themes/kbd.rb +31 -0
- data/lib/kiso/themes/label.rb +16 -0
- data/lib/kiso/themes/nav.rb +27 -0
- data/lib/kiso/themes/pagination.rb +73 -0
- data/lib/kiso/themes/popover.rb +32 -0
- data/lib/kiso/themes/radio_group.rb +43 -0
- data/lib/kiso/themes/select.rb +78 -0
- data/lib/kiso/themes/select_native.rb +49 -0
- data/lib/kiso/themes/separator.rb +8 -2
- data/lib/kiso/themes/shared.rb +51 -0
- data/lib/kiso/themes/stats_card.rb +26 -14
- data/lib/kiso/themes/switch.rb +56 -0
- data/lib/kiso/themes/table.rb +18 -15
- data/lib/kiso/themes/textarea.rb +33 -0
- data/lib/kiso/themes/toggle.rb +71 -0
- data/lib/kiso/themes/toggle_group.rb +13 -0
- data/lib/kiso/version.rb +4 -1
- data/lib/kiso.rb +70 -2
- metadata +183 -22
- data/app/views/kiso/components/empty_state/_content.html.erb +0 -7
- data/app/views/kiso/components/empty_state/_description.html.erb +0 -7
- data/app/views/kiso/components/empty_state/_header.html.erb +0 -7
- data/app/views/kiso/components/empty_state/_media.html.erb +0 -7
- data/app/views/kiso/components/empty_state/_title.html.erb +0 -7
- data/lib/kiso/themes/empty_state.rb +0 -42
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
module Kiso
|
|
2
|
+
module Themes
|
|
3
|
+
# Toggle switch built with a native +<input type="checkbox">+ inside a
|
|
4
|
+
# +<label>+ that acts as the track. The +has-[:checked]:+ selector drives
|
|
5
|
+
# track color and +peer-checked:+ drives thumb translation.
|
|
6
|
+
#
|
|
7
|
+
# @example
|
|
8
|
+
# SwitchTrack.render(color: :primary, size: :md)
|
|
9
|
+
#
|
|
10
|
+
# Variants:
|
|
11
|
+
# - +color+ — :primary (default), :secondary, :success, :info, :warning, :error, :neutral
|
|
12
|
+
# - +size+ — :sm, :md (default)
|
|
13
|
+
#
|
|
14
|
+
# Sub-parts: {SwitchThumb}
|
|
15
|
+
SwitchTrack = ClassVariants.build(
|
|
16
|
+
base: "relative inline-flex shrink-0 cursor-pointer items-center rounded-full " \
|
|
17
|
+
"border-2 border-transparent shadow-xs outline-none bg-accented " \
|
|
18
|
+
"transition-colors " \
|
|
19
|
+
"has-[:focus-visible]:ring-[3px] " \
|
|
20
|
+
"has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50",
|
|
21
|
+
variants: {
|
|
22
|
+
color: COLORS.index_with { "" },
|
|
23
|
+
size: {
|
|
24
|
+
sm: "h-4 w-8",
|
|
25
|
+
md: "h-5 w-9"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
compound_variants: [
|
|
29
|
+
{color: :primary, class: "has-[:checked]:bg-primary has-[:focus-visible]:ring-primary/50"},
|
|
30
|
+
{color: :secondary, class: "has-[:checked]:bg-secondary has-[:focus-visible]:ring-secondary/50"},
|
|
31
|
+
{color: :success, class: "has-[:checked]:bg-success has-[:focus-visible]:ring-success/50"},
|
|
32
|
+
{color: :info, class: "has-[:checked]:bg-info has-[:focus-visible]:ring-info/50"},
|
|
33
|
+
{color: :warning, class: "has-[:checked]:bg-warning has-[:focus-visible]:ring-warning/50"},
|
|
34
|
+
{color: :error, class: "has-[:checked]:bg-error has-[:focus-visible]:ring-error/50"},
|
|
35
|
+
{color: :neutral, class: "has-[:checked]:bg-inverted has-[:focus-visible]:ring-inverted/50"}
|
|
36
|
+
],
|
|
37
|
+
defaults: {color: :primary, size: :md}
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
# Sliding circle indicator inside the {SwitchTrack}.
|
|
41
|
+
#
|
|
42
|
+
# Variants:
|
|
43
|
+
# - +size+ — :sm, :md (default)
|
|
44
|
+
SwitchThumb = ClassVariants.build(
|
|
45
|
+
base: "pointer-events-none block rounded-full bg-background shadow-lg ring-0 " \
|
|
46
|
+
"transition-transform translate-x-0.5",
|
|
47
|
+
variants: {
|
|
48
|
+
size: {
|
|
49
|
+
sm: "size-3 peer-checked:translate-x-4",
|
|
50
|
+
md: "size-4 peer-checked:translate-x-4"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
defaults: {size: :md}
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
end
|
data/lib/kiso/themes/table.rb
CHANGED
|
@@ -1,46 +1,49 @@
|
|
|
1
1
|
module Kiso
|
|
2
2
|
module Themes
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Data table with header, body, footer, and caption sections.
|
|
4
|
+
#
|
|
5
|
+
# The partial wraps the +<table>+ in a scrollable container div.
|
|
6
|
+
#
|
|
7
|
+
# @example
|
|
8
|
+
# Table.render
|
|
9
|
+
#
|
|
10
|
+
# Sub-parts: {TableHeader}, {TableBody}, {TableFooter}, {TableRow},
|
|
11
|
+
# {TableHead}, {TableCell}, {TableCaption}
|
|
6
12
|
Table = ClassVariants.build(
|
|
7
|
-
base: "w-full caption-bottom text-sm"
|
|
13
|
+
base: "w-full caption-bottom text-sm text-foreground"
|
|
8
14
|
)
|
|
9
15
|
|
|
10
|
-
#
|
|
11
|
-
# border-border explicit — TW4 defaults border color to currentColor
|
|
16
|
+
# Table header section (+<thead>+). Adds bottom border to child rows.
|
|
12
17
|
TableHeader = ClassVariants.build(
|
|
13
18
|
base: "[&_tr]:border-b [&_tr]:border-border"
|
|
14
19
|
)
|
|
15
20
|
|
|
16
|
-
#
|
|
21
|
+
# Table body section (+<tbody>+). Removes border from the last row.
|
|
17
22
|
TableBody = ClassVariants.build(
|
|
18
23
|
base: "[&_tr:last-child]:border-0"
|
|
19
24
|
)
|
|
20
25
|
|
|
21
|
-
#
|
|
26
|
+
# Table footer section (+<tfoot>+) with muted background.
|
|
22
27
|
TableFooter = ClassVariants.build(
|
|
23
28
|
base: "bg-muted/50 border-t border-border font-medium [&>tr]:last:border-b-0"
|
|
24
29
|
)
|
|
25
30
|
|
|
26
|
-
#
|
|
31
|
+
# Table row (+<tr>+) with hover highlight and selection state.
|
|
27
32
|
TableRow = ClassVariants.build(
|
|
28
33
|
base: "hover:bg-muted/50 data-[state=selected]:bg-muted border-b border-border transition-colors"
|
|
29
34
|
)
|
|
30
35
|
|
|
31
|
-
#
|
|
32
|
-
# [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]
|
|
36
|
+
# Table header cell (+<th>+) with fixed height and font-medium.
|
|
33
37
|
TableHead = ClassVariants.build(
|
|
34
|
-
base: "text-
|
|
38
|
+
base: "text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"
|
|
35
39
|
)
|
|
36
40
|
|
|
37
|
-
#
|
|
38
|
-
# [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]
|
|
41
|
+
# Table data cell (+<td>+).
|
|
39
42
|
TableCell = ClassVariants.build(
|
|
40
43
|
base: "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"
|
|
41
44
|
)
|
|
42
45
|
|
|
43
|
-
#
|
|
46
|
+
# Table caption (+<caption>+) rendered below the table.
|
|
44
47
|
TableCaption = ClassVariants.build(
|
|
45
48
|
base: "text-muted-foreground mt-4 text-sm"
|
|
46
49
|
)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Kiso
|
|
2
|
+
module Themes
|
|
3
|
+
# Multi-line text input with auto-sizing via +field-sizing-content+.
|
|
4
|
+
#
|
|
5
|
+
# @example
|
|
6
|
+
# Textarea.render(variant: :outline, size: :md)
|
|
7
|
+
#
|
|
8
|
+
# Variants:
|
|
9
|
+
# - +variant+ — :outline (default), :soft, :ghost
|
|
10
|
+
# - +size+ — :sm, :md (default), :lg
|
|
11
|
+
Textarea = ClassVariants.build(
|
|
12
|
+
base: "text-foreground w-full rounded-md outline-none transition-[color,box-shadow] " \
|
|
13
|
+
"min-h-16 field-sizing-content " \
|
|
14
|
+
"placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground " \
|
|
15
|
+
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 " \
|
|
16
|
+
"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary " \
|
|
17
|
+
"aria-invalid:ring-error aria-invalid:focus-visible:ring-error",
|
|
18
|
+
variants: {
|
|
19
|
+
variant: {
|
|
20
|
+
outline: "bg-background ring ring-inset ring-accented shadow-xs",
|
|
21
|
+
soft: "bg-elevated/50 hover:bg-elevated focus:bg-elevated",
|
|
22
|
+
ghost: "bg-transparent hover:bg-elevated focus:bg-elevated"
|
|
23
|
+
},
|
|
24
|
+
size: {
|
|
25
|
+
sm: "px-2.5 py-2 text-sm",
|
|
26
|
+
md: "px-3 py-2 text-base md:text-sm",
|
|
27
|
+
lg: "px-3 py-2 text-base"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaults: {variant: :outline, size: :md}
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
module Kiso
|
|
2
|
+
module Themes
|
|
3
|
+
# Two-state toggle button (on/off). Uses +data-[state=on]+ for the
|
|
4
|
+
# pressed state.
|
|
5
|
+
#
|
|
6
|
+
# @example
|
|
7
|
+
# Toggle.render(variant: :default, size: :default)
|
|
8
|
+
#
|
|
9
|
+
# Variants:
|
|
10
|
+
# - +variant+ — :default, :outline
|
|
11
|
+
# - +size+ — :sm, :default, :lg
|
|
12
|
+
#
|
|
13
|
+
# See also: {ToggleGroup} for grouped toggle buttons, {ToggleGroupItem}
|
|
14
|
+
# for items within a group.
|
|
15
|
+
Toggle = ClassVariants.build(
|
|
16
|
+
base: "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium text-foreground " \
|
|
17
|
+
"bg-transparent " \
|
|
18
|
+
"hover:bg-muted hover:text-muted-foreground " \
|
|
19
|
+
"disabled:pointer-events-none disabled:opacity-50 " \
|
|
20
|
+
"data-[state=on]:bg-muted data-[state=on]:text-foreground " \
|
|
21
|
+
"#{Shared::SVG_BASE} " \
|
|
22
|
+
"focus-visible:ring-[3px] focus-visible:ring-ring/50 outline-none " \
|
|
23
|
+
"transition-[color,box-shadow] " \
|
|
24
|
+
"whitespace-nowrap",
|
|
25
|
+
variants: {
|
|
26
|
+
variant: {
|
|
27
|
+
default: "",
|
|
28
|
+
outline: "ring ring-inset ring-border shadow-xs"
|
|
29
|
+
},
|
|
30
|
+
size: {
|
|
31
|
+
sm: "h-8 px-1.5 min-w-8",
|
|
32
|
+
default: "h-9 px-2 min-w-9",
|
|
33
|
+
lg: "h-10 px-2.5 min-w-10"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
defaults: {variant: :default, size: :default}
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
# Individual item within a {ToggleGroup}. Renders flush (no gap) with
|
|
40
|
+
# rounded corners on the first and last items for a joined pill appearance.
|
|
41
|
+
#
|
|
42
|
+
# Variants:
|
|
43
|
+
# - +variant+ — :default, :outline
|
|
44
|
+
# - +size+ — :sm, :default, :lg
|
|
45
|
+
ToggleGroupItem = ClassVariants.build(
|
|
46
|
+
base: "inline-flex items-center justify-center gap-2 text-sm font-medium text-foreground " \
|
|
47
|
+
"bg-transparent min-w-0 " \
|
|
48
|
+
"rounded-none first:rounded-l-md last:rounded-r-md " \
|
|
49
|
+
"hover:bg-muted hover:text-muted-foreground " \
|
|
50
|
+
"disabled:pointer-events-none disabled:opacity-50 " \
|
|
51
|
+
"data-[state=on]:bg-muted data-[state=on]:text-foreground " \
|
|
52
|
+
"#{Shared::SVG_BASE} " \
|
|
53
|
+
"focus-visible:ring-[3px] focus-visible:ring-ring/50 outline-none " \
|
|
54
|
+
"transition-[color,box-shadow] " \
|
|
55
|
+
"whitespace-nowrap " \
|
|
56
|
+
"shrink-0 focus:z-10 focus-visible:z-10",
|
|
57
|
+
variants: {
|
|
58
|
+
variant: {
|
|
59
|
+
default: "",
|
|
60
|
+
outline: "border border-border shadow-xs -ml-px first:ml-0"
|
|
61
|
+
},
|
|
62
|
+
size: {
|
|
63
|
+
sm: "h-8 px-3",
|
|
64
|
+
default: "h-9 px-3",
|
|
65
|
+
lg: "h-10 px-3"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
defaults: {variant: :default, size: :default}
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module Kiso
|
|
2
|
+
module Themes
|
|
3
|
+
# Container for a set of mutually exclusive {ToggleGroupItem} buttons.
|
|
4
|
+
#
|
|
5
|
+
# @example
|
|
6
|
+
# ToggleGroup.render
|
|
7
|
+
#
|
|
8
|
+
# Sub-parts: {ToggleGroupItem}
|
|
9
|
+
ToggleGroup = ClassVariants.build(
|
|
10
|
+
base: "flex w-fit items-center rounded-md text-foreground"
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
end
|
data/lib/kiso/version.rb
CHANGED
data/lib/kiso.rb
CHANGED
|
@@ -1,17 +1,85 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
2
3
|
require "class_variants"
|
|
3
4
|
require "tailwind_merge"
|
|
4
5
|
require "kiso/version"
|
|
6
|
+
require "kiso/configuration"
|
|
7
|
+
require "kiso/theme_overrides"
|
|
5
8
|
require "kiso/engine"
|
|
9
|
+
require "kiso/themes/shared"
|
|
6
10
|
require "kiso/themes/badge"
|
|
7
11
|
require "kiso/themes/alert"
|
|
8
12
|
require "kiso/themes/button"
|
|
9
13
|
require "kiso/themes/card"
|
|
10
14
|
require "kiso/themes/separator"
|
|
11
|
-
require "kiso/themes/
|
|
15
|
+
require "kiso/themes/empty"
|
|
12
16
|
require "kiso/themes/stats_card"
|
|
13
17
|
require "kiso/themes/table"
|
|
18
|
+
require "kiso/themes/pagination"
|
|
19
|
+
require "kiso/themes/label"
|
|
20
|
+
require "kiso/themes/field"
|
|
21
|
+
require "kiso/themes/field_group"
|
|
22
|
+
require "kiso/themes/field_set"
|
|
23
|
+
require "kiso/themes/input"
|
|
24
|
+
require "kiso/themes/textarea"
|
|
25
|
+
require "kiso/themes/input_group"
|
|
26
|
+
require "kiso/themes/input_otp"
|
|
27
|
+
require "kiso/themes/checkbox"
|
|
28
|
+
require "kiso/themes/radio_group"
|
|
29
|
+
require "kiso/themes/switch"
|
|
30
|
+
require "kiso/themes/breadcrumb"
|
|
31
|
+
require "kiso/themes/toggle"
|
|
32
|
+
require "kiso/themes/toggle_group"
|
|
33
|
+
require "kiso/themes/select"
|
|
34
|
+
require "kiso/themes/select_native"
|
|
35
|
+
require "kiso/themes/popover"
|
|
36
|
+
require "kiso/themes/combobox"
|
|
37
|
+
require "kiso/themes/command"
|
|
38
|
+
require "kiso/themes/dropdown_menu"
|
|
39
|
+
require "kiso/themes/kbd"
|
|
40
|
+
require "kiso/themes/color_mode_button"
|
|
41
|
+
require "kiso/themes/color_mode_select"
|
|
42
|
+
require "kiso/themes/dashboard"
|
|
43
|
+
require "kiso/themes/nav"
|
|
44
|
+
require "kiso/themes/avatar"
|
|
14
45
|
require "kiso/icons"
|
|
15
46
|
|
|
47
|
+
# Kiso — a Rails engine providing UI components inspired by shadcn/ui and Nuxt UI.
|
|
48
|
+
#
|
|
49
|
+
# Components are rendered via ERB partials with computed Tailwind classes
|
|
50
|
+
# from theme modules ({Themes}). Use the {ComponentHelper#kui kui} helper
|
|
51
|
+
# to render components in views.
|
|
52
|
+
#
|
|
53
|
+
# @example Rendering a badge
|
|
54
|
+
# kui(:badge, color: :success, variant: :soft) { "Active" }
|
|
55
|
+
#
|
|
56
|
+
# @example Configuring icons
|
|
57
|
+
# Kiso.configure do |config|
|
|
58
|
+
# config.icons[:chevron_right] = "heroicons:chevron-right"
|
|
59
|
+
# end
|
|
60
|
+
#
|
|
61
|
+
# @example Global theme overrides
|
|
62
|
+
# Kiso.configure do |config|
|
|
63
|
+
# config.theme[:button] = { base: "rounded-full", defaults: { variant: :outline } }
|
|
64
|
+
# config.theme[:card_header] = { base: "p-8 sm:p-10" }
|
|
65
|
+
# end
|
|
66
|
+
#
|
|
67
|
+
# @see ComponentHelper#kui
|
|
68
|
+
# @see Themes
|
|
16
69
|
module Kiso
|
|
70
|
+
class << self
|
|
71
|
+
# @return [Configuration] the global configuration instance
|
|
72
|
+
def configuration
|
|
73
|
+
@configuration ||= Configuration.new
|
|
74
|
+
end
|
|
75
|
+
alias_method :config, :configuration
|
|
76
|
+
|
|
77
|
+
# Yields the global {Configuration} for modification.
|
|
78
|
+
#
|
|
79
|
+
# @yieldparam config [Configuration]
|
|
80
|
+
# @return [void]
|
|
81
|
+
def configure
|
|
82
|
+
yield(configuration)
|
|
83
|
+
end
|
|
84
|
+
end
|
|
17
85
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kiso
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0.pre
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Steve Clarke
|
|
@@ -23,20 +23,6 @@ dependencies:
|
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '8.0'
|
|
26
|
-
- !ruby/object:Gem::Dependency
|
|
27
|
-
name: tailwindcss-rails
|
|
28
|
-
requirement: !ruby/object:Gem::Requirement
|
|
29
|
-
requirements:
|
|
30
|
-
- - ">="
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: '0'
|
|
33
|
-
type: :runtime
|
|
34
|
-
prerelease: false
|
|
35
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
-
requirements:
|
|
37
|
-
- - ">="
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: '0'
|
|
40
26
|
- !ruby/object:Gem::Dependency
|
|
41
27
|
name: class_variants
|
|
42
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,30 +80,171 @@ files:
|
|
|
94
80
|
- app/assets/fonts/kiso/GeistMonoVF.woff2
|
|
95
81
|
- app/assets/fonts/kiso/GeistVF.woff2
|
|
96
82
|
- app/assets/fonts/kiso/OFL.txt
|
|
83
|
+
- app/assets/tailwind/kiso/checkbox.css
|
|
84
|
+
- app/assets/tailwind/kiso/color-mode.css
|
|
85
|
+
- app/assets/tailwind/kiso/dashboard.css
|
|
97
86
|
- app/assets/tailwind/kiso/engine.css
|
|
87
|
+
- app/assets/tailwind/kiso/input-otp.css
|
|
88
|
+
- app/assets/tailwind/kiso/radio-group.css
|
|
98
89
|
- app/helpers/kiso/component_helper.rb
|
|
99
90
|
- app/helpers/kiso/icon_helper.rb
|
|
91
|
+
- app/helpers/kiso/theme_helper.rb
|
|
92
|
+
- app/javascript/controllers/kiso/combobox_controller.js
|
|
93
|
+
- app/javascript/controllers/kiso/command_controller.js
|
|
94
|
+
- app/javascript/controllers/kiso/command_dialog_controller.js
|
|
95
|
+
- app/javascript/controllers/kiso/dropdown_menu_controller.js
|
|
96
|
+
- app/javascript/controllers/kiso/index.d.ts
|
|
97
|
+
- app/javascript/controllers/kiso/index.js
|
|
98
|
+
- app/javascript/controllers/kiso/input_otp_controller.js
|
|
99
|
+
- app/javascript/controllers/kiso/popover_controller.js
|
|
100
|
+
- app/javascript/controllers/kiso/select_controller.js
|
|
101
|
+
- app/javascript/controllers/kiso/sidebar_controller.js
|
|
102
|
+
- app/javascript/controllers/kiso/theme_controller.js
|
|
103
|
+
- app/javascript/controllers/kiso/toggle_controller.js
|
|
104
|
+
- app/javascript/controllers/kiso/toggle_group_controller.js
|
|
105
|
+
- app/javascript/kiso/utils/focusable.js
|
|
106
|
+
- app/javascript/kiso/utils/highlight.js
|
|
107
|
+
- app/javascript/kiso/utils/positioning.js
|
|
108
|
+
- app/javascript/kiso/vendor/floating-ui-core.js
|
|
109
|
+
- app/javascript/kiso/vendor/floating-ui-dom.js
|
|
100
110
|
- app/views/kiso/components/_alert.html.erb
|
|
111
|
+
- app/views/kiso/components/_avatar.html.erb
|
|
101
112
|
- app/views/kiso/components/_badge.html.erb
|
|
113
|
+
- app/views/kiso/components/_breadcrumb.html.erb
|
|
102
114
|
- app/views/kiso/components/_button.html.erb
|
|
103
115
|
- app/views/kiso/components/_card.html.erb
|
|
104
|
-
- app/views/kiso/components/
|
|
116
|
+
- app/views/kiso/components/_checkbox.html.erb
|
|
117
|
+
- app/views/kiso/components/_color_mode_button.html.erb
|
|
118
|
+
- app/views/kiso/components/_color_mode_select.html.erb
|
|
119
|
+
- app/views/kiso/components/_combobox.html.erb
|
|
120
|
+
- app/views/kiso/components/_command.html.erb
|
|
121
|
+
- app/views/kiso/components/_dashboard_group.html.erb
|
|
122
|
+
- app/views/kiso/components/_dashboard_navbar.html.erb
|
|
123
|
+
- app/views/kiso/components/_dashboard_panel.html.erb
|
|
124
|
+
- app/views/kiso/components/_dashboard_sidebar.html.erb
|
|
125
|
+
- app/views/kiso/components/_dashboard_toolbar.html.erb
|
|
126
|
+
- app/views/kiso/components/_dropdown_menu.html.erb
|
|
127
|
+
- app/views/kiso/components/_empty.html.erb
|
|
128
|
+
- app/views/kiso/components/_field.html.erb
|
|
129
|
+
- app/views/kiso/components/_field_group.html.erb
|
|
130
|
+
- app/views/kiso/components/_field_set.html.erb
|
|
131
|
+
- app/views/kiso/components/_input.html.erb
|
|
132
|
+
- app/views/kiso/components/_input_group.html.erb
|
|
133
|
+
- app/views/kiso/components/_input_otp.html.erb
|
|
134
|
+
- app/views/kiso/components/_kbd.html.erb
|
|
135
|
+
- app/views/kiso/components/_label.html.erb
|
|
136
|
+
- app/views/kiso/components/_nav.html.erb
|
|
137
|
+
- app/views/kiso/components/_pagination.html.erb
|
|
138
|
+
- app/views/kiso/components/_popover.html.erb
|
|
139
|
+
- app/views/kiso/components/_radio_group.html.erb
|
|
140
|
+
- app/views/kiso/components/_select.html.erb
|
|
141
|
+
- app/views/kiso/components/_select_native.html.erb
|
|
105
142
|
- app/views/kiso/components/_separator.html.erb
|
|
106
143
|
- app/views/kiso/components/_stats_card.html.erb
|
|
107
144
|
- app/views/kiso/components/_stats_grid.html.erb
|
|
145
|
+
- app/views/kiso/components/_switch.html.erb
|
|
108
146
|
- app/views/kiso/components/_table.html.erb
|
|
147
|
+
- app/views/kiso/components/_textarea.html.erb
|
|
148
|
+
- app/views/kiso/components/_toggle.html.erb
|
|
149
|
+
- app/views/kiso/components/_toggle_group.html.erb
|
|
109
150
|
- app/views/kiso/components/alert/_description.html.erb
|
|
110
151
|
- app/views/kiso/components/alert/_title.html.erb
|
|
152
|
+
- app/views/kiso/components/avatar/_badge.html.erb
|
|
153
|
+
- app/views/kiso/components/avatar/_fallback.html.erb
|
|
154
|
+
- app/views/kiso/components/avatar/_group.html.erb
|
|
155
|
+
- app/views/kiso/components/avatar/_group_count.html.erb
|
|
156
|
+
- app/views/kiso/components/avatar/_image.html.erb
|
|
157
|
+
- app/views/kiso/components/breadcrumb/_ellipsis.html.erb
|
|
158
|
+
- app/views/kiso/components/breadcrumb/_item.html.erb
|
|
159
|
+
- app/views/kiso/components/breadcrumb/_link.html.erb
|
|
160
|
+
- app/views/kiso/components/breadcrumb/_list.html.erb
|
|
161
|
+
- app/views/kiso/components/breadcrumb/_page.html.erb
|
|
162
|
+
- app/views/kiso/components/breadcrumb/_separator.html.erb
|
|
163
|
+
- app/views/kiso/components/card/_action.html.erb
|
|
111
164
|
- app/views/kiso/components/card/_content.html.erb
|
|
112
165
|
- app/views/kiso/components/card/_description.html.erb
|
|
113
166
|
- app/views/kiso/components/card/_footer.html.erb
|
|
114
167
|
- app/views/kiso/components/card/_header.html.erb
|
|
115
168
|
- app/views/kiso/components/card/_title.html.erb
|
|
116
|
-
- app/views/kiso/components/
|
|
117
|
-
- app/views/kiso/components/
|
|
118
|
-
- app/views/kiso/components/
|
|
119
|
-
- app/views/kiso/components/
|
|
120
|
-
- app/views/kiso/components/
|
|
169
|
+
- app/views/kiso/components/combobox/_chip.html.erb
|
|
170
|
+
- app/views/kiso/components/combobox/_chips.html.erb
|
|
171
|
+
- app/views/kiso/components/combobox/_chips_input.html.erb
|
|
172
|
+
- app/views/kiso/components/combobox/_content.html.erb
|
|
173
|
+
- app/views/kiso/components/combobox/_empty.html.erb
|
|
174
|
+
- app/views/kiso/components/combobox/_group.html.erb
|
|
175
|
+
- app/views/kiso/components/combobox/_input.html.erb
|
|
176
|
+
- app/views/kiso/components/combobox/_item.html.erb
|
|
177
|
+
- app/views/kiso/components/combobox/_label.html.erb
|
|
178
|
+
- app/views/kiso/components/combobox/_list.html.erb
|
|
179
|
+
- app/views/kiso/components/combobox/_separator.html.erb
|
|
180
|
+
- app/views/kiso/components/command/_dialog.html.erb
|
|
181
|
+
- app/views/kiso/components/command/_empty.html.erb
|
|
182
|
+
- app/views/kiso/components/command/_group.html.erb
|
|
183
|
+
- app/views/kiso/components/command/_input.html.erb
|
|
184
|
+
- app/views/kiso/components/command/_item.html.erb
|
|
185
|
+
- app/views/kiso/components/command/_list.html.erb
|
|
186
|
+
- app/views/kiso/components/command/_separator.html.erb
|
|
187
|
+
- app/views/kiso/components/command/_shortcut.html.erb
|
|
188
|
+
- app/views/kiso/components/dashboard_navbar/_toggle.html.erb
|
|
189
|
+
- app/views/kiso/components/dashboard_sidebar/_collapse.html.erb
|
|
190
|
+
- app/views/kiso/components/dashboard_sidebar/_footer.html.erb
|
|
191
|
+
- app/views/kiso/components/dashboard_sidebar/_header.html.erb
|
|
192
|
+
- app/views/kiso/components/dashboard_sidebar/_toggle.html.erb
|
|
193
|
+
- app/views/kiso/components/dashboard_toolbar/_left.html.erb
|
|
194
|
+
- app/views/kiso/components/dashboard_toolbar/_right.html.erb
|
|
195
|
+
- app/views/kiso/components/dropdown_menu/_checkbox_item.html.erb
|
|
196
|
+
- app/views/kiso/components/dropdown_menu/_content.html.erb
|
|
197
|
+
- app/views/kiso/components/dropdown_menu/_group.html.erb
|
|
198
|
+
- app/views/kiso/components/dropdown_menu/_item.html.erb
|
|
199
|
+
- app/views/kiso/components/dropdown_menu/_label.html.erb
|
|
200
|
+
- app/views/kiso/components/dropdown_menu/_radio_group.html.erb
|
|
201
|
+
- app/views/kiso/components/dropdown_menu/_radio_item.html.erb
|
|
202
|
+
- app/views/kiso/components/dropdown_menu/_separator.html.erb
|
|
203
|
+
- app/views/kiso/components/dropdown_menu/_shortcut.html.erb
|
|
204
|
+
- app/views/kiso/components/dropdown_menu/_sub.html.erb
|
|
205
|
+
- app/views/kiso/components/dropdown_menu/_sub_content.html.erb
|
|
206
|
+
- app/views/kiso/components/dropdown_menu/_sub_trigger.html.erb
|
|
207
|
+
- app/views/kiso/components/dropdown_menu/_trigger.html.erb
|
|
208
|
+
- app/views/kiso/components/empty/_content.html.erb
|
|
209
|
+
- app/views/kiso/components/empty/_description.html.erb
|
|
210
|
+
- app/views/kiso/components/empty/_header.html.erb
|
|
211
|
+
- app/views/kiso/components/empty/_media.html.erb
|
|
212
|
+
- app/views/kiso/components/empty/_title.html.erb
|
|
213
|
+
- app/views/kiso/components/field/_content.html.erb
|
|
214
|
+
- app/views/kiso/components/field/_description.html.erb
|
|
215
|
+
- app/views/kiso/components/field/_error.html.erb
|
|
216
|
+
- app/views/kiso/components/field/_label.html.erb
|
|
217
|
+
- app/views/kiso/components/field/_separator.html.erb
|
|
218
|
+
- app/views/kiso/components/field/_title.html.erb
|
|
219
|
+
- app/views/kiso/components/field_set/_legend.html.erb
|
|
220
|
+
- app/views/kiso/components/input_group/_addon.html.erb
|
|
221
|
+
- app/views/kiso/components/input_otp/_group.html.erb
|
|
222
|
+
- app/views/kiso/components/input_otp/_separator.html.erb
|
|
223
|
+
- app/views/kiso/components/input_otp/_slot.html.erb
|
|
224
|
+
- app/views/kiso/components/kbd/_group.html.erb
|
|
225
|
+
- app/views/kiso/components/nav/_item.html.erb
|
|
226
|
+
- app/views/kiso/components/nav/_section.html.erb
|
|
227
|
+
- app/views/kiso/components/nav/_section_title.html.erb
|
|
228
|
+
- app/views/kiso/components/pagination/_content.html.erb
|
|
229
|
+
- app/views/kiso/components/pagination/_ellipsis.html.erb
|
|
230
|
+
- app/views/kiso/components/pagination/_item.html.erb
|
|
231
|
+
- app/views/kiso/components/pagination/_link.html.erb
|
|
232
|
+
- app/views/kiso/components/pagination/_next.html.erb
|
|
233
|
+
- app/views/kiso/components/pagination/_previous.html.erb
|
|
234
|
+
- app/views/kiso/components/popover/_anchor.html.erb
|
|
235
|
+
- app/views/kiso/components/popover/_content.html.erb
|
|
236
|
+
- app/views/kiso/components/popover/_description.html.erb
|
|
237
|
+
- app/views/kiso/components/popover/_header.html.erb
|
|
238
|
+
- app/views/kiso/components/popover/_title.html.erb
|
|
239
|
+
- app/views/kiso/components/popover/_trigger.html.erb
|
|
240
|
+
- app/views/kiso/components/radio_group/_item.html.erb
|
|
241
|
+
- app/views/kiso/components/select/_content.html.erb
|
|
242
|
+
- app/views/kiso/components/select/_group.html.erb
|
|
243
|
+
- app/views/kiso/components/select/_item.html.erb
|
|
244
|
+
- app/views/kiso/components/select/_label.html.erb
|
|
245
|
+
- app/views/kiso/components/select/_separator.html.erb
|
|
246
|
+
- app/views/kiso/components/select/_trigger.html.erb
|
|
247
|
+
- app/views/kiso/components/select/_value.html.erb
|
|
121
248
|
- app/views/kiso/components/stats_card/_description.html.erb
|
|
122
249
|
- app/views/kiso/components/stats_card/_header.html.erb
|
|
123
250
|
- app/views/kiso/components/stats_card/_label.html.erb
|
|
@@ -129,21 +256,55 @@ files:
|
|
|
129
256
|
- app/views/kiso/components/table/_head.html.erb
|
|
130
257
|
- app/views/kiso/components/table/_header.html.erb
|
|
131
258
|
- app/views/kiso/components/table/_row.html.erb
|
|
259
|
+
- app/views/kiso/components/toggle_group/_item.html.erb
|
|
260
|
+
- config/deploy.docs.yml
|
|
261
|
+
- config/deploy.yml
|
|
262
|
+
- config/importmap.rb
|
|
132
263
|
- lib/kiso.rb
|
|
133
264
|
- lib/kiso/cli.rb
|
|
134
265
|
- lib/kiso/cli/base.rb
|
|
135
266
|
- lib/kiso/cli/icons.rb
|
|
136
267
|
- lib/kiso/cli/main.rb
|
|
137
268
|
- lib/kiso/cli/make.rb
|
|
269
|
+
- lib/kiso/configuration.rb
|
|
138
270
|
- lib/kiso/engine.rb
|
|
271
|
+
- lib/kiso/theme_overrides.rb
|
|
139
272
|
- lib/kiso/themes/alert.rb
|
|
273
|
+
- lib/kiso/themes/avatar.rb
|
|
140
274
|
- lib/kiso/themes/badge.rb
|
|
275
|
+
- lib/kiso/themes/breadcrumb.rb
|
|
141
276
|
- lib/kiso/themes/button.rb
|
|
142
277
|
- lib/kiso/themes/card.rb
|
|
143
|
-
- lib/kiso/themes/
|
|
278
|
+
- lib/kiso/themes/checkbox.rb
|
|
279
|
+
- lib/kiso/themes/color_mode_button.rb
|
|
280
|
+
- lib/kiso/themes/color_mode_select.rb
|
|
281
|
+
- lib/kiso/themes/combobox.rb
|
|
282
|
+
- lib/kiso/themes/command.rb
|
|
283
|
+
- lib/kiso/themes/dashboard.rb
|
|
284
|
+
- lib/kiso/themes/dropdown_menu.rb
|
|
285
|
+
- lib/kiso/themes/empty.rb
|
|
286
|
+
- lib/kiso/themes/field.rb
|
|
287
|
+
- lib/kiso/themes/field_group.rb
|
|
288
|
+
- lib/kiso/themes/field_set.rb
|
|
289
|
+
- lib/kiso/themes/input.rb
|
|
290
|
+
- lib/kiso/themes/input_group.rb
|
|
291
|
+
- lib/kiso/themes/input_otp.rb
|
|
292
|
+
- lib/kiso/themes/kbd.rb
|
|
293
|
+
- lib/kiso/themes/label.rb
|
|
294
|
+
- lib/kiso/themes/nav.rb
|
|
295
|
+
- lib/kiso/themes/pagination.rb
|
|
296
|
+
- lib/kiso/themes/popover.rb
|
|
297
|
+
- lib/kiso/themes/radio_group.rb
|
|
298
|
+
- lib/kiso/themes/select.rb
|
|
299
|
+
- lib/kiso/themes/select_native.rb
|
|
144
300
|
- lib/kiso/themes/separator.rb
|
|
301
|
+
- lib/kiso/themes/shared.rb
|
|
145
302
|
- lib/kiso/themes/stats_card.rb
|
|
303
|
+
- lib/kiso/themes/switch.rb
|
|
146
304
|
- lib/kiso/themes/table.rb
|
|
305
|
+
- lib/kiso/themes/textarea.rb
|
|
306
|
+
- lib/kiso/themes/toggle.rb
|
|
307
|
+
- lib/kiso/themes/toggle_group.rb
|
|
147
308
|
- lib/kiso/version.rb
|
|
148
309
|
homepage: https://github.com/steveclarke/kiso
|
|
149
310
|
licenses:
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
<%# locals: (css_classes: "", **component_options) %>
|
|
2
|
-
<%= content_tag :div,
|
|
3
|
-
class: Kiso::Themes::EmptyStateDescription.render(class: css_classes),
|
|
4
|
-
data: { component: :empty_state, empty_state_part: :description },
|
|
5
|
-
**component_options do %>
|
|
6
|
-
<%= yield %>
|
|
7
|
-
<% end %>
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
<%# locals: (variant: :default, css_classes: "", **component_options) %>
|
|
2
|
-
<%= content_tag :div,
|
|
3
|
-
class: Kiso::Themes::EmptyStateMedia.render(variant: variant, class: css_classes),
|
|
4
|
-
data: { component: :empty_state, empty_state_part: :media },
|
|
5
|
-
**component_options do %>
|
|
6
|
-
<%= yield %>
|
|
7
|
-
<% end %>
|