nitro_kit 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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