tutuca 0.11.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/tutuca-cli.js +130 -104
  2. package/dist/tutuca-dev.ext.js +121 -90
  3. package/dist/tutuca-dev.js +121 -90
  4. package/dist/tutuca-dev.min.js +3 -3
  5. package/dist/tutuca-extra.ext.js +116 -59
  6. package/dist/tutuca-extra.js +116 -59
  7. package/dist/tutuca-extra.min.js +2 -2
  8. package/dist/tutuca-storybook.js +3 -3
  9. package/dist/tutuca.ext.js +116 -59
  10. package/dist/tutuca.js +116 -59
  11. package/dist/tutuca.min.js +2 -2
  12. package/package.json +1 -1
  13. package/skill/margaui/SKILL.md +105 -0
  14. package/skill/margaui/components/accordion.md +127 -0
  15. package/skill/margaui/components/alert.md +174 -0
  16. package/skill/margaui/components/aura.md +97 -0
  17. package/skill/margaui/components/avatar.md +220 -0
  18. package/skill/margaui/components/badge.md +193 -0
  19. package/skill/margaui/components/breadcrumbs.md +103 -0
  20. package/skill/margaui/components/button.md +322 -0
  21. package/skill/margaui/components/calendar.md +67 -0
  22. package/skill/margaui/components/card.md +373 -0
  23. package/skill/margaui/components/carousel.md +387 -0
  24. package/skill/margaui/components/chat.md +171 -0
  25. package/skill/margaui/components/checkbox.md +101 -0
  26. package/skill/margaui/components/collapse.md +172 -0
  27. package/skill/margaui/components/countdown.md +165 -0
  28. package/skill/margaui/components/diff.md +53 -0
  29. package/skill/margaui/components/divider.md +107 -0
  30. package/skill/margaui/components/dock.md +173 -0
  31. package/skill/margaui/components/drawer.md +184 -0
  32. package/skill/margaui/components/dropdown.md +388 -0
  33. package/skill/margaui/components/fab.md +346 -0
  34. package/skill/margaui/components/fieldset.md +88 -0
  35. package/skill/margaui/components/file-input.md +84 -0
  36. package/skill/margaui/components/filter.md +52 -0
  37. package/skill/margaui/components/footer.md +583 -0
  38. package/skill/margaui/components/hero.md +135 -0
  39. package/skill/margaui/components/hover-3d.md +129 -0
  40. package/skill/margaui/components/hover-gallery.md +49 -0
  41. package/skill/margaui/components/indicator.md +265 -0
  42. package/skill/margaui/components/input.md +389 -0
  43. package/skill/margaui/components/join.md +100 -0
  44. package/skill/margaui/components/kbd.md +127 -0
  45. package/skill/margaui/components/label.md +102 -0
  46. package/skill/margaui/components/link.md +96 -0
  47. package/skill/margaui/components/list.md +182 -0
  48. package/skill/margaui/components/loading.md +105 -0
  49. package/skill/margaui/components/mask.md +168 -0
  50. package/skill/margaui/components/megamenu.md +131 -0
  51. package/skill/margaui/components/menu.md +887 -0
  52. package/skill/margaui/components/mockup-browser.md +39 -0
  53. package/skill/margaui/components/mockup-code.md +81 -0
  54. package/skill/margaui/components/mockup-phone.md +39 -0
  55. package/skill/margaui/components/mockup-window.md +33 -0
  56. package/skill/margaui/components/modal.md +196 -0
  57. package/skill/margaui/components/navbar.md +282 -0
  58. package/skill/margaui/components/otp.md +171 -0
  59. package/skill/margaui/components/pagination.md +122 -0
  60. package/skill/margaui/components/progress.md +135 -0
  61. package/skill/margaui/components/radial-progress.md +67 -0
  62. package/skill/margaui/components/radio.md +133 -0
  63. package/skill/margaui/components/range.md +134 -0
  64. package/skill/margaui/components/rating.md +170 -0
  65. package/skill/margaui/components/select.md +225 -0
  66. package/skill/margaui/components/skeleton.md +64 -0
  67. package/skill/margaui/components/stack.md +142 -0
  68. package/skill/margaui/components/stat.md +254 -0
  69. package/skill/margaui/components/status.md +73 -0
  70. package/skill/margaui/components/steps.md +138 -0
  71. package/skill/margaui/components/swap.md +152 -0
  72. package/skill/margaui/components/tab.md +248 -0
  73. package/skill/margaui/components/table.md +1018 -0
  74. package/skill/margaui/components/text-rotate.md +91 -0
  75. package/skill/margaui/components/textarea.md +85 -0
  76. package/skill/margaui/components/theme-controller.md +266 -0
  77. package/skill/margaui/components/timeline.md +1356 -0
  78. package/skill/margaui/components/toast.md +165 -0
  79. package/skill/margaui/components/toggle.md +135 -0
  80. package/skill/margaui/components/tooltip.md +181 -0
  81. package/skill/margaui/components/validator.md +163 -0
  82. package/skill/tutuca/SKILL.md +56 -0
  83. package/skill/tutuca/advanced.md +212 -0
  84. package/skill/tutuca/cli.md +239 -0
  85. package/skill/tutuca/component-design.md +168 -0
  86. package/skill/tutuca/core.md +918 -0
  87. package/skill/tutuca/iteration.md +207 -0
  88. package/skill/tutuca/macros.md +86 -0
  89. package/skill/tutuca/margaui.md +175 -0
  90. package/skill/tutuca/messages-and-intents.md +399 -0
  91. package/skill/tutuca/patterns/README.md +48 -0
  92. package/skill/tutuca/patterns/add-a-story.md +26 -0
  93. package/skill/tutuca/patterns/bind-text-and-attributes.md +30 -0
  94. package/skill/tutuca/patterns/conditional-attribute-value.md +29 -0
  95. package/skill/tutuca/patterns/coordinate-components.md +54 -0
  96. package/skill/tutuca/patterns/edit-through-a-dynamic-target.md +27 -0
  97. package/skill/tutuca/patterns/enrich-each-item.md +25 -0
  98. package/skill/tutuca/patterns/file-input.md +39 -0
  99. package/skill/tutuca/patterns/filter-a-list.md +25 -0
  100. package/skill/tutuca/patterns/filter-and-paginate.md +60 -0
  101. package/skill/tutuca/patterns/handle-events.md +44 -0
  102. package/skill/tutuca/patterns/iterate-a-list.md +18 -0
  103. package/skill/tutuca/patterns/paginate-a-list.md +29 -0
  104. package/skill/tutuca/patterns/render-a-child-component.md +21 -0
  105. package/skill/tutuca/patterns/reuse-markup-with-macros.md +36 -0
  106. package/skill/tutuca/patterns/share-state-across-the-tree.md +38 -0
  107. package/skill/tutuca/patterns/show-or-hide-content.md +23 -0
  108. package/skill/tutuca/patterns/switch-between-views.md +30 -0
  109. package/skill/tutuca/patterns/tabbed-interface.md +43 -0
  110. package/skill/tutuca/semantics.md +195 -0
  111. package/skill/tutuca/storybook.md +270 -0
  112. package/skill/tutuca/styles.md +48 -0
  113. package/skill/tutuca/testing.md +345 -0
  114. package/skill/tutuca-source/SKILL.md +33 -0
  115. package/skill/tutuca-source/tutuca.ext.js +4301 -0
@@ -0,0 +1,134 @@
1
+ # range
2
+
3
+ _styled `<input type="range">` slider_
4
+
5
+ ## What it does
6
+
7
+ Themed range slider.
8
+
9
+ ## When to use
10
+
11
+ - Numeric ranges where exact precision is less important than feel.
12
+
13
+ ## Core classes
14
+
15
+ `range`; color `range-primary|secondary|accent|info|success|warning|error|neutral`; size `range-xs|sm|md|lg|xl`; orientation `range-vertical`.
16
+
17
+ ## Examples
18
+
19
+ ### Range
20
+
21
+ Source: `playground/components/range/range.html`
22
+
23
+ ```html
24
+ <input type="range" min="0" max="100" value="40" class="range" />
25
+ ```
26
+
27
+ ### Accent color
28
+
29
+ Source: `playground/components/range/accent-color.html`
30
+
31
+ ```html
32
+ <input type="range" min="0" max="100" value="40" class="range range-accent" />
33
+ ```
34
+
35
+ ### Error color
36
+
37
+ Source: `playground/components/range/error-color.html`
38
+
39
+ ```html
40
+ <input type="range" min="0" max="100" value="40" class="range range-error" />
41
+ ```
42
+
43
+ ### Info color
44
+
45
+ Source: `playground/components/range/info-color.html`
46
+
47
+ ```html
48
+ <input type="range" min="0" max="100" value="40" class="range range-info" />
49
+ ```
50
+
51
+ ### Neutral color
52
+
53
+ Source: `playground/components/range/neutral-color.html`
54
+
55
+ ```html
56
+ <input type="range" min="0" max="100" value="40" class="range range-neutral" />
57
+ ```
58
+
59
+ ### Primary color
60
+
61
+ Source: `playground/components/range/primary-color.html`
62
+
63
+ ```html
64
+ <input type="range" min="0" max="100" value="40" class="range range-primary" />
65
+ ```
66
+
67
+ ### Range with custom color and no fill
68
+
69
+ Source: `playground/components/range/range-with-custom-color-and-no-fill.html`
70
+
71
+ ```html
72
+ <input type="range" min="0" max="100" value="40"
73
+ class="range text-blue-300 [--range-bg:orange] [--range-thumb:blue] [--range-fill:0]" />
74
+ ```
75
+
76
+ ### Secondary color
77
+
78
+ Source: `playground/components/range/secondary-color.html`
79
+
80
+ ```html
81
+ <input type="range" min="0" max="100" value="40" class="range range-secondary" />
82
+ ```
83
+
84
+ ### Sizes
85
+
86
+ Source: `playground/components/range/sizes.html`
87
+
88
+ ```html
89
+ <input type="range" min="0" max="100" value="30" class="range range-xs" />
90
+ <input type="range" min="0" max="100" value="40" class="range range-sm" />
91
+ <input type="range" min="0" max="100" value="50" class="range range-md" />
92
+ <input type="range" min="0" max="100" value="60" class="range range-lg" />
93
+ <input type="range" min="0" max="100" value="70" class="range range-xl" />
94
+ ```
95
+
96
+ ### Success color
97
+
98
+ Source: `playground/components/range/success-color.html`
99
+
100
+ ```html
101
+ <input type="range" min="0" max="100" value="40" class="range range-success" />
102
+ ```
103
+
104
+ ### Warning color
105
+
106
+ Source: `playground/components/range/warning-color.html`
107
+
108
+ ```html
109
+ <input type="range" min="0" max="100" value="40" class="range range-warning" />
110
+ ```
111
+
112
+ ### With steps and measure
113
+
114
+ Source: `playground/components/range/with-steps-and-measure.html`
115
+
116
+ ```html
117
+ <div class="w-full max-w-xs">
118
+ <input type="range" min="0" max="100" value="25" class="range" step="25" />
119
+ <div class="flex justify-between px-2.5 mt-2 text-xs">
120
+ <span>|</span>
121
+ <span>|</span>
122
+ <span>|</span>
123
+ <span>|</span>
124
+ <span>|</span>
125
+ </div>
126
+ <div class="flex justify-between px-2.5 mt-2 text-xs">
127
+ <span>1</span>
128
+ <span>2</span>
129
+ <span>3</span>
130
+ <span>4</span>
131
+ <span>5</span>
132
+ </div>
133
+ </div>
134
+ ```
@@ -0,0 +1,170 @@
1
+ # rating
2
+
3
+ _star / heart rating (radio inputs + masks)_
4
+
5
+ ## What it does
6
+
7
+ Star/heart rating built from masked radio inputs.
8
+
9
+ ## When to use
10
+
11
+ - Product / content ratings.
12
+ - For read-only display, set `disabled` on the inputs.
13
+
14
+ ## Core classes
15
+
16
+ `rating`; size `rating-xs|sm|md|lg|xl`; modifier `rating-half`; child inputs use `mask mask-star|heart|…`.
17
+
18
+ ## Examples
19
+
20
+ ### Rating
21
+
22
+ Source: `playground/components/rating/rating.html`
23
+
24
+ ```html
25
+ <div class="rating">
26
+ <input type="radio" name="rating-1" class="mask mask-star" aria-label="1 star" />
27
+ <input type="radio" name="rating-1" class="mask mask-star" aria-label="2 star" checked="checked" />
28
+ <input type="radio" name="rating-1" class="mask mask-star" aria-label="3 star" />
29
+ <input type="radio" name="rating-1" class="mask mask-star" aria-label="4 star" />
30
+ <input type="radio" name="rating-1" class="mask mask-star" aria-label="5 star" />
31
+ </div>
32
+ ```
33
+
34
+ ### Half stars
35
+
36
+ Source: `playground/components/rating/half-stars.html`
37
+
38
+ ```html
39
+ <div class="rating rating-lg rating-half">
40
+ <input type="radio" name="rating-11" class="rating-hidden" />
41
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-1 bg-green-500" aria-label="0.5 star" />
42
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-2 bg-green-500" aria-label="1 star" />
43
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-1 bg-green-500" aria-label="1.5 star" checked="checked" />
44
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-2 bg-green-500" aria-label="2 star" />
45
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-1 bg-green-500" aria-label="2.5 star" />
46
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-2 bg-green-500" aria-label="3 star" />
47
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-1 bg-green-500" aria-label="3.5 star" />
48
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-2 bg-green-500" aria-label="4 star" />
49
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-1 bg-green-500" aria-label="4.5 star" />
50
+ <input type="radio" name="rating-11" class="mask mask-star-2 mask-half-2 bg-green-500" aria-label="5 star" />
51
+ </div>
52
+ ```
53
+
54
+ ### Mask heart with multiple colors
55
+
56
+ Source: `playground/components/rating/mask-heart-with-multiple-colors.html`
57
+
58
+ ```html
59
+ <div class="rating gap-1">
60
+ <input type="radio" name="rating-3" class="mask mask-heart bg-red-400" aria-label="1 star" />
61
+ <input type="radio" name="rating-3" class="mask mask-heart bg-orange-400" aria-label="2 star" checked="checked" />
62
+ <input type="radio" name="rating-3" class="mask mask-heart bg-yellow-400" aria-label="3 star" />
63
+ <input type="radio" name="rating-3" class="mask mask-heart bg-lime-400" aria-label="4 star" />
64
+ <input type="radio" name="rating-3" class="mask mask-heart bg-green-400" aria-label="5 star" />
65
+ </div>
66
+ ```
67
+
68
+ ### Mask star 2 with green 500 color
69
+
70
+ Source: `playground/components/rating/mask-star-2-with-green-500-color.html`
71
+
72
+ ```html
73
+ <div class="rating">
74
+ <input type="radio" name="rating-4" class="mask mask-star-2 bg-green-500" aria-label="1 star" />
75
+ <input type="radio" name="rating-4" class="mask mask-star-2 bg-green-500" aria-label="2 star" checked="checked" />
76
+ <input type="radio" name="rating-4" class="mask mask-star-2 bg-green-500" aria-label="3 star" />
77
+ <input type="radio" name="rating-4" class="mask mask-star-2 bg-green-500" aria-label="4 star" />
78
+ <input type="radio" name="rating-4" class="mask mask-star-2 bg-green-500" aria-label="5 star" />
79
+ </div>
80
+ ```
81
+
82
+ ### Mask star 2 with warning color
83
+
84
+ Source: `playground/components/rating/mask-star-2-with-warning-color.html`
85
+
86
+ ```html
87
+ <div class="rating">
88
+ <input type="radio" name="rating-2" class="mask mask-star-2 bg-orange-400" aria-label="1 star" />
89
+ <input type="radio" name="rating-2" class="mask mask-star-2 bg-orange-400" aria-label="2 star" checked="checked" />
90
+ <input type="radio" name="rating-2" class="mask mask-star-2 bg-orange-400" aria-label="3 star" />
91
+ <input type="radio" name="rating-2" class="mask mask-star-2 bg-orange-400" aria-label="4 star" />
92
+ <input type="radio" name="rating-2" class="mask mask-star-2 bg-orange-400" aria-label="5 star" />
93
+ </div>
94
+ ```
95
+
96
+ ### Read only rating
97
+
98
+ Source: `playground/components/rating/read-only-rating.html`
99
+
100
+ ```html
101
+ <div class="rating">
102
+ <div class="mask mask-star" aria-label="1 star"></div>
103
+ <div class="mask mask-star" aria-label="2 star"></div>
104
+ <div class="mask mask-star" aria-label="3 star" aria-current="true"></div>
105
+ <div class="mask mask-star" aria-label="4 star"></div>
106
+ <div class="mask mask-star" aria-label="5 star"></div>
107
+ </div>
108
+ ```
109
+
110
+ ### Sizes
111
+
112
+ Source: `playground/components/rating/sizes.html`
113
+
114
+ ```html
115
+ <!-- xs -->
116
+ <div class="rating rating-xs">
117
+ <input type="radio" name="rating-5" class="mask mask-star-2 bg-orange-400" aria-label="1 star" />
118
+ <input type="radio" name="rating-5" class="mask mask-star-2 bg-orange-400" aria-label="2 star" checked="checked" />
119
+ <input type="radio" name="rating-5" class="mask mask-star-2 bg-orange-400" aria-label="3 star" />
120
+ <input type="radio" name="rating-5" class="mask mask-star-2 bg-orange-400" aria-label="4 star" />
121
+ <input type="radio" name="rating-5" class="mask mask-star-2 bg-orange-400" aria-label="5 star" />
122
+ </div>
123
+ <!-- sm -->
124
+ <div class="rating rating-sm">
125
+ <input type="radio" name="rating-6" class="mask mask-star-2 bg-orange-400" aria-label="1 star" />
126
+ <input type="radio" name="rating-6" class="mask mask-star-2 bg-orange-400" aria-label="2 star" checked="checked" />
127
+ <input type="radio" name="rating-6" class="mask mask-star-2 bg-orange-400" aria-label="3 star" />
128
+ <input type="radio" name="rating-6" class="mask mask-star-2 bg-orange-400" aria-label="4 star" />
129
+ <input type="radio" name="rating-6" class="mask mask-star-2 bg-orange-400" aria-label="5 star" />
130
+ </div>
131
+ <!-- md -->
132
+ <div class="rating rating-md">
133
+ <input type="radio" name="rating-7" class="mask mask-star-2 bg-orange-400" aria-label="1 star" />
134
+ <input type="radio" name="rating-7" class="mask mask-star-2 bg-orange-400" aria-label="2 star" checked="checked" />
135
+ <input type="radio" name="rating-7" class="mask mask-star-2 bg-orange-400" aria-label="3 star" />
136
+ <input type="radio" name="rating-7" class="mask mask-star-2 bg-orange-400" aria-label="4 star" />
137
+ <input type="radio" name="rating-7" class="mask mask-star-2 bg-orange-400" aria-label="5 star" />
138
+ </div>
139
+ <!-- lg -->
140
+ <div class="rating rating-lg">
141
+ <input type="radio" name="rating-8" class="mask mask-star-2 bg-orange-400" aria-label="1 star" />
142
+ <input type="radio" name="rating-8" class="mask mask-star-2 bg-orange-400" aria-label="2 star" checked="checked" />
143
+ <input type="radio" name="rating-8" class="mask mask-star-2 bg-orange-400" aria-label="3 star" />
144
+ <input type="radio" name="rating-8" class="mask mask-star-2 bg-orange-400" aria-label="4 star" />
145
+ <input type="radio" name="rating-8" class="mask mask-star-2 bg-orange-400" aria-label="5 star" />
146
+ </div>
147
+ <!-- xl -->
148
+ <div class="rating rating-xl">
149
+ <input type="radio" name="rating-9" class="mask mask-star-2 bg-orange-400" aria-label="1 star" />
150
+ <input type="radio" name="rating-9" class="mask mask-star-2 bg-orange-400" aria-label="2 star" checked="checked" />
151
+ <input type="radio" name="rating-9" class="mask mask-star-2 bg-orange-400" aria-label="3 star" />
152
+ <input type="radio" name="rating-9" class="mask mask-star-2 bg-orange-400" aria-label="4 star" />
153
+ <input type="radio" name="rating-9" class="mask mask-star-2 bg-orange-400" aria-label="5 star" />
154
+ </div>
155
+ ```
156
+
157
+ ### With rating hidden
158
+
159
+ Source: `playground/components/rating/with-rating-hidden.html`
160
+
161
+ ```html
162
+ <div class="rating rating-lg">
163
+ <input type="radio" name="rating-10" class="rating-hidden" aria-label="clear" />
164
+ <input type="radio" name="rating-10" class="mask mask-star-2" aria-label="1 star" />
165
+ <input type="radio" name="rating-10" class="mask mask-star-2" aria-label="2 star" checked="checked" />
166
+ <input type="radio" name="rating-10" class="mask mask-star-2" aria-label="3 star" />
167
+ <input type="radio" name="rating-10" class="mask mask-star-2" aria-label="4 star" />
168
+ <input type="radio" name="rating-10" class="mask mask-star-2" aria-label="5 star" />
169
+ </div>
170
+ ```
@@ -0,0 +1,225 @@
1
+ # select
2
+
3
+ _styled `<select>`_
4
+
5
+ ## What it does
6
+
7
+ Themed `<select>` dropdown.
8
+
9
+ ## When to use
10
+
11
+ - Single-choice form fields with many options.
12
+ - For visible single-choice (few options), use **radio**.
13
+
14
+ ## Core classes
15
+
16
+ `select`; color `select-primary|secondary|accent|info|success|warning|error|neutral`; style `select-ghost`; size `select-xs|sm|md|lg|xl`.
17
+
18
+ ## Examples
19
+
20
+ ### Select
21
+
22
+ Source: `playground/components/select/select.html`
23
+
24
+ ```html
25
+ <select class="select">
26
+ <option disabled selected>Pick a color</option>
27
+ <option>Crimson</option>
28
+ <option>Amber</option>
29
+ <option>Velvet</option>
30
+ </select>
31
+ ```
32
+
33
+ ### Accent color
34
+
35
+ Source: `playground/components/select/accent-color.html`
36
+
37
+ ```html
38
+ <select class="select select-accent">
39
+ <option selected disabled>Color scheme</option>
40
+ <option>Light mode</option>
41
+ <option>Dark mode</option>
42
+ <option>System</option>
43
+ </select>
44
+ ```
45
+
46
+ ### Disabled
47
+
48
+ Source: `playground/components/select/disabled.html`
49
+
50
+ ```html
51
+ <select class="select" disabled>
52
+ <option>You can't touch this</option>
53
+ </select>
54
+ ```
55
+
56
+ ### Error color
57
+
58
+ Source: `playground/components/select/error-color.html`
59
+
60
+ ```html
61
+ <select class="select select-error">
62
+ <option disabled selected>Pick an AI Model</option>
63
+ <option>GPT-4</option>
64
+ <option>Claude</option>
65
+ <option>Llama</option>
66
+ </select>
67
+ ```
68
+
69
+ ### Ghost no background
70
+
71
+ Source: `playground/components/select/ghost-no-background.html`
72
+
73
+ ```html
74
+ <select class="select select-ghost">
75
+ <option disabled selected>Pick a font</option>
76
+ <option>Inter</option>
77
+ <option>Poppins</option>
78
+ <option>Raleway</option>
79
+ </select>
80
+ ```
81
+
82
+ ### Info color
83
+
84
+ Source: `playground/components/select/info-color.html`
85
+
86
+ ```html
87
+ <select class="select select-info">
88
+ <option disabled selected>Pick a Framework</option>
89
+ <option>React</option>
90
+ <option>Vue</option>
91
+ <option>Angular</option>
92
+ </select>
93
+ ```
94
+
95
+ ### Neutral color
96
+
97
+ Source: `playground/components/select/neutral-color.html`
98
+
99
+ ```html
100
+ <select class="select select-neutral">
101
+ <option disabled selected>Server location</option>
102
+ <option>North America</option>
103
+ <option>EU west</option>
104
+ <option>South East Asia</option>
105
+ </select>
106
+ ```
107
+
108
+ ### Primary color
109
+
110
+ Source: `playground/components/select/primary-color.html`
111
+
112
+ ```html
113
+ <select class="select select-primary">
114
+ <option disabled selected>Pick a text editor</option>
115
+ <option>VScode</option>
116
+ <option>VScode fork</option>
117
+ <option>Another VScode fork</option>
118
+ </select>
119
+ ```
120
+
121
+ ### Secondary color
122
+
123
+ Source: `playground/components/select/secondary-color.html`
124
+
125
+ ```html
126
+ <select class="select select-secondary">
127
+ <option disabled selected>Pick a language</option>
128
+ <option>Zig</option>
129
+ <option>Go</option>
130
+ <option>Rust</option>
131
+ </select>
132
+ ```
133
+
134
+ ### Sizes
135
+
136
+ Source: `playground/components/select/sizes.html`
137
+
138
+ ```html
139
+ <select class="select select-xs">
140
+ <option disabled selected>Xsmall</option>
141
+ <option>Xsmall Apple</option>
142
+ <option>Xsmall Orange</option>
143
+ <option>Xsmall Tomato</option>
144
+ </select>
145
+ <select class="select select-sm">
146
+ <option disabled selected>Small</option>
147
+ <option>Small Apple</option>
148
+ <option>Small Orange</option>
149
+ <option>Small Tomato</option>
150
+ </select>
151
+ <select class="select select-md">
152
+ <option disabled selected>Medium</option>
153
+ <option>Medium Apple</option>
154
+ <option>Medium Orange</option>
155
+ <option>Medium Tomato</option>
156
+ </select>
157
+ <select class="select select-lg">
158
+ <option disabled selected>Large</option>
159
+ <option>Large Apple</option>
160
+ <option>Large Orange</option>
161
+ <option>Large Tomato</option>
162
+ </select>
163
+ <select class="select select-xl">
164
+ <option disabled selected>Xlarge</option>
165
+ <option>Xlarge Apple</option>
166
+ <option>Xlarge Orange</option>
167
+ <option>Xlarge Tomato</option>
168
+ </select>
169
+ ```
170
+
171
+ ### Success color
172
+
173
+ Source: `playground/components/select/success-color.html`
174
+
175
+ ```html
176
+ <select class="select select-success">
177
+ <option disabled selected>Pick a Runtime</option>
178
+ <option>npm</option>
179
+ <option>Bun</option>
180
+ <option>yarn</option>
181
+ </select>
182
+ ```
183
+
184
+ ### Using os native style for the options dropdown
185
+
186
+ Source: `playground/components/select/using-os-native-style-for-the-options-dropdown.html`
187
+
188
+ ```html
189
+ <select class="select appearance-none">
190
+ <option disabled selected>Pick a color</option>
191
+ <option>Crimson</option>
192
+ <option>Amber</option>
193
+ <option>Velvet</option>
194
+ </select>
195
+ ```
196
+
197
+ ### Warning color
198
+
199
+ Source: `playground/components/select/warning-color.html`
200
+
201
+ ```html
202
+ <select class="select select-warning">
203
+ <option disabled selected>Pick an OS</option>
204
+ <option>Windows</option>
205
+ <option>MacOS</option>
206
+ <option>Linux</option>
207
+ </select>
208
+ ```
209
+
210
+ ### With fieldset and labels
211
+
212
+ Source: `playground/components/select/with-fieldset-and-labels.html`
213
+
214
+ ```html
215
+ <fieldset class="fieldset">
216
+ <legend class="fieldset-legend">Browsers</legend>
217
+ <select class="select">
218
+ <option disabled selected>Pick a browser</option>
219
+ <option>Chrome</option>
220
+ <option>FireFox</option>
221
+ <option>Safari</option>
222
+ </select>
223
+ <span class="label">Optional</span>
224
+ </fieldset>
225
+ ```
@@ -0,0 +1,64 @@
1
+ # skeleton
2
+
3
+ _shimmering placeholder for loading content_
4
+
5
+ ## What it does
6
+
7
+ Animated content-shaped placeholder for loading states.
8
+
9
+ ## When to use
10
+
11
+ - Loading states where you want the layout to pre-fill (lists, cards).
12
+ - For abstract spinners, use **loading**.
13
+
14
+ ## Core classes
15
+
16
+ `skeleton`.
17
+
18
+ ## Examples
19
+
20
+ ### Skeleton
21
+
22
+ Source: `playground/components/skeleton/skeleton.html`
23
+
24
+ ```html
25
+ <div class="skeleton h-32 w-32"></div>
26
+ ```
27
+
28
+ ### Skeleton — circle with content
29
+
30
+ Source: `playground/components/skeleton/skeleton---circle-with-content.html`
31
+
32
+ ```html
33
+ <div class="flex w-52 flex-col gap-4">
34
+ <div class="flex items-center gap-4">
35
+ <div class="skeleton h-16 w-16 shrink-0 rounded-full"></div>
36
+ <div class="flex flex-col gap-4">
37
+ <div class="skeleton h-4 w-20"></div>
38
+ <div class="skeleton h-4 w-28"></div>
39
+ </div>
40
+ </div>
41
+ <div class="skeleton h-32 w-full"></div>
42
+ </div>
43
+ ```
44
+
45
+ ### Skeleton — rectangle with content
46
+
47
+ Source: `playground/components/skeleton/skeleton---rectangle-with-content.html`
48
+
49
+ ```html
50
+ <div class="flex w-52 flex-col gap-4">
51
+ <div class="skeleton h-32 w-full"></div>
52
+ <div class="skeleton h-4 w-28"></div>
53
+ <div class="skeleton h-4 w-full"></div>
54
+ <div class="skeleton h-4 w-full"></div>
55
+ </div>
56
+ ```
57
+
58
+ ### Skeleton text — animated gradient text
59
+
60
+ Source: `playground/components/skeleton/skeleton-text---animated-gradient-text.html`
61
+
62
+ ```html
63
+ <span class="skeleton skeleton-text">AI is thinking harder...</span>
64
+ ```