nitro_kit 0.1.0 → 0.3.0

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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +28 -1
  4. data/Rakefile +6 -4
  5. data/app/components/nitro_kit/accordion.rb +69 -33
  6. data/app/components/nitro_kit/alert.rb +69 -0
  7. data/app/components/nitro_kit/avatar.rb +52 -0
  8. data/app/components/nitro_kit/badge.rb +47 -23
  9. data/app/components/nitro_kit/button.rb +97 -65
  10. data/app/components/nitro_kit/button_group.rb +18 -13
  11. data/app/components/nitro_kit/card.rb +49 -9
  12. data/app/components/nitro_kit/checkbox.rb +59 -41
  13. data/app/components/nitro_kit/checkbox_group.rb +38 -0
  14. data/app/components/nitro_kit/combobox.rb +138 -0
  15. data/app/components/nitro_kit/component.rb +46 -17
  16. data/app/components/nitro_kit/datepicker.rb +9 -0
  17. data/app/components/nitro_kit/dialog.rb +95 -0
  18. data/app/components/nitro_kit/dropdown.rb +116 -73
  19. data/app/components/nitro_kit/field.rb +281 -30
  20. data/app/components/nitro_kit/field_group.rb +10 -5
  21. data/app/components/nitro_kit/fieldset.rb +42 -7
  22. data/app/components/nitro_kit/form_builder.rb +45 -22
  23. data/app/components/nitro_kit/icon.rb +29 -8
  24. data/app/components/nitro_kit/input.rb +26 -0
  25. data/app/components/nitro_kit/label.rb +18 -5
  26. data/app/components/nitro_kit/pagination.rb +98 -0
  27. data/app/components/nitro_kit/radio_button.rb +28 -27
  28. data/app/components/nitro_kit/radio_button_group.rb +53 -0
  29. data/app/components/nitro_kit/select.rb +72 -0
  30. data/app/components/nitro_kit/switch.rb +49 -39
  31. data/app/components/nitro_kit/table.rb +56 -0
  32. data/app/components/nitro_kit/tabs.rb +98 -0
  33. data/app/components/nitro_kit/textarea.rb +26 -0
  34. data/app/components/nitro_kit/toast.rb +104 -0
  35. data/app/components/nitro_kit/tooltip.rb +53 -0
  36. data/app/helpers/nitro_kit/accordion_helper.rb +3 -1
  37. data/app/helpers/nitro_kit/alert_helper.rb +11 -0
  38. data/app/helpers/nitro_kit/avatar_helper.rb +9 -0
  39. data/app/helpers/nitro_kit/badge_helper.rb +3 -5
  40. data/app/helpers/nitro_kit/button_group_helper.rb +2 -0
  41. data/app/helpers/nitro_kit/button_helper.rb +37 -28
  42. data/app/helpers/nitro_kit/card_helper.rb +2 -0
  43. data/app/helpers/nitro_kit/checkbox_helper.rb +19 -16
  44. data/app/helpers/nitro_kit/combobox_helper.rb +9 -0
  45. data/app/helpers/nitro_kit/datepicker_helper.rb +9 -0
  46. data/app/helpers/nitro_kit/dialog_helper.rb +9 -0
  47. data/app/helpers/nitro_kit/dropdown_helper.rb +3 -1
  48. data/app/helpers/nitro_kit/field_group_helper.rb +9 -0
  49. data/app/helpers/nitro_kit/field_helper.rb +4 -2
  50. data/app/helpers/nitro_kit/fieldset_helper.rb +9 -0
  51. data/app/helpers/nitro_kit/form_helper.rb +13 -0
  52. data/app/helpers/nitro_kit/icon_helper.rb +3 -1
  53. data/app/helpers/nitro_kit/input_helper.rb +35 -0
  54. data/app/helpers/nitro_kit/label_helper.rb +12 -8
  55. data/app/helpers/nitro_kit/pagination_helper.rb +42 -0
  56. data/app/helpers/nitro_kit/radio_button_helper.rb +15 -12
  57. data/app/helpers/nitro_kit/select_helper.rb +24 -0
  58. data/app/helpers/nitro_kit/switch_helper.rb +4 -10
  59. data/app/helpers/nitro_kit/table_helper.rb +9 -0
  60. data/app/helpers/nitro_kit/tabs_helper.rb +9 -0
  61. data/app/helpers/nitro_kit/textarea_helper.rb +9 -0
  62. data/app/helpers/nitro_kit/toast_helper.rb +36 -0
  63. data/app/helpers/nitro_kit/tooltip_helper.rb +9 -0
  64. data/lib/generators/nitro_kit/add_generator.rb +38 -41
  65. data/lib/generators/nitro_kit/install_generator.rb +2 -1
  66. data/lib/nitro_kit/engine.rb +4 -0
  67. data/lib/nitro_kit/schema_builder.rb +90 -16
  68. data/lib/nitro_kit/version.rb +1 -1
  69. data/lib/nitro_kit.rb +39 -1
  70. data/lib/tasks/nitro_kit_tasks.rake +4 -0
  71. metadata +40 -12
  72. data/app/components/nitro_kit/radio_group.rb +0 -35
  73. data/app/helpers/application_helper.rb +0 -89
  74. data/lib/nitro_kit/railtie.rb +0 -8
@@ -1,89 +0,0 @@
1
- module ApplicationHelper
2
- def component_page(&block)
3
- tag.div(class: "p-5") do
4
- capture(&block)
5
- end
6
- end
7
-
8
- def title(text)
9
- tag.h1(class: "text-3xl font-semibold mb-6") { text }
10
- end
11
-
12
- def lead(text)
13
- tag.p(class: "text-lg text-gray-600 dark:text-gray-400 mb-6") { text }
14
- end
15
-
16
- def section(**attrs)
17
- tag.div(**attrs, class: class_names("mt-8 space-y-4", attrs[:class])) { yield }
18
- end
19
-
20
- def section_title(text)
21
- tag.h2(class: "text-2xl font-semibold mb-4") { text }
22
- end
23
-
24
- def example(**attrs)
25
- tag
26
- .div(
27
- **attrs,
28
- class: class_names(
29
- ["flex gap-2 justify-center items-center min-h-[200px] py-12 p-5 w-full rounded border", attrs[:class]]
30
- )
31
- ) do
32
- yield
33
- end
34
- end
35
-
36
- def code_example(str)
37
- formatter = Rouge::Formatters::HTML.new
38
- lexer = Rouge::Lexers::ERB.new
39
-
40
- tag
41
- .div(
42
- class: "bg-[#f7f8fa] dark:bg-[#161b22] divide-y border rounded overflow-hidden",
43
- data: {controller: "copy-to-clipboard"}
44
- ) do
45
- concat(
46
- tag.div(class: "px-1 py-1 flex w-full") do
47
- concat(
48
- nk_ghost_button(
49
- icon: :copy,
50
- size: :xs,
51
- data: {copy_to_clipboard_target: "button", action: "copy-to-clipboard#copy"}
52
- ) { "Copy" }
53
- )
54
- concat(
55
- nk_ghost_button(
56
- icon: :check,
57
- size: :xs,
58
- data: {copy_to_clipboard_target: "successMessage"},
59
- class: "hidden"
60
- ) { "Copied!" }
61
- )
62
- end
63
- )
64
-
65
- concat(
66
- tag
67
- .pre(
68
- class: "text-sm highlight py-3 px-4 font-mono overflow-scroll",
69
- data: {copy_to_clipboard_target: "source"}
70
- ) do
71
- tag.code do
72
- formatter.format(lexer.lex(str.strip_heredoc.strip)).html_safe
73
- end
74
- end
75
- )
76
- end
77
- end
78
-
79
- def markdown(str)
80
- Commonmarker
81
- .to_html(
82
- str.strip_heredoc,
83
- options: {
84
- parse: {smart: true}
85
- }
86
- )
87
- .html_safe
88
- end
89
- end
@@ -1,8 +0,0 @@
1
- module NitroKit
2
- class Railtie < ::Rails::Railtie
3
- initializer("nitro_kit.initialize") do
4
- # Ignore our generators as they confuse Zeitwerk
5
- Rails.autoloaders.main.ignore(File.expand_path("../generators", __dir__))
6
- end
7
- end
8
- end