@mhmo91/schmancy 0.2.193 → 0.2.195

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 (354) hide show
  1. package/ai/area.md +205 -0
  2. package/ai/autocomplete.md +135 -0
  3. package/ai/avatar.md +178 -0
  4. package/ai/badge.md +100 -0
  5. package/ai/busy.md +195 -0
  6. package/ai/button.md +112 -0
  7. package/ai/card.md +155 -0
  8. package/ai/checkbox.md +108 -0
  9. package/ai/chips.md +180 -0
  10. package/ai/component-relationships.md +93 -0
  11. package/ai/content-drawer.md +190 -0
  12. package/ai/dialog.md +119 -0
  13. package/ai/dropdown.md +238 -0
  14. package/ai/form.md +148 -0
  15. package/ai/icons.md +147 -0
  16. package/ai/index.md +72 -0
  17. package/ai/input.md +167 -0
  18. package/ai/layout.md +166 -0
  19. package/ai/list.md +145 -0
  20. package/ai/menu.md +217 -0
  21. package/ai/notification.md +93 -0
  22. package/ai/radio-group.md +176 -0
  23. package/ai/select.md +174 -0
  24. package/ai/sheet.md +122 -0
  25. package/ai/store.md +235 -0
  26. package/ai/surface.md +221 -0
  27. package/ai/table.md +334 -0
  28. package/ai/tabs.md +71 -0
  29. package/ai/template.md +144 -0
  30. package/ai/textarea.md +147 -0
  31. package/ai/tooltip.md +149 -0
  32. package/ai/tree.md +279 -0
  33. package/ai/typography.md +170 -0
  34. package/dist/_headers +2 -0
  35. package/dist/ai/area.md +205 -0
  36. package/dist/ai/autocomplete.md +135 -0
  37. package/dist/ai/avatar.md +178 -0
  38. package/dist/ai/badge.md +100 -0
  39. package/dist/ai/busy.md +195 -0
  40. package/dist/ai/button.md +112 -0
  41. package/dist/ai/card.md +155 -0
  42. package/dist/ai/checkbox.md +108 -0
  43. package/dist/ai/chips.md +180 -0
  44. package/dist/ai/component-relationships.md +93 -0
  45. package/dist/ai/content-drawer.md +190 -0
  46. package/dist/ai/dialog.md +119 -0
  47. package/dist/ai/dropdown.md +238 -0
  48. package/dist/ai/form.md +148 -0
  49. package/dist/ai/icons.md +147 -0
  50. package/dist/ai/index.md +72 -0
  51. package/dist/ai/input.md +167 -0
  52. package/dist/ai/layout.md +166 -0
  53. package/dist/ai/list.md +145 -0
  54. package/dist/ai/menu.md +217 -0
  55. package/dist/ai/notification.md +93 -0
  56. package/dist/ai/radio-group.md +176 -0
  57. package/dist/ai/select.md +174 -0
  58. package/dist/ai/sheet.md +122 -0
  59. package/dist/ai/store.md +235 -0
  60. package/dist/ai/surface.md +221 -0
  61. package/dist/ai/table.md +334 -0
  62. package/dist/ai/tabs.md +71 -0
  63. package/dist/ai/template.md +144 -0
  64. package/dist/ai/textarea.md +147 -0
  65. package/dist/ai/tooltip.md +149 -0
  66. package/dist/ai/tree.md +279 -0
  67. package/dist/ai/typography.md +170 -0
  68. package/dist/{animated-text-9AM64DHd.cjs → animated-text-Bu9wh3wv.cjs} +2 -2
  69. package/dist/{animated-text-9AM64DHd.cjs.map → animated-text-Bu9wh3wv.cjs.map} +1 -1
  70. package/dist/{animated-text-CVStWn5N.js → animated-text-Ci7M0QTx.js} +3 -3
  71. package/dist/{animated-text-CVStWn5N.js.map → animated-text-Ci7M0QTx.js.map} +1 -1
  72. package/dist/animated-text.cjs +1 -1
  73. package/dist/animated-text.js +1 -1
  74. package/dist/area.cjs +1 -1
  75. package/dist/area.component-Cg9dqZJ5.cjs +8 -0
  76. package/dist/area.component-Cg9dqZJ5.cjs.map +1 -0
  77. package/dist/area.component-eJJ_wryh.js +191 -0
  78. package/dist/area.component-eJJ_wryh.js.map +1 -0
  79. package/dist/area.js +21 -6
  80. package/dist/area.js.map +1 -1
  81. package/dist/{autocomplete-DBXvIJgc.cjs → autocomplete-BH7nQbid.cjs} +2 -2
  82. package/dist/{autocomplete-DBXvIJgc.cjs.map → autocomplete-BH7nQbid.cjs.map} +1 -1
  83. package/dist/{autocomplete-ih92pPkb.js → autocomplete-D9n1MeKT.js} +3 -3
  84. package/dist/{autocomplete-ih92pPkb.js.map → autocomplete-D9n1MeKT.js.map} +1 -1
  85. package/dist/autocomplete.cjs +1 -1
  86. package/dist/autocomplete.js +1 -1
  87. package/dist/{avatar-WAIlaNJg.js → avatar-B4lSs4z5.js} +183 -145
  88. package/dist/avatar-B4lSs4z5.js.map +1 -0
  89. package/dist/{avatar-s-2jSsaH.cjs → avatar-Bg-rdjAe.cjs} +62 -24
  90. package/dist/avatar-Bg-rdjAe.cjs.map +1 -0
  91. package/dist/badge.cjs +1 -1
  92. package/dist/badge.js +1 -1
  93. package/dist/busy.cjs +1 -1
  94. package/dist/busy.js +1 -1
  95. package/dist/button.cjs +1 -1
  96. package/dist/button.js +1 -1
  97. package/dist/card.cjs +1 -1
  98. package/dist/card.js +1 -1
  99. package/dist/{checkbox-DtnX5sT6.cjs → checkbox-CgL23smr.cjs} +10 -10
  100. package/dist/{checkbox-DtnX5sT6.cjs.map → checkbox-CgL23smr.cjs.map} +1 -1
  101. package/dist/{checkbox-Jxxbjxp0.js → checkbox-y37-tGrk.js} +72 -65
  102. package/dist/{checkbox-Jxxbjxp0.js.map → checkbox-y37-tGrk.js.map} +1 -1
  103. package/dist/checkbox.cjs +1 -1
  104. package/dist/checkbox.js +1 -1
  105. package/dist/{chips-CVDnpVUM.cjs → chips-CKST7ug-.cjs} +2 -2
  106. package/dist/{chips-CVDnpVUM.cjs.map → chips-CKST7ug-.cjs.map} +1 -1
  107. package/dist/{chips-lP7ohQep.js → chips-Ndwt1V4b.js} +3 -3
  108. package/dist/{chips-lP7ohQep.js.map → chips-Ndwt1V4b.js.map} +1 -1
  109. package/dist/chips.cjs +1 -1
  110. package/dist/chips.js +1 -1
  111. package/dist/circular-progress-BDmc1zlm.cjs +9 -0
  112. package/dist/circular-progress-BDmc1zlm.cjs.map +1 -0
  113. package/dist/circular-progress-vokDGjmG.js +35 -0
  114. package/dist/circular-progress-vokDGjmG.js.map +1 -0
  115. package/dist/circular-progress.cjs +2 -0
  116. package/dist/circular-progress.cjs.map +1 -0
  117. package/dist/circular-progress.js +5 -0
  118. package/dist/circular-progress.js.map +1 -0
  119. package/dist/components.cjs +1 -1
  120. package/dist/components.js +1 -1
  121. package/dist/content-drawer.cjs +1 -1
  122. package/dist/content-drawer.js +1 -1
  123. package/dist/{date-range-Ca9WLI4Q.js → date-range-CpDVPn_v.js} +3 -3
  124. package/dist/{date-range-Ca9WLI4Q.js.map → date-range-CpDVPn_v.js.map} +1 -1
  125. package/dist/{date-range-DbPA5Y-t.cjs → date-range-DfZz3ifP.cjs} +2 -2
  126. package/dist/{date-range-DbPA5Y-t.cjs.map → date-range-DfZz3ifP.cjs.map} +1 -1
  127. package/dist/date-range.cjs +1 -1
  128. package/dist/date-range.js +1 -1
  129. package/dist/{delay-BgNgQV2G.cjs → delay-ASLyLkQL.cjs} +2 -2
  130. package/dist/{delay-BgNgQV2G.cjs.map → delay-ASLyLkQL.cjs.map} +1 -1
  131. package/dist/{delay-5cCl7ji3.js → delay-CG5SRrzF.js} +2 -2
  132. package/dist/{delay-5cCl7ji3.js.map → delay-CG5SRrzF.js.map} +1 -1
  133. package/dist/delay.cjs +1 -1
  134. package/dist/delay.js +1 -1
  135. package/dist/{dialog-content-9pumpyLD.js → dialog-content-BoPviBAt.js} +86 -82
  136. package/dist/dialog-content-BoPviBAt.js.map +1 -0
  137. package/dist/{dialog-content-qj1E8aye.cjs → dialog-content-D88EcY6L.cjs} +8 -8
  138. package/dist/dialog-content-D88EcY6L.cjs.map +1 -0
  139. package/dist/dialog.cjs +1 -1
  140. package/dist/dialog.js +1 -1
  141. package/dist/{divider-CHckHGEQ.cjs → divider-C38JDYss.cjs} +2 -2
  142. package/dist/{divider-CHckHGEQ.cjs.map → divider-C38JDYss.cjs.map} +1 -1
  143. package/dist/{divider-r8-9eNnl.js → divider-N7GWgK6o.js} +3 -3
  144. package/dist/{divider-r8-9eNnl.js.map → divider-N7GWgK6o.js.map} +1 -1
  145. package/dist/divider.cjs +1 -1
  146. package/dist/divider.js +1 -1
  147. package/dist/{dropdown-content-D-TddflQ.js → dropdown-content-DmO_yIVb.js} +3 -3
  148. package/dist/{dropdown-content-D-TddflQ.js.map → dropdown-content-DmO_yIVb.js.map} +1 -1
  149. package/dist/{dropdown-content-B41MDDRG.cjs → dropdown-content-rH8awIRA.cjs} +2 -2
  150. package/dist/{dropdown-content-B41MDDRG.cjs.map → dropdown-content-rH8awIRA.cjs.map} +1 -1
  151. package/dist/dropdown.cjs +1 -1
  152. package/dist/dropdown.js +1 -1
  153. package/dist/extra.cjs +1 -1
  154. package/dist/extra.js +1 -1
  155. package/dist/{flex-Bf0zNqji.js → flex-CXYfL6bE.js} +2 -2
  156. package/dist/{flex-Bf0zNqji.js.map → flex-CXYfL6bE.js.map} +1 -1
  157. package/dist/{flex-CFv-Zb76.cjs → flex-wYuewqrr.cjs} +2 -2
  158. package/dist/{flex-CFv-Zb76.cjs.map → flex-wYuewqrr.cjs.map} +1 -1
  159. package/dist/{form-BN75s0PI.cjs → form-CNWWdhT_.cjs} +2 -2
  160. package/dist/{form-BN75s0PI.cjs.map → form-CNWWdhT_.cjs.map} +1 -1
  161. package/dist/{form-uYcr1RLJ.js → form-q3JZjWez.js} +2 -2
  162. package/dist/{form-uYcr1RLJ.js.map → form-q3JZjWez.js.map} +1 -1
  163. package/dist/form.cjs +1 -1
  164. package/dist/form.js +1 -1
  165. package/dist/{icon-Cu-imayV.cjs → icon-QnmfHtfT.cjs} +2 -2
  166. package/dist/{icon-Cu-imayV.cjs.map → icon-QnmfHtfT.cjs.map} +1 -1
  167. package/dist/{icon-button-1tZaicyb.js → icon-button-DOTB_28y.js} +3 -3
  168. package/dist/{icon-button-1tZaicyb.js.map → icon-button-DOTB_28y.js.map} +1 -1
  169. package/dist/{icon-button-D0BbHnDL.cjs → icon-button-oAOX71_s.cjs} +2 -2
  170. package/dist/{icon-button-D0BbHnDL.cjs.map → icon-button-oAOX71_s.cjs.map} +1 -1
  171. package/dist/{icon-BR-jE0Y2.js → icon-pLQWXzo8.js} +3 -3
  172. package/dist/{icon-BR-jE0Y2.js.map → icon-pLQWXzo8.js.map} +1 -1
  173. package/dist/icons.cjs +1 -1
  174. package/dist/icons.js +1 -1
  175. package/dist/index.cjs +1 -1
  176. package/dist/index.js +190 -173
  177. package/dist/index.js.map +1 -1
  178. package/dist/{input-B2oV6Hck.cjs → input-CCniOtAr.cjs} +2 -2
  179. package/dist/{input-B2oV6Hck.cjs.map → input-CCniOtAr.cjs.map} +1 -1
  180. package/dist/{input-kiz5O3dY.js → input-DeJitVSV.js} +2 -2
  181. package/dist/{input-kiz5O3dY.js.map → input-DeJitVSV.js.map} +1 -1
  182. package/dist/input.cjs +1 -1
  183. package/dist/input.js +1 -1
  184. package/dist/layout.cjs +1 -1
  185. package/dist/layout.js +1 -1
  186. package/dist/{list-CMHoPfX9.cjs → list-Ad-24MHW.cjs} +2 -2
  187. package/dist/{list-CMHoPfX9.cjs.map → list-Ad-24MHW.cjs.map} +1 -1
  188. package/dist/{list-wT4DLXCh.js → list-Ca79GGNH.js} +2 -2
  189. package/dist/{list-wT4DLXCh.js.map → list-Ca79GGNH.js.map} +1 -1
  190. package/dist/list.cjs +1 -1
  191. package/dist/list.js +1 -1
  192. package/dist/{litElement.mixin-B9Qdq5S_.js → litElement.mixin-BoUiP2tU.js} +2 -2
  193. package/dist/{litElement.mixin-B9Qdq5S_.js.map → litElement.mixin-BoUiP2tU.js.map} +1 -1
  194. package/dist/{litElement.mixin-CHvyxfxf.cjs → litElement.mixin-qOTYSaNG.cjs} +2 -2
  195. package/dist/{litElement.mixin-CHvyxfxf.cjs.map → litElement.mixin-qOTYSaNG.cjs.map} +1 -1
  196. package/dist/{menu-BcSplMNh.cjs → menu-6Wum4ysc.cjs} +2 -2
  197. package/dist/{menu-BcSplMNh.cjs.map → menu-6Wum4ysc.cjs.map} +1 -1
  198. package/dist/{menu-Dl1QU86K.js → menu-Dd_X9oET.js} +3 -3
  199. package/dist/{menu-Dl1QU86K.js.map → menu-Dd_X9oET.js.map} +1 -1
  200. package/dist/menu.cjs +1 -1
  201. package/dist/menu.js +1 -1
  202. package/dist/nav-drawer.cjs +1 -1
  203. package/dist/nav-drawer.js +1 -1
  204. package/dist/{notification-service-CC698xHg.js → notification-service-C-9IqObm.js} +3 -3
  205. package/dist/{notification-service-CC698xHg.js.map → notification-service-C-9IqObm.js.map} +1 -1
  206. package/dist/{notification-service-BV9ybQBu.cjs → notification-service-CrNyAbmv.cjs} +2 -2
  207. package/dist/{notification-service-BV9ybQBu.cjs.map → notification-service-CrNyAbmv.cjs.map} +1 -1
  208. package/dist/notification.cjs +1 -1
  209. package/dist/notification.js +1 -1
  210. package/dist/{option-CkLBgH71.cjs → option-BbBbwrJq.cjs} +2 -2
  211. package/dist/{option-CkLBgH71.cjs.map → option-BbBbwrJq.cjs.map} +1 -1
  212. package/dist/{option-DDxxXwwc.js → option-DVSXUJ96.js} +2 -2
  213. package/dist/{option-DDxxXwwc.js.map → option-DVSXUJ96.js.map} +1 -1
  214. package/dist/option.cjs +1 -1
  215. package/dist/option.js +1 -1
  216. package/dist/{payment-card-form-DDTO5_AA.js → payment-card-form-CTjgVoJK.js} +3 -3
  217. package/dist/{payment-card-form-DDTO5_AA.js.map → payment-card-form-CTjgVoJK.js.map} +1 -1
  218. package/dist/{payment-card-form-UWbAYNPR.cjs → payment-card-form-R5wNWHAv.cjs} +2 -2
  219. package/dist/{payment-card-form-UWbAYNPR.cjs.map → payment-card-form-R5wNWHAv.cjs.map} +1 -1
  220. package/dist/{radio-button-wWoxPDfq.js → radio-button-BDAW1Euc.js} +2 -2
  221. package/dist/{radio-button-wWoxPDfq.js.map → radio-button-BDAW1Euc.js.map} +1 -1
  222. package/dist/{radio-button-BykiVxTD.cjs → radio-button-Cg1JobXT.cjs} +2 -2
  223. package/dist/{radio-button-BykiVxTD.cjs.map → radio-button-Cg1JobXT.cjs.map} +1 -1
  224. package/dist/radio-group.cjs +1 -1
  225. package/dist/radio-group.js +1 -1
  226. package/dist/{schmancy-steps-container-ByO98z7L.js → schmancy-steps-container--d7VK-QR.js} +2 -2
  227. package/dist/{schmancy-steps-container-ByO98z7L.js.map → schmancy-steps-container--d7VK-QR.js.map} +1 -1
  228. package/dist/{schmancy-steps-container-B1mIGa9M.cjs → schmancy-steps-container-BAPIxl4s.cjs} +2 -2
  229. package/dist/{schmancy-steps-container-B1mIGa9M.cjs.map → schmancy-steps-container-BAPIxl4s.cjs.map} +1 -1
  230. package/dist/{select-DE57Nios.cjs → select-CnjO7DLl.cjs} +2 -2
  231. package/dist/{select-DE57Nios.cjs.map → select-CnjO7DLl.cjs.map} +1 -1
  232. package/dist/{select-BIOhocL7.js → select-DfbOOZtm.js} +3 -3
  233. package/dist/{select-BIOhocL7.js.map → select-DfbOOZtm.js.map} +1 -1
  234. package/dist/select.cjs +1 -1
  235. package/dist/select.js +1 -1
  236. package/dist/{sheet-Dh4MLVsU.js → sheet-DhbKM9gJ.js} +3 -3
  237. package/dist/{sheet-Dh4MLVsU.js.map → sheet-DhbKM9gJ.js.map} +1 -1
  238. package/dist/{sheet-fZYAWGsm.cjs → sheet-Ds0Fp0lM.cjs} +2 -2
  239. package/dist/{sheet-fZYAWGsm.cjs.map → sheet-Ds0Fp0lM.cjs.map} +1 -1
  240. package/dist/sheet.cjs +1 -1
  241. package/dist/sheet.js +1 -1
  242. package/dist/{slider-DVlJoDgU.js → slider-Ba3AEh2W.js} +3 -3
  243. package/dist/{slider-DVlJoDgU.js.map → slider-Ba3AEh2W.js.map} +1 -1
  244. package/dist/{slider-CejrdmPF.cjs → slider-CSOzhUhA.cjs} +2 -2
  245. package/dist/{slider-CejrdmPF.cjs.map → slider-CSOzhUhA.cjs.map} +1 -1
  246. package/dist/slider.cjs +1 -1
  247. package/dist/slider.js +1 -1
  248. package/dist/{spinner-DbTnai_Q.js → spinner-BgeQqlFU.js} +3 -3
  249. package/dist/{spinner-DbTnai_Q.js.map → spinner-BgeQqlFU.js.map} +1 -1
  250. package/dist/{spinner-DxVJ7QJZ.cjs → spinner-llMfjiIc.cjs} +2 -2
  251. package/dist/{spinner-DxVJ7QJZ.cjs.map → spinner-llMfjiIc.cjs.map} +1 -1
  252. package/dist/steps.cjs +1 -1
  253. package/dist/steps.js +1 -1
  254. package/dist/surface-CT2g8fDM.cjs +92 -0
  255. package/dist/surface-CT2g8fDM.cjs.map +1 -0
  256. package/dist/surface-UcsAmLj5.js +113 -0
  257. package/dist/surface-UcsAmLj5.js.map +1 -0
  258. package/dist/surface.cjs +1 -1
  259. package/dist/surface.js +1 -1
  260. package/dist/{table-CBhyHINV.cjs → table-CSBhQ-pa.cjs} +4 -4
  261. package/dist/{table-CBhyHINV.cjs.map → table-CSBhQ-pa.cjs.map} +1 -1
  262. package/dist/{table-CqUv1TOC.js → table-DuUlrDCu.js} +72 -68
  263. package/dist/{table-CqUv1TOC.js.map → table-DuUlrDCu.js.map} +1 -1
  264. package/dist/table.cjs +1 -1
  265. package/dist/table.js +1 -1
  266. package/dist/{tabs-compatibility-DUo2f_sV.js → tabs-compatibility-BVFHArgV.js} +2 -2
  267. package/dist/{tabs-compatibility-DUo2f_sV.js.map → tabs-compatibility-BVFHArgV.js.map} +1 -1
  268. package/dist/{tabs-compatibility-DPD6jfGF.cjs → tabs-compatibility-Bt3coGzN.cjs} +2 -2
  269. package/dist/{tabs-compatibility-DPD6jfGF.cjs.map → tabs-compatibility-Bt3coGzN.cjs.map} +1 -1
  270. package/dist/tabs.cjs +1 -1
  271. package/dist/tabs.js +1 -1
  272. package/dist/tailwind.mixin-C71e_LC1.js +43 -0
  273. package/dist/{tailwind.mixin-Di7KWye7.js.map → tailwind.mixin-C71e_LC1.js.map} +1 -1
  274. package/dist/tailwind.mixin-CFCJhe5p.cjs +2 -0
  275. package/dist/{tailwind.mixin-Dm5QDZav.cjs.map → tailwind.mixin-CFCJhe5p.cjs.map} +1 -1
  276. package/dist/teleport.cjs +1 -1
  277. package/dist/teleport.js +1 -1
  278. package/dist/{textarea-Dbz18REy.js → textarea-B8eIpYa-.js} +2 -2
  279. package/dist/{textarea-Dbz18REy.js.map → textarea-B8eIpYa-.js.map} +1 -1
  280. package/dist/{textarea-CesFdBkm.cjs → textarea-CtCk_1Fq.cjs} +2 -2
  281. package/dist/{textarea-CesFdBkm.cjs.map → textarea-CtCk_1Fq.cjs.map} +1 -1
  282. package/dist/textarea.cjs +1 -1
  283. package/dist/textarea.js +1 -1
  284. package/dist/{theme-button-Bt2OV4iu.cjs → theme-button-DQe5uOxU.cjs} +2 -2
  285. package/dist/{theme-button-Bt2OV4iu.cjs.map → theme-button-DQe5uOxU.cjs.map} +1 -1
  286. package/dist/{theme-button-lqbT2_LL.js → theme-button-TEzhKUy6.js} +2 -2
  287. package/dist/{theme-button-lqbT2_LL.js.map → theme-button-TEzhKUy6.js.map} +1 -1
  288. package/dist/theme-button.cjs +1 -1
  289. package/dist/theme-button.js +1 -1
  290. package/dist/theme.cjs +1 -1
  291. package/dist/{theme.component-BlBaN7d6.cjs → theme.component-Be6M74nN.cjs} +3 -3
  292. package/dist/{theme.component-BlBaN7d6.cjs.map → theme.component-Be6M74nN.cjs.map} +1 -1
  293. package/dist/{theme.component-xarFSe8p.js → theme.component-DiTpToTC.js} +2 -2
  294. package/dist/{theme.component-xarFSe8p.js.map → theme.component-DiTpToTC.js.map} +1 -1
  295. package/dist/theme.js +1 -1
  296. package/dist/{timezone-VUMRmZaJ.cjs → timezone-C1aR24i0.cjs} +2 -2
  297. package/dist/{timezone-VUMRmZaJ.cjs.map → timezone-C1aR24i0.cjs.map} +1 -1
  298. package/dist/{timezone-DwT_pQrj.js → timezone-CBSuTrU2.js} +3 -3
  299. package/dist/{timezone-DwT_pQrj.js.map → timezone-CBSuTrU2.js.map} +1 -1
  300. package/dist/{tooltip-BKOHVCMK.js → tooltip-DYQW9R3I.js} +2 -2
  301. package/dist/{tooltip-BKOHVCMK.js.map → tooltip-DYQW9R3I.js.map} +1 -1
  302. package/dist/{tooltip-Cvoroe7w.cjs → tooltip-DYcXTtFy.cjs} +2 -2
  303. package/dist/{tooltip-Cvoroe7w.cjs.map → tooltip-DYcXTtFy.cjs.map} +1 -1
  304. package/dist/tooltip.cjs +1 -1
  305. package/dist/tooltip.js +1 -1
  306. package/dist/{tree-Cyp2AZ8g.cjs → tree-D-rTjnPs.cjs} +2 -2
  307. package/dist/{tree-Cyp2AZ8g.cjs.map → tree-D-rTjnPs.cjs.map} +1 -1
  308. package/dist/{tree-_FJnHVmP.js → tree-nsSIkdNT.js} +2 -2
  309. package/dist/{tree-_FJnHVmP.js.map → tree-nsSIkdNT.js.map} +1 -1
  310. package/dist/tree.cjs +1 -1
  311. package/dist/tree.js +1 -1
  312. package/dist/{typewriter-BIm2tOe4.cjs → typewriter-Cj0R-RDa.cjs} +2 -2
  313. package/dist/{typewriter-BIm2tOe4.cjs.map → typewriter-Cj0R-RDa.cjs.map} +1 -1
  314. package/dist/{typewriter-DWfXPBni.js → typewriter-DrYb6_FB.js} +22 -22
  315. package/dist/{typewriter-DWfXPBni.js.map → typewriter-DrYb6_FB.js.map} +1 -1
  316. package/dist/typewriter.cjs +1 -1
  317. package/dist/typewriter.js +1 -1
  318. package/dist/{typography-OpLt6LNd.cjs → typography-B0Kj2XoC.cjs} +2 -2
  319. package/dist/{typography-OpLt6LNd.cjs.map → typography-B0Kj2XoC.cjs.map} +1 -1
  320. package/dist/{typography-DaKLzjFB.js → typography-DMj2H_lZ.js} +2 -2
  321. package/dist/{typography-DaKLzjFB.js.map → typography-DMj2H_lZ.js.map} +1 -1
  322. package/dist/typography.cjs +1 -1
  323. package/dist/typography.js +1 -1
  324. package/dist/utils-BqFGvnN9.cjs +2 -0
  325. package/dist/utils-BqFGvnN9.cjs.map +1 -0
  326. package/dist/utils-jduntaQU.js +128 -0
  327. package/dist/utils-jduntaQU.js.map +1 -0
  328. package/package.json +14 -14
  329. package/types/src/area/area.component.d.ts +1 -1
  330. package/types/src/area/area.service.d.ts +72 -5
  331. package/types/src/area/index.d.ts +1 -0
  332. package/types/src/area/router.types.d.ts +41 -2
  333. package/types/src/area/utils.d.ts +91 -1
  334. package/types/src/checkbox/checkbox.d.ts +9 -0
  335. package/types/src/circular-progress/circular-progress.d.ts +15 -0
  336. package/types/src/circular-progress/index.d.ts +1 -0
  337. package/types/src/dialog/dailog.d.ts +8 -0
  338. package/types/src/dialog/dialog-service.d.ts +1 -0
  339. package/types/src/index.d.ts +1 -0
  340. package/types/src/table/table.d.ts +1 -0
  341. package/dist/area.component-CZELEuMj.js +0 -107
  342. package/dist/area.component-CZELEuMj.js.map +0 -1
  343. package/dist/area.component-grRkXEse.cjs +0 -8
  344. package/dist/area.component-grRkXEse.cjs.map +0 -1
  345. package/dist/avatar-WAIlaNJg.js.map +0 -1
  346. package/dist/avatar-s-2jSsaH.cjs.map +0 -1
  347. package/dist/dialog-content-9pumpyLD.js.map +0 -1
  348. package/dist/dialog-content-qj1E8aye.cjs.map +0 -1
  349. package/dist/surface-BTuzKmT2.cjs +0 -20
  350. package/dist/surface-BTuzKmT2.cjs.map +0 -1
  351. package/dist/surface-DXx1bJN4.js +0 -43
  352. package/dist/surface-DXx1bJN4.js.map +0 -1
  353. package/dist/tailwind.mixin-Di7KWye7.js +0 -43
  354. package/dist/tailwind.mixin-Dm5QDZav.cjs +0 -2
package/ai/table.md ADDED
@@ -0,0 +1,334 @@
1
+ # Schmancy Table - AI Reference
2
+
3
+ ```js
4
+ // Basic Table
5
+ <schmancy-table>
6
+ <thead>
7
+ <tr>
8
+ <th>Name</th>
9
+ <th>Email</th>
10
+ <th>Role</th>
11
+ </tr>
12
+ </thead>
13
+ <tbody>
14
+ <tr>
15
+ <td>John Doe</td>
16
+ <td>john@example.com</td>
17
+ <td>Admin</td>
18
+ </tr>
19
+ <tr>
20
+ <td>Jane Smith</td>
21
+ <td>jane@example.com</td>
22
+ <td>User</td>
23
+ </tr>
24
+ </tbody>
25
+ </schmancy-table>
26
+
27
+ // Table with custom row component
28
+ <schmancy-table>
29
+ <thead>
30
+ <tr>
31
+ <th>Name</th>
32
+ <th>Email</th>
33
+ <th>Role</th>
34
+ <th>Actions</th>
35
+ </tr>
36
+ </thead>
37
+ <tbody>
38
+ <schmancy-row
39
+ .data=${{ name: 'John Doe', email: 'john@example.com', role: 'Admin' }}
40
+ @click=${handleRowClick}>
41
+ <td>${data.name}</td>
42
+ <td>${data.email}</td>
43
+ <td>${data.role}</td>
44
+ <td>
45
+ <schmancy-button kind="tertiary" size="small">Edit</schmancy-button>
46
+ <schmancy-button kind="danger" size="small">Delete</schmancy-button>
47
+ </td>
48
+ </schmancy-row>
49
+ <!-- More rows -->
50
+ </tbody>
51
+ </schmancy-table>
52
+
53
+ // Data Table with programmatic columns and custom sorting
54
+ <schmancy-table
55
+ .columns=${[
56
+ {
57
+ name: 'Name',
58
+ key: 'name',
59
+ sortable: true
60
+ },
61
+ {
62
+ name: 'Date Joined',
63
+ key: 'dateJoined',
64
+ sortable: true,
65
+ // Custom sort by Unix timestamp
66
+ value: (item) => new Date(item.dateJoined).getTime()
67
+ },
68
+ {
69
+ name: 'Profile Completion',
70
+ key: 'profile',
71
+ sortable: true,
72
+ // Sort by completion percentage
73
+ value: (item) => item.profile.completionPercentage,
74
+ // Display with custom rendering
75
+ render: (item) => html`${item.profile.completionPercentage}%`
76
+ }
77
+ ]}
78
+ .data=${users}
79
+ sortable>
80
+ </schmancy-table>
81
+
82
+ // Table Properties
83
+ striped: boolean // Apply alternating row colors
84
+ bordered: boolean // Add borders to cells
85
+ compact: boolean // Reduce cell padding
86
+ hover: boolean // Highlight rows on hover
87
+ responsive: boolean // Make table horizontally scrollable on small screens
88
+ sortable: boolean // Enable column sorting
89
+ selectable: boolean // Enable row selection
90
+ loading: boolean // Show loading state
91
+
92
+ // Column Configuration Properties (when using programmatic columns)
93
+ name: string // Display name for the column header
94
+ key?: keyof T // Object property to access for this column
95
+ align?: string // Text alignment ('left', 'right', 'center')
96
+ weight?: string // Font weight ('normal', 'bold')
97
+ render?: function // Custom render function for complex content: (item) => TemplateResult
98
+ sortable?: boolean // Whether this column supports sorting
99
+ value?: function // Custom value function for sorting: (item) => any
100
+
101
+ // Row Properties
102
+ selected: boolean // Whether the row is selected
103
+ data: object // Data object for the row
104
+
105
+ // Table Events
106
+ @sort // Fires when a sortable column is clicked, with { detail: { column, direction } }
107
+ @selection // Fires when row selection changes, with { detail: { selected } }
108
+
109
+ // Examples
110
+ // Basic responsive table
111
+ <schmancy-table
112
+ responsive
113
+ striped
114
+ hover>
115
+ <thead>
116
+ <tr>
117
+ <th>ID</th>
118
+ <th>Name</th>
119
+ <th>Email</th>
120
+ <th>Created</th>
121
+ <th>Status</th>
122
+ </tr>
123
+ </thead>
124
+ <tbody>
125
+ <tr>
126
+ <td>1</td>
127
+ <td>John Doe</td>
128
+ <td>john@example.com</td>
129
+ <td>2023-04-12</td>
130
+ <td>
131
+ <schmancy-badge variant="success">Active</schmancy-badge>
132
+ </td>
133
+ </tr>
134
+ <tr>
135
+ <td>2</td>
136
+ <td>Jane Smith</td>
137
+ <td>jane@example.com</td>
138
+ <td>2023-04-15</td>
139
+ <td>
140
+ <schmancy-badge variant="warning">Pending</schmancy-badge>
141
+ </td>
142
+ </tr>
143
+ </tbody>
144
+ </schmancy-table>
145
+
146
+ // Sortable table - standard HTML structure
147
+ <schmancy-table
148
+ sortable
149
+ @sort=${(e) => sortData(e.detail.column, e.detail.direction)}>
150
+ <thead>
151
+ <tr>
152
+ <th data-sort="id">ID</th>
153
+ <th data-sort="name">Name</th>
154
+ <th data-sort="email">Email</th>
155
+ <th data-sort="created">Created</th>
156
+ <th>Actions</th>
157
+ </tr>
158
+ </thead>
159
+ <tbody>
160
+ ${sortedData.map(item => html`
161
+ <tr>
162
+ <td>${item.id}</td>
163
+ <td>${item.name}</td>
164
+ <td>${item.email}</td>
165
+ <td>${formatDate(item.created)}</td>
166
+ <td>
167
+ <schmancy-icon-button
168
+ icon="edit"
169
+ variant="tertiary"
170
+ @click=${() => editItem(item)}>
171
+ </schmancy-icon-button>
172
+ <schmancy-icon-button
173
+ icon="delete"
174
+ variant="danger"
175
+ @click=${() => deleteItem(item)}>
176
+ </schmancy-icon-button>
177
+ </td>
178
+ </tr>
179
+ `)}
180
+ </tbody>
181
+ </schmancy-table>
182
+
183
+ // Sortable table - programmatic with custom value functions
184
+ <schmancy-table
185
+ .data=${userData}
186
+ .columns=${[
187
+ {
188
+ name: 'ID',
189
+ key: 'id',
190
+ sortable: true
191
+ },
192
+ {
193
+ name: 'User',
194
+ key: 'user',
195
+ sortable: true,
196
+ // Sort by last name for "user" column
197
+ value: (item) => item.user.lastName,
198
+ // Custom render function for complex data
199
+ render: (item) => html`
200
+ <div class="flex items-center">
201
+ <schmancy-avatar src=${item.user.avatar} size="sm"></schmancy-avatar>
202
+ <div class="ml-2">
203
+ <div>${item.user.firstName} ${item.user.lastName}</div>
204
+ <div class="text-sm text-gray-500">${item.user.email}</div>
205
+ </div>
206
+ </div>
207
+ `
208
+ },
209
+ {
210
+ name: 'Status',
211
+ key: 'status',
212
+ sortable: true,
213
+ // Sort by status priority (numeric value) but display text
214
+ value: (item) => statusPriorities[item.status] || 0,
215
+ render: (item) => html`
216
+ <schmancy-badge variant=${getStatusVariant(item.status)}>
217
+ ${item.status}
218
+ </schmancy-badge>
219
+ `
220
+ },
221
+ {
222
+ name: 'Created',
223
+ key: 'createdAt',
224
+ sortable: true,
225
+ // Sort by timestamp but display formatted date
226
+ value: (item) => new Date(item.createdAt).getTime(),
227
+ render: (item) => formatDate(item.createdAt)
228
+ },
229
+ {
230
+ name: 'Actions',
231
+ render: (item) => html`
232
+ <div class="flex space-x-2">
233
+ <schmancy-icon-button icon="edit" @click=${() => editItem(item)}></schmancy-icon-button>
234
+ <schmancy-icon-button icon="delete" @click=${() => deleteItem(item)}></schmancy-icon-button>
235
+ </div>
236
+ `
237
+ }
238
+ ]}
239
+ sortable
240
+ @sort=${(e) => console.log('Sort changed:', e.detail)}>
241
+ </schmancy-table>
242
+
243
+ // Selectable table
244
+ <schmancy-table
245
+ selectable
246
+ @selection=${(e) => handleSelectedRows(e.detail.selected)}>
247
+ <thead>
248
+ <tr>
249
+ <th>
250
+ <schmancy-checkbox
251
+ .checked=${allSelected}
252
+ .indeterminate=${someSelected && !allSelected}
253
+ @change=${toggleAllSelection}>
254
+ </schmancy-checkbox>
255
+ </th>
256
+ <th>Name</th>
257
+ <th>Email</th>
258
+ <th>Role</th>
259
+ </tr>
260
+ </thead>
261
+ <tbody>
262
+ ${data.map(item => html`
263
+ <schmancy-row
264
+ .data=${item}
265
+ .selected=${selectedRows.includes(item.id)}>
266
+ <td>
267
+ <schmancy-checkbox
268
+ .checked=${selectedRows.includes(item.id)}
269
+ @change=${(e) => toggleRowSelection(item.id, e.target.checked)}>
270
+ </schmancy-checkbox>
271
+ </td>
272
+ <td>${item.name}</td>
273
+ <td>${item.email}</td>
274
+ <td>${item.role}</td>
275
+ </schmancy-row>
276
+ `)}
277
+ </tbody>
278
+ </schmancy-table>
279
+
280
+ // Loading state
281
+ <schmancy-table loading>
282
+ <thead>
283
+ <tr>
284
+ <th>Name</th>
285
+ <th>Email</th>
286
+ <th>Role</th>
287
+ </tr>
288
+ </thead>
289
+ <tbody>
290
+ <!-- Content will be dimmed and a loading indicator shown -->
291
+ </tbody>
292
+ </schmancy-table>
293
+
294
+ // Pagination (with external component)
295
+ <div>
296
+ <schmancy-table>
297
+ <!-- Table content -->
298
+ </schmancy-table>
299
+
300
+ <div style="display: flex; justify-content: space-between; margin-top: 16px;">
301
+ <div>
302
+ Showing ${startIndex + 1} to ${Math.min(endIndex, totalItems)} of ${totalItems} items
303
+ </div>
304
+
305
+ <div>
306
+ <schmancy-button
307
+ variant="tertiary"
308
+ size="small"
309
+ ?disabled=${page === 1}
310
+ @click=${() => setPage(page - 1)}>
311
+ Previous
312
+ </schmancy-button>
313
+
314
+ <!-- Page numbers -->
315
+ ${generatePageNumbers(page, totalPages).map(p => html`
316
+ <schmancy-button
317
+ variant=${p === page ? "primary" : "tertiary"}
318
+ size="small"
319
+ @click=${() => setPage(p)}>
320
+ ${p}
321
+ </schmancy-button>
322
+ `)}
323
+
324
+ <schmancy-button
325
+ variant="tertiary"
326
+ size="small"
327
+ ?disabled=${page === totalPages}
328
+ @click=${() => setPage(page + 1)}>
329
+ Next
330
+ </schmancy-button>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ ```
package/ai/tabs.md ADDED
@@ -0,0 +1,71 @@
1
+ # Schmancy Tabs - AI Reference
2
+
3
+ ```js
4
+ // Basic Tabs
5
+ <schmancy-tabs value="tab1">
6
+ <schmancy-tab value="tab1" label="Tab 1"></schmancy-tab>
7
+ <schmancy-tab value="tab2" label="Tab 2"></schmancy-tab>
8
+ <schmancy-tab value="tab3" label="Tab 3"></schmancy-tab>
9
+
10
+ <div slot="panel" data-tab="tab1">Content for Tab 1</div>
11
+ <div slot="panel" data-tab="tab2">Content for Tab 2</div>
12
+ <div slot="panel" data-tab="tab3">Content for Tab 3</div>
13
+ </schmancy-tabs>
14
+
15
+ // Tabs with Scrolling
16
+ <schmancy-tabs value="tab1" scrollable>
17
+ <!-- Tab definitions -->
18
+ </schmancy-tabs>
19
+
20
+ // Tabs Groups (for complex tab structures)
21
+ <schmancy-tabs-group value="tab1" @change=${handleTabChange}>
22
+ <schmancy-tab value="tab1" label="Tab 1"></schmancy-tab>
23
+ <schmancy-tab value="tab2" label="Tab 2"></schmancy-tab>
24
+ <schmancy-tab value="tab3" label="Tab 3"></schmancy-tab>
25
+
26
+ <div data-tab="tab1">Content for Tab 1</div>
27
+ <div data-tab="tab2">Content for Tab 2</div>
28
+ <div data-tab="tab3">Content for Tab 3</div>
29
+ </schmancy-tabs-group>
30
+
31
+ // Tabs with Icons
32
+ <schmancy-tabs value="tab1">
33
+ <schmancy-tab value="tab1">
34
+ <schmancy-icon icon="home"></schmancy-icon>
35
+ <span>Home</span>
36
+ </schmancy-tab>
37
+ <schmancy-tab value="tab2">
38
+ <schmancy-icon icon="settings"></schmancy-icon>
39
+ <span>Settings</span>
40
+ </schmancy-tab>
41
+ </schmancy-tabs>
42
+
43
+ // Tab Attributes
44
+ value="tab-id" // Unique identifier for the tab
45
+ label="Tab Label" // Text label (optional if using custom content)
46
+ disabled? // Disabled state
47
+ icon="icon-name" // Icon to display (alternative to using schmancy-icon in content)
48
+
49
+ // Tab Methods and Events
50
+ tabs.select(value) -> void // Programmatically select a tab
51
+ @change // Fires when tab selection changes with { detail: { value } }
52
+
53
+ // Examples
54
+ // Basic usage
55
+ <schmancy-tabs value="tab1" @change=${(e) => console.log('Selected tab:', e.detail.value)}>
56
+ <schmancy-tab value="tab1" label="Info"></schmancy-tab>
57
+ <schmancy-tab value="tab2" label="Settings"></schmancy-tab>
58
+
59
+ <div slot="panel" data-tab="tab1">Information content here</div>
60
+ <div slot="panel" data-tab="tab2">Settings content here</div>
61
+ </schmancy-tabs>
62
+
63
+ // Dynamic tabs from data
64
+ ${tabData.map(tab => html`
65
+ <schmancy-tab value=${tab.id} label=${tab.label}></schmancy-tab>
66
+ `)}
67
+
68
+ ${tabData.map(tab => html`
69
+ <div slot="panel" data-tab=${tab.id}>${tab.content}</div>
70
+ `)}
71
+ ```
package/ai/template.md ADDED
@@ -0,0 +1,144 @@
1
+ # Schmancy AI Documentation Guidelines
2
+
3
+ This document provides a template and guidelines for creating consistent AI-friendly documentation for Schmancy components.
4
+
5
+ ## Documentation Format
6
+
7
+ Each component's documentation should follow this structure:
8
+
9
+ 1. **Component Title**: `# Schmancy [Component] - AI Reference`
10
+ 2. **Code Block**: Main syntax reference with component usage patterns
11
+ 3. **Related Components**: List of related components with links and relationship descriptions
12
+ 4. **Technical Details**: Interfaces, types, CSS custom properties, etc.
13
+ 5. **Common Use Cases**: Practical examples with explanations
14
+
15
+ ## Code Block Template
16
+
17
+ ```js
18
+ // Component Tag
19
+ <schmancy-[component]
20
+ [primary-attribute]="value"
21
+ [boolean-attribute]?
22
+ @[event-name]=${handler}>
23
+ <!-- Content/children if applicable -->
24
+ </schmancy-[component]>
25
+
26
+ // Component Variations (if applicable)
27
+ <schmancy-[component]
28
+ variant="[variant]"
29
+ size="small|medium|large">
30
+ </schmancy-[component]>
31
+
32
+ // Component Methods
33
+ component.method() -> returnType
34
+ component.property = value
35
+
36
+ // Event details
37
+ @event-name // { detail: { relevantData } }
38
+
39
+ // Examples (always number examples for clarity)
40
+ // 1. Basic example
41
+ <schmancy-[component] [primary-attribute]="value">
42
+ Content
43
+ </schmancy-[component]>
44
+
45
+ // 2. Advanced example
46
+ <schmancy-[component]
47
+ [attribute]="value"
48
+ @[event]=${() => handleEvent()}>
49
+ <!-- Structured content -->
50
+ </schmancy-[component]>
51
+ ```
52
+
53
+ ## Related Components Section
54
+
55
+ Always include a "Related Components" section that links to other relevant components:
56
+
57
+ ```markdown
58
+ ## Related Components
59
+ - **[Related-1](./related-1.md)**: Brief description of relationship
60
+ - **[Related-2](./related-2.md)**: Brief description of relationship
61
+ - **[Related-3](./related-3.md)**: Brief description of relationship
62
+ ```
63
+
64
+ ## Technical Details Section
65
+
66
+ Include relevant technical information:
67
+
68
+ ```markdown
69
+ ## Technical Details
70
+
71
+ ### Interfaces
72
+ ```typescript
73
+ interface ComponentProps {
74
+ property: type;
75
+ optionalProperty?: type;
76
+ }
77
+ ```
78
+
79
+ ### CSS Custom Properties (if applicable)
80
+ ```css
81
+ --schmancy-component-color: /* Controls the component color */
82
+ --schmancy-component-spacing: /* Controls internal spacing */
83
+ ```
84
+ ```
85
+
86
+ ## Common Use Cases Section
87
+
88
+ Provide 2-4 practical use cases with code examples:
89
+
90
+ ```markdown
91
+ ### Common Use Cases
92
+
93
+ 1. **Use Case 1**: Brief description
94
+ ```html
95
+ <schmancy-[component] specific-attribute="value"></schmancy-[component]>
96
+ ```
97
+
98
+ 2. **Use Case 2**: Brief description
99
+ ```html
100
+ <schmancy-[component] with="specific-configuration"></schmancy-[component]>
101
+ ```
102
+ ```
103
+
104
+ ## Style Guide
105
+
106
+ 1. **Code Examples**:
107
+ - Number all examples sequentially (e.g., `// 1. Basic example`)
108
+ - Include descriptive comments
109
+ - Ensure examples are realistic and complete
110
+
111
+ 2. **Component Descriptions**:
112
+ - Focus on functionality and API usage
113
+ - Avoid marketing language
114
+ - Provide context for when and why to use the component
115
+
116
+ 3. **Cross-Referencing**:
117
+ - Always link to related components
118
+ - Explain the relationship (e.g., "Used within", "Alternative to", "Extends")
119
+
120
+ 4. **Formatting**:
121
+ - Use backticks for inline code references
122
+ - Use proper markdown headers for sections
123
+ - Use TypeScript for type definitions
124
+
125
+ ## Component Categories
126
+
127
+ Organize components according to these categories for better cross-referencing:
128
+
129
+ 1. **Core Infrastructure**: Area, Store, Teleport, RxJS Utils
130
+ 2. **Layout Components**: Layout, Surface, Card, Divider
131
+ 3. **Navigation & Structure**: Tabs, Menu, Nav-Drawer, Content-Drawer, Sheet, Dialog
132
+ 4. **Form Controls**: Form, Input, Textarea, Select, Autocomplete, Checkbox, Radio-Group, Option
133
+ 5. **Interactive Elements**: Button, Dropdown, Chips, List, Tree, Table
134
+ 6. **Feedback & Status**: Notification, Tooltip, Badge, Busy, Avatar
135
+ 7. **Typography & Visual**: Typography, Icons, Animated-Text, Typewriter
136
+ 8. **Utilities**: Directives, Theme, Theme-Button, Utils, Types, Delay, Date-Range, Steps
137
+
138
+ ## Examples
139
+
140
+ See these files for examples of well-formatted component documentation:
141
+ - [area.md](./area.md): Complex service component
142
+ - [form.md](./form.md): Container component
143
+ - [input.md](./input.md): Form field component
144
+ - [store.md](./store.md): State management
package/ai/textarea.md ADDED
@@ -0,0 +1,147 @@
1
+ # Schmancy Textarea - AI Reference
2
+
3
+ ```js
4
+ // Basic Textarea
5
+ <schmancy-textarea
6
+ name="textarea-name"
7
+ label="Textarea Label"
8
+ value="Initial text"
9
+ placeholder="Enter text here..."
10
+ rows="4"
11
+ cols="50"
12
+ maxlength="500"
13
+ minlength="10"
14
+ required?
15
+ disabled?
16
+ readonly?
17
+ error="Error message"
18
+ resize="both|horizontal|vertical|none"
19
+ @input=${handleInput}
20
+ @change=${handleChange}>
21
+ </schmancy-textarea>
22
+
23
+ // Textarea with counter and helper text
24
+ <schmancy-textarea
25
+ label="Description"
26
+ maxlength="200"
27
+ show-counter?
28
+ helper-text="Briefly describe your issue">
29
+ </schmancy-textarea>
30
+
31
+ // Auto-growing textarea
32
+ <schmancy-textarea
33
+ auto-grow?
34
+ min-rows="2"
35
+ max-rows="10"
36
+ label="Comments">
37
+ </schmancy-textarea>
38
+
39
+ // Textarea Methods
40
+ textarea.focus() -> void // Focus the textarea
41
+ textarea.blur() -> void // Remove focus
42
+ textarea.select() -> void // Select all text
43
+ textarea.validate() -> boolean // Validate and show error if invalid
44
+ textarea.reset() -> void // Reset to initial value
45
+ textarea.setCustomValidity(message) -> void // Set custom validation message
46
+
47
+ // Textarea Properties
48
+ value: string // The content of the textarea
49
+ name: string // The name attribute
50
+ label: string // Label text
51
+ placeholder: string // Placeholder text
52
+ rows: number // Number of rows to display
53
+ cols: number // Number of columns to display
54
+ minlength: number // Minimum number of characters required
55
+ maxlength: number // Maximum number of characters allowed
56
+ disabled: boolean // Whether the textarea is disabled
57
+ readonly: boolean // Whether the textarea is read-only
58
+ required: boolean // Whether the textarea is required
59
+ error: string // Error message to display
60
+ resize: string // Resize behavior: "both", "horizontal", "vertical", "none"
61
+ autoGrow: boolean // Whether the textarea should automatically grow with content
62
+ minRows: number // Minimum number of rows when auto-growing
63
+ maxRows: number // Maximum number of rows when auto-growing
64
+ showCounter: boolean // Whether to show the character counter
65
+
66
+ // Textarea Events
67
+ @input // Fires on input with { detail: { value } }
68
+ @change // Fires when value changes and focus is lost with { detail: { value } }
69
+ @focus // Fires when textarea gains focus
70
+ @blur // Fires when textarea loses focus
71
+
72
+ // Examples
73
+ // Basic usage
74
+ <schmancy-textarea
75
+ name="comments"
76
+ label="Comments"
77
+ placeholder="Enter your comments here"
78
+ rows="4"
79
+ required
80
+ @change=${(e) => console.log('Comments:', e.detail.value)}>
81
+ </schmancy-textarea>
82
+
83
+ // Textarea with character counter
84
+ <schmancy-textarea
85
+ name="bio"
86
+ label="Biography"
87
+ maxlength="500"
88
+ show-counter
89
+ helper-text="Tell us about yourself">
90
+ </schmancy-textarea>
91
+
92
+ // Auto-growing textarea
93
+ <schmancy-textarea
94
+ name="notes"
95
+ label="Meeting Notes"
96
+ auto-grow
97
+ min-rows="3"
98
+ max-rows="15"
99
+ placeholder="Type your notes here...">
100
+ </schmancy-textarea>
101
+
102
+ // Usage in a form
103
+ <schmancy-form @submit=${handleSubmit}>
104
+ <schmancy-input
105
+ name="title"
106
+ label="Title"
107
+ required>
108
+ </schmancy-input>
109
+
110
+ <schmancy-textarea
111
+ name="description"
112
+ label="Description"
113
+ rows="5"
114
+ required>
115
+ </schmancy-textarea>
116
+
117
+ <schmancy-button type="submit">Submit</schmancy-button>
118
+ </schmancy-form>
119
+
120
+ // Textarea with error state
121
+ <schmancy-textarea
122
+ name="feedback"
123
+ label="Feedback"
124
+ value=${feedback}
125
+ error=${feedback.length < 10 ? 'Feedback must be at least 10 characters' : ''}
126
+ @input=${(e) => feedback = e.detail.value}>
127
+ </schmancy-textarea>
128
+
129
+ // Textarea with prefilled markdown template
130
+ <schmancy-textarea
131
+ name="issue"
132
+ label="Issue Description"
133
+ value="## Issue Description
134
+ -
135
+ -
136
+
137
+ ## Steps to Reproduce
138
+ 1.
139
+ 2.
140
+ 3.
141
+
142
+ ## Expected Behavior
143
+
144
+ "
145
+ rows="12">
146
+ </schmancy-textarea>
147
+ ```