shadcn-ui 0.0.3 → 0.0.4

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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/documentation_controller.rb +0 -1
  3. data/app/helpers/components/input_helper.rb +1 -1
  4. data/app/helpers/components/slider_helper.rb +1 -1
  5. data/app/helpers/examples_helper.rb +6 -1
  6. data/app/javascript/controllers/highlight_controller.js +0 -1
  7. data/app/javascript/controllers/ui/popover_controller.js +6 -2
  8. data/app/views/application/index.html.erb +625 -17
  9. data/app/views/components/ui/_card.html.erb +7 -1
  10. data/app/views/components/ui/_filter.html.erb +2 -1
  11. data/app/views/documentation/generators.html.md +20 -0
  12. data/app/views/documentation/helpers.html.md +54 -0
  13. data/app/views/documentation/javascript.html.md +8 -0
  14. data/app/views/examples/components/accordion.html.erb +5 -7
  15. data/app/views/examples/components/alert-dialog/code/_preview.erb +6 -0
  16. data/app/views/examples/components/alert-dialog/code/_usage.erb +0 -0
  17. data/app/views/examples/components/alert-dialog.html.erb +8 -11
  18. data/app/views/examples/components/alert.html.erb +9 -10
  19. data/app/views/examples/components/badge.html.erb +3 -15
  20. data/app/views/examples/components/button.html.erb +3 -25
  21. data/app/views/examples/components/card/code/{preview.erb → _preview.erb} +1 -1
  22. data/app/views/examples/components/card.html.erb +5 -9
  23. data/app/views/examples/components/checkbox/code/_preview.erb +2 -0
  24. data/app/views/examples/components/checkbox.html.erb +3 -3
  25. data/app/views/examples/components/collapsible.html.erb +3 -11
  26. data/app/views/examples/components/dialog.html.erb +5 -14
  27. data/app/views/examples/components/dropdown-menu/_usage.html.erb +19 -0
  28. data/app/views/examples/components/dropdown-menu/code/_preview.erb +19 -0
  29. data/app/views/examples/components/dropdown-menu/code/_usage.erb +13 -0
  30. data/app/views/examples/components/dropdown-menu.html.erb +29 -15
  31. data/app/views/examples/components/filter/_usage.html.erb +14 -0
  32. data/app/views/examples/components/filter/code/_icon.html.erb +7 -0
  33. data/app/views/examples/components/filter/code/_preview.erb +3 -0
  34. data/app/views/examples/components/filter/code/_usage.erb +5 -0
  35. data/app/views/examples/components/filter.html.erb +27 -7
  36. data/app/views/examples/components/hover-card/_usage.html.erb +15 -0
  37. data/app/views/examples/components/hover-card/code/_preview.erb +13 -0
  38. data/app/views/examples/components/hover-card/code/_usage.erb +6 -0
  39. data/app/views/examples/components/hover-card.html.erb +12 -14
  40. data/app/views/examples/components/input/_usage.html.erb +10 -0
  41. data/app/views/examples/components/input/code/_borderless.erb +3 -0
  42. data/app/views/examples/components/input/code/_preview.erb +1 -0
  43. data/app/views/examples/components/input/code/_usage.erb +1 -0
  44. data/app/views/examples/components/input.html.erb +17 -3
  45. data/app/views/examples/components/label/_usage.html.erb +9 -0
  46. data/app/views/examples/components/label/code/_preview.erb +5 -0
  47. data/app/views/examples/components/label/code/_usage.erb +1 -0
  48. data/app/views/examples/components/label.html.erb +14 -5
  49. data/app/views/examples/components/popover/_usage.html.erb +12 -0
  50. data/app/views/examples/components/popover/code/_form.erb +23 -0
  51. data/app/views/examples/components/popover/code/_preview.erb +13 -0
  52. data/app/views/examples/components/popover/code/_usage.erb +7 -0
  53. data/app/views/examples/components/popover.html.erb +28 -24
  54. data/app/views/examples/components/progress/_usage.erb +9 -0
  55. data/app/views/examples/components/progress/code/_preview.erb +1 -0
  56. data/app/views/examples/components/progress/code/_usage.erb +1 -0
  57. data/app/views/examples/components/progress.html.erb +12 -2
  58. data/app/views/examples/components/separator/_usage.html.erb +10 -0
  59. data/app/views/examples/components/separator/code/_fancy.erb +21 -0
  60. data/app/views/examples/components/separator/code/_preview.erb +1 -0
  61. data/app/views/examples/components/separator/code/_usage.erb +1 -0
  62. data/app/views/examples/components/separator.html.erb +26 -19
  63. data/app/views/examples/components/sheet/_usage.html.erb +38 -0
  64. data/app/views/examples/components/sheet/code/_mobile_menu.erb +17 -0
  65. data/app/views/examples/components/sheet/code/_preview.erb +22 -0
  66. data/app/views/examples/components/sheet/code/_usage.erb +7 -0
  67. data/app/views/examples/components/sheet.html.erb +17 -10
  68. data/app/views/examples/components/skeleton/_usage.html.erb +9 -0
  69. data/app/views/examples/components/skeleton/code/_preview.erb +1 -0
  70. data/app/views/examples/components/skeleton/code/_usage.erb +1 -0
  71. data/app/views/examples/components/skeleton.html.erb +16 -2
  72. data/app/views/examples/components/slider/_usage.html.erb +11 -0
  73. data/app/views/examples/components/slider/code/_preview.erb +3 -0
  74. data/app/views/examples/components/slider/code/_usage.erb +1 -0
  75. data/app/views/examples/components/slider.html.erb +16 -2
  76. data/app/views/examples/components/textarea/_usage.html.erb +9 -0
  77. data/app/views/examples/components/textarea/code/_preview.erb +1 -0
  78. data/app/views/examples/components/textarea/code/_usage.erb +1 -0
  79. data/app/views/examples/components/textarea.html.erb +16 -2
  80. data/app/views/examples/components/toast/_usage.html.erb +11 -0
  81. data/app/views/examples/components/toast/code/_preview.erb +3 -0
  82. data/app/views/examples/components/toast/code/_usage.erb +2 -0
  83. data/app/views/examples/components/toast.html.erb +12 -4
  84. data/app/views/examples/components/toggle/_usage.html.erb +10 -0
  85. data/app/views/examples/components/toggle/code/_preview.erb +1 -0
  86. data/app/views/examples/components/toggle/code/_usage.erb +1 -0
  87. data/app/views/examples/components/toggle.html.erb +16 -2
  88. data/app/views/examples/components/tooltip/_usage.html.erb +11 -0
  89. data/app/views/examples/components/tooltip/code/_preview.erb +12 -0
  90. data/app/views/examples/components/tooltip/code/_usage.erb +7 -0
  91. data/app/views/examples/components/tooltip.html.erb +16 -13
  92. data/app/views/layouts/shared/_components.html.erb +35 -33
  93. data/config/environments/production.rb +4 -4
  94. data/lib/shadcn-ui/version.rb +1 -1
  95. metadata +74 -20
  96. data/app/views/examples/components/checkbox/code/preview.erb +0 -2
  97. /data/app/views/examples/components/accordion/code/{preview.erb → _preview.erb} +0 -0
  98. /data/app/views/examples/components/accordion/code/{usage.erb → _usage.erb} +0 -0
  99. /data/app/views/examples/components/alert/code/{preview.erb → _preview.erb} +0 -0
  100. /data/app/views/examples/components/alert/code/{usage.erb → _usage.erb} +0 -0
  101. /data/app/views/examples/components/badge/code/{preview.erb → _preview.erb} +0 -0
  102. /data/app/views/examples/components/badge/code/{usage.erb → _usage.erb} +0 -0
  103. /data/app/views/examples/components/button/code/{preview.erb → _preview.erb} +0 -0
  104. /data/app/views/examples/components/button/code/{usage.erb → _usage.erb} +0 -0
  105. /data/app/views/examples/components/card/code/{usage.erb → _usage.erb} +0 -0
  106. /data/app/views/examples/components/checkbox/code/{usage.erb → _usage.erb} +0 -0
  107. /data/app/views/examples/components/collapsible/code/{preview.erb → _preview.erb} +0 -0
  108. /data/app/views/examples/components/collapsible/code/{usage.erb → _usage.erb} +0 -0
  109. /data/app/views/examples/components/dialog/code/{form.erb → _form.erb} +0 -0
  110. /data/app/views/examples/components/dialog/code/{notifications.erb → _notifications.erb} +0 -0
  111. /data/app/views/examples/components/dialog/code/{preview.erb → _preview.erb} +0 -0
  112. /data/app/views/examples/components/dialog/code/{usage.erb → _usage.erb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 22a141b91988a0b7411fa66841274699ee3f55d4a6b7b2afb152000cdba95385
4
- data.tar.gz: f7a806d1a7897c1154b4b6a23903d1a2295e4152e29638ff6e5721982eea4760
3
+ metadata.gz: c7353625f737a5deeed84e83a9718a6201e151541995c11bedbeaa8b2f49234d
4
+ data.tar.gz: 6399387bda38280d3d1be1208f5ac7796d7370cc902d8a658c742c1bcb64186b
5
5
  SHA512:
6
- metadata.gz: 1b2264728f5100c07607e963c4027aa406e91c7635ef9b9cf6e1c21f5dd7fa193575e0a11b08a2021358835de6645665f6370b4119a1169c99b6ece40c195f9d
7
- data.tar.gz: 357afd147401ff2c9911082690ed8b8f8162bbf60d64a229ee1c51bfbfd7c6cbfcfa88c8ace873dc1c64029c3ef5fefe64d4e0767029eec579eeb4208defb985
6
+ metadata.gz: bb839cd93e13cf9ea774d8d7dd1596bedd48ba02d570c65c8a125be616cbdae81a9f29fd46de71c13150b4a35c8709b5d57b813d21b74ee33076ead527cff827
7
+ data.tar.gz: e9a6a20f2f23bbc542800bb1bfe6cd1c6bbc08ed6f586590e61f956dff5973aab0b711c912e1b9305c06c019f1045a9ba74a3174d34a3b46ce933bb47a9ec8cb
@@ -4,7 +4,6 @@ class DocumentationController < ActionController::Base
4
4
  end
5
5
 
6
6
  def show
7
- binding.pry
8
7
  render "documentation/#{params[:id]}"
9
8
  end
10
9
  end
@@ -1,7 +1,7 @@
1
1
  module Components::InputHelper
2
2
  def render_input(name:, label: false, id: nil, type: :text, value: nil, **options)
3
3
  options[:class] = "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 #{options[:class]} "
4
- options[:class] << case options[:style]
4
+ options[:class] << case options[:variant]
5
5
  when :borderless
6
6
  " border-0 focus-visible:outline-none focus-visible:shadow-none focus-visible:ring-transparent"
7
7
  else
@@ -1,5 +1,5 @@
1
1
  module Components::SliderHelper
2
- def render_slider(value:, id:, name:, **options)
2
+ def render_slider(name:, value: 0, id: nil, **options)
3
3
  render "components/ui/slider", value:, id:, name:, **options
4
4
  end
5
5
  end
@@ -15,10 +15,15 @@ module ExamplesHelper
15
15
  render "examples/components/#{name}/usage"
16
16
  end
17
17
 
18
+ def render_code_preview(name)
19
+ render "examples/components/#{name}/code/preview"
20
+ end
21
+
18
22
  def code_partial(name, language)
23
+ component, partial = name.split("/")
19
24
  content_tag :pre, class: "code-sample py-4 px-4", data: {controller: "highlight"} do
20
25
  content_tag :code, class: "language-#{language}" do
21
- html_escape(File.read(Rails.root.join("app", "views", "examples", "components", "#{name}.erb")))
26
+ html_escape(File.read(Rails.root.join("app", "views", "examples", "components", "#{component}/code/_#{partial}.erb")))
22
27
  end
23
28
  end
24
29
  end
@@ -3,7 +3,6 @@ import hljs from "highlight.js";
3
3
 
4
4
  export default class extends Controller {
5
5
  connect() {
6
- console.log("hi");
7
6
  hljs.highlightAll();
8
7
  }
9
8
  }
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { Controller } from "@hotwired/stimulus";
4
4
  import { createPopper } from "@popperjs/core";
5
+ import { useClickOutside } from "stimulus-use";
5
6
 
6
7
  export default class UIPopover extends Controller {
7
8
  static values = {
@@ -9,9 +10,8 @@ export default class UIPopover extends Controller {
9
10
  };
10
11
  static targets = ["content", "wrapper", "trigger"];
11
12
 
12
- // Sets the popover offset using Stimulus data map objects.
13
-
14
13
  connect() {
14
+ useClickOutside(this);
15
15
  this.popperInstance = createPopper(this.triggerTarget, this.contentTarget, {
16
16
  placement: this.contentTarget.dataset.side || "bottom",
17
17
  modifiers: [
@@ -37,6 +37,10 @@ export default class UIPopover extends Controller {
37
37
  this.contentTarget.dataset.state = "closed";
38
38
  }
39
39
 
40
+ clickOutside(event) {
41
+ this.hide();
42
+ }
43
+
40
44
  // Toggle the popover on demand
41
45
  toggle(event) {
42
46
  this.popperInstance.update();