irelia 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -10
  3. data/Rakefile +18 -4
  4. data/app/assets/config/irelia_manifest.js +2 -2
  5. data/app/assets/dist/javascripts/irelia.js +1 -0
  6. data/app/assets/dist/stylesheets/irelia.css +1 -0
  7. data/app/assets/src/main.js +2 -0
  8. data/app/assets/src/main.pcss +245 -0
  9. data/app/components/index.js +7 -0
  10. data/app/components/index.pcss +38 -0
  11. data/app/components/irelia/app_shell/component.html.erb +18 -0
  12. data/app/components/irelia/app_shell/component.rb +14 -0
  13. data/app/components/irelia/app_shell/index.pcss +20 -0
  14. data/app/{frontend/components/page/header → components/irelia/app_shell}/preview.rb +1 -1
  15. data/app/components/irelia/app_shell/previews/default.html.erb +21 -0
  16. data/app/components/irelia/avatar/component.html.erb +3 -0
  17. data/app/components/irelia/avatar/component.rb +16 -0
  18. data/app/components/irelia/avatar/index.pcss +8 -0
  19. data/{lib/generators/view_component/templates/preview.rb.tt → app/components/irelia/avatar/preview.rb} +1 -1
  20. data/app/components/irelia/breadcrumbs/component.html.erb +12 -0
  21. data/app/components/irelia/breadcrumbs/component.rb +18 -0
  22. data/app/components/irelia/breadcrumbs/index.pcss +16 -0
  23. data/app/{frontend/components/page/container → components/irelia/breadcrumbs}/preview.rb +1 -1
  24. data/app/components/irelia/button/component.html.erb +27 -0
  25. data/app/components/irelia/button/component.rb +40 -0
  26. data/app/components/irelia/button/index.pcss +57 -0
  27. data/app/components/irelia/button/preview.rb +79 -0
  28. data/app/components/irelia/card/component.html.erb +5 -0
  29. data/app/components/irelia/card/component.rb +15 -0
  30. data/app/components/irelia/card/index.pcss +9 -0
  31. data/app/components/irelia/card/preview.rb +18 -0
  32. data/app/components/irelia/component.rb +55 -0
  33. data/app/components/irelia/component_preview.rb +7 -0
  34. data/app/components/irelia/container/component.rb +30 -0
  35. data/app/components/irelia/container/index.pcss +45 -0
  36. data/app/components/irelia/container/preview.rb +18 -0
  37. data/app/components/irelia/div/component.html.erb +3 -0
  38. data/app/components/irelia/div/component.rb +15 -0
  39. data/app/components/irelia/div/index.pcss +7 -0
  40. data/app/components/irelia/divider/component.html.erb +7 -0
  41. data/app/components/irelia/divider/component.rb +10 -0
  42. data/app/components/irelia/divider/index.pcss +15 -0
  43. data/app/components/irelia/dropdown/component.html.erb +17 -0
  44. data/app/components/irelia/dropdown/component.rb +52 -0
  45. data/app/components/irelia/dropdown/controller.js +14 -0
  46. data/app/components/irelia/dropdown/index.pcss +37 -0
  47. data/app/components/irelia/dropdown/preview.rb +42 -0
  48. data/app/components/irelia/dropdown/previews/direction_up.html.erb +10 -0
  49. data/app/components/irelia/empty_collection/component.html.erb +19 -0
  50. data/app/components/irelia/empty_collection/component.rb +15 -0
  51. data/app/components/irelia/empty_collection/index.pcss +23 -0
  52. data/app/components/irelia/empty_collection/preview.rb +9 -0
  53. data/app/components/irelia/flex/component.html.erb +3 -0
  54. data/app/components/irelia/flex/component.rb +21 -0
  55. data/app/components/irelia/flex/index.pcss +37 -0
  56. data/app/components/irelia/form/base/component.rb +51 -0
  57. data/app/components/irelia/form/base/index.pcss +7 -0
  58. data/app/components/irelia/form/email_field/component.html.erb +3 -0
  59. data/app/components/irelia/form/email_field/component.rb +10 -0
  60. data/app/components/irelia/form/email_field/index.pcss +7 -0
  61. data/app/{frontend/components/page/breadcrumbs → components/irelia/form/email_field}/preview.rb +1 -1
  62. data/app/components/irelia/form/email_field/previews/default.html.erb +3 -0
  63. data/app/components/irelia/form/group/component.html.erb +19 -0
  64. data/app/components/irelia/form/group/component.rb +26 -0
  65. data/app/components/irelia/form/group/index.pcss +32 -0
  66. data/app/components/irelia/form/password_field/component.html.erb +3 -0
  67. data/app/components/irelia/form/password_field/component.rb +10 -0
  68. data/app/components/irelia/form/password_field/index.pcss +7 -0
  69. data/app/components/irelia/form/password_field/preview.rb +9 -0
  70. data/app/components/irelia/form/password_field/previews/default.html.erb +3 -0
  71. data/app/components/irelia/form/select/component.html.erb +3 -0
  72. data/app/components/irelia/form/select/component.rb +18 -0
  73. data/app/components/irelia/form/select/index.pcss +7 -0
  74. data/app/components/irelia/form/select/preview.rb +9 -0
  75. data/app/components/irelia/form/select/previews/default.html.erb +3 -0
  76. data/app/components/irelia/form/text_field/component.html.erb +3 -0
  77. data/app/components/irelia/form/text_field/component.rb +10 -0
  78. data/app/components/irelia/form/text_field/index.pcss +7 -0
  79. data/app/components/irelia/form/text_field/preview.rb +9 -0
  80. data/app/components/irelia/form/text_field/previews/default.html.erb +3 -0
  81. data/app/components/irelia/html/component.html.erb +3 -0
  82. data/app/components/irelia/html/component.rb +10 -0
  83. data/app/components/irelia/html/index.pcss +16 -0
  84. data/app/components/irelia/html/preview.rb +9 -0
  85. data/app/components/irelia/icon/component.rb +18 -0
  86. data/app/components/irelia/icon/index.pcss +7 -0
  87. data/app/components/irelia/icon/preview.rb +10 -0
  88. data/app/components/irelia/icon/previews/font_awesome.html.erb +23 -0
  89. data/app/components/irelia/modal/component.html.erb +28 -0
  90. data/app/components/irelia/modal/component.rb +29 -0
  91. data/app/components/irelia/modal/controller.js +50 -0
  92. data/app/components/irelia/modal/index.pcss +41 -0
  93. data/app/{frontend/components/navbar/select_account → components/irelia/modal}/preview.rb +5 -2
  94. data/app/components/irelia/modal/previews/remote_content.html.erb +6 -0
  95. data/app/components/irelia/modal/previews/static_content.html.erb +4 -0
  96. data/app/components/irelia/navbar/brand/component.rb +25 -0
  97. data/app/components/irelia/navbar/brand/index.pcss +9 -0
  98. data/app/components/irelia/navbar/brand/preview.rb +10 -0
  99. data/app/components/irelia/navbar/component.html.erb +10 -0
  100. data/app/components/irelia/navbar/component.rb +20 -0
  101. data/app/components/irelia/navbar/index.pcss +13 -0
  102. data/app/components/irelia/navbar/navigation/component.html.erb +5 -0
  103. data/app/components/irelia/navbar/navigation/component.rb +15 -0
  104. data/app/components/irelia/navbar/navigation/index.pcss +9 -0
  105. data/app/components/irelia/navbar/navigation/link/component.html.erb +5 -0
  106. data/app/components/irelia/navbar/navigation/link/component.rb +18 -0
  107. data/app/components/irelia/navbar/navigation/link/index.pcss +13 -0
  108. data/app/components/irelia/navbar/navigation/link/preview.rb +10 -0
  109. data/app/components/irelia/navbar/navigation/preview.rb +15 -0
  110. data/app/components/irelia/navbar/preview.rb +17 -0
  111. data/app/components/irelia/navbar/previews/default.html.erb +19 -0
  112. data/app/components/irelia/navbar/previews/full_width.html.erb +19 -0
  113. data/app/components/irelia/navbar/previews/navigation_right.html.erb +19 -0
  114. data/app/components/irelia/navbar/section/component.html.erb +3 -0
  115. data/app/components/irelia/navbar/section/component.rb +13 -0
  116. data/app/components/irelia/navbar/section/index.pcss +8 -0
  117. data/app/components/irelia/navbar/separator/component.rb +14 -0
  118. data/app/components/irelia/navbar/separator/index.pcss +8 -0
  119. data/app/components/irelia/navigation/component.html.erb +7 -0
  120. data/app/components/irelia/navigation/component.rb +23 -0
  121. data/app/components/irelia/navigation/index.pcss +7 -0
  122. data/app/components/irelia/navigation/preview.rb +14 -0
  123. data/app/components/irelia/notification/component.html.erb +9 -0
  124. data/app/components/irelia/notification/component.rb +27 -0
  125. data/app/components/irelia/notification/index.pcss +41 -0
  126. data/app/components/irelia/notification/preview.rb +22 -0
  127. data/app/components/irelia/page_header/component.html.erb +15 -0
  128. data/app/components/irelia/page_header/component.rb +17 -0
  129. data/app/components/irelia/page_header/index.pcss +36 -0
  130. data/app/components/irelia/page_header/preview.rb +13 -0
  131. data/app/components/irelia/sidebar/brand/component.html.erb +6 -0
  132. data/app/components/irelia/sidebar/brand/component.rb +19 -0
  133. data/app/components/irelia/sidebar/brand/index.pcss +13 -0
  134. data/app/components/irelia/sidebar/brand/preview.rb +10 -0
  135. data/app/components/irelia/sidebar/component.html.erb +8 -0
  136. data/app/components/irelia/sidebar/component.rb +16 -0
  137. data/app/components/irelia/sidebar/index.pcss +12 -0
  138. data/app/components/irelia/sidebar/navigation/component.html.erb +5 -0
  139. data/app/components/irelia/sidebar/navigation/component.rb +12 -0
  140. data/app/components/irelia/sidebar/navigation/index.pcss +8 -0
  141. data/app/components/irelia/sidebar/navigation/link/component.html.erb +10 -0
  142. data/app/components/irelia/sidebar/navigation/link/component.rb +26 -0
  143. data/app/components/irelia/sidebar/navigation/link/index.pcss +20 -0
  144. data/app/components/irelia/sidebar/navigation/link/preview.rb +14 -0
  145. data/app/components/irelia/sidebar/navigation/preview.rb +16 -0
  146. data/app/components/irelia/sidebar/preview.rb +9 -0
  147. data/app/components/irelia/sidebar/previews/default.html.erb +12 -0
  148. data/app/components/irelia/sidebar/section/component.html.erb +3 -0
  149. data/app/components/irelia/sidebar/section/component.rb +16 -0
  150. data/app/components/irelia/sidebar/section/index.pcss +11 -0
  151. data/app/components/irelia/split_screen/component.html.erb +8 -0
  152. data/app/components/irelia/split_screen/component.rb +18 -0
  153. data/app/components/irelia/split_screen/index.pcss +35 -0
  154. data/app/components/irelia/split_screen/preview.rb +12 -0
  155. data/app/components/irelia/stack/component.html.erb +3 -0
  156. data/app/components/irelia/stack/component.rb +21 -0
  157. data/app/components/irelia/stack/index.pcss +25 -0
  158. data/app/components/irelia/stack/preview.rb +47 -0
  159. data/app/components/irelia/stack/previews/default.html.erb +5 -0
  160. data/app/components/irelia/stack/previews/horizontal.html.erb +5 -0
  161. data/app/components/irelia/stack/previews/vertical.html.erb +5 -0
  162. data/app/components/irelia/table/component.html.erb +23 -0
  163. data/app/components/irelia/table/component.rb +31 -0
  164. data/app/components/irelia/table/index.pcss +32 -0
  165. data/app/components/irelia/table/preview.rb +9 -0
  166. data/app/components/irelia/table/previews/default.html.erb +19 -0
  167. data/app/components/irelia/table/row/component.html.erb +5 -0
  168. data/app/components/irelia/table/row/component.rb +34 -0
  169. data/app/components/irelia/table/row/index.pcss +7 -0
  170. data/app/helpers/irelia/components_helper.rb +62 -0
  171. data/app/helpers/irelia/form_helper.rb +9 -0
  172. data/app/helpers/irelia/head_helper.rb +7 -0
  173. data/app/views/irelia/_head.html.erb +25 -0
  174. data/lib/irelia/config.rb +18 -0
  175. data/lib/irelia/engine.rb +13 -11
  176. data/lib/irelia/form_builder.rb +48 -0
  177. data/lib/irelia/options/fixed.rb +26 -0
  178. data/lib/irelia/options/flex/direction.rb +22 -0
  179. data/lib/irelia/options/flex/gap.rb +25 -0
  180. data/lib/irelia/options/flex/grow.rb +21 -0
  181. data/lib/irelia/options/flex/items.rb +25 -0
  182. data/lib/irelia/options/flex/justify.rb +27 -0
  183. data/lib/irelia/options/padding.rb +46 -0
  184. data/lib/irelia/options/text_formatting.rb +30 -0
  185. data/lib/irelia/options/width.rb +19 -0
  186. data/lib/irelia/version.rb +1 -1
  187. data/lib/irelia.rb +20 -24
  188. metadata +199 -168
  189. data/app/frontend/components/application_view_component.rb +0 -5
  190. data/app/frontend/components/application_view_component_preview.rb +0 -5
  191. data/app/frontend/components/navbar/button/component.html.erb +0 -8
  192. data/app/frontend/components/navbar/button/component.rb +0 -13
  193. data/app/frontend/components/navbar/button/preview.rb +0 -12
  194. data/app/frontend/components/navbar/container/component.html.erb +0 -5
  195. data/app/frontend/components/navbar/container/component.rb +0 -8
  196. data/app/frontend/components/navbar/container/preview.rb +0 -12
  197. data/app/frontend/components/navbar/dark_mode_switcher/component.html.erb +0 -4
  198. data/app/frontend/components/navbar/dark_mode_switcher/component.rb +0 -8
  199. data/app/frontend/components/navbar/dark_mode_switcher/preview.rb +0 -12
  200. data/app/frontend/components/navbar/menu_items/component.html.erb +0 -3
  201. data/app/frontend/components/navbar/menu_items/component.rb +0 -8
  202. data/app/frontend/components/navbar/menu_items/preview.rb +0 -12
  203. data/app/frontend/components/navbar/navlink/component.html.erb +0 -8
  204. data/app/frontend/components/navbar/navlink/component.rb +0 -13
  205. data/app/frontend/components/navbar/navlink/preview.rb +0 -12
  206. data/app/frontend/components/navbar/right_section/component.html.erb +0 -3
  207. data/app/frontend/components/navbar/right_section/component.rb +0 -8
  208. data/app/frontend/components/navbar/right_section/preview.rb +0 -12
  209. data/app/frontend/components/navbar/select_account/component.html.erb +0 -36
  210. data/app/frontend/components/navbar/select_account/component.rb +0 -6
  211. data/app/frontend/components/navbar/separator/component.html.erb +0 -1
  212. data/app/frontend/components/navbar/separator/component.rb +0 -7
  213. data/app/frontend/components/navbar/separator/preview.rb +0 -12
  214. data/app/frontend/components/page/breadcrumbs/component.html.erb +0 -16
  215. data/app/frontend/components/page/breadcrumbs/component.rb +0 -6
  216. data/app/frontend/components/page/container/component.html.erb +0 -3
  217. data/app/frontend/components/page/container/component.rb +0 -4
  218. data/app/frontend/components/page/header/component.html.erb +0 -12
  219. data/app/frontend/components/page/header/component.rb +0 -6
  220. data/app/helpers/navbar_helper.rb +0 -35
  221. data/app/helpers/page_helper.rb +0 -15
  222. data/app/javascript/controllers/dark_mode_switcher_controller.js +0 -20
  223. data/app/javascript/controllers/dropdown_controller.js +0 -3
  224. data/app/views/devise/registrations/new.html.erb +0 -21
  225. data/app/views/devise/sessions/new.html.erb +0 -18
  226. data/app/views/layouts/application.html.erb +0 -11
  227. data/app/views/layouts/devise.html.erb +0 -23
  228. data/app/views/layouts/mailer.html.erb +0 -13
  229. data/app/views/layouts/mailer.text.erb +0 -1
  230. data/app/views/layouts/teamable.html.erb +0 -31
  231. data/app/views/shared/_head.html.erb +0 -26
  232. data/app/views/shared/_navbar.html.erb +0 -30
  233. data/app/views/shared/_navbar_logo.html.erb +0 -3
  234. data/app/views/teamable/accounts/new.html.erb +0 -10
  235. data/app/views/teamable/setup/new.html.erb +0 -8
  236. data/app/views/teamable/shared/_form.html.erb +0 -4
  237. data/config/importmap.rb +0 -7
  238. data/config/initializers/devise.rb +0 -313
  239. data/config/initializers/simple_form.rb +0 -148
  240. data/config/initializers/view_component.rb +0 -18
  241. data/lib/generators/irelia/install_generator.rb +0 -19
  242. data/lib/generators/templates/irelia.rb +0 -14
  243. data/lib/generators/view_component/USAGE +0 -15
  244. data/lib/generators/view_component/templates/component.html.erb.tt +0 -1
  245. data/lib/generators/view_component/templates/component.rb.tt +0 -8
  246. data/lib/generators/view_component/templates/component_system_test.rb.tt +0 -13
  247. data/lib/generators/view_component/templates/component_test.rb.tt +0 -19
  248. data/lib/generators/view_component/view_component_generator.rb +0 -53
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: faa3b8e64532f3d512880ee2c611566d88e27606125ea7068bc491f40573fa91
4
- data.tar.gz: 5208c6e42837909a6858bff761b7f1add4ace0110f3010e190a57fabada5b6c7
3
+ metadata.gz: e317d0c750216f2da3ca125f6682265c16bac557b347d2fc7734ff984e974f80
4
+ data.tar.gz: 26eeb4673b34296dbb94de1da1a7ba537715a31bb7556fcfe25ed71efc043b8b
5
5
  SHA512:
6
- metadata.gz: e9e3f2cf4e9e68599369078e72ce71d7f515dc3ba660d81dadffac22b74c59a9ca0e47e42aead93e8ad24e134e3d6fe7a39926e6082a6f9a5a7a694fca7fae5d
7
- data.tar.gz: ff3d6cb4b9770cd64469073ad6b9d62578fdfb36c20d9ee60f0ba346f00254c8f1222d87417ffed9faf8812a82ff48dd5d4f62ad72ad7fe1c167bb626fa98c59
6
+ metadata.gz: f64ae984e3b47e997ed671f28899384b86c86e652a71e7da35e8c4e407bce8ffb69a7c58cff43446dffc4d0d06f754df43dc87df83f5dec987d0b604a0675cdb
7
+ data.tar.gz: 7dde693ec41cd329b4403d363b286de7782741ef026a51bb2fea633ebaff24d409e6085233e8437e2e3d45897d50ddcc517a8bc71d9b09a5403008459e7522a7
data/README.md CHANGED
@@ -1,26 +1,48 @@
1
1
  # Irelia
2
- Short description and motivation.
2
+ Irelia view components for Ruby on Rails.
3
3
 
4
- ## Usage
5
- How to use my plugin.
4
+ ## Documentation
5
+ This project is still in an early stage. Documentation will be available soon.
6
6
 
7
7
  ## Installation
8
- Add this line to your application's Gemfile:
8
+
9
+ #### 1. Add this line to your application's Gemfile:
9
10
 
10
11
  ```ruby
11
12
  gem "irelia"
12
13
  ```
14
+ Run `bundle install` to install the dependencies
15
+
16
+ #### 2. Add the `irelia_head` method inside the `<head>` tags in your application layout.
17
+
18
+ This is a helper method that will inject the Irelia stylesheets and javascripts into the head tag. It includes the Irelia CSS and JS files, as well as **Font Awesome** for icons and the **Poppins** Google font.
19
+
20
+ ```html
21
+ <!-- file: app/views/application.html.erb -->
22
+ <head>
23
+ <%= irelia_head %>
24
+ <!-- Load custom CSS after "irelia_head" to -->
25
+ </head>
26
+ ```
13
27
 
14
- And then execute:
15
- ```bash
16
- $ bundle
28
+ #### 3. Load javascripts with importmap
29
+
30
+ Pin the Irelia javascripts in your `importmap.rb` config.
31
+
32
+ ```ruby
33
+ pin "irelia", to: "irelia.js"
17
34
  ```
18
35
 
19
- Or install it yourself as:
20
- ```bash
21
- $ gem install irelia
36
+ Add the Irelia `registerIreliaControllers` to your `controllers.js` file.
37
+
38
+ ```javascript
39
+ // file: app/javascripts/controllers/index.js
40
+ import { registerIreliaControllers } from "irelia";
41
+ registerIreliaControllers(application);
22
42
  ```
23
43
 
44
+ Restart your application and you should be good to go!
45
+
24
46
  ## Contributing
25
47
  Contribution directions go here.
26
48
 
data/Rakefile CHANGED
@@ -1,10 +1,24 @@
1
- # frozen_string_literal: true
2
-
3
1
  require "bundler/setup"
4
2
 
5
3
  APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
6
- load "rails/tasks/engine.rake"
7
4
 
5
+ load "rails/tasks/engine.rake"
8
6
  load "rails/tasks/statistics.rake"
9
-
10
7
  require "bundler/gem_tasks"
8
+
9
+ require_relative "test/dummy/config/application"
10
+
11
+ Rails.application.load_tasks
12
+ Rake::Task["default"].clear
13
+
14
+ namespace :lint do
15
+ task :rubocop do
16
+ sh "bundle exec rubocop"
17
+ end
18
+ end
19
+
20
+ task :default do
21
+ Rake::Task["test"].invoke
22
+ Rake::Task["test:system"].invoke
23
+ Rake::Task["lint:rubocop"].invoke
24
+ end
@@ -1,2 +1,2 @@
1
- //= link_tree ../../javascript .js
2
- //= link_tree ../../assets/images .svg
1
+ //= link_tree ../dist/javascripts .js
2
+ //= link_tree ../dist/stylesheets .css
@@ -0,0 +1 @@
1
+ import{Controller as e}from"@hotwired/stimulus";(class extends e{}).debounces=[];(class extends e{}).throttles=[];const t={enterFromClass:"enter",enterActiveClass:"enterStart",enterToClass:"enterEnd",leaveFromClass:"leave",leaveActiveClass:"leaveStart",leaveToClass:"leaveEnd"},s={transitioned:!1,hiddenClass:"hidden",preserveOriginalClass:!0,removeToClasses:!0},n=(e,t={})=>{var n,a,r;const o=e,l=o.element.dataset.transitionTarget;let c;l&&(c=o[`${l}Target`]);const d=(null==t?void 0:t.element)||c||o.element;if(!(d instanceof HTMLElement||d instanceof SVGElement))return;const h=d.dataset,u=parseInt(h.leaveAfter||"")||t.leaveAfter||0,{transitioned:v,hiddenClass:m,preserveOriginalClass:g,removeToClasses:f}=Object.assign({},s,t),T=null===(n=o.enter)||void 0===n?void 0:n.bind(o),p=null===(a=o.leave)||void 0===a?void 0:a.bind(o),b=null===(r=o.toggleTransition)||void 0===r?void 0:r.bind(o);async function L(e){if(o.transitioned)return;o.transitioned=!0,T&&T(e);const s=i("enterFrom",t,h),n=i("enterActive",t,h),a=i("enterTo",t,h),r=i("leaveTo",t,h);m&&d.classList.remove(m),f||E(d,r),await y(d,s,n,a,m,g,f),u>0&&setTimeout((()=>{C(e)}),u)}async function C(e){if(!o.transitioned)return;o.transitioned=!1,p&&p(e);const s=i("leaveFrom",t,h),n=i("leaveActive",t,h),a=i("leaveTo",t,h),r=i("enterTo",t,h);f||E(d,r),await y(d,s,n,a,m,g,f),m&&d.classList.add(m)}function w(e){b&&b(e),o.transitioned?C():L()}async function y(e,t,s,n,i,a,r){const o=[];a&&(t.forEach((t=>e.classList.contains(t)&&t!==i&&o.push(t))),s.forEach((t=>e.classList.contains(t)&&t!==i&&o.push(t))),n.forEach((t=>e.classList.contains(t)&&t!==i&&o.push(t)))),A(e,t),E(e,o),A(e,s),await async function(){return new Promise((e=>{requestAnimationFrame((()=>{requestAnimationFrame(e)}))}))}(),E(e,t),A(e,n),await async function(e){return new Promise((t=>{const s=1e3*Number(getComputedStyle(e).transitionDuration.split(",")[0].replace("s",""));setTimeout((()=>{t(s)}),s)}))}(e),E(e,s),r&&E(e,n),A(e,o)}function A(e,t){t.length>0&&e.classList.add(...t)}function E(e,t){t.length>0&&e.classList.remove(...t)}return o.transitioned=v,v?(m&&d.classList.remove(m),L()):(m&&d.classList.add(m),C()),Object.assign(o,{enter:L,leave:C,toggleTransition:w}),[L,C,w]};function i(e,s,n){const i=`transition${e[0].toUpperCase()}${e.substr(1)}`,a=t[e],r=s[e]||n[i]||n[a]||" ";return 0!==(o=r).length&&o.trim()?r.split(" "):[];var o}const a=class extends e{connect(){n(this,{element:this.menuTarget})}toggle(){this.toggleTransition()}hide(e){!this.element.contains(e.target)&&!this.menuTarget.classList.contains("hidden")&&this.leave()}};a.targets=["menu"];let r=a;class o extends r{static values={open:Boolean};connect(){super.connect(),this.openValue&&this.enter()}}class l extends e{static targets=["container","frame","loader","background"];connect(){this.observer=new MutationObserver(this.frameMutated.bind(this)),this.observer.observe(this.frameTarget,{attributes:!0,childList:!1,characterData:!1})}disconnect(){this.observer.disconnect(),delete this.observer,this.close()}frameMutated(){this.frameTarget.hasAttribute("busy")?(this.loaderTarget.classList.remove("hidden"),this.open()):this.loaderTarget.classList.add("hidden")}open(){this.containerTarget.classList.remove("hidden")}close(e){e.preventDefault(),this.containerTarget.classList.add("hidden")}closeWithKeyboard(e){27!==e.keyCode||this.containerTarget.classList.contains("hidden")||this.close(e)}}function c(e){e.register("irelia-dropdown",o),e.register("irelia-modal",l)}export{c as registerIreliaControllers};
@@ -0,0 +1 @@
1
+ /*! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com*/*,:after,:before{border-color:var(--color-border);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Poppins;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}html{font-size:13.5px}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}:root{--irelia-navbar-height:80px;--irelia-colors-background:#fafafa;--irelia-colors-surface:#fff;--irelia-colors-text:#71717a;--irelia-colors-border:#e5e5e5;--irelia-colors-primary:#155e75;--irelia-colors-primary-hover:#0e7490;--irelia-colors-gray:#e4e4e7;--irelia-colors-gray-hover:#f4f4f5;--irelia-colors-danger:#e11d48;--irelia-colors-danger-hover:#f43f5e}body{background-color:var(--irelia-colors-background);color:var(--irelia-colors-text);font-family:Poppins;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.irelia-form{display:flex;flex-direction:column;row-gap:1.25rem;text-align:left}.irelia-grow{flex-grow:1}.irelia-justify-start{justify-content:flex-start}.irelia-justify-center{justify-content:center}.irelia-justify-between{justify-content:space-between}.irelia-justify-end{justify-content:flex-end}.irelia-justify-around{justify-content:space-around}.irelia-justify-evenly{justify-content:space-evenly}.irelia-justify-stretch{justify-content:stretch}.irelia-padding-none{padding:0}.irelia-padding-sm{padding:.625rem}.irelia-padding-md{padding:1.25rem}.irelia-padding-lg{padding:2.5rem}.irelia-padding-top-none{padding-top:0}.irelia-padding-top-sm{padding-top:.625rem}.irelia-padding-top-md{padding-top:1.25rem}.irelia-padding-top-lg{padding-top:2.5rem}.irelia-padding-bottom-none{padding-bottom:0}.irelia-padding-bottom-sm{padding-bottom:.625rem}.irelia-padding-bottom-md{padding-bottom:1.25rem}.irelia-padding-bottom-lg{padding-bottom:2.5rem}.irelia-padding-left-none{padding-left:0}.irelia-padding-left-sm{padding-left:.625rem}.irelia-padding-left-md{padding-left:1.25rem}.irelia-padding-left-lg{padding-left:2.5rem}.irelia-padding-right-none{padding-right:0}.irelia-padding-right-sm{padding-right:.625rem}.irelia-padding-right-md{padding-right:1.25rem}.irelia-padding-right-lg{padding-right:2.5rem}.irelia-items-start{align-items:flex-start}.irelia-items-center{align-items:center}.irelia-items-end{align-items:flex-end}.irelia-items-stretch{align-items:stretch}.irelia-items-baseline{align-items:baseline}.irelia-text-base{font-size:1rem;line-height:1.5rem}.irelia-text-xs{font-size:.75rem;line-height:1rem}.irelia-text-sm{font-size:.875rem;line-height:1.25rem}.irelia-text-lg{font-size:1.125rem;line-height:1.75rem}.irelia-text-xl{font-size:1.25rem;line-height:1.75rem}.irelia-text-2xl{font-size:1.5rem;line-height:2rem}.irelia-text-3xl{font-size:1.875rem;line-height:2.25rem}.irelia-text-bold{font-weight:700}.irelia-text-semibold{font-weight:600}.irelia-text-extrabold{font-weight:800}.irelia-text-no-bold{font-weight:400}.irelia-width-full{width:100%}.irelia-fixed-top,.irelia-fixed-top-right{position:fixed;top:0}.irelia-fixed-top-right{right:0}.irelia-fixed-right{position:fixed;right:0}.irelia-fixed-bottom-right{right:0}.irelia-fixed-bottom,.irelia-fixed-bottom-left,.irelia-fixed-bottom-right{bottom:0;position:fixed}.irelia-fixed-bottom-left{left:0}.irelia-fixed-left,.irelia-fixed-top-left{left:0;position:fixed}.irelia-fixed-top-left{top:0}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose :where(a,.button_to button):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--irelia-colors-primary);font-weight:700;text-decoration:none}.prose :where(a,.button_to button):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:var(--irelia-colors-primary-hover)}.irelia-button{align-items:center;border-radius:.25rem;cursor:pointer;display:inline-flex;justify-content:center;text-decoration-line:none;text-wrap:nowrap;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.irelia-button--default{font-weight:700;width:-moz-min-content;width:min-content}.irelia-button--default.irelia-button--color-primary{background-color:var(--irelia-colors-primary);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.irelia-button--default.irelia-button--color-primary:hover{background-color:var(--irelia-colors-primary-hover)}.irelia-button--default.irelia-button--color-secondary{background-color:var(--irelia-colors-gray);color:var(--irelia-colors-primary)}.irelia-button--default.irelia-button--color-secondary:hover{background-color:var(--irelia-colors-gray-hover)}.irelia-button--default.irelia-button--color-danger{background-color:var(--irelia-colors-danger);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.irelia-button--default.irelia-button--color-danger:hover{background-color:var(--irelia-colors-danger-hover)}.irelia-button--xs{-moz-column-gap:.375rem;column-gap:.375rem;font-size:.75rem;line-height:1rem;padding:.25rem .75rem}.irelia-button--sm{-moz-column-gap:.5rem;column-gap:.5rem;font-size:.875rem;line-height:1.25rem;padding:.375rem 1rem}.irelia-button--md{-moz-column-gap:.625rem;column-gap:.625rem;font-size:1rem;line-height:1.5rem;padding:.5rem 1.25rem}.irelia-button--lg{-moz-column-gap:.875rem;column-gap:.875rem;font-size:1.125rem;line-height:1.75rem;padding:.625rem 1.75rem}.irelia-button--xl{-moz-column-gap:1rem;column-gap:1rem;font-size:1.25rem;line-height:1.75rem;padding:1rem 2.5rem}.irelia-button--dropdown-item{align-items:center;border-radius:.25rem;display:flex;justify-content:flex-start;outline:2px solid transparent;outline-offset:2px;padding:.375rem .5rem;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.irelia-button--dropdown-item:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity))}.irelia-button--dropdown-item .irelia-button__content{padding-right:1rem}.irelia-button--dropdown-item .irelia-button__icon{opacity:.35;text-align:center;width:15px}.irelia-button--dropdown-item .irelia-button__content+.irelia-button__icon{margin-left:auto}.irelia-stack{display:flex;gap:1rem}.irelia-stack--grow>*{flex-grow:1}.irelia-stack--horizontal{flex-direction:row}.irelia-stack--horizontal-reverse{flex-direction:row-reverse}.irelia-stack--vertical{flex-direction:column}.irelia-stack--vertical-reverse{flex-direction:column-reverse}.irelia-navbar{align-items:center;background-color:var(--irelia-colors-surface);border-bottom-width:1px;border-color:var(--irelia-colors-border);height:var(--irelia-navbar-height);left:0;position:sticky;right:0;top:0;z-index:50}.irelia-navbar__inner{align-items:center;-moz-column-gap:2.5rem;column-gap:2.5rem;display:flex;font-size:.875rem;height:100%;line-height:1.25rem}.irelia-navbar--full-width .irelia-navbar__inner{padding-left:2.5rem;padding-right:2.5rem}.irelia-navbar__section{align-items:center;-moz-column-gap:1.25rem;column-gap:1.25rem;display:flex}.irelia-navbar__separator{background-color:var(--irelia-colors-border);height:30px;width:1px}.irelia-navbar__brand{font-size:1.25rem;font-weight:700;line-height:1.75rem}.irelia-navbar__brand--default{color:var(--irelia-colors-primary);transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.irelia-navbar__brand--default:hover{color:var(--irelia-colors-primary-hover)}.irelia-navbar__navigation{align-items:center;-moz-column-gap:1.25rem;column-gap:1.25rem;display:flex}.irelia-navbar__navigation--default{-moz-column-gap:2rem;column-gap:2rem;height:100%}.irelia-navbar__navigation__link{display:flex}.irelia-navbar__navigation__link--default{align-items:center;color:var(--irelia-colors-text);height:100%}.irelia-navbar__navigation__link--default:hover{color:var(--irelia-colors-primary)}.irelia-navbar__navigation__link--default.irelia-navbar__navigation__link--active{color:var(--irelia-colors-primary);font-weight:700}.irelia-dropdown{position:relative}.irelia-dropdown.irelia-dropdown--direction-down .irelia-dropdown__content{margin-top:2.5rem;top:0}.irelia-dropdown.irelia-dropdown--direction-down .irelia-dropdown__content.transition-closed{--tw-translate-y:-0.5rem;opacity:0}.irelia-dropdown.irelia-dropdown--direction-down .irelia-dropdown__content.transition-closed,.irelia-dropdown.irelia-dropdown--direction-down .irelia-dropdown__content.transition-open{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.irelia-dropdown.irelia-dropdown--direction-down .irelia-dropdown__content.transition-open{--tw-translate-y:-0px;opacity:1}.irelia-dropdown.irelia-dropdown--direction-up .irelia-dropdown__content{bottom:0;margin-bottom:2.5rem;margin-top:0}.irelia-dropdown.irelia-dropdown--direction-up .irelia-dropdown__content.transition-closed{--tw-translate-y:0.5rem;opacity:0}.irelia-dropdown.irelia-dropdown--direction-up .irelia-dropdown__content.transition-closed,.irelia-dropdown.irelia-dropdown--direction-up .irelia-dropdown__content.transition-open{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.irelia-dropdown.irelia-dropdown--direction-up .irelia-dropdown__content.transition-open{--tw-translate-y:0px;opacity:1}.irelia-dropdown__content{min-width:12rem;position:absolute;z-index:50;--tw-translate-x:-0.125rem;border-color:hsla(0,0%,90%,.7);border-radius:.375rem;border-width:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));font-size:.875rem;line-height:1.25rem;padding:.25rem;--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-duration:.2s}.irelia-container{margin:0;padding-left:2.5rem;padding-right:2.5rem}.irelia-container.irelia-container--center{margin-left:auto;margin-right:auto}.irelia-app-shell .irelia-container{padding-left:0;padding-right:0}.irelia-container--size-full-width{width:100%}.irelia-container--size-xxl{max-width:1536px}.irelia-container--size-xl{max-width:1280px}.irelia-container--size-lg{max-width:1024px}.irelia-container--size-md{max-width:768px}.irelia-container--size-sm{max-width:640px}.irelia-container--size-xs{max-width:448px}.irelia-container--size-xxs{max-width:320px}.irelia-app-shell{background-color:var(--irelia-colors-background);display:flex;min-height:100dvh}.irelia-app-shell--main{flex:1 1 0%;flex-grow:1;padding:2.5rem 4rem}.irelia-app-shell--breadcrumbs-container{align-items:center;display:flex;height:7rem;margin-top:-2.5rem}.irelia-app-shell--submenu-container{margin-bottom:2.5rem}.irelia-sidebar{border-right-width:2px;flex-shrink:1;width:24rem;--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity));padding-bottom:2.5rem;padding-top:2.5rem}.irelia-sidebar__inner{display:flex;flex-direction:column;height:100%;row-gap:2.5rem}.irelia-sidebar__section--padding{padding-left:2.5rem;padding-right:2.5rem}.irelia-sidebar__brand{font-size:1.25rem;font-weight:700;line-height:1.75rem}.irelia-sidebar__brand--default{align-items:center;color:var(--irelia-colors-primary);display:flex;height:7rem;justify-content:space-between;margin-top:-2.5rem;padding-left:2.5rem;padding-right:2.5rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.irelia-sidebar__brand--default:hover{color:var(--irelia-colors-primary-hover)}.irelia-sidebar__brand--default .irelia-sidebar__brand--actions{font-size:.875rem;line-height:1.25rem}.irelia-sidebar__navigation{display:flex;flex-direction:column}.irelia-sidebar__navigation__link--default{border-left-color:transparent;border-left-width:4px;-moz-column-gap:.75rem;column-gap:.75rem;display:flex;font-weight:600;padding:.5rem 2rem}.irelia-sidebar__navigation__link--default.irelia-sidebar__navigation__link--active{border-left-color:var(--irelia-colors-primary);color:var(--irelia-colors-primary);font-weight:700}.irelia-sidebar__navigation__link--default:hover{color:var(--irelia-colors-primary)}.irelia-sidebar__navigation__link--default .irelia-sidebar__navigation__link__icon{align-items:center;display:flex;justify-content:center;width:1.5rem}.irelia-breadcrumbs{display:flex;flex-direction:column;font-size:.875rem;justify-content:center;line-height:1.25rem;row-gap:.375rem}.irelia-breadcrumbs li{align-items:center;display:flex;height:100%}.irelia-breadcrumbs .irelia-icon svg.fa-chevron-right{font-size:.75rem;line-height:1rem;padding-left:.5rem;padding-right:.5rem;--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.irelia-page-header--default{align-items:center;display:flex;margin-bottom:2.5rem}.irelia-page-header--default>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.irelia-page-header--default .irelia-page-header__inner{flex:1 1 0%}.irelia-page-header--default .irelia-page-header__inner h1{color:var(--irelia-colors-primary);font-size:1.5rem;font-weight:700;line-height:2rem}.irelia-page-header--default .irelia-page-header__inner p{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.irelia-page-header--split-screen{margin-bottom:1.25rem}.irelia-page-header--split-screen .irelia-page-header__inner h1{color:var(--irelia-colors-primary);font-size:1.5rem;font-weight:700;line-height:2rem;margin-bottom:.5rem}.irelia-page-header--split-screen .irelia-page-header__inner p{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.irelia-form__group{border-radius:.25rem;display:flex;flex-direction:column;position:relative;row-gap:.375rem;width:100%;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding:1.25rem;text-align:left;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.irelia-form__group label{color:var(--irelia-colors-primary);font-size:.875rem;font-weight:700;line-height:1.25rem;text-transform:uppercase;white-space:nowrap}.irelia-form__group.irelia-form__group--invalid label{color:var(--irelia-colors-danger)}.irelia-form__group input:not([type=checkbox]),.irelia-form__group select,.irelia-form__group textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-width:0;margin:0;width:100%;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding:0}.irelia-form__group input:not([type=checkbox])::-moz-placeholder,.irelia-form__group select::-moz-placeholder,.irelia-form__group textarea::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(163 163 163/var(--tw-placeholder-opacity))}.irelia-form__group input:not([type=checkbox])::placeholder,.irelia-form__group select::placeholder,.irelia-form__group textarea::placeholder{--tw-placeholder-opacity:1;color:rgb(163 163 163/var(--tw-placeholder-opacity))}.irelia-form__group input:not([type=checkbox]):hover,.irelia-form__group select:hover,.irelia-form__group textarea:hover{color:var(--irelia-colors-primary)}.irelia-form__group input:not([type=checkbox]):focus,.irelia-form__group select:focus,.irelia-form__group textarea:focus{color:var(--irelia-colors-primary);outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.irelia-group__errors{color:var(--irelia-colors-danger);font-size:.875rem;line-height:1.25rem;margin-bottom:-.375rem}.irelia-group__hint{font-size:.75rem;line-height:1rem;margin-top:.375rem;--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.irelia-notification{border-radius:.25rem;display:flex;padding:1rem 1.5rem;position:relative;width:100%;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.irelia-notification .icon{align-items:center;display:flex;justify-content:center;padding-right:1.5rem}.irelia-notification .icon .fa{height:1.5rem;width:1.5rem}.irelia-notification .text{display:flex;flex-direction:column;row-gap:.125rem;width:100%}.irelia-notification .text h5{font-weight:600;letter-spacing:-.025em;line-height:1}.irelia-notification .text span{font-size:.875rem;line-height:1.25rem;opacity:.8}.irelia-notification--notice{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.irelia-notification--success{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.irelia-notification--warning{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.irelia-notification--alert{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.irelia-split-screen{bottom:0;display:flex;left:0;position:fixed;right:0;top:var(--irelia-navbar-height)}.irelia-split-screen .irelia-split-screen__aside{background-color:var(--irelia-colors-primary);display:flex;flex:1 1 0%}.irelia-split-screen .irelia-split-screen__main{display:flex;flex:1 1 0%}.irelia-split-screen .irelia-split-screen__main .irelia-split-screen__main__inner{max-width:36rem;width:100%}.irelia-split-screen--center .irelia-split-screen__main{align-items:center;justify-content:center}.irelia-split-screen--center .irelia-split-screen__main .irelia-split-screen__main__inner{text-align:center}.irelia-split-screen--default{flex-direction:row}.irelia-split-screen--reverse{flex-direction:row-reverse}.irelia-table{min-width:100%}.irelia-table>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-color:var(--irelia-colors-gray);border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.irelia-table{text-align:left}.irelia-table thead tr th{color:var(--irelia-colors-primary);font-size:.875rem;font-weight:700;line-height:1.25rem;padding:.75rem 1.25rem;text-transform:uppercase}.irelia-table tbody>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-color:var(--irelia-colors-gray);border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.irelia-table tbody tr{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.irelia-table tbody tr:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.irelia-table tbody tr td{padding:.75rem 1.25rem}.irelia-table tbody tr:nth-child(odd){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.irelia-card{background-color:var(--irelia-colors-surface);border-radius:.25rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.irelia-card:not(.irelia-card--no-padding) .irelia-card__inner{padding:1.25rem}.irelia-modal__container{align-items:center;display:flex;height:100vh;justify-content:center;left:0;padding-left:2.5rem;padding-right:2.5rem;position:fixed;top:0;width:100vw;z-index:99}.irelia-modal__background{background-color:rgb(0 0 0/var(--tw-bg-opacity));height:100%;inset:0;position:absolute;width:100%;--tw-bg-opacity:0.2}.irelia-modal{border-radius:.5rem;position:relative;width:100%;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding:1.5rem 1.75rem;--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.irelia-modal .irelia-modal__header{align-items:center;display:flex;justify-content:space-between}.irelia-modal .irelia-modal__header h3{color:var(--irelia-colors-primary);font-size:1.125rem;font-weight:700;line-height:1.75rem}.irelia-modal .irelia-modal__close-button{align-items:center;border-radius:9999px;display:flex;height:2rem;justify-content:center;margin-right:1.25rem;margin-top:1.25rem;position:absolute;right:0;top:0;width:2rem;--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.irelia-modal .irelia-modal__close-button:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.irelia-modal .irelia-modal__content{position:relative;width:auto}.irelia-modal--with-title,.irelia-modal--with-title .irelia-modal__header{border-bottom-width:1px;border-color:var(--irelia-colors-border)}.irelia-modal--with-title .irelia-modal__header{margin-bottom:1.25rem;padding-bottom:.875rem}@media (min-width:640px){.irelia-modal--default{max-width:32rem}}.irelia-divider .irelia-divider__inner_text{font-size:.875rem;font-weight:700;line-height:1.25rem;padding-left:1.25rem;padding-right:1.25rem}.irelia-divider--default{align-items:center;display:flex}.irelia-divider--default hr{border-top-width:1px;flex-grow:1;--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity))}.irelia-flex{display:flex}.irelia-flex--row{flex-direction:row}.irelia-flex--column{flex-direction:column}.irelia-flex--default{gap:1.25rem}.irelia-flex--gap-none{gap:0}.irelia-flex--gap-xs{gap:.375rem}.irelia-flex--gap-sm{gap:.625rem}.irelia-flex--gap-md{gap:1.25rem}.irelia-flex--gap-lg{gap:2.5rem}.irelia-avatar{border-radius:.5rem;height:2.75rem;overflow:hidden;width:2.75rem;--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}.irelia-html{color:var(--irelia-colors-text);max-width:100%}.irelia-html :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.irelia-html :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.irelia-html :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.irelia-html :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.irelia-html :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.irelia-html :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.irelia-html :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.irelia-html :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.irelia-html :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.irelia-html :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.irelia-html :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.irelia-html :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.irelia-html :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.irelia-html :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.irelia-html :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.irelia-html :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.irelia-html :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.irelia-html :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.irelia-html :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.irelia-html :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.irelia-html :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.irelia-html :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.irelia-html :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"\201C""\201D""\2018""\2019"}.irelia-html :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.irelia-html :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.irelia-html :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.irelia-html :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.irelia-html :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.irelia-html :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.irelia-html :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.irelia-html :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.irelia-html :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.irelia-html :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.irelia-html :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.irelia-html :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.irelia-html :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.irelia-html :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.irelia-html :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.irelia-html :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.irelia-html :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.irelia-html :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.irelia-html :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.irelia-html :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.irelia-html :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.irelia-html :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.irelia-html :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.irelia-html :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.irelia-html :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.irelia-html :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.irelia-html :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.irelia-html :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.irelia-html :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;width:100%}.irelia-html :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.irelia-html :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.irelia-html :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.irelia-html :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.irelia-html :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.irelia-html :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.irelia-html :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.irelia-html :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.irelia-html :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.irelia-html :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.irelia-html{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.irelia-html :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.irelia-html :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.irelia-html :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.irelia-html :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.irelia-html :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.irelia-html :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.irelia-html :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.irelia-html :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.irelia-html :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.irelia-html :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.irelia-html :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.irelia-html :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.irelia-html :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.irelia-html :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.irelia-html :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.irelia-html :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.irelia-html :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.irelia-html :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.irelia-html :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.irelia-html :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.irelia-html :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.irelia-html :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.irelia-html :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.irelia-html :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.irelia-html :where(a,.button_to button):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--irelia-colors-primary);font-weight:700;text-decoration:none}.irelia-html :where(a,.button_to button):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:var(--irelia-colors-primary-hover)}.irelia-html :where(h1,h2,h3,h4,h5,h6):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--irelia-colors-primary)}.irelia-html{--tw-prose-body:#44403c;--tw-prose-headings:#1c1917;--tw-prose-lead:#57534e;--tw-prose-links:#1c1917;--tw-prose-bold:#1c1917;--tw-prose-counters:#78716c;--tw-prose-bullets:#d6d3d1;--tw-prose-hr:#e7e5e4;--tw-prose-quotes:#1c1917;--tw-prose-quote-borders:#e7e5e4;--tw-prose-captions:#78716c;--tw-prose-kbd:#1c1917;--tw-prose-kbd-shadows:28 25 23;--tw-prose-code:#1c1917;--tw-prose-pre-code:#e7e5e4;--tw-prose-pre-bg:#292524;--tw-prose-th-borders:#d6d3d1;--tw-prose-td-borders:#e7e5e4;--tw-prose-invert-body:#d6d3d1;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#a8a29e;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#a8a29e;--tw-prose-invert-bullets:#57534e;--tw-prose-invert-hr:#44403c;--tw-prose-invert-quotes:#f5f5f4;--tw-prose-invert-quote-borders:#44403c;--tw-prose-invert-captions:#a8a29e;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d6d3d1;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#57534e;--tw-prose-invert-td-borders:#44403c}.irelia-html>:first-child{margin-top:0}.irelia-html>:last-child{margin-bottom:0}.irelia-empty-collection{display:flex;gap:8rem;padding:2.5rem 3rem}.irelia-empty-collection--content{display:flex;flex-direction:column;justify-content:center;row-gap:1.25rem;width:66.666667%}.irelia-empty-collection--content h1{color:var(--irelia-colors-primary);font-size:1.5rem;font-weight:700;line-height:2rem}.irelia-empty-collection--content p{font-size:1rem;line-height:1.5rem}.irelia-empty-collection--image-container{align-items:center;display:flex;flex-shrink:1;justify-content:center;text-align:center;width:33.333333%}.static{position:static}.fixed{position:fixed}.mb-3{margin-bottom:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-5{height:1.25rem}.w-1\/2{width:50%}.w-5{width:1.25rem}.grow{flex-grow:1}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.border{border-width:1px}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.text-right{text-align:right}[x-cloak]{display:none!important}@media (min-width:640px){.sm\:mb-0{margin-bottom:0}}.\[\&_\.active-breadcrumb\]\:font-medium .active-breadcrumb{font-weight:500}.\[\&_\.active-breadcrumb\]\:text-neutral-600 .active-breadcrumb{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}
@@ -0,0 +1,2 @@
1
+ import { registerIreliaControllers } from "../../components/index.js";
2
+ export { registerIreliaControllers };
@@ -0,0 +1,245 @@
1
+ @import "tailwindcss/base";
2
+ @import "tailwindcss/components";
3
+ @import "tailwindcss/utilities";
4
+
5
+ @import "../../components/index.pcss";
6
+
7
+ [x-cloak] {
8
+ display: none !important;
9
+ }
10
+
11
+ @layer base {
12
+ :root {
13
+ --irelia-navbar-height: 80px;
14
+ --irelia-colors-background: theme("colors.neutral.50");
15
+ --irelia-colors-surface: theme("colors.white");
16
+ --irelia-colors-text: theme("colors.zinc.500");
17
+ --irelia-colors-border: theme("colors.neutral.200");
18
+ --irelia-colors-primary: theme("colors.cyan.800");
19
+ --irelia-colors-primary-hover: theme("colors.cyan.700");
20
+ --irelia-colors-gray: theme("colors.zinc.200");
21
+ --irelia-colors-gray-hover: theme("colors.zinc.100");
22
+ --irelia-colors-danger: theme("colors.rose.600");
23
+ --irelia-colors-danger-hover: theme("colors.rose.500");
24
+ }
25
+
26
+ body {
27
+ @apply bg-[var(--irelia-colors-background)] font-sans text-[var(--irelia-colors-text)] antialiased;
28
+ }
29
+
30
+ .irelia-form {
31
+ @apply flex flex-col gap-y-5 text-left;
32
+ }
33
+
34
+ .irelia-grow {
35
+ @apply grow;
36
+ }
37
+
38
+ .irelia-justify-start {
39
+ @apply justify-start;
40
+ }
41
+
42
+ .irelia-justify-center {
43
+ @apply justify-center;
44
+ }
45
+
46
+ .irelia-justify-between {
47
+ @apply justify-between;
48
+ }
49
+
50
+ .irelia-justify-end {
51
+ @apply justify-end;
52
+ }
53
+
54
+ .irelia-justify-around {
55
+ @apply justify-around;
56
+ }
57
+
58
+ .irelia-justify-evenly {
59
+ @apply justify-evenly;
60
+ }
61
+
62
+ .irelia-justify-stretch {
63
+ @apply justify-stretch;
64
+ }
65
+
66
+ .irelia-padding-none {
67
+ @apply p-0;
68
+ }
69
+
70
+ .irelia-padding-sm {
71
+ @apply p-2.5;
72
+ }
73
+
74
+ .irelia-padding-md {
75
+ @apply p-5;
76
+ }
77
+
78
+ .irelia-padding-lg {
79
+ @apply p-10;
80
+ }
81
+
82
+ .irelia-padding-top-none {
83
+ @apply pt-0;
84
+ }
85
+
86
+ .irelia-padding-top-sm {
87
+ @apply pt-2.5;
88
+ }
89
+
90
+ .irelia-padding-top-md {
91
+ @apply pt-5;
92
+ }
93
+
94
+ .irelia-padding-top-lg {
95
+ @apply pt-10;
96
+ }
97
+
98
+ .irelia-padding-bottom-none {
99
+ @apply pb-0;
100
+ }
101
+
102
+ .irelia-padding-bottom-sm {
103
+ @apply pb-2.5;
104
+ }
105
+
106
+ .irelia-padding-bottom-md {
107
+ @apply pb-5;
108
+ }
109
+
110
+ .irelia-padding-bottom-lg {
111
+ @apply pb-10;
112
+ }
113
+
114
+ .irelia-padding-left-none {
115
+ @apply pl-0;
116
+ }
117
+
118
+ .irelia-padding-left-sm {
119
+ @apply pl-2.5;
120
+ }
121
+
122
+ .irelia-padding-left-md {
123
+ @apply pl-5;
124
+ }
125
+
126
+ .irelia-padding-left-lg {
127
+ @apply pl-10;
128
+ }
129
+
130
+ .irelia-padding-right-none {
131
+ @apply pr-0;
132
+ }
133
+
134
+ .irelia-padding-right-sm {
135
+ @apply pr-2.5;
136
+ }
137
+
138
+ .irelia-padding-right-md {
139
+ @apply pr-5;
140
+ }
141
+
142
+ .irelia-padding-right-lg {
143
+ @apply pr-10;
144
+ }
145
+
146
+ .irelia-items-start {
147
+ @apply items-start;
148
+ }
149
+
150
+ .irelia-items-center {
151
+ @apply items-center;
152
+ }
153
+
154
+ .irelia-items-end {
155
+ @apply items-end;
156
+ }
157
+
158
+ .irelia-items-stretch {
159
+ @apply items-stretch;
160
+ }
161
+
162
+ .irelia-items-baseline {
163
+ @apply items-baseline;
164
+ }
165
+
166
+ .irelia-text-base {
167
+ @apply text-base;
168
+ }
169
+
170
+ .irelia-text-xs {
171
+ @apply text-xs;
172
+ }
173
+
174
+ .irelia-text-sm {
175
+ @apply text-sm;
176
+ }
177
+
178
+ .irelia-text-lg {
179
+ @apply text-lg;
180
+ }
181
+
182
+ .irelia-text-xl {
183
+ @apply text-xl;
184
+ }
185
+
186
+ .irelia-text-2xl {
187
+ @apply text-2xl;
188
+ }
189
+
190
+ .irelia-text-3xl {
191
+ @apply text-3xl;
192
+ }
193
+
194
+ .irelia-text-bold {
195
+ @apply font-bold;
196
+ }
197
+
198
+ .irelia-text-semibold {
199
+ @apply font-semibold;
200
+ }
201
+
202
+ .irelia-text-extrabold {
203
+ @apply font-extrabold;
204
+ }
205
+
206
+ .irelia-text-no-bold {
207
+ @apply font-normal;
208
+ }
209
+
210
+ .irelia-width-full {
211
+ @apply w-full;
212
+ }
213
+
214
+ .irelia-fixed-top {
215
+ @apply fixed top-0;
216
+ }
217
+
218
+ .irelia-fixed-top-right {
219
+ @apply fixed top-0 right-0;
220
+ }
221
+
222
+ .irelia-fixed-right {
223
+ @apply fixed right-0;
224
+ }
225
+
226
+ .irelia-fixed-bottom-right {
227
+ @apply fixed bottom-0 right-0;
228
+ }
229
+
230
+ .irelia-fixed-bottom {
231
+ @apply fixed bottom-0;
232
+ }
233
+
234
+ .irelia-fixed-bottom-left {
235
+ @apply fixed bottom-0 left-0;
236
+ }
237
+
238
+ .irelia-fixed-left {
239
+ @apply fixed left-0;
240
+ }
241
+
242
+ .irelia-fixed-top-left {
243
+ @apply fixed top-0 left-0;
244
+ }
245
+ }
@@ -0,0 +1,7 @@
1
+ import Dropdown from "./irelia/dropdown/controller";
2
+ import Modal from "./irelia/modal/controller";
3
+
4
+ export function registerIreliaControllers(application) {
5
+ application.register("irelia-dropdown", Dropdown);
6
+ application.register("irelia-modal", Modal);
7
+ }
@@ -0,0 +1,38 @@
1
+ @import "irelia/button/index.pcss";
2
+ @import "irelia/stack/index.pcss";
3
+ @import "irelia/navbar/index.pcss";
4
+ @import "irelia/navbar/section/index.pcss";
5
+ @import "irelia/navbar/separator/index.pcss";
6
+ @import "irelia/navbar/brand/index.pcss";
7
+ @import "irelia/navbar/navigation/index.pcss";
8
+ @import "irelia/navbar/navigation/link/index.pcss";
9
+ @import "irelia/icon/index.pcss";
10
+ @import "irelia/dropdown/index.pcss";
11
+ @import "irelia/container/index.pcss";
12
+ @import "irelia/app_shell/index.pcss";
13
+ @import "irelia/sidebar/index.pcss";
14
+ @import "irelia/sidebar/section/index.pcss";
15
+ @import "irelia/sidebar/brand/index.pcss";
16
+ @import "irelia/sidebar/navigation/index.pcss";
17
+ @import "irelia/sidebar/navigation/link/index.pcss";
18
+ @import "irelia/breadcrumbs/index.pcss";
19
+ @import "irelia/page_header/index.pcss";
20
+ @import "irelia/form/text_field/index.pcss";
21
+ @import "irelia/form/group/index.pcss";
22
+ @import "irelia/form/base/index.pcss";
23
+ @import "irelia/notification/index.pcss";
24
+ @import "irelia/form/select/index.pcss";
25
+ @import "irelia/navigation/index.pcss";
26
+ @import "irelia/form/password_field/index.pcss";
27
+ @import "irelia/form/email_field/index.pcss";
28
+ @import "irelia/split_screen/index.pcss";
29
+ @import "irelia/table/index.pcss";
30
+ @import "irelia/card/index.pcss";
31
+ @import "irelia/table/row/index.pcss";
32
+ @import "irelia/modal/index.pcss";
33
+ @import "irelia/divider/index.pcss";
34
+ @import "irelia/flex/index.pcss";
35
+ @import "irelia/div/index.pcss";
36
+ @import "irelia/avatar/index.pcss";
37
+ @import "irelia/html/index.pcss";
38
+ @import "irelia/empty_collection/index.pcss";
@@ -0,0 +1,18 @@
1
+ <%= content_tag :div, html_options do %>
2
+ <%= sidebar if sidebar %>
3
+ <main class="irelia-app-shell--main">
4
+ <% if breadcrumbs %>
5
+ <div class="irelia-app-shell--breadcrumbs-container">
6
+ <%= breadcrumbs %>
7
+ </div>
8
+ <% end %>
9
+
10
+ <% if submenu %>
11
+ <div class="irelia-app-shell--submenu-container">
12
+ <%= submenu %>
13
+ </div>
14
+ <% end %>
15
+
16
+ <%= content %>
17
+ </main>
18
+ <% end %>
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Irelia::AppShell::Component < Irelia::Component
4
+ renders_one :sidebar, Irelia::Sidebar::Component
5
+ renders_one :breadcrumbs, Irelia::Breadcrumbs::Component
6
+ renders_one :submenu, Irelia::Navigation::Component
7
+
8
+ def variants
9
+ class_names(
10
+ "irelia-app-shell",
11
+ "irelia-app-shell--default": variant == :default
12
+ )
13
+ end
14
+ end
@@ -0,0 +1,20 @@
1
+ @layer components {
2
+ .irelia-app-shell {
3
+ @apply min-h-dvh bg-irelia-background flex;
4
+ }
5
+
6
+ .irelia-app-shell--default {
7
+ }
8
+
9
+ .irelia-app-shell--main {
10
+ @apply flex-1 grow p-10 px-16;
11
+ }
12
+
13
+ .irelia-app-shell--breadcrumbs-container {
14
+ @apply h-28 -mt-10 flex items-center;
15
+ }
16
+
17
+ .irelia-app-shell--submenu-container {
18
+ @apply mb-10;
19
+ }
20
+ }
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class Page::Header::Preview < ApplicationViewComponentPreview
3
+ class Irelia::AppShell::Preview < Irelia::ComponentPreview
4
4
  # You can specify the container class for the default template
5
5
  # self.container_class = "w-1/2 border border-gray-300"
6
6
 
@@ -0,0 +1,21 @@
1
+ <%= irelia_app_shell do |app_shell| %>
2
+ <% app_shell.with_sidebar do |sidebar| %>
3
+ <% sidebar.with_brand(url: root_path) { "Irelia" } %>
4
+ <% sidebar.with_navigation do |navbar| %>
5
+ <% navbar.with_link(url: "#", icon: "fa fa-home", active: true) { "Home" } %>
6
+ <% navbar.with_link(url: "#", icon: "fa fa-globe") { "Websites" } %>
7
+ <% navbar.with_link(url: "#", icon: "fab fa-github") { "Repositories" } %>
8
+ <% navbar.with_link(url: "#", icon: "fa fa-book") { "Guide & documenation" } %>
9
+ <% navbar.with_link(url: "#", icon: "fa fa-gear") { "Settings" } %>
10
+ <% end %>
11
+ <% sidebar.with_section(grow: true) %>
12
+ <% sidebar.with_section { "footer" } %>
13
+ <% end %>
14
+
15
+ <% app_shell.with_submenu do |menu|%>
16
+ <%= menu.with_link(active: true) { "Welcome" } %>
17
+ <%= menu.with_link { "Activity log" } %>
18
+ <% end %>
19
+
20
+ <%= irelia_page_header(title: "Hello world!", subline: "This is an example of the app shell.") %>
21
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <%= content_tag :div, html_options do %>
2
+ <img src="<%= image_url %>">
3
+ <% end %>
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Irelia::Avatar::Component < Irelia::Component
4
+ option :src, default: -> { nil }
5
+
6
+ def image_url
7
+ content || src
8
+ end
9
+
10
+ def variants
11
+ class_names(
12
+ "irelia-avatar",
13
+ "irelia-avatar--default": variant == :default
14
+ )
15
+ end
16
+ end
@@ -0,0 +1,8 @@
1
+ @layer components {
2
+ .irelia-avatar {
3
+ @apply w-11 h-11 rounded-lg overflow-hidden bg-neutral-200;
4
+ }
5
+
6
+ .irelia-avatar--default {
7
+ }
8
+ }
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class <%= class_name %>::Preview < <%= preview_parent_class %>
3
+ class Irelia::Avatar::Preview < Irelia::ComponentPreview
4
4
  # You can specify the container class for the default template
5
5
  # self.container_class = "w-1/2 border border-gray-300"
6
6