@mhmo91/schmancy 0.7.3 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/README.md +1 -0
  2. package/ai/animated-text.md +2 -0
  3. package/ai/boat.md +1 -0
  4. package/ai/map.md +1 -0
  5. package/dist/ai/animated-text.md +2 -0
  6. package/dist/ai/boat.md +1 -0
  7. package/dist/ai/map.md +1 -0
  8. package/dist/{animated-text-Ha4oAANq.cjs → animated-text-DnFenRS1.cjs} +2 -2
  9. package/dist/{animated-text-Ha4oAANq.cjs.map → animated-text-DnFenRS1.cjs.map} +1 -1
  10. package/dist/{animated-text-BFlc2Dxw.js → animated-text-YBgWXuVJ.js} +3 -3
  11. package/dist/{animated-text-BFlc2Dxw.js.map → animated-text-YBgWXuVJ.js.map} +1 -1
  12. package/dist/animated-text.cjs +1 -1
  13. package/dist/animated-text.js +1 -1
  14. package/dist/area.cjs +1 -1
  15. package/dist/{area.component-CKsrcDRn.cjs → area.component-BojFAcRk.cjs} +2 -2
  16. package/dist/{area.component-CKsrcDRn.cjs.map → area.component-BojFAcRk.cjs.map} +1 -1
  17. package/dist/{area.component-Bka65tDs.js → area.component-C_nUxyiY.js} +3 -3
  18. package/dist/{area.component-Bka65tDs.js.map → area.component-C_nUxyiY.js.map} +1 -1
  19. package/dist/area.js +1 -1
  20. package/dist/{autocomplete-DZkEFTEZ.js → autocomplete-B-X_D8MC.js} +5 -5
  21. package/dist/{autocomplete-DZkEFTEZ.js.map → autocomplete-B-X_D8MC.js.map} +1 -1
  22. package/dist/{autocomplete-B_1GqRUR.cjs → autocomplete-B8oOdRsV.cjs} +2 -2
  23. package/dist/{autocomplete-B_1GqRUR.cjs.map → autocomplete-B8oOdRsV.cjs.map} +1 -1
  24. package/dist/autocomplete.cjs +1 -1
  25. package/dist/autocomplete.js +1 -1
  26. package/dist/{avatar-qq14bs9t.cjs → avatar-Db95uagl.cjs} +2 -2
  27. package/dist/{avatar-qq14bs9t.cjs.map → avatar-Db95uagl.cjs.map} +1 -1
  28. package/dist/{avatar-DtekXmcU.js → avatar-TpHjBCrR.js} +53 -53
  29. package/dist/{avatar-DtekXmcU.js.map → avatar-TpHjBCrR.js.map} +1 -1
  30. package/dist/badge.cjs +1 -1
  31. package/dist/badge.js +1 -1
  32. package/dist/{boat-DZoxLvZC.js → boat-B7AKN6Ge.js} +3 -3
  33. package/dist/{boat-DZoxLvZC.js.map → boat-B7AKN6Ge.js.map} +1 -1
  34. package/dist/{boat-BMkLrXTL.cjs → boat-BhAuteUk.cjs} +2 -2
  35. package/dist/{boat-BMkLrXTL.cjs.map → boat-BhAuteUk.cjs.map} +1 -1
  36. package/dist/boat.cjs +1 -1
  37. package/dist/boat.js +1 -1
  38. package/dist/busy.cjs +1 -1
  39. package/dist/busy.js +1 -1
  40. package/dist/button.cjs +1 -1
  41. package/dist/button.js +1 -1
  42. package/dist/card.cjs +1 -1
  43. package/dist/card.js +1 -1
  44. package/dist/{checkbox-CQx4HYwJ.js → checkbox-BOmazo-k.js} +14 -14
  45. package/dist/checkbox-BOmazo-k.js.map +1 -0
  46. package/dist/{checkbox-0VoZZa4h.cjs → checkbox-DMfwDgYx.cjs} +3 -3
  47. package/dist/checkbox-DMfwDgYx.cjs.map +1 -0
  48. package/dist/checkbox.cjs +1 -1
  49. package/dist/checkbox.js +1 -1
  50. package/dist/chips.cjs +1 -1
  51. package/dist/chips.js +2 -2
  52. package/dist/code-highlight.cjs +1 -1
  53. package/dist/code-highlight.js +1 -1
  54. package/dist/code-preview-CbZzYTk2.cjs +193 -0
  55. package/dist/code-preview-CbZzYTk2.cjs.map +1 -0
  56. package/dist/{code-preview-DEGx3kQB.js → code-preview-DgyY3Jlw.js} +27 -27
  57. package/dist/code-preview-DgyY3Jlw.js.map +1 -0
  58. package/dist/components.cjs +1 -1
  59. package/dist/components.js +1 -1
  60. package/dist/consume-5D1qfVWM.js.map +1 -1
  61. package/dist/consume-edta5ng5.cjs.map +1 -1
  62. package/dist/content-drawer.cjs +1 -1
  63. package/dist/content-drawer.js +1 -1
  64. package/dist/context-create-BJkkLr1D.cjs +2 -0
  65. package/dist/context-create-BJkkLr1D.cjs.map +1 -0
  66. package/dist/{context-create-DCiujzV2.js → context-create-BvxbWTgj.js} +276 -263
  67. package/dist/context-create-BvxbWTgj.js.map +1 -0
  68. package/dist/date-range-47SnbVM6.cjs +134 -0
  69. package/dist/date-range-47SnbVM6.cjs.map +1 -0
  70. package/dist/{date-range--yEeeHCf.js → date-range-BV0479CW.js} +18 -18
  71. package/dist/date-range-BV0479CW.js.map +1 -0
  72. package/dist/{date-range-inline-CIVzMnQn.js → date-range-inline-GfLao0NN.js} +3 -3
  73. package/dist/{date-range-inline-CIVzMnQn.js.map → date-range-inline-GfLao0NN.js.map} +1 -1
  74. package/dist/{date-range-inline-Dnljq_BA.cjs → date-range-inline-HNDLTnYi.cjs} +2 -2
  75. package/dist/{date-range-inline-Dnljq_BA.cjs.map → date-range-inline-HNDLTnYi.cjs.map} +1 -1
  76. package/dist/date-range-inline.cjs +1 -1
  77. package/dist/date-range-inline.js +1 -1
  78. package/dist/date-range.cjs +1 -1
  79. package/dist/date-range.js +1 -1
  80. package/dist/{delay-DwCdeYuL.js → delay-B40l99jW.js} +2 -2
  81. package/dist/delay-B40l99jW.js.map +1 -0
  82. package/dist/{delay-CACWxGqn.cjs → delay-Dr3Fr5YB.cjs} +2 -2
  83. package/dist/delay-Dr3Fr5YB.cjs.map +1 -0
  84. package/dist/delay.cjs +1 -1
  85. package/dist/delay.js +1 -1
  86. package/dist/{details-DGb0xqNr.js → details-CQPpI_la.js} +2 -2
  87. package/dist/{details-DGb0xqNr.js.map → details-CQPpI_la.js.map} +1 -1
  88. package/dist/{details-CCoS9xd8.cjs → details-DydvHvfw.cjs} +2 -2
  89. package/dist/{details-CCoS9xd8.cjs.map → details-DydvHvfw.cjs.map} +1 -1
  90. package/dist/details.cjs +1 -1
  91. package/dist/details.js +1 -1
  92. package/dist/{dialog-content-B2JVKPqi.js → dialog-content-B_amCfq7.js} +4 -4
  93. package/dist/{dialog-content-B2JVKPqi.js.map → dialog-content-B_amCfq7.js.map} +1 -1
  94. package/dist/{dialog-content-i87I9rQk.cjs → dialog-content-Emd7BLQA.cjs} +2 -2
  95. package/dist/{dialog-content-i87I9rQk.cjs.map → dialog-content-Emd7BLQA.cjs.map} +1 -1
  96. package/dist/dialog-service-B4nR8Em5.cjs +2 -0
  97. package/dist/dialog-service-B4nR8Em5.cjs.map +1 -0
  98. package/dist/dialog-service-Bege4HF4.js +140 -0
  99. package/dist/dialog-service-Bege4HF4.js.map +1 -0
  100. package/dist/dialog.cjs +1 -1
  101. package/dist/dialog.js +2 -2
  102. package/dist/{divider-CacIbNwO.cjs → divider-BF9xljgI.cjs} +2 -2
  103. package/dist/{divider-CacIbNwO.cjs.map → divider-BF9xljgI.cjs.map} +1 -1
  104. package/dist/{divider-vQSomcaK.js → divider-BHruVdsE.js} +3 -3
  105. package/dist/{divider-vQSomcaK.js.map → divider-BHruVdsE.js.map} +1 -1
  106. package/dist/divider.cjs +1 -1
  107. package/dist/divider.js +1 -1
  108. package/dist/{dropdown-content-M1rD9kJj.cjs → dropdown-content-BpJq8Q1u.cjs} +2 -2
  109. package/dist/{dropdown-content-M1rD9kJj.cjs.map → dropdown-content-BpJq8Q1u.cjs.map} +1 -1
  110. package/dist/{dropdown-content-DQWxgudU.js → dropdown-content-Bw9jnfCR.js} +3 -3
  111. package/dist/{dropdown-content-DQWxgudU.js.map → dropdown-content-Bw9jnfCR.js.map} +1 -1
  112. package/dist/dropdown.cjs +1 -1
  113. package/dist/dropdown.js +1 -1
  114. package/dist/{email-recipients-CmJzkoy6.cjs → email-recipients-Bxvu6zi9.cjs} +2 -2
  115. package/dist/{email-recipients-CmJzkoy6.cjs.map → email-recipients-Bxvu6zi9.cjs.map} +1 -1
  116. package/dist/{email-recipients-BEWJbqMn.js → email-recipients-DZGMhyg4.js} +7 -7
  117. package/dist/{email-recipients-BEWJbqMn.js.map → email-recipients-DZGMhyg4.js.map} +1 -1
  118. package/dist/extra.cjs +1 -1
  119. package/dist/extra.js +1 -1
  120. package/dist/{flex-C0ZdKa-V.js → flex-DUgMxT_9.js} +2 -2
  121. package/dist/{flex-C0ZdKa-V.js.map → flex-DUgMxT_9.js.map} +1 -1
  122. package/dist/{flex-Bjwz-HnJ.cjs → flex-DakK9gco.cjs} +2 -2
  123. package/dist/{flex-Bjwz-HnJ.cjs.map → flex-DakK9gco.cjs.map} +1 -1
  124. package/dist/flow-D0e7hGXO.cjs.map +1 -1
  125. package/dist/flow-DXYqC9OA.js.map +1 -1
  126. package/dist/{form-lqIXYGSt.cjs → form-CPmMvWvE.cjs} +2 -2
  127. package/dist/{form-lqIXYGSt.cjs.map → form-CPmMvWvE.cjs.map} +1 -1
  128. package/dist/{form-zZ9K6dHM.js → form-yZ1fh3h9.js} +2 -2
  129. package/dist/{form-zZ9K6dHM.js.map → form-yZ1fh3h9.js.map} +1 -1
  130. package/dist/form.cjs +1 -1
  131. package/dist/form.js +1 -1
  132. package/dist/{formField.mixin-DCxn2nDa.js → formField.mixin-Cmb9YpmX.js} +2 -2
  133. package/dist/{formField.mixin-DCxn2nDa.js.map → formField.mixin-Cmb9YpmX.js.map} +1 -1
  134. package/dist/{formField.mixin-d4a9NzW1.cjs → formField.mixin-D51klHq7.cjs} +2 -2
  135. package/dist/{formField.mixin-d4a9NzW1.cjs.map → formField.mixin-D51klHq7.cjs.map} +1 -1
  136. package/dist/{icon-BKURK4cc.js → icon-DHT8YsE3.js} +2 -2
  137. package/dist/{icon-BKURK4cc.js.map → icon-DHT8YsE3.js.map} +1 -1
  138. package/dist/{icon-DgMwU6Sh.cjs → icon-Dsa_BddL.cjs} +2 -2
  139. package/dist/{icon-DgMwU6Sh.cjs.map → icon-Dsa_BddL.cjs.map} +1 -1
  140. package/dist/{icon-button-BFBXcA0v.cjs → icon-button-BRcfLsJL.cjs} +2 -2
  141. package/dist/{icon-button-BFBXcA0v.cjs.map → icon-button-BRcfLsJL.cjs.map} +1 -1
  142. package/dist/{icon-button-BWGNtLD5.js → icon-button-PpRHFLCj.js} +3 -3
  143. package/dist/{icon-button-BWGNtLD5.js.map → icon-button-PpRHFLCj.js.map} +1 -1
  144. package/dist/icons.cjs +1 -1
  145. package/dist/icons.js +1 -1
  146. package/dist/index-CCi1otmh.cjs.map +1 -1
  147. package/dist/index-CW6PhEkx.js.map +1 -1
  148. package/dist/index.cjs +1 -1
  149. package/dist/index.js +54 -54
  150. package/dist/{input-SdlMv4FP.js → input-CYGSlByl.js} +4 -4
  151. package/dist/{input-SdlMv4FP.js.map → input-CYGSlByl.js.map} +1 -1
  152. package/dist/{input-DJvCQHXx.cjs → input-DB269a2X.cjs} +2 -2
  153. package/dist/{input-DJvCQHXx.cjs.map → input-DB269a2X.cjs.map} +1 -1
  154. package/dist/{input-chip-DHLxhM-i.cjs → input-chip-CKYO8Lww.cjs} +2 -2
  155. package/dist/{input-chip-DHLxhM-i.cjs.map → input-chip-CKYO8Lww.cjs.map} +1 -1
  156. package/dist/{input-chip-PI7UwDJM.js → input-chip-CTKPIRVA.js} +2 -2
  157. package/dist/{input-chip-PI7UwDJM.js.map → input-chip-CTKPIRVA.js.map} +1 -1
  158. package/dist/input.cjs +1 -1
  159. package/dist/input.js +1 -1
  160. package/dist/layout.cjs +1 -1
  161. package/dist/layout.js +1 -1
  162. package/dist/{list-4y3Bcw_L.cjs → list-BQVTFNkq.cjs} +2 -2
  163. package/dist/{list-4y3Bcw_L.cjs.map → list-BQVTFNkq.cjs.map} +1 -1
  164. package/dist/{list-BuiXWlhv.js → list-BbzeVuby.js} +2 -2
  165. package/dist/{list-BuiXWlhv.js.map → list-BbzeVuby.js.map} +1 -1
  166. package/dist/list.cjs +1 -1
  167. package/dist/list.js +1 -1
  168. package/dist/{litElement.mixin-Bx-YfcU2.js → litElement.mixin-BzbZQbxa.js} +2 -2
  169. package/dist/{litElement.mixin-Bx-YfcU2.js.map → litElement.mixin-BzbZQbxa.js.map} +1 -1
  170. package/dist/{litElement.mixin-Dtw9qaJn.cjs → litElement.mixin-DzCpXwcY.cjs} +2 -2
  171. package/dist/{litElement.mixin-Dtw9qaJn.cjs.map → litElement.mixin-DzCpXwcY.cjs.map} +1 -1
  172. package/dist/mailbox.cjs +1 -1
  173. package/dist/mailbox.js +1 -1
  174. package/dist/{map-Cfiud6nO.js → map-CgwU5Px4.js} +2 -2
  175. package/dist/{map-Cfiud6nO.js.map → map-CgwU5Px4.js.map} +1 -1
  176. package/dist/{map-BbLSj4Pp.cjs → map-DuTFI2lm.cjs} +2 -2
  177. package/dist/{map-BbLSj4Pp.cjs.map → map-DuTFI2lm.cjs.map} +1 -1
  178. package/dist/map.cjs +1 -1
  179. package/dist/map.js +1 -1
  180. package/dist/{media-DB2g1n05.js → media-BnktmFRW.js} +2 -2
  181. package/dist/{media-DB2g1n05.js.map → media-BnktmFRW.js.map} +1 -1
  182. package/dist/{media-Dy-pnYxM.cjs → media-gtpSHRFx.cjs} +2 -2
  183. package/dist/{media-Dy-pnYxM.cjs.map → media-gtpSHRFx.cjs.map} +1 -1
  184. package/dist/menu-C8PcWr7Y.cjs +26 -0
  185. package/dist/{menu-BoXnSAf7.cjs.map → menu-C8PcWr7Y.cjs.map} +1 -1
  186. package/dist/{menu-B5LqArNO.js → menu-DthqNQR7.js} +15 -13
  187. package/dist/{menu-B5LqArNO.js.map → menu-DthqNQR7.js.map} +1 -1
  188. package/dist/menu.cjs +1 -1
  189. package/dist/menu.js +1 -1
  190. package/dist/mixins.cjs +1 -1
  191. package/dist/mixins.js +3 -3
  192. package/dist/nav-drawer.cjs +1 -1
  193. package/dist/nav-drawer.js +1 -1
  194. package/dist/navigation-bar.cjs +1 -1
  195. package/dist/navigation-bar.js +1 -1
  196. package/dist/{navigation-rail-wry6dTCG.js → navigation-rail-CUMNSz0h.js} +3 -3
  197. package/dist/{navigation-rail-wry6dTCG.js.map → navigation-rail-CUMNSz0h.js.map} +1 -1
  198. package/dist/{navigation-rail-DF4-60eF.cjs → navigation-rail-D8otIR2P.cjs} +2 -2
  199. package/dist/{navigation-rail-DF4-60eF.cjs.map → navigation-rail-D8otIR2P.cjs.map} +1 -1
  200. package/dist/navigation-rail.cjs +1 -1
  201. package/dist/navigation-rail.js +1 -1
  202. package/dist/{notification-service-DqeHvJJJ.cjs → notification-service-CP6kGXVL.cjs} +2 -2
  203. package/dist/{notification-service-DqeHvJJJ.cjs.map → notification-service-CP6kGXVL.cjs.map} +1 -1
  204. package/dist/{notification-service-xmGhXVEJ.js → notification-service-E16lPsiT.js} +4 -4
  205. package/dist/{notification-service-xmGhXVEJ.js.map → notification-service-E16lPsiT.js.map} +1 -1
  206. package/dist/notification.cjs +1 -1
  207. package/dist/notification.js +2 -2
  208. package/dist/{notify-C5HEjOEP.cjs → notify-Czdp7BbG.cjs} +2 -2
  209. package/dist/{notify-C5HEjOEP.cjs.map → notify-Czdp7BbG.cjs.map} +1 -1
  210. package/dist/{notify-BR9D2TiK.js → notify-D865xIlu.js} +2 -2
  211. package/dist/{notify-BR9D2TiK.js.map → notify-D865xIlu.js.map} +1 -1
  212. package/dist/{option-DBV7IAxP.cjs → option-B1r0hb3H.cjs} +2 -2
  213. package/dist/{option-DBV7IAxP.cjs.map → option-B1r0hb3H.cjs.map} +1 -1
  214. package/dist/{option-DS1NWVVP.js → option-cJ8fM5qJ.js} +2 -2
  215. package/dist/{option-DS1NWVVP.js.map → option-cJ8fM5qJ.js.map} +1 -1
  216. package/dist/option.cjs +1 -1
  217. package/dist/option.js +1 -1
  218. package/dist/{payment-card-form-BJooohMJ.cjs → payment-card-form-EO3auDS8.cjs} +2 -2
  219. package/dist/payment-card-form-EO3auDS8.cjs.map +1 -0
  220. package/dist/{payment-card-form-BpDjIGpf.js → payment-card-form-RBjpMc2m.js} +3 -3
  221. package/dist/payment-card-form-RBjpMc2m.js.map +1 -0
  222. package/dist/{progress-DWtRzL3_.js → progress-4v9FzvOT.js} +2 -2
  223. package/dist/{progress-DWtRzL3_.js.map → progress-4v9FzvOT.js.map} +1 -1
  224. package/dist/{progress-DKBw83JW.cjs → progress-DnhvJMz_.cjs} +2 -2
  225. package/dist/{progress-DKBw83JW.cjs.map → progress-DnhvJMz_.cjs.map} +1 -1
  226. package/dist/progress.cjs +1 -1
  227. package/dist/progress.js +1 -1
  228. package/dist/provide-BxZ2kn_p.cjs.map +1 -1
  229. package/dist/provide-tcktw8xB.js.map +1 -1
  230. package/dist/{radio-button-BxN-7CRZ.cjs → radio-button-BVegeFKE.cjs} +2 -2
  231. package/dist/{radio-button-BxN-7CRZ.cjs.map → radio-button-BVegeFKE.cjs.map} +1 -1
  232. package/dist/{radio-button-Uv2rHJG4.js → radio-button-DDavzgCz.js} +3 -3
  233. package/dist/{radio-button-Uv2rHJG4.js.map → radio-button-DDavzgCz.js.map} +1 -1
  234. package/dist/radio-group.cjs +1 -1
  235. package/dist/radio-group.js +1 -1
  236. package/dist/{schmancy-steps-container-BM10FUOA.js → schmancy-steps-container-DN9c-HeX.js} +2 -2
  237. package/dist/{schmancy-steps-container-BM10FUOA.js.map → schmancy-steps-container-DN9c-HeX.js.map} +1 -1
  238. package/dist/{schmancy-steps-container-Bc1d-op6.cjs → schmancy-steps-container-s6kZWhcr.cjs} +2 -2
  239. package/dist/{schmancy-steps-container-Bc1d-op6.cjs.map → schmancy-steps-container-s6kZWhcr.cjs.map} +1 -1
  240. package/dist/{search-6Hr7K1gh.js → search-BeEqIiuO.js} +7 -7
  241. package/dist/{search-6Hr7K1gh.js.map → search-BeEqIiuO.js.map} +1 -1
  242. package/dist/search-bfOHCuHZ.cjs +2 -0
  243. package/dist/{search-DWW8IoOp.cjs.map → search-bfOHCuHZ.cjs.map} +1 -1
  244. package/dist/{select-DR4yXzR0.js → select--D6l5ru7.js} +3 -3
  245. package/dist/{select-DR4yXzR0.js.map → select--D6l5ru7.js.map} +1 -1
  246. package/dist/{select-CfZPs5yA.cjs → select-DVT_kFNR.cjs} +2 -2
  247. package/dist/{select-CfZPs5yA.cjs.map → select-DVT_kFNR.cjs.map} +1 -1
  248. package/dist/select.cjs +1 -1
  249. package/dist/select.js +1 -1
  250. package/dist/{selector-hook-BWMY8npH.cjs → selector-hook-BG6g_IEN.cjs} +2 -2
  251. package/dist/{selector-hook-BWMY8npH.cjs.map → selector-hook-BG6g_IEN.cjs.map} +1 -1
  252. package/dist/{selector-hook-CKeyK4K-.js → selector-hook-CrwQCPxL.js} +4 -4
  253. package/dist/{selector-hook-CKeyK4K-.js.map → selector-hook-CrwQCPxL.js.map} +1 -1
  254. package/dist/{sheet-Dtj0_7Kk.cjs → sheet-Bza5jVS2.cjs} +2 -2
  255. package/dist/{sheet-Dtj0_7Kk.cjs.map → sheet-Bza5jVS2.cjs.map} +1 -1
  256. package/dist/{sheet-D5cujyVW.js → sheet-CNn_huhz.js} +5 -5
  257. package/dist/{sheet-D5cujyVW.js.map → sheet-CNn_huhz.js.map} +1 -1
  258. package/dist/sheet.cjs +1 -1
  259. package/dist/sheet.js +2 -2
  260. package/dist/{sheet.service-AsrLLW-7.cjs → sheet.service--zUgftN3.cjs} +2 -2
  261. package/dist/{sheet.service-AsrLLW-7.cjs.map → sheet.service--zUgftN3.cjs.map} +1 -1
  262. package/dist/{sheet.service-M8PMUUgc.js → sheet.service-CmNDL4f6.js} +2 -2
  263. package/dist/{sheet.service-M8PMUUgc.js.map → sheet.service-CmNDL4f6.js.map} +1 -1
  264. package/dist/{slider-B4GUyZqU.cjs → slider-Cf0pED-U.cjs} +2 -2
  265. package/dist/{slider-B4GUyZqU.cjs.map → slider-Cf0pED-U.cjs.map} +1 -1
  266. package/dist/{slider-C6LcofBD.js → slider-DPxBmmFD.js} +3 -3
  267. package/dist/{slider-C6LcofBD.js.map → slider-DPxBmmFD.js.map} +1 -1
  268. package/dist/slider.cjs +1 -1
  269. package/dist/slider.js +1 -1
  270. package/dist/{spinner-BHnxNdlk.cjs → spinner-BDSDxr_W.cjs} +2 -2
  271. package/dist/{spinner-BHnxNdlk.cjs.map → spinner-BDSDxr_W.cjs.map} +1 -1
  272. package/dist/{spinner-CcRNBMvJ.js → spinner-Dyz6HBFa.js} +2 -2
  273. package/dist/{spinner-CcRNBMvJ.js.map → spinner-Dyz6HBFa.js.map} +1 -1
  274. package/dist/steps.cjs +1 -1
  275. package/dist/steps.js +1 -1
  276. package/dist/store.cjs +1 -1
  277. package/dist/store.js +2 -2
  278. package/dist/{suggestion-chip-BdSNOe03.cjs → suggestion-chip-B7COqb4l.cjs} +2 -2
  279. package/dist/{suggestion-chip-BdSNOe03.cjs.map → suggestion-chip-B7COqb4l.cjs.map} +1 -1
  280. package/dist/{suggestion-chip-DVScnCxJ.js → suggestion-chip-CCW8g_3S.js} +3 -3
  281. package/dist/{suggestion-chip-DVScnCxJ.js.map → suggestion-chip-CCW8g_3S.js.map} +1 -1
  282. package/dist/{surface-xeatGhRa.js → surface-B4CxtF38.js} +2 -2
  283. package/dist/{surface-xeatGhRa.js.map → surface-B4CxtF38.js.map} +1 -1
  284. package/dist/{surface-CxTEeZl9.cjs → surface-CkzbeSYN.cjs} +2 -2
  285. package/dist/{surface-CxTEeZl9.cjs.map → surface-CkzbeSYN.cjs.map} +1 -1
  286. package/dist/surface.cjs +1 -1
  287. package/dist/surface.js +1 -1
  288. package/dist/table-D-g4ZBys.cjs +63 -0
  289. package/dist/table-D-g4ZBys.cjs.map +1 -0
  290. package/dist/{table-CoztXQq4.js → table-KPNVMJtn.js} +8 -8
  291. package/dist/table-KPNVMJtn.js.map +1 -0
  292. package/dist/table.cjs +1 -1
  293. package/dist/table.js +1 -1
  294. package/dist/{tabs-compatibility-BO5a2_1S.cjs → tabs-compatibility-sMoQP12I.cjs} +2 -2
  295. package/dist/{tabs-compatibility-BO5a2_1S.cjs.map → tabs-compatibility-sMoQP12I.cjs.map} +1 -1
  296. package/dist/{tabs-compatibility-DVO94tDv.js → tabs-compatibility-xUK4vD1M.js} +2 -2
  297. package/dist/{tabs-compatibility-DVO94tDv.js.map → tabs-compatibility-xUK4vD1M.js.map} +1 -1
  298. package/dist/tabs.cjs +1 -1
  299. package/dist/tabs.js +1 -1
  300. package/dist/tailwind.mixin-scDxsqaX.cjs +2 -0
  301. package/dist/{tailwind.mixin-7Zryjmgw.cjs.map → tailwind.mixin-scDxsqaX.cjs.map} +1 -1
  302. package/dist/tailwind.mixin-xIIxrXd8.js +67 -0
  303. package/dist/{tailwind.mixin-DqSYbdpb.js.map → tailwind.mixin-xIIxrXd8.js.map} +1 -1
  304. package/dist/teleport.cjs +1 -1
  305. package/dist/teleport.js +1 -1
  306. package/dist/{textarea-BYryibzf.cjs → textarea-BSBYVs99.cjs} +2 -2
  307. package/dist/{textarea-BYryibzf.cjs.map → textarea-BSBYVs99.cjs.map} +1 -1
  308. package/dist/{textarea-BAvMG2X9.js → textarea-CFrirT5y.js} +2 -2
  309. package/dist/{textarea-BAvMG2X9.js.map → textarea-CFrirT5y.js.map} +1 -1
  310. package/dist/textarea.cjs +1 -1
  311. package/dist/textarea.js +1 -1
  312. package/dist/{theme-button-U_pvbRUN.cjs → theme-button-B8Xqrz1M.cjs} +2 -2
  313. package/dist/{theme-button-U_pvbRUN.cjs.map → theme-button-B8Xqrz1M.cjs.map} +1 -1
  314. package/dist/{theme-button-xscoLGo8.js → theme-button-D-LTPh88.js} +2 -2
  315. package/dist/{theme-button-xscoLGo8.js.map → theme-button-D-LTPh88.js.map} +1 -1
  316. package/dist/theme-button.cjs +1 -1
  317. package/dist/theme-button.js +1 -1
  318. package/dist/{theme-controller-boat-CBRV8Lxv.js → theme-controller-boat-BOddzVdU.js} +20 -20
  319. package/dist/theme-controller-boat-BOddzVdU.js.map +1 -0
  320. package/dist/theme-controller-boat-C2F-qRyu.cjs +64 -0
  321. package/dist/theme-controller-boat-C2F-qRyu.cjs.map +1 -0
  322. package/dist/theme.cjs +1 -1
  323. package/dist/theme.js +1 -1
  324. package/dist/{timezone-0VQbGKGw.js → timezone-BvOWa9Nt.js} +3 -3
  325. package/dist/{timezone-0VQbGKGw.js.map → timezone-BvOWa9Nt.js.map} +1 -1
  326. package/dist/{timezone-BY79gIHy.cjs → timezone-xHmnktrm.cjs} +2 -2
  327. package/dist/{timezone-BY79gIHy.cjs.map → timezone-xHmnktrm.cjs.map} +1 -1
  328. package/dist/{tooltip-CZ2GERET.cjs → tooltip-D24v5bvM.cjs} +2 -2
  329. package/dist/{tooltip-CZ2GERET.cjs.map → tooltip-D24v5bvM.cjs.map} +1 -1
  330. package/dist/{tooltip-DQvySABb.js → tooltip-D3ZZJEAk.js} +4 -4
  331. package/dist/{tooltip-DQvySABb.js.map → tooltip-D3ZZJEAk.js.map} +1 -1
  332. package/dist/tooltip.cjs +1 -1
  333. package/dist/tooltip.js +1 -1
  334. package/dist/{tree-Don7mV2c.js → tree-CfVyhRIH.js} +2 -2
  335. package/dist/{tree-Don7mV2c.js.map → tree-CfVyhRIH.js.map} +1 -1
  336. package/dist/{tree-B-WLxCyF.cjs → tree-DC_jbDRu.cjs} +2 -2
  337. package/dist/{tree-B-WLxCyF.cjs.map → tree-DC_jbDRu.cjs.map} +1 -1
  338. package/dist/tree.cjs +1 -1
  339. package/dist/tree.js +1 -1
  340. package/dist/tslib.es6-DgOcxv4s.cjs.map +1 -1
  341. package/dist/tslib.es6-ujVQHAQ4.js.map +1 -1
  342. package/dist/{typewriter-mw2viHm5.js → typewriter-By-3T0Jm.js} +8 -8
  343. package/dist/typewriter-By-3T0Jm.js.map +1 -0
  344. package/dist/typewriter-vit0P1N1.cjs +9 -0
  345. package/dist/typewriter-vit0P1N1.cjs.map +1 -0
  346. package/dist/typewriter.cjs +1 -1
  347. package/dist/typewriter.js +1 -1
  348. package/dist/{typography-Cqnp2hjE.cjs → typography-9lVCjAbj.cjs} +2 -2
  349. package/dist/{typography-Cqnp2hjE.cjs.map → typography-9lVCjAbj.cjs.map} +1 -1
  350. package/dist/{typography-BW88WILG.js → typography-B7kvO8iJ.js} +2 -2
  351. package/dist/{typography-BW88WILG.js.map → typography-B7kvO8iJ.js.map} +1 -1
  352. package/dist/typography.cjs +1 -1
  353. package/dist/typography.js +1 -1
  354. package/dist/utils.cjs +1 -1
  355. package/dist/utils.js +1 -1
  356. package/package.json +1 -1
  357. package/dist/checkbox-0VoZZa4h.cjs.map +0 -1
  358. package/dist/checkbox-CQx4HYwJ.js.map +0 -1
  359. package/dist/code-preview-DEGx3kQB.js.map +0 -1
  360. package/dist/code-preview-Dl_M5GR8.cjs +0 -193
  361. package/dist/code-preview-Dl_M5GR8.cjs.map +0 -1
  362. package/dist/context-create-CA907mdD.cjs +0 -2
  363. package/dist/context-create-CA907mdD.cjs.map +0 -1
  364. package/dist/context-create-DCiujzV2.js.map +0 -1
  365. package/dist/date-range--yEeeHCf.js.map +0 -1
  366. package/dist/date-range-CvTDLehP.cjs +0 -134
  367. package/dist/date-range-CvTDLehP.cjs.map +0 -1
  368. package/dist/delay-CACWxGqn.cjs.map +0 -1
  369. package/dist/delay-DwCdeYuL.js.map +0 -1
  370. package/dist/dialog-service-Bdaxn2t0.cjs +0 -2
  371. package/dist/dialog-service-Bdaxn2t0.cjs.map +0 -1
  372. package/dist/dialog-service-CyQzm5qE.js +0 -147
  373. package/dist/dialog-service-CyQzm5qE.js.map +0 -1
  374. package/dist/menu-BoXnSAf7.cjs +0 -24
  375. package/dist/payment-card-form-BJooohMJ.cjs.map +0 -1
  376. package/dist/payment-card-form-BpDjIGpf.js.map +0 -1
  377. package/dist/search-DWW8IoOp.cjs +0 -2
  378. package/dist/table-BDoBA49H.cjs +0 -63
  379. package/dist/table-BDoBA49H.cjs.map +0 -1
  380. package/dist/table-CoztXQq4.js.map +0 -1
  381. package/dist/tailwind.mixin-7Zryjmgw.cjs +0 -2
  382. package/dist/tailwind.mixin-DqSYbdpb.js +0 -67
  383. package/dist/theme-controller-boat-CBRV8Lxv.js.map +0 -1
  384. package/dist/theme-controller-boat-Cu_42DVG.cjs +0 -64
  385. package/dist/theme-controller-boat-Cu_42DVG.cjs.map +0 -1
  386. package/dist/typewriter-DxBpGHo6.cjs +0 -9
  387. package/dist/typewriter-DxBpGHo6.cjs.map +0 -1
  388. package/dist/typewriter-mw2viHm5.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"textarea-BYryibzf.cjs","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n\n/**\n * Textarea component with auto-resize and form integration.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} value - Current value of the textarea\n * @prop {string} placeholder - Placeholder text\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} disabled - Whether the field is disabled\n * @prop {boolean} readonly - Whether the field is read-only\n * @prop {number} rows - Number of visible text rows\n * @prop {number} maxlength - Maximum character length\n */\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\ttextareaRef = createRef<HTMLTextAreaElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Makes the textarea fill the height of its container.\n\t * @attr fillHeight\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) fillHeight = false\n\n\t/**\n\t * Automatically adjusts height based on content.\n\t * @attr autoHeight\n\t * @type {boolean}\n\t * @default true\n\t * @public\n\t */\n\t@property({ type: Boolean }) autoHeight = true\n\n\t/**\n\t * Controls whether the textarea can be resized by the user.\n\t * @attr resize\n\t * @type {'none' | 'vertical' | 'horizontal' | 'both'}\n\t * @default 'vertical'\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical'\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tif (this.autoHeight) {\n\t\t\t// Initial adjustment for pre-filled content\n\t\t\tsetTimeout(() => this.adjustHeight(), 0)\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.textareaRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\t// Only grow, never shrink\n\t\t\tconst currentHeight = textarea.offsetHeight\n\t\t\tconst scrollHeight = textarea.scrollHeight\n\t\t\tif (scrollHeight > currentHeight) {\n\t\t\t\ttextarea.style.height = scrollHeight + 'px'\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'h-full': this.fillHeight,\n\t\t\t'resize-none': this.resize === 'none',\n\t\t\t'resize-y': this.resize === 'vertical',\n\t\t\t'resize-x': this.resize === 'horizontal',\n\t\t\t'resize': this.resize === 'both',\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\tconst containerClasses = {\n\t\t\t'flex flex-col h-full': this.fillHeight,\n\t\t}\n\t\treturn html`\n\t\t<div class=\"${this.classMap(containerClasses)}\">\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<schmancy-typography type=\"body\" token=\"lg\" class=\"${this.fillHeight ? 'flex-grow flex flex-col' : ''}\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t</div>\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","fillHeight","autoHeight","resize","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","firstUpdated","autofocus","focus","setTimeout","adjustHeight","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","currentHeight","offsetHeight","scrollHeight","style","height","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","containerClasses","html","classMap","when","color","SchmancyTheme","sys","default","primary","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"textarea-BSBYVs99.cjs","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n\n/**\n * Textarea component with auto-resize and form integration.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} value - Current value of the textarea\n * @prop {string} placeholder - Placeholder text\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} disabled - Whether the field is disabled\n * @prop {boolean} readonly - Whether the field is read-only\n * @prop {number} rows - Number of visible text rows\n * @prop {number} maxlength - Maximum character length\n */\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\ttextareaRef = createRef<HTMLTextAreaElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Makes the textarea fill the height of its container.\n\t * @attr fillHeight\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) fillHeight = false\n\n\t/**\n\t * Automatically adjusts height based on content.\n\t * @attr autoHeight\n\t * @type {boolean}\n\t * @default true\n\t * @public\n\t */\n\t@property({ type: Boolean }) autoHeight = true\n\n\t/**\n\t * Controls whether the textarea can be resized by the user.\n\t * @attr resize\n\t * @type {'none' | 'vertical' | 'horizontal' | 'both'}\n\t * @default 'vertical'\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical'\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tif (this.autoHeight) {\n\t\t\t// Initial adjustment for pre-filled content\n\t\t\tsetTimeout(() => this.adjustHeight(), 0)\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.textareaRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\t// Only grow, never shrink\n\t\t\tconst currentHeight = textarea.offsetHeight\n\t\t\tconst scrollHeight = textarea.scrollHeight\n\t\t\tif (scrollHeight > currentHeight) {\n\t\t\t\ttextarea.style.height = scrollHeight + 'px'\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'h-full': this.fillHeight,\n\t\t\t'resize-none': this.resize === 'none',\n\t\t\t'resize-y': this.resize === 'vertical',\n\t\t\t'resize-x': this.resize === 'horizontal',\n\t\t\t'resize': this.resize === 'both',\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\tconst containerClasses = {\n\t\t\t'flex flex-col h-full': this.fillHeight,\n\t\t}\n\t\treturn html`\n\t\t<div class=\"${this.classMap(containerClasses)}\">\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<schmancy-typography type=\"body\" token=\"lg\" class=\"${this.fillHeight ? 'flex-grow flex flex-col' : ''}\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t</div>\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","fillHeight","autoHeight","resize","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","firstUpdated","autofocus","focus","setTimeout","adjustHeight","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","currentHeight","offsetHeight","scrollHeight","style","height","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","containerClasses","html","classMap","when","color","SchmancyTheme","sys","default","primary","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
@@ -10,7 +10,7 @@ import { fromEvent as y, map as f, distinctUntilChanged as m, filter as E } from
10
10
  import "rxjs/operators";
11
11
  import "lit/directives/class-map.js";
12
12
  import "lit/directives/style-map.js";
13
- import { T as R } from "./tailwind.mixin-DqSYbdpb.js";
13
+ import { T as R } from "./tailwind.mixin-xIIxrXd8.js";
14
14
  var k = Object.defineProperty, H = Object.getOwnPropertyDescriptor, i = (t, s, a, h) => {
15
15
  for (var p, o = h > 1 ? void 0 : h ? H(s, a) : s, c = t.length - 1; c >= 0; c--) (p = t[c]) && (o = (h ? p(s, a, o) : p(o)) || o);
16
16
  return h && o && k(s, a, o), o;
@@ -130,4 +130,4 @@ let e = class extends R(":host{border:unset!important;line-height:unset!importan
130
130
  }
131
131
  };
132
132
  e.shadowRootOptions = { ...x.shadowRootOptions, delegatesFocus: !0 }, e.formAssociated = !0, i([r()], e.prototype, "label", 2), i([r()], e.prototype, "name", 2), i([r()], e.prototype, "placeholder", 2), i([r({ type: String, reflect: !0 })], e.prototype, "value", 2), i([r({ type: Number })], e.prototype, "minlength", 2), i([r({ type: Number })], e.prototype, "maxlength", 2), i([r({ type: Number })], e.prototype, "cols", 2), i([r({ type: Number })], e.prototype, "rows", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "fillHeight", 2), i([r({ type: Boolean })], e.prototype, "autoHeight", 2), i([r({ type: String, reflect: !0 })], e.prototype, "resize", 2), i([r({ type: String })], e.prototype, "wrap", 2), i([r({ type: String })], e.prototype, "dirname", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "required", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "disabled", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "readonly", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "spellcheck", 2), i([r({ type: String, reflect: !0 })], e.prototype, "align", 2), i([r({ type: Boolean })], e.prototype, "autofocus", 2), i([r({ type: Number })], e.prototype, "tabIndex", 2), i([b("textarea")], e.prototype, "textareaElement", 2), i([r()], e.prototype, "hint", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "error", 2), e = i([v("schmancy-textarea")], e);
133
- //# sourceMappingURL=textarea-BAvMG2X9.js.map
133
+ //# sourceMappingURL=textarea-CFrirT5y.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea-BAvMG2X9.js","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n\n/**\n * Textarea component with auto-resize and form integration.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} value - Current value of the textarea\n * @prop {string} placeholder - Placeholder text\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} disabled - Whether the field is disabled\n * @prop {boolean} readonly - Whether the field is read-only\n * @prop {number} rows - Number of visible text rows\n * @prop {number} maxlength - Maximum character length\n */\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\ttextareaRef = createRef<HTMLTextAreaElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Makes the textarea fill the height of its container.\n\t * @attr fillHeight\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) fillHeight = false\n\n\t/**\n\t * Automatically adjusts height based on content.\n\t * @attr autoHeight\n\t * @type {boolean}\n\t * @default true\n\t * @public\n\t */\n\t@property({ type: Boolean }) autoHeight = true\n\n\t/**\n\t * Controls whether the textarea can be resized by the user.\n\t * @attr resize\n\t * @type {'none' | 'vertical' | 'horizontal' | 'both'}\n\t * @default 'vertical'\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical'\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tif (this.autoHeight) {\n\t\t\t// Initial adjustment for pre-filled content\n\t\t\tsetTimeout(() => this.adjustHeight(), 0)\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.textareaRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\t// Only grow, never shrink\n\t\t\tconst currentHeight = textarea.offsetHeight\n\t\t\tconst scrollHeight = textarea.scrollHeight\n\t\t\tif (scrollHeight > currentHeight) {\n\t\t\t\ttextarea.style.height = scrollHeight + 'px'\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'h-full': this.fillHeight,\n\t\t\t'resize-none': this.resize === 'none',\n\t\t\t'resize-y': this.resize === 'vertical',\n\t\t\t'resize-x': this.resize === 'horizontal',\n\t\t\t'resize': this.resize === 'both',\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\tconst containerClasses = {\n\t\t\t'flex flex-col h-full': this.fillHeight,\n\t\t}\n\t\treturn html`\n\t\t<div class=\"${this.classMap(containerClasses)}\">\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<schmancy-typography type=\"body\" token=\"lg\" class=\"${this.fillHeight ? 'flex-grow flex flex-col' : ''}\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t</div>\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","fillHeight","autoHeight","resize","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","firstUpdated","autofocus","focus","setTimeout","adjustHeight","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","currentHeight","offsetHeight","scrollHeight","style","height","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","containerClasses","html","classMap","when","color","SchmancyTheme","sys","default","primary","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"textarea-CFrirT5y.js","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n\n/**\n * Textarea component with auto-resize and form integration.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} value - Current value of the textarea\n * @prop {string} placeholder - Placeholder text\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} disabled - Whether the field is disabled\n * @prop {boolean} readonly - Whether the field is read-only\n * @prop {number} rows - Number of visible text rows\n * @prop {number} maxlength - Maximum character length\n */\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\ttextareaRef = createRef<HTMLTextAreaElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Makes the textarea fill the height of its container.\n\t * @attr fillHeight\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) fillHeight = false\n\n\t/**\n\t * Automatically adjusts height based on content.\n\t * @attr autoHeight\n\t * @type {boolean}\n\t * @default true\n\t * @public\n\t */\n\t@property({ type: Boolean }) autoHeight = true\n\n\t/**\n\t * Controls whether the textarea can be resized by the user.\n\t * @attr resize\n\t * @type {'none' | 'vertical' | 'horizontal' | 'both'}\n\t * @default 'vertical'\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical'\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tif (this.autoHeight) {\n\t\t\t// Initial adjustment for pre-filled content\n\t\t\tsetTimeout(() => this.adjustHeight(), 0)\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tif (this.autoHeight) {\n\t\t\t\t\tthis.adjustHeight()\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.textareaRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\t// Only grow, never shrink\n\t\t\tconst currentHeight = textarea.offsetHeight\n\t\t\tconst scrollHeight = textarea.scrollHeight\n\t\t\tif (scrollHeight > currentHeight) {\n\t\t\t\ttextarea.style.height = scrollHeight + 'px'\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'h-full': this.fillHeight,\n\t\t\t'resize-none': this.resize === 'none',\n\t\t\t'resize-y': this.resize === 'vertical',\n\t\t\t'resize-x': this.resize === 'horizontal',\n\t\t\t'resize': this.resize === 'both',\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\tconst containerClasses = {\n\t\t\t'flex flex-col h-full': this.fillHeight,\n\t\t}\n\t\treturn html`\n\t\t<div class=\"${this.classMap(containerClasses)}\">\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<schmancy-typography type=\"body\" token=\"lg\" class=\"${this.fillHeight ? 'flex-grow flex flex-col' : ''}\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t</div>\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","fillHeight","autoHeight","resize","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","firstUpdated","autofocus","focus","setTimeout","adjustHeight","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","currentHeight","offsetHeight","scrollHeight","style","height","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","containerClasses","html","classMap","when","color","SchmancyTheme","sys","default","primary","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
package/dist/textarea.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./textarea-BYryibzf.cjs");
1
+ "use strict";require("./textarea-BSBYVs99.cjs");
2
2
  //# sourceMappingURL=textarea.cjs.map
package/dist/textarea.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./textarea-BAvMG2X9.js";
1
+ import "./textarea-CFrirT5y.js";
2
2
  //# sourceMappingURL=textarea.js.map
@@ -1,4 +1,4 @@
1
- "use strict";require("rxjs"),require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const s=require("lit/decorators.js"),l=require("./tailwind.mixin-7Zryjmgw.cjs"),m=require("lit");var d=Object.defineProperty,h=Object.getOwnPropertyDescriptor,a=(u,r,c,t)=>{for(var o,e=t>1?void 0:t?h(r,c):r,n=u.length-1;n>=0;n--)(o=u[n])&&(e=(t?o(r,c,e):o(e))||e);return t&&e&&d(r,c,e),e};let i=class extends l.TailwindElement(){render(){return m.html`
1
+ "use strict";require("rxjs"),require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const s=require("lit/decorators.js"),l=require("./tailwind.mixin-scDxsqaX.cjs"),m=require("lit");var d=Object.defineProperty,h=Object.getOwnPropertyDescriptor,a=(u,r,c,t)=>{for(var o,e=t>1?void 0:t?h(r,c):r,n=u.length-1;n>=0;n--)(o=u[n])&&(e=(t?o(r,c,e):o(e))||e);return t&&e&&d(r,c,e),e};let i=class extends l.TailwindElement(){render(){return m.html`
2
2
  <schmancy-button
3
3
  @click=${()=>{this.color.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:300})}}
4
4
  variant="text"
@@ -6,4 +6,4 @@
6
6
  <schmancy-icon id="color">palette</schmancy-icon>
7
7
  </schmancy-button>
8
8
  `}};a([s.query("#color")],i.prototype,"color",2),i=a([s.customElement("schmancy-theme-button")],i);
9
- //# sourceMappingURL=theme-button-U_pvbRUN.cjs.map
9
+ //# sourceMappingURL=theme-button-B8Xqrz1M.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-button-U_pvbRUN.cjs","sources":["../src/theme-button/theme-button.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\n@customElement('schmancy-theme-button')\nexport default class SchmancyThemeButton extends TailwindElement() {\n\t@query('#color') color!: HTMLElement\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-button\n\t\t\t\t@click=${() => {\n\t\t\t\t\t// Trigger any other effects you have\n\t\t\t\t\t// $newSchmancyTheme.next(undefined)\n\n\t\t\t\t\t// Native Web Animations API usage:\n\t\t\t\t\tthis.color.animate([{ transform: 'rotate(0deg)' }, { transform: 'rotate(360deg)' }], {\n\t\t\t\t\t\tduration: 300,\n\t\t\t\t\t\t// fill: 'forwards', // Use if you want it to remain rotated at 360°\n\t\t\t\t\t\t// easing: 'ease-out', // Or another easing function\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t\tvariant=\"text\"\n\t\t\t>\n\t\t\t\t<schmancy-icon id=\"color\">palette</schmancy-icon>\n\t\t\t</schmancy-button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-theme-button': SchmancyThemeButton\n\t}\n}\n"],"names":["SchmancyThemeButton","TailwindElement","render","html","this","color","animate","transform","duration","__decorateClass","query","prototype","customElement"],"mappings":"saAKA,IAAqBA,EAArB,cAAiDC,EAAAA,gBAAAA,CAAAA,CAGtC,QAAAC,CACT,OAAOC,EAAAA;AAAAA;AAAAA,aAEI,IAAA,CAKRC,KAAKC,MAAMC,QAAQ,CAAC,CAAEC,UAAW,cAAA,EAAkB,CAAEA,UAAW,gBAAA,CAAA,EAAqB,CACpFC,SAAU,GAAA,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUf,CAAA,EArBiBC,EAAA,CAAhBC,EAAAA,MAAM,WADaV,EACHW,UAAA,QAAA,CAAA,EADGX,EAArBS,EAAA,CADCG,EAAAA,cAAc,uBAAA,CAAA,EACMZ,CAAAA"}
1
+ {"version":3,"file":"theme-button-B8Xqrz1M.cjs","sources":["../src/theme-button/theme-button.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\n@customElement('schmancy-theme-button')\nexport default class SchmancyThemeButton extends TailwindElement() {\n\t@query('#color') color!: HTMLElement\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-button\n\t\t\t\t@click=${() => {\n\t\t\t\t\t// Trigger any other effects you have\n\t\t\t\t\t// $newSchmancyTheme.next(undefined)\n\n\t\t\t\t\t// Native Web Animations API usage:\n\t\t\t\t\tthis.color.animate([{ transform: 'rotate(0deg)' }, { transform: 'rotate(360deg)' }], {\n\t\t\t\t\t\tduration: 300,\n\t\t\t\t\t\t// fill: 'forwards', // Use if you want it to remain rotated at 360°\n\t\t\t\t\t\t// easing: 'ease-out', // Or another easing function\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t\tvariant=\"text\"\n\t\t\t>\n\t\t\t\t<schmancy-icon id=\"color\">palette</schmancy-icon>\n\t\t\t</schmancy-button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-theme-button': SchmancyThemeButton\n\t}\n}\n"],"names":["SchmancyThemeButton","TailwindElement","render","html","this","color","animate","transform","duration","__decorateClass","query","prototype","customElement"],"mappings":"saAKA,IAAqBA,EAArB,cAAiDC,EAAAA,gBAAAA,CAAAA,CAGtC,QAAAC,CACT,OAAOC,EAAAA;AAAAA;AAAAA,aAEI,IAAA,CAKRC,KAAKC,MAAMC,QAAQ,CAAC,CAAEC,UAAW,cAAA,EAAkB,CAAEA,UAAW,gBAAA,CAAA,EAAqB,CACpFC,SAAU,GAAA,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUf,CAAA,EArBiBC,EAAA,CAAhBC,EAAAA,MAAM,WADaV,EACHW,UAAA,QAAA,CAAA,EADGX,EAArBS,EAAA,CADCG,EAAAA,cAAc,uBAAA,CAAA,EACMZ,CAAAA"}
@@ -3,7 +3,7 @@ import "rxjs/operators";
3
3
  import "lit/directives/class-map.js";
4
4
  import "lit/directives/style-map.js";
5
5
  import { query as i, customElement as p } from "lit/decorators.js";
6
- import { T as l } from "./tailwind.mixin-DqSYbdpb.js";
6
+ import { T as l } from "./tailwind.mixin-xIIxrXd8.js";
7
7
  import { html as h } from "lit";
8
8
  var y = Object.defineProperty, d = Object.getOwnPropertyDescriptor, a = (s, r, e, o) => {
9
9
  for (var n, t = o > 1 ? void 0 : o ? d(r, e) : r, c = s.length - 1; c >= 0; c--) (n = s[c]) && (t = (o ? n(r, e, t) : n(t)) || t);
@@ -24,4 +24,4 @@ let m = class extends l() {
24
24
  }
25
25
  };
26
26
  a([i("#color")], m.prototype, "color", 2), m = a([p("schmancy-theme-button")], m);
27
- //# sourceMappingURL=theme-button-xscoLGo8.js.map
27
+ //# sourceMappingURL=theme-button-D-LTPh88.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-button-xscoLGo8.js","sources":["../src/theme-button/theme-button.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\n@customElement('schmancy-theme-button')\nexport default class SchmancyThemeButton extends TailwindElement() {\n\t@query('#color') color!: HTMLElement\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-button\n\t\t\t\t@click=${() => {\n\t\t\t\t\t// Trigger any other effects you have\n\t\t\t\t\t// $newSchmancyTheme.next(undefined)\n\n\t\t\t\t\t// Native Web Animations API usage:\n\t\t\t\t\tthis.color.animate([{ transform: 'rotate(0deg)' }, { transform: 'rotate(360deg)' }], {\n\t\t\t\t\t\tduration: 300,\n\t\t\t\t\t\t// fill: 'forwards', // Use if you want it to remain rotated at 360°\n\t\t\t\t\t\t// easing: 'ease-out', // Or another easing function\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t\tvariant=\"text\"\n\t\t\t>\n\t\t\t\t<schmancy-icon id=\"color\">palette</schmancy-icon>\n\t\t\t</schmancy-button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-theme-button': SchmancyThemeButton\n\t}\n}\n"],"names":["SchmancyThemeButton","TailwindElement","render","html","this","color","animate","transform","duration","__decorateClass","query","prototype","customElement"],"mappings":";;;;;;;;;;;AAKA,IAAqBA,IAArB,cAAiDC,EAAAA,EAAAA;AAAAA,EAGtC,SAAAC;AACT,WAAOC;AAAAA;AAAAA,aAEI,MAAA;AAKRC,WAAKC,MAAMC,QAAQ,CAAC,EAAEC,WAAW,eAAA,GAAkB,EAAEA,WAAW,iBAAA,CAAA,GAAqB,EACpFC,UAAU,IAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUf;AAAA;AArBiBC,EAAA,CAAhBC,EAAM,QAAA,CAAA,GADaV,EACHW,WAAA,SAAA,CAAA,GADGX,IAArBS,EAAA,CADCG,EAAc,uBAAA,CAAA,GACMZ,CAAAA;"}
1
+ {"version":3,"file":"theme-button-D-LTPh88.js","sources":["../src/theme-button/theme-button.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\n@customElement('schmancy-theme-button')\nexport default class SchmancyThemeButton extends TailwindElement() {\n\t@query('#color') color!: HTMLElement\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-button\n\t\t\t\t@click=${() => {\n\t\t\t\t\t// Trigger any other effects you have\n\t\t\t\t\t// $newSchmancyTheme.next(undefined)\n\n\t\t\t\t\t// Native Web Animations API usage:\n\t\t\t\t\tthis.color.animate([{ transform: 'rotate(0deg)' }, { transform: 'rotate(360deg)' }], {\n\t\t\t\t\t\tduration: 300,\n\t\t\t\t\t\t// fill: 'forwards', // Use if you want it to remain rotated at 360°\n\t\t\t\t\t\t// easing: 'ease-out', // Or another easing function\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t\tvariant=\"text\"\n\t\t\t>\n\t\t\t\t<schmancy-icon id=\"color\">palette</schmancy-icon>\n\t\t\t</schmancy-button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-theme-button': SchmancyThemeButton\n\t}\n}\n"],"names":["SchmancyThemeButton","TailwindElement","render","html","this","color","animate","transform","duration","__decorateClass","query","prototype","customElement"],"mappings":";;;;;;;;;;;AAKA,IAAqBA,IAArB,cAAiDC,EAAAA,EAAAA;AAAAA,EAGtC,SAAAC;AACT,WAAOC;AAAAA;AAAAA,aAEI,MAAA;AAKRC,WAAKC,MAAMC,QAAQ,CAAC,EAAEC,WAAW,eAAA,GAAkB,EAAEA,WAAW,iBAAA,CAAA,GAAqB,EACpFC,UAAU,IAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUf;AAAA;AArBiBC,EAAA,CAAhBC,EAAM,QAAA,CAAA,GADaV,EACHW,WAAA,SAAA,CAAA,GADGX,IAArBS,EAAA,CADCG,EAAc,uBAAA,CAAA,GACMZ,CAAAA;"}
@@ -1,2 +1,2 @@
1
- "use strict";require("./theme-button-U_pvbRUN.cjs");
1
+ "use strict";require("./theme-button-B8Xqrz1M.cjs");
2
2
  //# sourceMappingURL=theme-button.cjs.map
@@ -1,2 +1,2 @@
1
- import "./theme-button-xscoLGo8.js";
1
+ import "./theme-button-D-LTPh88.js";
2
2
  //# sourceMappingURL=theme-button.js.map
@@ -1,12 +1,12 @@
1
1
  import { BehaviorSubject as Me, map as re, distinctUntilChanged as Z, shareReplay as te, switchMap as xe, Observable as je, of as be, fromEvent as ve, takeUntil as le, timer as $e, defaultIfEmpty as Re, tap as ue, Subject as He, debounceTime as Ge } from "rxjs";
2
2
  import { a as De, T as Ue } from "./theme.events-CPSLaOlR.js";
3
- import { c as er } from "./context-create-DCiujzV2.js";
3
+ import { c as er } from "./context-create-BvxbWTgj.js";
4
4
  import { property as ce, customElement as Le, state as Ce } from "lit/decorators.js";
5
5
  import "rxjs/operators";
6
6
  import { n as rr, e as tr } from "./provide-tcktw8xB.js";
7
- import { T as or } from "./tailwind.mixin-DqSYbdpb.js";
7
+ import { T as or } from "./tailwind.mixin-xIIxrXd8.js";
8
8
  import { unsafeCSS as nr, html as we } from "lit";
9
- import { $ as ar } from "./litElement.mixin-Bx-YfcU2.js";
9
+ import { $ as ar } from "./litElement.mixin-BzbZQbxa.js";
10
10
  function H(r) {
11
11
  return r < 0 ? -1 : r === 0 ? 0 : 1;
12
12
  }
@@ -39,16 +39,16 @@ function Ye(r) {
39
39
  return 255 & r;
40
40
  }
41
41
  function Te(r) {
42
- const e = function(t) {
42
+ const e = (function(t) {
43
43
  return Fe([ie(qe(t)), ie(Je(t)), ie(Ye(t))], cr);
44
- }(r)[1];
44
+ })(r)[1];
45
45
  return 116 * We(e / 100) - 16;
46
46
  }
47
47
  function K(r) {
48
- return 100 * function(e) {
48
+ return 100 * (function(e) {
49
49
  const t = 0.008856451679035631, o = 24389 / 27, n = e * e * e;
50
50
  return n > t ? n : (116 * e - 16) / o;
51
- }((r + 16) / 116);
51
+ })((r + 16) / 116);
52
52
  }
53
53
  function Ie(r) {
54
54
  return 116 * We(r / 100) - 16;
@@ -67,9 +67,9 @@ function We(r) {
67
67
  return r > 216 / 24389 ? Math.pow(r, 1 / 3) : (903.2962962962963 * r + 16) / 116;
68
68
  }
69
69
  class U {
70
- static make(e = /* @__PURE__ */ function() {
70
+ static make(e = /* @__PURE__ */ (function() {
71
71
  return ir;
72
- }(), t = 200 / Math.PI * K(50) / 100, o = 50, n = 2, a = !1) {
72
+ })(), t = 200 / Math.PI * K(50) / 100, o = 50, n = 2, a = !1) {
73
73
  const s = e, i = 0.401288 * s[0] + 0.650173 * s[1] + -0.051461 * s[2], m = -0.250268 * s[0] + 1.204414 * s[1] + 0.045854 * s[2], h = -2079e-6 * s[0] + 0.048952 * s[1] + 0.953127 * s[2], u = 0.8 + n / 10, k = u >= 0.9 ? de(0.59, 0.69, 10 * (u - 0.9)) : de(0.525, 0.59, 10 * (u - 0.8));
74
74
  let C = a ? 1 : u * (1 - 1 / 3.6 * Math.exp((-t - 42) / 92));
75
75
  C = C > 1 ? 1 : C < 0 ? 0 : C;
@@ -118,10 +118,10 @@ class V {
118
118
  }
119
119
  viewed(e) {
120
120
  const t = this.chroma === 0 || this.j === 0 ? 0 : this.chroma / Math.sqrt(this.j / 100), o = Math.pow(t / Math.pow(1.64 - Math.pow(0.29, e.n), 0.73), 1 / 0.9), n = this.hue * Math.PI / 180, a = 0.25 * (Math.cos(n + 2) + 3.8), s = e.aw * Math.pow(this.j / 100, 1 / e.c / e.z), i = a * (5e4 / 13) * e.nc * e.ncb, m = s / e.nbb, h = Math.sin(n), u = Math.cos(n), k = 23 * (m + 0.305) * o / (23 * i + 11 * o * u + 108 * o * h), C = k * u, l = k * h, g = (460 * m + 451 * C + 288 * l) / 1403, w = (460 * m - 891 * C - 261 * l) / 1403, P = (460 * m - 220 * C - 6300 * l) / 1403, F = Math.max(0, 27.13 * Math.abs(g) / (400 - Math.abs(g))), x = H(g) * (100 / e.fl) * Math.pow(F, 1 / 0.42), A = Math.max(0, 27.13 * Math.abs(w) / (400 - Math.abs(w))), b = H(w) * (100 / e.fl) * Math.pow(A, 1 / 0.42), v = Math.max(0, 27.13 * Math.abs(P) / (400 - Math.abs(P))), B = H(P) * (100 / e.fl) * Math.pow(v, 1 / 0.42), D = x / e.rgbD[0], I = b / e.rgbD[1], T = B / e.rgbD[2];
121
- return function(z, N, q) {
121
+ return (function(z, N, q) {
122
122
  const $ = sr, _ = $[0][0] * z + $[0][1] * N + $[0][2] * q, he = $[1][0] * z + $[1][1] * N + $[1][2] * q, me = $[2][0] * z + $[2][1] * N + $[2][2] * q;
123
123
  return Be(ee(_), ee(he), ee(me));
124
- }(1.86206786 * D - 1.01125463 * I + 0.14918677 * T, 0.38752654 * D + 0.62144744 * I - 897398e-8 * T, -0.0158415 * D - 0.03412294 * I + 1.04996444 * T);
124
+ })(1.86206786 * D - 1.01125463 * I + 0.14918677 * T, 0.38752654 * D + 0.62144744 * I - 897398e-8 * T, -0.0158415 * D - 0.03412294 * I + 1.04996444 * T);
125
125
  }
126
126
  static fromXyzInViewingConditions(e, t, o, n) {
127
127
  const a = 0.401288 * e + 0.650173 * t - 0.051461 * o, s = -0.250268 * e + 1.204414 * t + 0.045854 * o, i = -2079e-6 * e + 0.048952 * t + 0.953127 * o, m = n.rgbD[0] * a, h = n.rgbD[1] * s, u = n.rgbD[2] * i, k = Math.pow(n.fl * Math.abs(m) / 100, 0.42), C = Math.pow(n.fl * Math.abs(h) / 100, 0.42), l = Math.pow(n.fl * Math.abs(u) / 100, 0.42), g = 400 * H(m) * k / (k + 27.13), w = 400 * H(h) * C / (C + 27.13), P = 400 * H(u) * l / (l + 27.13), F = (11 * g + -12 * w + P) / 11, x = (g + w - 2 * P) / 9, A = (20 * g + 20 * w + 21 * P) / 20, b = (40 * g + 20 * w + P) / 20, v = 180 * Math.atan2(x, F) / Math.PI, B = v < 0 ? v + 360 : v >= 360 ? v - 360 : v, D = B * Math.PI / 180, I = b * n.nbb, T = 100 * Math.pow(I / n.aw, n.c * n.z), pe = 4 / n.c * Math.sqrt(T / 100) * (n.aw + 4) * n.fLRoot, z = B < 20.14 ? B + 360 : B, N = 5e4 / 13 * (1 / 4 * (Math.cos(z * Math.PI / 180 + 2) + 3.8)) * n.nc * n.ncb * Math.sqrt(F * F + x * x) / (A + 0.305), q = Math.pow(N, 0.9) * Math.pow(1.64 - Math.pow(0.29, n.n), 0.73), $ = q * Math.sqrt(T / 100), _ = $ * n.fLRoot, he = 50 * Math.sqrt(q * n.c / (n.aw + 4)), me = (1 + 100 * 7e-3) * T / (1 + 7e-3 * T), fe = Math.log(1 + 0.0228 * _) / 0.0228, ge = fe * Math.cos(D), ke = fe * Math.sin(D);
@@ -230,10 +230,10 @@ class p {
230
230
  return 0;
231
231
  }
232
232
  static solveToInt(e, t, o) {
233
- if (t < 1e-4 || o < 1e-4 || o > 99.9999) return function(i) {
233
+ if (t < 1e-4 || o < 1e-4 || o > 99.9999) return (function(i) {
234
234
  const m = ee(K(i));
235
235
  return Be(m, m, m);
236
- }(o);
236
+ })(o);
237
237
  const n = (e = Se(e)) / 180 * Math.PI, a = K(o), s = p.findResultByJ(n, t, a);
238
238
  return s !== 0 ? s : ze(p.bisectToLimit(a, n));
239
239
  }
@@ -475,7 +475,7 @@ class c {
475
475
  }
476
476
  c.contentAccentToneDelta = 15, c.primaryPaletteKeyColor = d.fromPalette({ name: "primary_palette_key_color", palette: (r) => r.primaryPalette, tone: (r) => r.primaryPalette.keyColor.tone }), c.secondaryPaletteKeyColor = d.fromPalette({ name: "secondary_palette_key_color", palette: (r) => r.secondaryPalette, tone: (r) => r.secondaryPalette.keyColor.tone }), c.tertiaryPaletteKeyColor = d.fromPalette({ name: "tertiary_palette_key_color", palette: (r) => r.tertiaryPalette, tone: (r) => r.tertiaryPalette.keyColor.tone }), c.neutralPaletteKeyColor = d.fromPalette({ name: "neutral_palette_key_color", palette: (r) => r.neutralPalette, tone: (r) => r.neutralPalette.keyColor.tone }), c.neutralVariantPaletteKeyColor = d.fromPalette({ name: "neutral_variant_palette_key_color", palette: (r) => r.neutralVariantPalette, tone: (r) => r.neutralVariantPalette.keyColor.tone }), c.background = d.fromPalette({ name: "background", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? 6 : 98, isBackground: !0 }), c.onBackground = d.fromPalette({ name: "on_background", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? 90 : 10, background: (r) => c.background, contrastCurve: new f(3, 3, 4.5, 7) }), c.surface = d.fromPalette({ name: "surface", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? 6 : 98, isBackground: !0 }), c.surfaceDim = d.fromPalette({ name: "surface_dim", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? 6 : new f(87, 87, 80, 75).get(r.contrastLevel), isBackground: !0 }), c.surfaceBright = d.fromPalette({ name: "surface_bright", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? new f(24, 24, 29, 34).get(r.contrastLevel) : 98, isBackground: !0 }), c.surfaceContainerLowest = d.fromPalette({ name: "surface_container_lowest", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? new f(4, 4, 2, 0).get(r.contrastLevel) : 100, isBackground: !0 }), c.surfaceContainerLow = d.fromPalette({ name: "surface_container_low", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? new f(10, 10, 11, 12).get(r.contrastLevel) : new f(96, 96, 96, 95).get(r.contrastLevel), isBackground: !0 }), c.surfaceContainer = d.fromPalette({ name: "surface_container", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? new f(12, 12, 16, 20).get(r.contrastLevel) : new f(94, 94, 92, 90).get(r.contrastLevel), isBackground: !0 }), c.surfaceContainerHigh = d.fromPalette({ name: "surface_container_high", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? new f(17, 17, 21, 25).get(r.contrastLevel) : new f(92, 92, 88, 85).get(r.contrastLevel), isBackground: !0 }), c.surfaceContainerHighest = d.fromPalette({ name: "surface_container_highest", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? new f(22, 22, 26, 30).get(r.contrastLevel) : new f(90, 90, 84, 80).get(r.contrastLevel), isBackground: !0 }), c.onSurface = d.fromPalette({ name: "on_surface", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? 90 : 10, background: (r) => c.highestSurface(r), contrastCurve: new f(4.5, 7, 11, 21) }), c.surfaceVariant = d.fromPalette({ name: "surface_variant", palette: (r) => r.neutralVariantPalette, tone: (r) => r.isDark ? 30 : 90, isBackground: !0 }), c.onSurfaceVariant = d.fromPalette({ name: "on_surface_variant", palette: (r) => r.neutralVariantPalette, tone: (r) => r.isDark ? 80 : 30, background: (r) => c.highestSurface(r), contrastCurve: new f(3, 4.5, 7, 11) }), c.inverseSurface = d.fromPalette({ name: "inverse_surface", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? 90 : 20 }), c.inverseOnSurface = d.fromPalette({ name: "inverse_on_surface", palette: (r) => r.neutralPalette, tone: (r) => r.isDark ? 20 : 95, background: (r) => c.inverseSurface, contrastCurve: new f(4.5, 7, 11, 21) }), c.outline = d.fromPalette({ name: "outline", palette: (r) => r.neutralVariantPalette, tone: (r) => r.isDark ? 60 : 50, background: (r) => c.highestSurface(r), contrastCurve: new f(1.5, 3, 4.5, 7) }), c.outlineVariant = d.fromPalette({ name: "outline_variant", palette: (r) => r.neutralVariantPalette, tone: (r) => r.isDark ? 30 : 80, background: (r) => c.highestSurface(r), contrastCurve: new f(1, 1, 3, 4.5) }), c.shadow = d.fromPalette({ name: "shadow", palette: (r) => r.neutralPalette, tone: (r) => 0 }), c.scrim = d.fromPalette({ name: "scrim", palette: (r) => r.neutralPalette, tone: (r) => 0 }), c.surfaceTint = d.fromPalette({ name: "surface_tint", palette: (r) => r.primaryPalette, tone: (r) => r.isDark ? 80 : 40, isBackground: !0 }), c.primary = d.fromPalette({ name: "primary", palette: (r) => r.primaryPalette, tone: (r) => S(r) ? r.isDark ? 100 : 0 : r.isDark ? 80 : 40, isBackground: !0, background: (r) => c.highestSurface(r), contrastCurve: new f(3, 4.5, 7, 7), toneDeltaPair: (r) => new R(c.primaryContainer, c.primary, 10, "nearer", !1) }), c.onPrimary = d.fromPalette({ name: "on_primary", palette: (r) => r.primaryPalette, tone: (r) => S(r) ? r.isDark ? 10 : 90 : r.isDark ? 20 : 100, background: (r) => c.primary, contrastCurve: new f(4.5, 7, 11, 21) }), c.primaryContainer = d.fromPalette({ name: "primary_container", palette: (r) => r.primaryPalette, tone: (r) => oe(r) ? r.sourceColorHct.tone : S(r) ? r.isDark ? 85 : 25 : r.isDark ? 30 : 90, isBackground: !0, background: (r) => c.highestSurface(r), contrastCurve: new f(1, 1, 3, 4.5), toneDeltaPair: (r) => new R(c.primaryContainer, c.primary, 10, "nearer", !1) }), c.onPrimaryContainer = d.fromPalette({ name: "on_primary_container", palette: (r) => r.primaryPalette, tone: (r) => oe(r) ? d.foregroundTone(c.primaryContainer.tone(r), 4.5) : S(r) ? r.isDark ? 0 : 100 : r.isDark ? 90 : 30, background: (r) => c.primaryContainer, contrastCurve: new f(3, 4.5, 7, 11) }), c.inversePrimary = d.fromPalette({ name: "inverse_primary", palette: (r) => r.primaryPalette, tone: (r) => r.isDark ? 40 : 80, background: (r) => c.inverseSurface, contrastCurve: new f(3, 4.5, 7, 7) }), c.secondary = d.fromPalette({ name: "secondary", palette: (r) => r.secondaryPalette, tone: (r) => r.isDark ? 80 : 40, isBackground: !0, background: (r) => c.highestSurface(r), contrastCurve: new f(3, 4.5, 7, 7), toneDeltaPair: (r) => new R(c.secondaryContainer, c.secondary, 10, "nearer", !1) }), c.onSecondary = d.fromPalette({ name: "on_secondary", palette: (r) => r.secondaryPalette, tone: (r) => S(r) ? r.isDark ? 10 : 100 : r.isDark ? 20 : 100, background: (r) => c.secondary, contrastCurve: new f(4.5, 7, 11, 21) }), c.secondaryContainer = d.fromPalette({ name: "secondary_container", palette: (r) => r.secondaryPalette, tone: (r) => {
477
477
  const e = r.isDark ? 30 : 90;
478
- return S(r) ? r.isDark ? 30 : 85 : oe(r) ? function(t, o, n, a) {
478
+ return S(r) ? r.isDark ? 30 : 85 : oe(r) ? (function(t, o, n, a) {
479
479
  let s = n, i = L.from(t, o, n);
480
480
  if (i.chroma < o) {
481
481
  let m = i.chroma;
@@ -487,7 +487,7 @@ c.contentAccentToneDelta = 15, c.primaryPaletteKeyColor = d.fromPalette({ name:
487
487
  }
488
488
  }
489
489
  return s;
490
- }(r.secondaryPalette.hue, r.secondaryPalette.chroma, e, !r.isDark) : e;
490
+ })(r.secondaryPalette.hue, r.secondaryPalette.chroma, e, !r.isDark) : e;
491
491
  }, isBackground: !0, background: (r) => c.highestSurface(r), contrastCurve: new f(1, 1, 3, 4.5), toneDeltaPair: (r) => new R(c.secondaryContainer, c.secondary, 10, "nearer", !1) }), c.onSecondaryContainer = d.fromPalette({ name: "on_secondary_container", palette: (r) => r.secondaryPalette, tone: (r) => S(r) ? r.isDark ? 90 : 10 : oe(r) ? d.foregroundTone(c.secondaryContainer.tone(r), 4.5) : r.isDark ? 90 : 30, background: (r) => c.secondaryContainer, contrastCurve: new f(3, 4.5, 7, 11) }), c.tertiary = d.fromPalette({ name: "tertiary", palette: (r) => r.tertiaryPalette, tone: (r) => S(r) ? r.isDark ? 90 : 25 : r.isDark ? 80 : 40, isBackground: !0, background: (r) => c.highestSurface(r), contrastCurve: new f(3, 4.5, 7, 7), toneDeltaPair: (r) => new R(c.tertiaryContainer, c.tertiary, 10, "nearer", !1) }), c.onTertiary = d.fromPalette({ name: "on_tertiary", palette: (r) => r.tertiaryPalette, tone: (r) => S(r) ? r.isDark ? 10 : 90 : r.isDark ? 20 : 100, background: (r) => c.tertiary, contrastCurve: new f(4.5, 7, 11, 21) }), c.tertiaryContainer = d.fromPalette({ name: "tertiary_container", palette: (r) => r.tertiaryPalette, tone: (r) => {
492
492
  if (S(r)) return r.isDark ? 60 : 49;
493
493
  if (!oe(r)) return r.isDark ? 30 : 90;
@@ -660,20 +660,20 @@ function J(r) {
660
660
  }
661
661
  function hr(r, e = []) {
662
662
  const t = E.of(r);
663
- return { source: r, schemes: { light: W.light(r), dark: W.dark(r) }, palettes: { primary: t.a1, secondary: t.a2, tertiary: t.a3, neutral: t.n1, neutralVariant: t.n2, error: t.error }, customColors: e.map((o) => function(n, a) {
663
+ return { source: r, schemes: { light: W.light(r), dark: W.dark(r) }, palettes: { primary: t.a1, secondary: t.a2, tertiary: t.a3, neutral: t.n1, neutralVariant: t.n2, error: t.error }, customColors: e.map((o) => (function(n, a) {
664
664
  let s = a.value;
665
665
  const i = s, m = n;
666
666
  a.blend && (s = Oe.harmonize(i, m));
667
667
  const h = E.of(s), u = h.a1;
668
668
  return { color: a, value: s, light: { color: u.tone(40), onColor: u.tone(100), colorContainer: u.tone(90), onColorContainer: u.tone(10) }, dark: { color: u.tone(80), onColor: u.tone(20), colorContainer: u.tone(30), onColorContainer: u.tone(90) } };
669
- }(r, o)) };
669
+ })(r, o)) };
670
670
  }
671
671
  function y(r) {
672
- return function(e) {
672
+ return (function(e) {
673
673
  const t = qe(e), o = Je(e), n = Ye(e), a = [t.toString(16), o.toString(16), n.toString(16)];
674
674
  for (const [s, i] of a.entries()) i.length === 1 && (a[s] = "0" + i);
675
675
  return "#" + a.join("");
676
- }(r);
676
+ })(r);
677
677
  }
678
678
  function Y(r) {
679
679
  const e = L.fromInt(r), t = M.fromHueAndChroma(e.hue, e.chroma);
@@ -964,4 +964,4 @@ export {
964
964
  Br as s,
965
965
  ur as t
966
966
  };
967
- //# sourceMappingURL=theme-controller-boat-CBRV8Lxv.js.map
967
+ //# sourceMappingURL=theme-controller-boat-BOddzVdU.js.map