css-zero 0.0.16 → 0.0.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25eac2e80a7b075843033e5db405786dd14e9f802cb47ce2fd1f0375e7841565
4
- data.tar.gz: 52cd0c2ed8d8eb740d44e29210ff8652088cac7509ccf024a957f837ada2cfc2
3
+ metadata.gz: 92f6b9adffe56fbbd63cc59f9d80869e8fd52f01dc43285e2a4fca1478099a83
4
+ data.tar.gz: 48bc41e660292ebcd1f9fec79a0c791cbfec06ba9e698711ab211bec155950c3
5
5
  SHA512:
6
- metadata.gz: 39e8b29cb429cf7e8d4d180682c17cef15e5105f51fc9c0b88ece548f688a41558569f2aeda76bf9365df202b6e01f791dd7520b5225ef0357a80e1d0a39ed70
7
- data.tar.gz: 52d7914ad684c3b27766979afa42834796a361846dc679d2a44300ed1858a92490f1f5c09665b0bb40a0e4671303de8402dc4127eda6ab25d8cebc7df389318c
6
+ metadata.gz: a3ff2ead3a52606d129f09bc0c9aa9039b4cd155ea0e87d6b2b07ceedb77b346d044004f906376dccd796fa63f2fd28341c6b4339547238e202465fc16c12beb
7
+ data.tar.gz: e7f2b6b8b2cf02729a57051cdb7d3827ee5803bb6af9257fa8b6e968eafcd40163e671f24f3b8c4fcfebea2663d825bb483a86a7911c8e8425210f3214628010
data/README.md CHANGED
@@ -19,7 +19,7 @@ bin/rails generate css_zero:install
19
19
  Add only the components you need. (Optional)
20
20
 
21
21
  ```
22
- bin/rails generate css_zero:add accordion alert badge button card dialog input progress switch table
22
+ bin/rails generate css_zero:add accordion alert avatar badge breadcrumb button card collapsible dialog input progress switch table
23
23
  ```
24
24
 
25
25
  ### Requirements
@@ -132,6 +132,24 @@ Check the [CSS files](app/assets/stylesheets) in the repository to see the avail
132
132
  ```
133
133
  </details>
134
134
 
135
+ ### Avatar
136
+
137
+ <details>
138
+ <summary>Show me the code</summary>
139
+
140
+ ```html+erb
141
+ <div class="flex item-center gap">
142
+ <div class="avatar">
143
+ <%= image_tag "cartoon.jpg", role: "presentation", size: 48 %>
144
+ </div>
145
+
146
+ <div class="avatar">
147
+ <span class="avatar__fallback">CN</span>
148
+ </div>
149
+ </div>
150
+ ```
151
+ </details>
152
+
135
153
  ### Badge
136
154
 
137
155
  <img width="400" alt="image" src="https://github.com/lazaronixon/css-zero/assets/2651240/6a700dc4-0fd5-46f6-9902-a9bde5f7febb">
@@ -150,6 +168,24 @@ Check the [CSS files](app/assets/stylesheets) in the repository to see the avail
150
168
  ```
151
169
  </details>
152
170
 
171
+ ### Breadcrumb
172
+
173
+ <details>
174
+ <summary>Show me the code</summary>
175
+
176
+ ```html+erb
177
+ <nav class="breadcrumb">
178
+ <a href="#">Home</a>
179
+ <%= image_tag "chevron-right.svg", size: 14 %>
180
+ <a href="#"><%= image_tag "ellipsis.svg", size: 14 %></a>
181
+ <%= image_tag "chevron-right.svg", size: 14 %>
182
+ <a href="#">Components</a>
183
+ <%= image_tag "chevron-right.svg", size: 14 %>
184
+ <a href="#" class="text-primary">Breadcrumb</a>
185
+ </nav>
186
+ ```
187
+ </details>
188
+
153
189
  ### Button
154
190
 
155
191
  <img width="500" alt="button" src="https://github.com/lazaronixon/css-zero/assets/2651240/df78c11e-9167-4fd3-a779-24729cb24715">
@@ -217,6 +253,38 @@ Check the [CSS files](app/assets/stylesheets) in the repository to see the avail
217
253
  ```
218
254
  </details>
219
255
 
256
+ ### Collapsible
257
+
258
+ <details>
259
+ <summary>Show me the code</summary>
260
+
261
+ ```html+erb
262
+ <div data-controller="collapsible" style="max-inline-size: 350px">
263
+ <div class="flex items-center justify-between gap pi-4 pb-3">
264
+ <h4 class="text-sm font-semibold">
265
+ @lazaronixon starred 3 repositories
266
+ </h4>
267
+ <button data-action="collapsible#toggle" class="btn btn--plain p-0">
268
+ <%= image_tag "chevrons-up-down.svg", size: 16 %>
269
+ <span class="sr-only">Toggle</span>
270
+ </button>
271
+ </div>
272
+ <div class="rounded-md border pi-4 pb-3 mbs-2 text-sm">
273
+ @rails/rails
274
+ </div>
275
+ <details>
276
+ <summary data-collapsible-target="summary" hidden></summary>
277
+ <div class="rounded-md border pi-4 pb-3 mbs-2 text-sm">
278
+ @rails/jbuilder
279
+ </div>
280
+ <div class="rounded-md border pi-4 pb-3 mbs-2 text-sm">
281
+ @rails/jsbundling-rails
282
+ </div>
283
+ </details>
284
+ </div>
285
+ ```
286
+ </details>
287
+
220
288
  ### Dialog
221
289
 
222
290
  #### Alert Dialog
@@ -45,7 +45,7 @@
45
45
  .whitespace-nowrap { white-space: nowrap; }
46
46
  .whitespace-normal { white-space: normal; }
47
47
 
48
- .break-words { word-break: break-word; }
48
+ .break-words { overflow-wrap: break-word; }
49
49
  .break-all { word-break: break-all; }
50
50
 
51
51
  .overflow-clip { text-overflow: clip; white-space: nowrap; overflow: hidden; }
@@ -96,6 +96,7 @@
96
96
  *****************************************************************/
97
97
  .colorize-black { filter: var(--color-filter-text); }
98
98
  .colorize-white { filter: var(--color-filter-text-reversed); }
99
+ .colorize-shade { filter: var(--color-filter-text-subtle); }
99
100
  .colorize-negative { filter: var(--color-filter-negative); }
100
101
  .colorize-positive { filter: var(--color-filter-positive); }
101
102
 
@@ -158,6 +159,7 @@
158
159
  .m-0\.5 { margin: var(--size-0_5); }
159
160
  .m-1 { margin: var(--size-1); }
160
161
  .m-2 { margin: var(--size-2); }
162
+ .m-3 { margin: var(--size-3); }
161
163
  .m-4 { margin: var(--size-4); }
162
164
  .m-6 { margin: var(--size-6); }
163
165
  .m-8 { margin: var(--size-8); }
@@ -168,6 +170,7 @@
168
170
  .mb-0\.5 { margin-block: var(--size-0_5); }
169
171
  .mb-1 { margin-block: var(--size-1); }
170
172
  .mb-2 { margin-block: var(--size-2); }
173
+ .mb-3 { margin-block: var(--size-3); }
171
174
  .mb-4 { margin-block: var(--size-4); }
172
175
  .mb-6 { margin-block: var(--size-6); }
173
176
  .mb-8 { margin-block: var(--size-8); }
@@ -178,6 +181,7 @@
178
181
  .mbs-0\.5 { margin-block-start: var(--size-0_5); }
179
182
  .mbs-1 { margin-block-start: var(--size-1); }
180
183
  .mbs-2 { margin-block-start: var(--size-2); }
184
+ .mbs-3 { margin-block-start: var(--size-3); }
181
185
  .mbs-4 { margin-block-start: var(--size-4); }
182
186
  .mbs-6 { margin-block-start: var(--size-6); }
183
187
  .mbs-8 { margin-block-start: var(--size-8); }
@@ -188,6 +192,7 @@
188
192
  .mbe-0\.5 { margin-block-end: var(--size-0_5); }
189
193
  .mbe-1 { margin-block-end: var(--size-1); }
190
194
  .mbe-2 { margin-block-end: var(--size-2); }
195
+ .mbe-3 { margin-block-end: var(--size-3); }
191
196
  .mbe-4 { margin-block-end: var(--size-4); }
192
197
  .mbe-6 { margin-block-end: var(--size-6); }
193
198
  .mbe-8 { margin-block-end: var(--size-8); }
@@ -198,6 +203,7 @@
198
203
  .mi-0\.5 { margin-inline: var(--size-0_5); }
199
204
  .mi-1 { margin-inline: var(--size-1); }
200
205
  .mi-2 { margin-inline: var(--size-2); }
206
+ .mi-3 { margin-inline: var(--size-3); }
201
207
  .mi-4 { margin-inline: var(--size-4); }
202
208
  .mi-6 { margin-inline: var(--size-6); }
203
209
  .mi-8 { margin-inline: var(--size-8); }
@@ -208,6 +214,7 @@
208
214
  .mis-0\.5 { margin-inline-start: var(--size-0_5); }
209
215
  .mis-1 { margin-inline-start: var(--size-1); }
210
216
  .mis-2 { margin-inline-start: var(--size-2); }
217
+ .mis-3 { margin-inline-start: var(--size-3); }
211
218
  .mis-4 { margin-inline-start: var(--size-4); }
212
219
  .mis-6 { margin-inline-start: var(--size-6); }
213
220
  .mis-8 { margin-inline-start: var(--size-8); }
@@ -218,6 +225,7 @@
218
225
  .mie-0\.5 { margin-inline-end: var(--size-0_5); }
219
226
  .mie-1 { margin-inline-end: var(--size-1); }
220
227
  .mie-2 { margin-inline-end: var(--size-2); }
228
+ .mie-3 { margin-inline-end: var(--size-3); }
221
229
  .mie-4 { margin-inline-end: var(--size-4); }
222
230
  .mie-6 { margin-inline-end: var(--size-6); }
223
231
  .mie-8 { margin-inline-end: var(--size-8); }
@@ -231,6 +239,7 @@
231
239
  .p-0\.5 { padding: var(--size-0_5); }
232
240
  .p-1 { padding: var(--size-1); }
233
241
  .p-2 { padding: var(--size-2); }
242
+ .p-3 { padding: var(--size-3); }
234
243
  .p-4 { padding: var(--size-4); }
235
244
  .p-6 { padding: var(--size-6); }
236
245
  .p-8 { padding: var(--size-8); }
@@ -240,6 +249,7 @@
240
249
  .pb-0\.5 { padding-block: var(--size-0_5); }
241
250
  .pb-1 { padding-block: var(--size-1); }
242
251
  .pb-2 { padding-block: var(--size-2); }
252
+ .pb-3 { padding-block: var(--size-3); }
243
253
  .pb-4 { padding-block: var(--size-4); }
244
254
  .pb-6 { padding-block: var(--size-6); }
245
255
  .pb-8 { padding-block: var(--size-8); }
@@ -249,6 +259,7 @@
249
259
  .pbs-0\.5 { padding-block-start: var(--size-0_5); }
250
260
  .pbs-1 { padding-block-start: var(--size-1); }
251
261
  .pbs-2 { padding-block-start: var(--size-2); }
262
+ .pbs-3 { padding-block-start: var(--size-3); }
252
263
  .pbs-4 { padding-block-start: var(--size-4); }
253
264
  .pbs-6 { padding-block-start: var(--size-6); }
254
265
  .pbs-8 { padding-block-start: var(--size-8); }
@@ -258,6 +269,7 @@
258
269
  .pbe-0\.5 { padding-block-end: var(--size-0_5); }
259
270
  .pbe-1 { padding-block-end: var(--size-1); }
260
271
  .pbe-2 { padding-block-end: var(--size-2); }
272
+ .pbe-3 { padding-block-end: var(--size-3); }
261
273
  .pbe-4 { padding-block-end: var(--size-4); }
262
274
  .pbe-6 { padding-block-end: var(--size-6); }
263
275
  .pbe-8 { padding-block-end: var(--size-8); }
@@ -267,6 +279,7 @@
267
279
  .pi-0\.5 { padding-inline: var(--size-0_5); }
268
280
  .pi-1 { padding-inline: var(--size-1); }
269
281
  .pi-2 { padding-inline: var(--size-2); }
282
+ .pi-3 { padding-inline: var(--size-3); }
270
283
  .pi-4 { padding-inline: var(--size-4); }
271
284
  .pi-6 { padding-inline: var(--size-6); }
272
285
  .pi-8 { padding-inline: var(--size-8); }
@@ -276,6 +289,7 @@
276
289
  .pis-0\.5 { padding-inline-start: var(--size-0_5); }
277
290
  .pis-1 { padding-inline-start: var(--size-1); }
278
291
  .pis-2 { padding-inline-start: var(--size-2); }
292
+ .pis-3 { padding-inline-start: var(--size-3); }
279
293
  .pis-4 { padding-inline-start: var(--size-4); }
280
294
  .pis-6 { padding-inline-start: var(--size-6); }
281
295
  .pis-8 { padding-inline-start: var(--size-8); }
@@ -285,6 +299,7 @@
285
299
  .pie-0\.5 { padding-inline-end: var(--size-0_5); }
286
300
  .pie-1 { padding-inline-end: var(--size-1); }
287
301
  .pie-2 { padding-inline-end: var(--size-2); }
302
+ .pie-3 { padding-inline-end: var(--size-3); }
288
303
  .pie-4 { padding-inline-end: var(--size-4); }
289
304
  .pie-6 { padding-inline-end: var(--size-6); }
290
305
  .pie-8 { padding-inline-end: var(--size-8); }
@@ -1,3 +1,3 @@
1
1
  module CssZero
2
- VERSION = "0.0.16"
2
+ VERSION = "0.0.17"
3
3
  end
@@ -2,7 +2,7 @@ Description:
2
2
  This will add components into your project.
3
3
 
4
4
  Components:
5
- accordion alert badge button card dialog input progress switch table
5
+ accordion alert avatar badge breadcrumb button card collapsible dialog input progress switch table
6
6
 
7
7
  Example:
8
8
  bin/rails generate css_zero:add [components...]
@@ -3,13 +3,20 @@ accordion:
3
3
  - app/assets/images/chevron-down.svg
4
4
  alert:
5
5
  - app/assets/stylesheets/alert.css
6
+ avatar:
7
+ - app/assets/stylesheets/avatar.css
6
8
  badge:
7
9
  - app/assets/stylesheets/badge.css
10
+ breadcrumb:
11
+ - app/assets/stylesheets/breadcrumb.css
12
+ - app/assets/images/chevron-right.svg
8
13
  button:
9
14
  - app/assets/stylesheets/button.css
10
15
  - app/assets/images/loader-circle.svg
11
16
  card:
12
17
  - app/assets/stylesheets/card.css
18
+ collapsible:
19
+ - app/javascript/controllers/collapsible_controller.js
13
20
  dialog:
14
21
  - app/assets/stylesheets/dialog.css
15
22
  - app/assets/images/x.svg
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg>
@@ -6,7 +6,7 @@
6
6
  padding: var(--size-4);
7
7
  inline-size: var(--size-full);
8
8
 
9
- img:not([class]) {
9
+ img {
10
10
  filter: var(--alert-icon-color, var(--color-filter-text-reversed));
11
11
  }
12
12
  }
@@ -0,0 +1,31 @@
1
+ :root {
2
+ --avatar-size: var(--size-10);
3
+ }
4
+
5
+ .avatar {
6
+ block-size: var(--avatar-size);
7
+ border-radius: var(--rounded-full);
8
+ display: flex;
9
+ flex-shrink: 0;
10
+ inline-size: var(--avatar-size);
11
+ overflow: hidden;
12
+
13
+ img {
14
+ aspect-ratio: 1;
15
+ block-size: var(--size-full);
16
+ inline-size: var(--size-full);
17
+ object-fit: cover;
18
+ }
19
+ }
20
+
21
+ .avatar__fallback {
22
+ align-items: center;
23
+ background-color: var(--color-secondary);
24
+ block-size: var(--size-full);
25
+ border-radius: var(--rounded-full);
26
+ display: flex;
27
+ font-size: calc(var(--avatar-size) * .4);
28
+ inline-size: var(--size-full);
29
+ justify-content: center;
30
+ user-select: none;
31
+ }
@@ -0,0 +1,22 @@
1
+ .breadcrumb {
2
+ align-items: center;
3
+ color: var(--color-text-subtle);
4
+ display: flex;
5
+ flex-wrap: wrap;
6
+ font-size: var(--text-sm);
7
+ gap: var(--size-2_5);
8
+ overflow-wrap: break-word;
9
+
10
+ img {
11
+ filter: var(--color-filter-text-subtle);
12
+ }
13
+
14
+ a:hover {
15
+ color: var(--color-text);
16
+ }
17
+
18
+ /* Small screens and below */
19
+ @media (width < 40rem) {
20
+ gap: var(--size-1_5);
21
+ }
22
+ }
@@ -15,7 +15,7 @@
15
15
  padding: var(--size-2) var(--size-4);
16
16
  text-align: center;
17
17
 
18
- img:not([class]) {
18
+ img {
19
19
  filter: var(--btn-icon-color, var(--color-filter-text-reversed));
20
20
  }
21
21
 
@@ -47,7 +47,7 @@
47
47
  }
48
48
  }
49
49
 
50
- /* Small screens */
50
+ /* Small screens and below */
51
51
  @media (width < 40rem) {
52
52
  border-radius: 0;
53
53
  }
@@ -0,0 +1,9 @@
1
+ import { Controller } from "@hotwired/stimulus"
2
+
3
+ export default class extends Controller {
4
+ static targets = [ "summary" ]
5
+
6
+ toggle() {
7
+ this.summaryTarget.click()
8
+ }
9
+ }
@@ -16,6 +16,7 @@
16
16
  /* SVG color values */
17
17
  --color-filter-text: invert(0);
18
18
  --color-filter-text-reversed: invert(100%);
19
+ --color-filter-text-subtle: invert(43%) sepia(8%) saturate(340%) hue-rotate(202deg) brightness(99%) contrast(85%);
19
20
  --color-filter-negative: invert(31%) sepia(96%) saturate(4646%) hue-rotate(350deg) brightness(91%) contrast(89%);
20
21
  --color-filter-positive: invert(48%) sepia(74%) saturate(520%) hue-rotate(90deg) brightness(89%) contrast(90%);
21
22
 
@@ -37,6 +38,7 @@
37
38
  /* SVG color values */
38
39
  --color-filter-text: invert(100%);
39
40
  --color-filter-text-reversed: invert(0);
41
+ --color-filter-text-subtle: invert(55%) sepia(98%) saturate(0%) hue-rotate(299deg) brightness(96%) contrast(94%);
40
42
  --color-filter-negative: invert(15%) sepia(83%) saturate(2066%) hue-rotate(345deg) brightness(87%) contrast(88%);
41
43
  --color-filter-positive: invert(23%) sepia(74%) saturate(495%) hue-rotate(91deg) brightness(88%) contrast(89%);
42
44
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: css-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.16
4
+ version: 0.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lázaro Nixon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-04 00:00:00.000000000 Z
11
+ date: 2024-07-06 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: lazaronixon@hotmail.com
@@ -37,13 +37,16 @@ files:
37
37
  - lib/generators/css_zero/add/add_generator.rb
38
38
  - lib/generators/css_zero/add/resources.yml
39
39
  - lib/generators/css_zero/add/templates/app/assets/images/chevron-down.svg
40
+ - lib/generators/css_zero/add/templates/app/assets/images/chevron-right.svg
40
41
  - lib/generators/css_zero/add/templates/app/assets/images/circle-alert.svg
41
42
  - lib/generators/css_zero/add/templates/app/assets/images/loader-circle.svg
42
43
  - lib/generators/css_zero/add/templates/app/assets/images/select-arrow.svg
43
44
  - lib/generators/css_zero/add/templates/app/assets/images/x.svg
44
45
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/accordion.css
45
46
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/alert.css
47
+ - lib/generators/css_zero/add/templates/app/assets/stylesheets/avatar.css
46
48
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/badge.css
49
+ - lib/generators/css_zero/add/templates/app/assets/stylesheets/breadcrumb.css
47
50
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/button.css
48
51
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/card.css
49
52
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/dialog.css
@@ -51,6 +54,7 @@ files:
51
54
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/progress.css
52
55
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/switch.css
53
56
  - lib/generators/css_zero/add/templates/app/assets/stylesheets/table.css
57
+ - lib/generators/css_zero/add/templates/app/javascript/controllers/collapsible_controller.js
54
58
  - lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_controller.js
55
59
  - lib/generators/css_zero/install/USAGE
56
60
  - lib/generators/css_zero/install/install_generator.rb