@mhmo91/schmancy 0.2.9 → 0.2.10

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 (231) hide show
  1. package/dist/{animated-text-vp4fwxY2.cjs → animated-text-B7ot87Yb.cjs} +2 -2
  2. package/dist/{animated-text-vp4fwxY2.cjs.map → animated-text-B7ot87Yb.cjs.map} +1 -1
  3. package/dist/{animated-text-0Ai_OLHl.js → animated-text-BR3J5YzM.js} +3 -3
  4. package/dist/{animated-text-0Ai_OLHl.js.map → animated-text-BR3J5YzM.js.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-JScs76M1.js → area.component-BlcOhWYn.js} +3 -3
  9. package/dist/{area.component-JScs76M1.js.map → area.component-BlcOhWYn.js.map} +1 -1
  10. package/dist/{area.component-4wkXNax5.cjs → area.component-Dvbv9xus.cjs} +2 -2
  11. package/dist/{area.component-4wkXNax5.cjs.map → area.component-Dvbv9xus.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/autocomplete-GCjmIPKP.cjs +43 -0
  14. package/dist/autocomplete-GCjmIPKP.cjs.map +1 -0
  15. package/dist/autocomplete-vfdJnjAx.js +212 -0
  16. package/dist/autocomplete-vfdJnjAx.js.map +1 -0
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/busy.cjs +1 -1
  20. package/dist/busy.js +1 -1
  21. package/dist/button.cjs +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/{checkbox-Bxp5uWqA.cjs → checkbox-B6wuWHQT.cjs} +2 -2
  26. package/dist/{checkbox-Bxp5uWqA.cjs.map → checkbox-B6wuWHQT.cjs.map} +1 -1
  27. package/dist/{checkbox-colFZOar.js → checkbox-BrVJwQYt.js} +2 -2
  28. package/dist/{checkbox-colFZOar.js.map → checkbox-BrVJwQYt.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-7sYLmlxn.js → chips-CCNEOlx2.js} +3 -3
  32. package/dist/{chips-7sYLmlxn.js.map → chips-CCNEOlx2.js.map} +1 -1
  33. package/dist/{chips-BVQttHUJ.cjs → chips-DW4wk4ns.cjs} +2 -2
  34. package/dist/{chips-BVQttHUJ.cjs.map → chips-DW4wk4ns.cjs.map} +1 -1
  35. package/dist/chips.cjs +1 -1
  36. package/dist/chips.js +1 -1
  37. package/dist/components.cjs +1 -1
  38. package/dist/components.js +1 -1
  39. package/dist/content-drawer.cjs +1 -1
  40. package/dist/content-drawer.js +1 -1
  41. package/dist/{date-range-BLusWPVn.js → date-range-BqsNgxis.js} +3 -3
  42. package/dist/{date-range-BLusWPVn.js.map → date-range-BqsNgxis.js.map} +1 -1
  43. package/dist/{date-range-_7Vry7wT.cjs → date-range-s4nUUXP-.cjs} +2 -2
  44. package/dist/{date-range-_7Vry7wT.cjs.map → date-range-s4nUUXP-.cjs.map} +1 -1
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-B8fYtrMp.js → delay-DrTqFWuI.js} +2 -2
  48. package/dist/{delay-B8fYtrMp.js.map → delay-DrTqFWuI.js.map} +1 -1
  49. package/dist/{delay-ikznAH-1.cjs → delay-ZjnwZygz.cjs} +2 -2
  50. package/dist/{delay-ikznAH-1.cjs.map → delay-ZjnwZygz.cjs.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-DJ9Gx64O.cjs → divider-C-olgct1.cjs} +2 -2
  54. package/dist/{divider-DJ9Gx64O.cjs.map → divider-C-olgct1.cjs.map} +1 -1
  55. package/dist/{divider-DLOwEvrd.js → divider-DE_qGu0Z.js} +3 -3
  56. package/dist/{divider-DLOwEvrd.js.map → divider-DE_qGu0Z.js.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{form-OYWlsQ4R.cjs → form-BftBHIa9.cjs} +2 -2
  60. package/dist/{form-OYWlsQ4R.cjs.map → form-BftBHIa9.cjs.map} +1 -1
  61. package/dist/{form-qBkXHUCV.js → form-CiopR1cw.js} +2 -2
  62. package/dist/{form-qBkXHUCV.js.map → form-CiopR1cw.js.map} +1 -1
  63. package/dist/form.cjs +1 -1
  64. package/dist/form.js +1 -1
  65. package/dist/{icon-DDILI2Kw.cjs → icon-C3VNzTd2.cjs} +2 -2
  66. package/dist/{icon-DDILI2Kw.cjs.map → icon-C3VNzTd2.cjs.map} +1 -1
  67. package/dist/{icon-button-CP_pX4yw.cjs → icon-button-CEcYwu6h.cjs} +11 -11
  68. package/dist/icon-button-CEcYwu6h.cjs.map +1 -0
  69. package/dist/{icon-button-tvckJDEE.js → icon-button-cThH-HDx.js} +9 -9
  70. package/dist/icon-button-cThH-HDx.js.map +1 -0
  71. package/dist/{icon-BUV18-Pm.js → icon-uV29Oo_I.js} +3 -3
  72. package/dist/{icon-BUV18-Pm.js.map → icon-uV29Oo_I.js.map} +1 -1
  73. package/dist/icons.cjs +1 -1
  74. package/dist/icons.js +1 -1
  75. package/dist/index.cjs +1 -1
  76. package/dist/index.js +32 -32
  77. package/dist/input-BNWPVs3H.js +124 -0
  78. package/dist/input-BNWPVs3H.js.map +1 -0
  79. package/dist/input-shCt07iX.cjs +43 -0
  80. package/dist/input-shCt07iX.cjs.map +1 -0
  81. package/dist/input.cjs +1 -1
  82. package/dist/input.js +1 -1
  83. package/dist/layout.cjs +1 -1
  84. package/dist/layout.js +1 -1
  85. package/dist/list.cjs +1 -1
  86. package/dist/list.js +1 -1
  87. package/dist/{litElement.mixin-Bczhguqz.js → litElement.mixin-Bn8Rl6md.js} +2 -2
  88. package/dist/{litElement.mixin-Bczhguqz.js.map → litElement.mixin-Bn8Rl6md.js.map} +1 -1
  89. package/dist/{litElement.mixin-dZ5gFldT.cjs → litElement.mixin-CqG5Vzn4.cjs} +2 -2
  90. package/dist/{litElement.mixin-dZ5gFldT.cjs.map → litElement.mixin-CqG5Vzn4.cjs.map} +1 -1
  91. package/dist/{menu-CHUomCth.cjs → menu-BsjLQTfd.cjs} +2 -2
  92. package/dist/{menu-CHUomCth.cjs.map → menu-BsjLQTfd.cjs.map} +1 -1
  93. package/dist/{menu-C20Ngz8k.js → menu-CK0Aunqg.js} +3 -3
  94. package/dist/{menu-C20Ngz8k.js.map → menu-CK0Aunqg.js.map} +1 -1
  95. package/dist/menu.cjs +1 -1
  96. package/dist/menu.js +1 -1
  97. package/dist/nav-drawer.cjs +1 -1
  98. package/dist/nav-drawer.js +1 -1
  99. package/dist/notification.cjs +1 -1
  100. package/dist/notification.js +1 -1
  101. package/dist/{option-DqO86_nY.js → option-C3ovVy8Q.js} +2 -2
  102. package/dist/{option-DqO86_nY.js.map → option-C3ovVy8Q.js.map} +1 -1
  103. package/dist/{option-PVtp_mrs.cjs → option-CEN9FFeV.cjs} +2 -2
  104. package/dist/{option-PVtp_mrs.cjs.map → option-CEN9FFeV.cjs.map} +1 -1
  105. package/dist/option.cjs +1 -1
  106. package/dist/option.js +1 -1
  107. package/dist/{outlet-BzsckqZ8.cjs → outlet-BMkGxj9Y.cjs} +2 -2
  108. package/dist/{outlet-BzsckqZ8.cjs.map → outlet-BMkGxj9Y.cjs.map} +1 -1
  109. package/dist/{outlet-DcBtaiCX.js → outlet-CbHO2KGb.js} +2 -2
  110. package/dist/{outlet-DcBtaiCX.js.map → outlet-CbHO2KGb.js.map} +1 -1
  111. package/dist/{payment-card-form-Bbj5Ie3_.js → payment-card-form-CSjKMW71.js} +3 -3
  112. package/dist/{payment-card-form-Bbj5Ie3_.js.map → payment-card-form-CSjKMW71.js.map} +1 -1
  113. package/dist/{payment-card-form-DdrmXQgW.cjs → payment-card-form-ClNJIflz.cjs} +2 -2
  114. package/dist/{payment-card-form-DdrmXQgW.cjs.map → payment-card-form-ClNJIflz.cjs.map} +1 -1
  115. package/dist/{radio-group-BdFNVPBX.js → radio-group-BaAICOCk.js} +2 -2
  116. package/dist/{radio-group-BdFNVPBX.js.map → radio-group-BaAICOCk.js.map} +1 -1
  117. package/dist/{radio-group-IYmnpHoM.cjs → radio-group-Dq8G5fBE.cjs} +2 -2
  118. package/dist/{radio-group-IYmnpHoM.cjs.map → radio-group-Dq8G5fBE.cjs.map} +1 -1
  119. package/dist/radio-group.cjs +1 -1
  120. package/dist/radio-group.js +1 -1
  121. package/dist/{scroll-qTSe885X.js → scroll-BJ_3vZ-c.js} +2 -2
  122. package/dist/{scroll-qTSe885X.js.map → scroll-BJ_3vZ-c.js.map} +1 -1
  123. package/dist/{scroll-O39qwEAR.cjs → scroll-CUpYxnFS.cjs} +2 -2
  124. package/dist/{scroll-O39qwEAR.cjs.map → scroll-CUpYxnFS.cjs.map} +1 -1
  125. package/dist/{select-DGgGHXxb.cjs → select-DSOpxxMT.cjs} +3 -3
  126. package/dist/select-DSOpxxMT.cjs.map +1 -0
  127. package/dist/{select-C1qEu5xm.js → select-DzmFjt61.js} +7 -7
  128. package/dist/select-DzmFjt61.js.map +1 -0
  129. package/dist/select.cjs +1 -1
  130. package/dist/select.js +1 -1
  131. package/dist/{sheet-CTZGiS7C.cjs → sheet-BnBjA5tD.cjs} +2 -2
  132. package/dist/{sheet-CTZGiS7C.cjs.map → sheet-BnBjA5tD.cjs.map} +1 -1
  133. package/dist/{sheet-DptJn65A.js → sheet-Co0cHr37.js} +3 -3
  134. package/dist/{sheet-DptJn65A.js.map → sheet-Co0cHr37.js.map} +1 -1
  135. package/dist/sheet.cjs +1 -1
  136. package/dist/sheet.js +1 -1
  137. package/dist/{slider-DF0hGetl.cjs → slider-CJdYHduh.cjs} +2 -2
  138. package/dist/{slider-DF0hGetl.cjs.map → slider-CJdYHduh.cjs.map} +1 -1
  139. package/dist/{slider-DuC6D-d4.js → slider-dtJketj4.js} +3 -3
  140. package/dist/{slider-DuC6D-d4.js.map → slider-dtJketj4.js.map} +1 -1
  141. package/dist/slider.cjs +1 -1
  142. package/dist/slider.js +1 -1
  143. package/dist/{spinner-CC4zDuEm.cjs → spinner-BB1NW_4b.cjs} +2 -2
  144. package/dist/{spinner-CC4zDuEm.cjs.map → spinner-BB1NW_4b.cjs.map} +1 -1
  145. package/dist/{spinner-CNgjSbB2.js → spinner-ssJhxM2o.js} +3 -3
  146. package/dist/{spinner-CNgjSbB2.js.map → spinner-ssJhxM2o.js.map} +1 -1
  147. package/dist/{surface-DVYDiR06.js → surface-DeLQUjNN.js} +3 -3
  148. package/dist/surface-DeLQUjNN.js.map +1 -0
  149. package/dist/{surface-DgEJ5kCf.cjs → surface-jQagrINO.cjs} +3 -3
  150. package/dist/surface-jQagrINO.cjs.map +1 -0
  151. package/dist/surface.cjs +1 -1
  152. package/dist/surface.js +1 -1
  153. package/dist/{table-DaiP2A-P.cjs → table-Co0-nm4Y.cjs} +2 -2
  154. package/dist/{table-DaiP2A-P.cjs.map → table-Co0-nm4Y.cjs.map} +1 -1
  155. package/dist/{table-CvT4bvRV.js → table-DZIjJKTT.js} +2 -2
  156. package/dist/{table-CvT4bvRV.js.map → table-DZIjJKTT.js.map} +1 -1
  157. package/dist/table.cjs +1 -1
  158. package/dist/table.js +1 -1
  159. package/dist/{tabs-group-BsYXf7-L.cjs → tabs-group-Doix3mBX.cjs} +2 -2
  160. package/dist/{tabs-group-BsYXf7-L.cjs.map → tabs-group-Doix3mBX.cjs.map} +1 -1
  161. package/dist/{tabs-group-uSIERHrS.js → tabs-group-JXceC_AX.js} +2 -2
  162. package/dist/{tabs-group-uSIERHrS.js.map → tabs-group-JXceC_AX.js.map} +1 -1
  163. package/dist/tabs.cjs +1 -1
  164. package/dist/tabs.js +1 -1
  165. package/dist/{tailwind.mixin-ivf7aKpx.cjs → tailwind.mixin-C3pXEh-C.cjs} +2 -2
  166. package/dist/{tailwind.mixin-ivf7aKpx.cjs.map → tailwind.mixin-C3pXEh-C.cjs.map} +1 -1
  167. package/dist/{tailwind.mixin-DaorKUB-.js → tailwind.mixin-C5OzBKVB.js} +14 -14
  168. package/dist/{tailwind.mixin-DaorKUB-.js.map → tailwind.mixin-C5OzBKVB.js.map} +1 -1
  169. package/dist/teleport.cjs +1 -1
  170. package/dist/{teleport.component-CHZvUCGh.cjs → teleport.component-BXtXmHVa.cjs} +10 -10
  171. package/dist/teleport.component-BXtXmHVa.cjs.map +1 -0
  172. package/dist/{teleport.component-BJp0sdwT.js → teleport.component-Cq8hZD_o.js} +35 -35
  173. package/dist/teleport.component-Cq8hZD_o.js.map +1 -0
  174. package/dist/teleport.js +1 -1
  175. package/dist/{textarea-CmiDJ6vB.cjs → textarea-BfNvgfZ_.cjs} +2 -2
  176. package/dist/{textarea-CmiDJ6vB.cjs.map → textarea-BfNvgfZ_.cjs.map} +1 -1
  177. package/dist/{textarea-CBVhP0PO.js → textarea-vre0j7PW.js} +2 -2
  178. package/dist/{textarea-CBVhP0PO.js.map → textarea-vre0j7PW.js.map} +1 -1
  179. package/dist/textarea.cjs +1 -1
  180. package/dist/textarea.js +1 -1
  181. package/dist/{theme-button-oUEwzPgP.cjs → theme-button-CQiYi_67.cjs} +2 -2
  182. package/dist/{theme-button-oUEwzPgP.cjs.map → theme-button-CQiYi_67.cjs.map} +1 -1
  183. package/dist/{theme-button-D1kqQf95.js → theme-button-D8dDywwF.js} +2 -2
  184. package/dist/{theme-button-D1kqQf95.js.map → theme-button-D8dDywwF.js.map} +1 -1
  185. package/dist/theme-button.cjs +1 -1
  186. package/dist/theme-button.js +1 -1
  187. package/dist/theme.cjs +1 -1
  188. package/dist/theme.component-BNYF3EuP.cjs +3 -0
  189. package/dist/{theme.component-C-dSR7fa.cjs.map → theme.component-BNYF3EuP.cjs.map} +1 -1
  190. package/dist/{theme.component-C7KaOcEZ.js → theme.component-iFFaMUIB.js} +43 -43
  191. package/dist/{theme.component-C7KaOcEZ.js.map → theme.component-iFFaMUIB.js.map} +1 -1
  192. package/dist/theme.js +1 -1
  193. package/dist/{tree-CjGzyEO3.cjs → tree-BGkPGaY8.cjs} +2 -2
  194. package/dist/{tree-CjGzyEO3.cjs.map → tree-BGkPGaY8.cjs.map} +1 -1
  195. package/dist/{tree-DnRjW773.js → tree-Dzh0J35T.js} +2 -2
  196. package/dist/{tree-DnRjW773.js.map → tree-Dzh0J35T.js.map} +1 -1
  197. package/dist/tree.cjs +1 -1
  198. package/dist/tree.js +1 -1
  199. package/dist/{typewriter-By3kfvcw.cjs → typewriter-ChAfM5s5.cjs} +2 -2
  200. package/dist/{typewriter-By3kfvcw.cjs.map → typewriter-ChAfM5s5.cjs.map} +1 -1
  201. package/dist/{typewriter-Bl4oL7Nj.js → typewriter-v9NtjriH.js} +4 -4
  202. package/dist/{typewriter-Bl4oL7Nj.js.map → typewriter-v9NtjriH.js.map} +1 -1
  203. package/dist/typewriter.cjs +1 -1
  204. package/dist/typewriter.js +1 -1
  205. package/dist/{typography-ZAIIeqBH.js → typography-BsfF4nMf.js} +2 -2
  206. package/dist/{typography-ZAIIeqBH.js.map → typography-BsfF4nMf.js.map} +1 -1
  207. package/dist/{typography-CDoqXfnX.cjs → typography-NRVaaUrd.cjs} +2 -2
  208. package/dist/{typography-CDoqXfnX.cjs.map → typography-NRVaaUrd.cjs.map} +1 -1
  209. package/dist/typography.cjs +1 -1
  210. package/dist/typography.js +1 -1
  211. package/package.json +2 -1
  212. package/types/src/autocomplete/autocomplete.d.ts +95 -9
  213. package/types/src/input/input.d.ts +58 -47
  214. package/types/src/theme/theme.component.d.ts +1 -0
  215. package/dist/autocomplete-CiNm2SkD.cjs +0 -42
  216. package/dist/autocomplete-CiNm2SkD.cjs.map +0 -1
  217. package/dist/autocomplete-Cm5NEwT6.js +0 -189
  218. package/dist/autocomplete-Cm5NEwT6.js.map +0 -1
  219. package/dist/icon-button-CP_pX4yw.cjs.map +0 -1
  220. package/dist/icon-button-tvckJDEE.js.map +0 -1
  221. package/dist/input-BH04wAXW.cjs +0 -42
  222. package/dist/input-BH04wAXW.cjs.map +0 -1
  223. package/dist/input-Dxk8fmQJ.js +0 -118
  224. package/dist/input-Dxk8fmQJ.js.map +0 -1
  225. package/dist/select-C1qEu5xm.js.map +0 -1
  226. package/dist/select-DGgGHXxb.cjs.map +0 -1
  227. package/dist/surface-DVYDiR06.js.map +0 -1
  228. package/dist/surface-DgEJ5kCf.cjs.map +0 -1
  229. package/dist/teleport.component-BJp0sdwT.js.map +0 -1
  230. package/dist/teleport.component-CHZvUCGh.cjs.map +0 -1
  231. package/dist/theme.component-C-dSR7fa.cjs +0 -3
@@ -1 +0,0 @@
1
- {"version":3,"file":"autocomplete-Cm5NEwT6.js","sources":["../node_modules/fastest-levenshtein/esm/mod.js","../src/autocomplete/autocomplete.ts"],"sourcesContent":["const peq = new Uint32Array(0x10000);\nconst myers_32 = (a, b) => {\n const n = a.length;\n const m = b.length;\n const lst = 1 << (n - 1);\n let pv = -1;\n let mv = 0;\n let sc = n;\n let i = n;\n while (i--) {\n peq[a.charCodeAt(i)] |= 1 << i;\n }\n for (i = 0; i < m; i++) {\n let eq = peq[b.charCodeAt(i)];\n const xv = eq | mv;\n eq |= ((eq & pv) + pv) ^ pv;\n mv |= ~(eq | pv);\n pv &= eq;\n if (mv & lst) {\n sc++;\n }\n if (pv & lst) {\n sc--;\n }\n mv = (mv << 1) | 1;\n pv = (pv << 1) | ~(xv | mv);\n mv &= xv;\n }\n i = n;\n while (i--) {\n peq[a.charCodeAt(i)] = 0;\n }\n return sc;\n};\nconst myers_x = (b, a) => {\n const n = a.length;\n const m = b.length;\n const mhc = [];\n const phc = [];\n const hsize = Math.ceil(n / 32);\n const vsize = Math.ceil(m / 32);\n for (let i = 0; i < hsize; i++) {\n phc[i] = -1;\n mhc[i] = 0;\n }\n let j = 0;\n for (; j < vsize - 1; j++) {\n let mv = 0;\n let pv = -1;\n const start = j * 32;\n const vlen = Math.min(32, m) + start;\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] |= 1 << k;\n }\n for (let i = 0; i < n; i++) {\n const eq = peq[a.charCodeAt(i)];\n const pb = (phc[(i / 32) | 0] >>> i) & 1;\n const mb = (mhc[(i / 32) | 0] >>> i) & 1;\n const xv = eq | mv;\n const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;\n let ph = mv | ~(xh | pv);\n let mh = pv & xh;\n if ((ph >>> 31) ^ pb) {\n phc[(i / 32) | 0] ^= 1 << i;\n }\n if ((mh >>> 31) ^ mb) {\n mhc[(i / 32) | 0] ^= 1 << i;\n }\n ph = (ph << 1) | pb;\n mh = (mh << 1) | mb;\n pv = mh | ~(xv | ph);\n mv = ph & xv;\n }\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] = 0;\n }\n }\n let mv = 0;\n let pv = -1;\n const start = j * 32;\n const vlen = Math.min(32, m - start) + start;\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] |= 1 << k;\n }\n let score = m;\n for (let i = 0; i < n; i++) {\n const eq = peq[a.charCodeAt(i)];\n const pb = (phc[(i / 32) | 0] >>> i) & 1;\n const mb = (mhc[(i / 32) | 0] >>> i) & 1;\n const xv = eq | mv;\n const xh = ((((eq | mb) & pv) + pv) ^ pv) | eq | mb;\n let ph = mv | ~(xh | pv);\n let mh = pv & xh;\n score += (ph >>> (m - 1)) & 1;\n score -= (mh >>> (m - 1)) & 1;\n if ((ph >>> 31) ^ pb) {\n phc[(i / 32) | 0] ^= 1 << i;\n }\n if ((mh >>> 31) ^ mb) {\n mhc[(i / 32) | 0] ^= 1 << i;\n }\n ph = (ph << 1) | pb;\n mh = (mh << 1) | mb;\n pv = mh | ~(xv | ph);\n mv = ph & xv;\n }\n for (let k = start; k < vlen; k++) {\n peq[b.charCodeAt(k)] = 0;\n }\n return score;\n};\nconst distance = (a, b) => {\n if (a.length < b.length) {\n const tmp = b;\n b = a;\n a = tmp;\n }\n if (b.length === 0) {\n return a.length;\n }\n if (a.length <= 32) {\n return myers_32(a, b);\n }\n return myers_x(a, b);\n};\nconst closest = (str, arr) => {\n let min_distance = Infinity;\n let min_index = 0;\n for (let i = 0; i < arr.length; i++) {\n const dist = distance(str, arr[i]);\n if (dist < min_distance) {\n min_distance = dist;\n min_index = i;\n }\n }\n return arr[min_index];\n};\nexport { closest, distance };\n","import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyInput from '@schmancy/input/input'\nimport SchmancyOption, { SchmancyOptionChangeEvent } from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { distance } from 'fastest-levenshtein'\nimport { html } from 'lit'\nimport { customElement, eventOptions, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { from, fromEvent, Subject } from 'rxjs'\nimport { distinctUntilChanged, filter, switchMap, takeUntil, tap } from 'rxjs/operators'\nimport { SchmancyInputChangeEvent } from '..'\nimport style from './autocomplete.scss?inline'\n\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n\t@property({ type: Boolean }) required\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String, reflect: true }) value = ''\n\t@property({ type: String, reflect: true }) label = ''\n\t@property({ type: String }) maxHeight = '25vh'\n\t@property({ type: Boolean }) multi = false\n\t@state() valueLabel = ''\n\tinputRef = createRef<HTMLInputElement>()\n\n\t@query('ul') ul!: HTMLUListElement\n\t@query('#empty') empty!: HTMLLIElement\n\t@query('#options') optionsContainer!: HTMLUListElement\n\t@query('schmancy-input') input!: SchmancyInput\n\n\t@queryAssignedElements({ flatten: true }) options!: SchmancyOption[]\n\n\tsearchTerm$ = new Subject<string>()\n\tsearchTermSubscription: any\n\n\tfirstUpdated() {\n\t\tthis.searchTermSubscription = this.searchTerm$\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(term => {\n\t\t\t\t\tconst searchTerm = term.trim().toLowerCase()\n\t\t\t\t\t// ... filter logic ...\n\t\t\t\t\tconst matches = this.options\n\t\t\t\t\t\t.map(option => {\n\t\t\t\t\t\t\tconst optionText = option.label.toLowerCase()\n\t\t\t\t\t\t\tconst levDistance = distance(searchTerm, optionText)\n\t\t\t\t\t\t\treturn { option, levDistance }\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t({ option, levDistance }) =>\n\t\t\t\t\t\t\t\tsearchTerm.length < 3 || levDistance <= option.label.toLowerCase().length - searchTerm.length,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.sort((a, b) => a.levDistance - b.levDistance)\n\n\t\t\t\t\tthis.empty.hidden = matches\n\t\t\t\t\t\t.map(({ option }) => {\n\t\t\t\t\t\t\toption.hidden = false\n\t\t\t\t\t\t\treturn option\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.some(option => !option.hidden)\n\n\t\t\t\t\tthis.options.forEach(option => {\n\t\t\t\t\t\toption.hidden = !matches.some(match => match.option === option)\n\t\t\t\t\t})\n\t\t\t\t\tthis.requestUpdate()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showOptions()\n\t\t\t})\n\n\t\tfromEvent<FocusEvent>(this, 'focusout')\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tfilter(e => (e.relatedTarget as SchmancyOption)?.tagName !== 'SCHMANCY-OPTION'),\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\t// --- Native Web Animations API replacement ---\n\t\t\t\t\tconst animation = this.ul.animate(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{ opacity: 1 }, // from\n\t\t\t\t\t\t\t{ opacity: 0 }, // to\n\t\t\t\t\t\t],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 250,\n\t\t\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\n\t\t\t\t\t// Turn the onfinish callback into a Promise so RxJS can `from(...)` it\n\t\t\t\t\tconst animationPromise = new Promise<void>(resolve => {\n\t\t\t\t\t\tanimation.onfinish = () => {\n\t\t\t\t\t\t\t// This is where you'd do your cleanup (like onComplete before)\n\t\t\t\t\t\t\tthis.ul?.style.setProperty('display', 'none')\n\t\t\t\t\t\t\tthis.ul?.style.setProperty('opacity', '1')\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\treturn from(animationPromise)\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: () => {\n\t\t\t\t\t// Once animation completes\n\t\t\t\t\tif (this.multi) {\n\t\t\t\t\t\tthis.inputRef.value?.setAttribute(\n\t\t\t\t\t\t\t'value',\n\t\t\t\t\t\t\tthis.options\n\t\t\t\t\t\t\t\t.filter(o => o.selected)\n\t\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t\t.join(', '),\n\t\t\t\t\t\t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.inputRef.value?.setAttribute('value', this.options.find(o => o.value === this.value)?.label ?? '')\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t})\n\n\t\tthis.updateInputValue()\n\t}\n\n\tupdateInputValue() {\n\t\trequestAnimationFrame(() => {\n\t\t\tif (this.multi) {\n\t\t\t\tconst selectedOptions = this.value.split(',').map(v => this.options.find(o => o.value === v)?.label)\n\t\t\t\tthis.input.value = selectedOptions.join(', ')\n\t\t\t} else {\n\t\t\t\tthis.input.value = this.options.find(o => o.value === this.value)?.label ?? ''\n\t\t\t}\n\t\t})\n\t}\n\n\tasync showOptions() {\n\t\tthis.ul?.removeAttribute('hidden')\n\t\tthis.ul?.style.setProperty('display', 'block')\n\n\t\t// Position the dropdown using Floating UI\n\t\tconst { x, y } = await computePosition(this.input, this.ul, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t})\n\n\t\tObject.assign(this.ul.style, {\n\t\t\tleft: `${x}px`,\n\t\t\ttop: `${y}px`,\n\t\t\tposition: 'absolute',\n\t\t\tzIndex: '9999',\n\t\t\tmaxHeight: this.maxHeight,\n\t\t\toverflowY: 'auto',\n\t\t})\n\t}\n\n\thideOptions() {\n\t\tthis.ul?.setAttribute('hidden', 'true')\n\t\tthis.ul?.style.setProperty('display', 'none')\n\t}\n\n\thandleInputChange(event: SchmancyInputChangeEvent) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t\tconst term = event.detail.value\n\t\tthis.searchTerm$.next(term)\n\t}\n\n\t@eventOptions({ passive: true })\n\thandleOptionClick(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (option) option.selected = !option.selected\n\t\t\tthis.updateInputValue()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value: this.options.filter(o => o.selected).map(o => o.value) },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t} else {\n\t\t\tthis.hideOptions()\n\t\t\tthis.value = value\n\t\t\tthis.updateInputValue()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tpublic reportValidity() {\n\t\treturn this.inputRef.value?.reportValidity()\n\t}\n\n\tpublic checkValidity() {\n\t\treturn this.multi ? this.options.some(o => o.selected) : !!this.value\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-2': true,\n\t\t}\n\t\tconst styles = {\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<slot name=\"trigger\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\tid=\"input\"\n\t\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t\t@focus=${this.showOptions}\n\t\t\t\t\t\tclickable\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tinputmode=\"text\"\n\t\t\t\t\t\tplaceholder=${this.placeholder}\n\t\t\t\t\t\t@change=${this.handleInputChange}\n\t\t\t\t\t>\n\t\t\t\t\t</schmancy-input>\n\t\t\t\t</slot>\n\t\t\t\t<ul\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\tstyle=${this.styleMap(styles)}\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\thidden\n\t\t\t\t\t@click=${(e: SchmancyOptionChangeEvent) => {\n\t\t\t\t\t\tthis.handleOptionClick(e.detail.value)\n\t\t\t\t\t}}\n\t\t\t\t\t@touchstart=${this.preventScroll}\n\t\t\t\t\t@touchmove=${this.preventScroll}\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<li id=\"empty\" tabindex=\"-1\">\n\t\t\t\t\t\t<schmancy-typography type=\"label\">No results found</schmancy-typography>\n\t\t\t\t\t</li>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis.empty.hidden = this.options.some(option => !option.hidden)\n\t\t\t\t\t\t\tthis.updateInputValue()\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n\n\tpreventScroll(event) {\n\t\tconst target = event.target\n\n\t\tif (this.optionsContainer.contains(target)) {\n\t\t\tconst scrollTop = this.optionsContainer.scrollTop\n\t\t\tconst scrollHeight = this.optionsContainer.scrollHeight\n\t\t\tconst offsetHeight = this.optionsContainer.offsetHeight\n\t\t\tconst contentHeight = scrollHeight - offsetHeight\n\n\t\t\tif (\n\t\t\t\t(scrollTop === 0 && event.touches[0].clientY > event.touches[0].clientY) ||\n\t\t\t\t(scrollTop === contentHeight && event.touches[0].clientY < event.touches[0].clientY)\n\t\t\t) {\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-autocomplete': SchmancyAutocomplete\n\t}\n}\n"],"names":["peq","Uint32Array","distance","a","b","length","tmp","n","m","lst","pv","mv","sc","i","charCodeAt","eq","xv","mhc","phc","hsize","Math","ceil","vsize","j","start","vlen","min","k","pb","mb","xh","ph","mh","score","SchmancyAutocomplete","$LitElement","constructor","super","arguments","this","placeholder","value","label","maxHeight","multi","valueLabel","inputRef","createRef","searchTerm$","Subject","searchTermSubscription","pipe","takeUntil","disconnecting","distinctUntilChanged","tap","term","searchTerm","trim","toLowerCase","matches","options","map","option","optionText","levDistance","filter","sort","empty","hidden","some","forEach","match","requestUpdate","subscribe","showOptions","fromEvent","e","relatedTarget","tagName","switchMap","animation","ul","animate","opacity","duration","easing","animationPromise","Promise","resolve","onfinish","style","setProperty","from","next","setAttribute","o","selected","join","find","updateInputValue","requestAnimationFrame","selectedOptions","split","v","input","removeAttribute","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","left","top","position","zIndex","overflowY","hideOptions","event","preventDefault","stopPropagation","detail","dispatchEvent","CustomEvent","bubbles","composed","reportValidity","styles","html","ref","required","handleInputChange","classMap","styleMap","handleOptionClick","preventScroll","color","bgColor","SchmancyTheme","sys","surface","container","target","optionsContainer","contains","scrollTop","contentHeight","scrollHeight","offsetHeight","touches","clientY","__decorateClass","property","type","Boolean","prototype","String","reflect","state","query","queryAssignedElements","flatten","eventOptions","passive","customElement"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-button-CP_pX4yw.cjs","sources":["../src/button/button.ts","../src/button/icon-button.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'outlined' | 'text'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-button')\nexport class SchmnacyButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: fit-content;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The variant of the button. Defaults to undefined.\n\t * @attr\n\t * @default 'filled'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button. Defaults to 'auto'.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width!: 'full' | 'auto'\n\n\t/**\n\t * The type of the button. Defaults to undefined.\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type!: 'button' | 'reset' | 'submit'\n\n\t/**\n\t * The URL the button points to.\n\t * @attr\n\t */\n\t@property()\n\tpublic href!: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['max-h-[24px]', 'max-w-[24px]', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'z-10 py-[8px] px-[16px] transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-1':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant == 'outlined' ||\n\t\t\t\t\tthis.variant == 'text' ||\n\t\t\t\t\tthis.variant == 'filled' ||\n\t\t\t\t\tthis.variant == 'filled tonal'),\n\t\t\t'hover:shadow-2': !this.disabled && this.variant == 'elevated',\n\t\t\t'w-full tex-center': this.width == 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-1': this.variant == 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant == 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant == 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant == 'filled tonal',\n\t\t\t'text-primary-default': this.variant == 'text',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'absolute inset-0 hover:opacity-[0.08] z-0 rounded-full': true,\n\t\t\t'hover:bg-primary-on': this.variant == 'filled',\n\t\t\t'hover:bg-primary-default': this.variant == 'outlined' || this.variant == 'elevated' || this.variant == 'text',\n\t\t\t'hover:bg-secondary-container': this.variant == 'filled tonal',\n\t\t}\n\t\treturn html`\n\t\t\t<button\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html` <div class=\"${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot> </slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmnacyButton\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement, PropertyValueMap } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { ButtonVariant } from './button'\n\n/**\n * A button component.\n * @element schmancy-icon-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-icon-button')\nexport class SchmnacyIconButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t@property({ type: String })\n\tpublic size: 'sm' | 'md' | 'lg' = 'md'\n\n\t/**\n\t * The variant of the button. Defaults to undefined.\n\t * @attr\n\t * @default 'filled'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button. Defaults to 'auto'.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width!: 'full' | 'auto'\n\n\t/**\n\t * The type of the button. Defaults to undefined.\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type!: 'button' | 'reset' | 'submit'\n\n\t/**\n\t * The URL the button points to.\n\t * @attr\n\t */\n\t@property()\n\tpublic href!: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full z-10 transition-all duration-200 relative rounded-full inline-flex justify-center items-center focus:outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'hover:shadow-1':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant == 'outlined' ||\n\t\t\t\t\tthis.variant == 'text' ||\n\t\t\t\t\tthis.variant == 'filled' ||\n\t\t\t\t\tthis.variant == 'filled tonal'),\n\t\t\t'hover:shadow-2': !this.disabled && this.variant == 'elevated',\n\t\t\t'w-full tex-center': this.width == 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-1': this.variant == 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant == 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant == 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant == 'filled tonal',\n\t\t\t'text-primary-default': this.variant == 'text',\n\t\t\t'px-[6px] py-[6px]': this.size == 'sm',\n\t\t\t'px-[8px] py-[8px]': this.size == 'md',\n\t\t\t'px-[12px] py-[12px]': this.size == 'lg',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] rounded-full z-0': true,\n\t\t\t'hover:bg-primary-on': this.variant == 'filled',\n\t\t\t'hover:bg-primary-default': this.variant == 'outlined' || this.variant == 'elevated' || this.variant == 'text',\n\t\t\t'hover:bg-secondary-container': this.variant == 'filled tonal',\n\t\t}\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html` <div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t\t<schmancy-icon size=${this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : '32px'}>\n\t\t\t\t\t<slot> </slot\n\t\t\t\t></schmancy-icon>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon-button': SchmnacyIconButton\n\t}\n}\n"],"names":["SchmnacyButton","$LitElement","css","super","arguments","this","variant","disabled","value","oldVal","_ariaLabel","hasAttribute","removeAttribute","requestUpdate","options","nativeElement","focus","blur","prefixImgs","forEach","img","classList","add","imgClasses","suffixImgs","dispatchEvent","Event","bubbles","composed","classes","width","stateLayerClasses","html","ifDefined","ariaLabel","classMap","type","undefined","when","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","query","prototype","property","reflect","String","Boolean","attribute","queryAssignedElements","slot","flatten","selector","customElement","SchmnacyIconButton","size","_changedProperties","render"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-button-tvckJDEE.js","sources":["../src/button/button.ts","../src/button/icon-button.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'outlined' | 'text'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-button')\nexport class SchmnacyButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: fit-content;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The variant of the button. Defaults to undefined.\n\t * @attr\n\t * @default 'filled'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button. Defaults to 'auto'.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width!: 'full' | 'auto'\n\n\t/**\n\t * The type of the button. Defaults to undefined.\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type!: 'button' | 'reset' | 'submit'\n\n\t/**\n\t * The URL the button points to.\n\t * @attr\n\t */\n\t@property()\n\tpublic href!: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['max-h-[24px]', 'max-w-[24px]', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'z-10 py-[8px] px-[16px] transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-1':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant == 'outlined' ||\n\t\t\t\t\tthis.variant == 'text' ||\n\t\t\t\t\tthis.variant == 'filled' ||\n\t\t\t\t\tthis.variant == 'filled tonal'),\n\t\t\t'hover:shadow-2': !this.disabled && this.variant == 'elevated',\n\t\t\t'w-full tex-center': this.width == 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-1': this.variant == 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant == 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant == 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant == 'filled tonal',\n\t\t\t'text-primary-default': this.variant == 'text',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'absolute inset-0 hover:opacity-[0.08] z-0 rounded-full': true,\n\t\t\t'hover:bg-primary-on': this.variant == 'filled',\n\t\t\t'hover:bg-primary-default': this.variant == 'outlined' || this.variant == 'elevated' || this.variant == 'text',\n\t\t\t'hover:bg-secondary-container': this.variant == 'filled tonal',\n\t\t}\n\t\treturn html`\n\t\t\t<button\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html` <div class=\"${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot> </slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmnacyButton\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement, PropertyValueMap } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { ButtonVariant } from './button'\n\n/**\n * A button component.\n * @element schmancy-icon-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-icon-button')\nexport class SchmnacyIconButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t@property({ type: String })\n\tpublic size: 'sm' | 'md' | 'lg' = 'md'\n\n\t/**\n\t * The variant of the button. Defaults to undefined.\n\t * @attr\n\t * @default 'filled'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button. Defaults to 'auto'.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width!: 'full' | 'auto'\n\n\t/**\n\t * The type of the button. Defaults to undefined.\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type!: 'button' | 'reset' | 'submit'\n\n\t/**\n\t * The URL the button points to.\n\t * @attr\n\t */\n\t@property()\n\tpublic href!: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full z-10 transition-all duration-200 relative rounded-full inline-flex justify-center items-center focus:outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'hover:shadow-1':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(this.variant == 'outlined' ||\n\t\t\t\t\tthis.variant == 'text' ||\n\t\t\t\t\tthis.variant == 'filled' ||\n\t\t\t\t\tthis.variant == 'filled tonal'),\n\t\t\t'hover:shadow-2': !this.disabled && this.variant == 'elevated',\n\t\t\t'w-full tex-center': this.width == 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-1': this.variant == 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': this.variant == 'outlined',\n\t\t\t'bg-primary-default text-primary-on': this.variant == 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': this.variant == 'filled tonal',\n\t\t\t'text-primary-default': this.variant == 'text',\n\t\t\t'px-[6px] py-[6px]': this.size == 'sm',\n\t\t\t'px-[8px] py-[8px]': this.size == 'md',\n\t\t\t'px-[12px] py-[12px]': this.size == 'lg',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] rounded-full z-0': true,\n\t\t\t'hover:bg-primary-on': this.variant == 'filled',\n\t\t\t'hover:bg-primary-default': this.variant == 'outlined' || this.variant == 'elevated' || this.variant == 'text',\n\t\t\t'hover:bg-secondary-container': this.variant == 'filled tonal',\n\t\t}\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html` <div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t\t<schmancy-icon size=${this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : '32px'}>\n\t\t\t\t\t<slot> </slot\n\t\t\t\t></schmancy-icon>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon-button': SchmnacyIconButton\n\t}\n}\n"],"names":["SchmnacyButton","$LitElement","css","super","arguments","this","variant","disabled","value","oldVal","_ariaLabel","hasAttribute","removeAttribute","requestUpdate","options","nativeElement","focus","blur","prefixImgs","forEach","img","classList","add","imgClasses","suffixImgs","dispatchEvent","Event","bubbles","composed","classes","width","stateLayerClasses","html","ifDefined","ariaLabel","classMap","type","undefined","when","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","query","prototype","property","reflect","String","Boolean","attribute","queryAssignedElements","slot","flatten","selector","customElement","SchmnacyIconButton","size","_changedProperties","render"],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- "use strict";const o=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const b=require("./tailwind.mixin-ivf7aKpx.cjs"),d=require("./ripple-C2BHbhcS.cjs"),a=require("./theme.interface-Xg5Zi46a.cjs"),l=require("lit"),i=require("lit/decorators.js"),s=require("lit/directives/if-defined.js"),m=require("lit/directives/ref.js"),f=require("lit/directives/when.js");var g=Object.defineProperty,v=Object.getOwnPropertyDescriptor,r=(e,n,u,h)=>{for(var c,p=h>1?void 0:h?v(n,u):n,y=e.length-1;y>=0;y--)(c=e[y])&&(p=(h?c(n,u,p):c(p))||p);return h&&p&&g(n,u,p),p};let t=class extends b.TailwindElement(":host{border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important;width:-webkit-fill-available}:host:focus{box-shadow:unset!important}input:focus-visible{outline:none!important}input{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-shadow:inherit;text-overflow:inherit;text-rendering:inherit;text-size-adjust:inherit;text-align-last:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@keyframes onAutoFillStart{}input:-webkit-autofill{animation-name:onAutoFillStart}"){constructor(){super(),this.label="",this.type="text",this.clickable=!1,this.name="name_"+Date.now(),this.placeholder="",this.value="",this.required=!1,this.disabled=!1,this.readonly=!1,this.spellcheck=!1,this.align="left",this.autocomplete="off",this.tabIndex=0,this.error=!1,this.inputRef=m.createRef();try{this.internals=this.attachInternals()}catch{this.internals=void 0}}get form(){var e;return(e=this.internals)==null?void 0:e.form}reportValidity(){var e;return(e=this.inputRef.value)==null?void 0:e.reportValidity()}checkValidity(){var e;return(e=this.inputRef.value)==null?void 0:e.checkValidity()}setCustomValidity(e){var n;return(n=this.inputRef.value)==null?void 0:n.setCustomValidity(e)}firstUpdated(){this.autofocus&&this.focus(),o.fromEvent(this.inputElement,"input").pipe(o.map(e=>e.target.value),o.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0}))}),o.fromEvent(this.inputElement,"change").pipe(o.map(e=>e.target.value),o.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0}))}),o.fromEvent(this.inputElement,"keyup").pipe(o.filter(e=>e.key==="Enter"),o.map(e=>e.target.value),o.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("enter",{detail:{value:e},bubbles:!0,composed:!0}))}),o.fromEvent(this.inputElement,"animationstart").pipe(o.filter(e=>e.animationName==="onAutoFillStart"),o.map(e=>e.target.value)).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0}))})}select(){var e;return(e=this.inputRef.value)==null?void 0:e.select()}validity(){var e;return(e=this.inputRef.value)==null?void 0:e.validity}focus(e={preventScroll:!0}){var n;(n=this.inputRef.value)==null||n.focus(e),this.dispatchEvent(new Event("focus"))}click(){var e;(e=this.inputRef.value)==null||e.click(),this.dispatchEvent(new Event("click"))}blur(){var e;(e=this.inputRef.value)==null||e.blur(),this.dispatchEvent(new Event("blur"))}render(){const e={"w-full flex-1 h-[50px] rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px]":!0,"disabled:opacity-40 disabled:cursor-not-allowed":!0,"placeholder:text-muted":!0,"ring-0 ring-inset focus:ring-1 focus:ring-inset":!0,"ring-primary-default ring-outline focus:ring-primary-default":!this.error,"ring-error-default focus:ring-error-default":this.error,"caret-transparent focus:outline-hidden cursor-pointer text-select-none":this.readonly,"cursor-pointer":this.clickable,"text-center":this.align==="center","text-right":this.align==="right"},n={"opacity-40":this.disabled,"block mb-[4px]":!0};return l.html`
2
- ${f.when(this.label,()=>l.html`<label
3
- ${d.color({color:this.error?a.SchmancyTheme.sys.color.error.default:a.SchmancyTheme.sys.color.primary.default})}
4
- class="${this.classMap(n)}"
5
- for=${this.id}
6
- >
7
- <schmancy-typography type="label" token="lg">${this.label}</schmancy-typography>
8
- </label>`)}
9
-
10
- <input
11
- ${d.color({bgColor:a.SchmancyTheme.sys.color.surface.highest,color:a.SchmancyTheme.sys.color.surface.on})}
12
- ${m.ref(this.inputRef)}
13
- .value=${this.value}
14
- .id=${this.id}
15
- .name=${this.name}
16
- .type=${this.type}
17
- step=${s.ifDefined(this.step)}
18
- .autocomplete=${this.autocomplete}
19
- .placeholder=${this.placeholder}
20
- .required=${this.required}
21
- inputmode=${s.ifDefined(this.inputmode)}
22
- class=${this.classMap(e)}
23
- .disabled=${this.disabled}
24
- .readOnly=${this.readonly}
25
- min=${s.ifDefined(this.min)}
26
- max=${s.ifDefined(this.max)}
27
- minlength=${s.ifDefined(this.minlength)}
28
- maxlength=${s.ifDefined(this.maxlength)}
29
- .pattern=${s.ifDefined(this.pattern)??l.nothing}
30
- />
31
- ${f.when(this.hint,()=>l.html`
32
- <schmancy-typography
33
- ${d.color({color:this.error?a.SchmancyTheme.sys.color.error.default:a.SchmancyTheme.sys.color.primary.default})}
34
- class="pt-[4px]"
35
- type="body"
36
- token="sm"
37
- >
38
- ${this.hint}
39
- </schmancy-typography>
40
- `)}
41
- `}};t.shadowRootOptions={...l.LitElement.shadowRootOptions,delegatesFocus:!0},t.formAssociated=!0,r([i.property()],t.prototype,"label",2),r([i.property({reflect:!0})],t.prototype,"type",2),r([i.property({type:Boolean,reflect:!0})],t.prototype,"clickable",2),r([i.property()],t.prototype,"name",2),r([i.property()],t.prototype,"placeholder",2),r([i.property({type:String,reflect:!0})],t.prototype,"value",2),r([i.property({type:String,reflect:!0})],t.prototype,"pattern",2),r([i.property({type:Boolean,reflect:!0})],t.prototype,"required",2),r([i.property({type:Boolean,reflect:!0})],t.prototype,"disabled",2),r([i.property({type:Boolean,reflect:!0})],t.prototype,"readonly",2),r([i.property({type:Boolean,reflect:!0})],t.prototype,"spellcheck",2),r([i.property({type:String,reflect:!0})],t.prototype,"align",2),r([i.property()],t.prototype,"inputmode",2),r([i.property({type:Number})],t.prototype,"minlength",2),r([i.property({type:Number})],t.prototype,"maxlength",2),r([i.property()],t.prototype,"min",2),r([i.property()],t.prototype,"max",2),r([i.property({type:Number,reflect:!0})],t.prototype,"step",2),r([i.property({type:Boolean})],t.prototype,"autofocus",2),r([i.property()],t.prototype,"autocomplete",2),r([i.property({type:Number})],t.prototype,"tabIndex",2),r([i.query("input")],t.prototype,"inputElement",2),r([i.property()],t.prototype,"hint",2),r([i.property({type:Boolean,reflect:!0})],t.prototype,"error",2),t=r([i.customElement("schmancy-input")],t);
42
- //# sourceMappingURL=input-BH04wAXW.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-BH04wAXW.cjs","sources":["../src/input/input.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html, nothing } 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 './input.scss?inline'\n@customElement('schmancy-input')\nexport default class SchmancyInput extends TailwindElement(style) {\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 type of the control.\n\t * @attr\n\t * @type {'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url' | 'date' | 'datetime' | 'time' | 'month' | 'week' | 'color' | 'file'}\n\t * @default 'text'\n\t * @public\n\t **/\n\t@property({ reflect: true }) public type:\n\t\t| 'email'\n\t\t| 'number'\n\t\t| 'password'\n\t\t| 'search'\n\t\t| 'tel'\n\t\t| 'text'\n\t\t| 'url'\n\t\t| 'date'\n\t\t| 'datetime'\n\t\t| 'time'\n\t\t| 'month'\n\t\t| 'week'\n\t\t| 'color'\n\t\t| 'file' = 'text'\n\n\t@property({ type: Boolean, reflect: true }) public clickable = false\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 pattern attribute of the control.\n\t * @attr\n\t * @type {string}\n\t * @default undefiend\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) pattern\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\t/**\n\t * The inputmode attribute of the control.\n\t * @attr\n\t * @type {'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'}\n\t * @default 'none'\n\t * @public\n\t */\n\t@property() public inputmode!: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'\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 min attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic min!: string\n\n\t/**\n\t * The max attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic max!: string\n\n\t/**\n\t * The step attribute of the control.\n\t * @attr\n\t */\n\t@property({\n\t\ttype: Number,\n\t\treflect: true,\n\t})\n\tpublic step!: number\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/**\n\t * The autocomplete attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic autocomplete: AutoFill = 'off'\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('input') inputElement!: HTMLInputElement\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\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\tinputRef = createRef<HTMLInputElement>()\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.inputRef.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.inputRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.inputRef.value?.setCustomValidity(message)\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tfromEvent(this.inputElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLInputElement).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})\n\t\tfromEvent(this.inputElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLInputElement).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})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.inputElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLInputElement).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\tfromEvent<AnimationEvent>(this.inputElement, 'animationstart')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => (event as AnimationEvent).animationName === 'onAutoFillStart'),\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\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})\n\t}\n\n\t/** Selects all text within the input. */\n\tpublic select() {\n\t\treturn this.inputRef.value?.select()\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.inputRef.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.inputRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.inputRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.inputRef.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 flex-1 h-[50px] rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px]': 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'caret-transparent focus:outline-hidden cursor-pointer text-select-none': this.readonly,\n\t\t\t'cursor-pointer': this.clickable,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t// read only\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\treturn html`\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<input\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t})}\n\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t.value=${this.value}\n\t\t\t\t.id=${this.id}\n\t\t\t\t.name=${this.name}\n\t\t\t\t.type=${this.type}\n\t\t\t\tstep=${ifDefined(this.step)}\n\t\t\t\t.autocomplete=${this.autocomplete}\n\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t.required=${this.required}\n\t\t\t\tinputmode=${ifDefined(this.inputmode)}\n\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t.readOnly=${this.readonly}\n\t\t\t\tmin=${ifDefined(this.min)}\n\t\t\t\tmax=${ifDefined(this.max)}\n\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t.pattern=${ifDefined(this.pattern) ?? nothing}\n\t\t\t/>\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`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyInputChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input': SchmancyInput\n\t}\n}\n"],"names":["SchmancyInput","TailwindElement","constructor","super","this","label","type","clickable","name","Date","now","placeholder","value","required","disabled","readonly","spellcheck","align","autocomplete","tabIndex","error","inputRef","createRef","internals","attachInternals","undefined","form","reportValidity","checkValidity","message","setCustomValidity","autofocus","focus","fromEvent","inputElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","animationName","select","validity","options","preventScroll","Event","click","blur","classes","labelClasses","html","when","color","SchmancyTheme","sys","default","primary","classMap","id","bgColor","surface","highest","on","ref","ifDefined","step","inputmode","min","max","minlength","maxlength","pattern","nothing","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","reflect","Boolean","String","Number","query","customElement"],"mappings":"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"}
@@ -1,118 +0,0 @@
1
- import { fromEvent as l, map as h, distinctUntilChanged as d, filter as b } from "rxjs";
2
- import "lit/directives/class-map.js";
3
- import "lit/directives/style-map.js";
4
- import { T as v } from "./tailwind.mixin-DaorKUB-.js";
5
- import { c as y } from "./ripple-BumgqsDT.js";
6
- import { S as a } from "./theme.interface-C5Kj6WjD.js";
7
- import { html as f, nothing as x, LitElement as $ } from "lit";
8
- import { property as r, query as w, customElement as E } from "lit/decorators.js";
9
- import { ifDefined as s } from "lit/directives/if-defined.js";
10
- import { createRef as k, ref as R } from "lit/directives/ref.js";
11
- import { when as g } from "lit/directives/when.js";
12
- var C = Object.defineProperty, S = Object.getOwnPropertyDescriptor, i = (t, o, u, p) => {
13
- for (var c, n = p > 1 ? void 0 : p ? S(o, u) : o, m = t.length - 1; m >= 0; m--) (c = t[m]) && (n = (p ? c(o, u, n) : c(n)) || n);
14
- return p && n && C(o, u, n), n;
15
- };
16
- let e = class extends v(":host{border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important;width:-webkit-fill-available}:host:focus{box-shadow:unset!important}input:focus-visible{outline:none!important}input{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-shadow:inherit;text-overflow:inherit;text-rendering:inherit;text-size-adjust:inherit;text-align-last:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@keyframes onAutoFillStart{}input:-webkit-autofill{animation-name:onAutoFillStart}") {
17
- constructor() {
18
- super(), this.label = "", this.type = "text", this.clickable = !1, this.name = "name_" + Date.now(), this.placeholder = "", this.value = "", this.required = !1, this.disabled = !1, this.readonly = !1, this.spellcheck = !1, this.align = "left", this.autocomplete = "off", this.tabIndex = 0, this.error = !1, this.inputRef = k();
19
- try {
20
- this.internals = this.attachInternals();
21
- } catch {
22
- this.internals = void 0;
23
- }
24
- }
25
- get form() {
26
- var t;
27
- return (t = this.internals) == null ? void 0 : t.form;
28
- }
29
- reportValidity() {
30
- var t;
31
- return (t = this.inputRef.value) == null ? void 0 : t.reportValidity();
32
- }
33
- checkValidity() {
34
- var t;
35
- return (t = this.inputRef.value) == null ? void 0 : t.checkValidity();
36
- }
37
- setCustomValidity(t) {
38
- var o;
39
- return (o = this.inputRef.value) == null ? void 0 : o.setCustomValidity(t);
40
- }
41
- firstUpdated() {
42
- this.autofocus && this.focus(), l(this.inputElement, "input").pipe(h((t) => t.target.value), d()).subscribe((t) => {
43
- this.value = t, this.dispatchEvent(new CustomEvent("change", { detail: { value: t }, bubbles: !0, composed: !0 }));
44
- }), l(this.inputElement, "change").pipe(h((t) => t.target.value), d()).subscribe((t) => {
45
- this.value = t, this.dispatchEvent(new CustomEvent("change", { detail: { value: t }, bubbles: !0, composed: !0 }));
46
- }), l(this.inputElement, "keyup").pipe(b((t) => t.key === "Enter"), h((t) => t.target.value), d()).subscribe((t) => {
47
- this.value = t, this.dispatchEvent(new CustomEvent("change", { detail: { value: t }, bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("enter", { detail: { value: t }, bubbles: !0, composed: !0 }));
48
- }), l(this.inputElement, "animationstart").pipe(b((t) => t.animationName === "onAutoFillStart"), h((t) => t.target.value)).subscribe((t) => {
49
- this.value = t, this.dispatchEvent(new CustomEvent("change", { detail: { value: t }, bubbles: !0, composed: !0 }));
50
- });
51
- }
52
- select() {
53
- var t;
54
- return (t = this.inputRef.value) == null ? void 0 : t.select();
55
- }
56
- validity() {
57
- var t;
58
- return (t = this.inputRef.value) == null ? void 0 : t.validity;
59
- }
60
- focus(t = { preventScroll: !0 }) {
61
- var o;
62
- (o = this.inputRef.value) == null || o.focus(t), this.dispatchEvent(new Event("focus"));
63
- }
64
- click() {
65
- var t;
66
- (t = this.inputRef.value) == null || t.click(), this.dispatchEvent(new Event("click"));
67
- }
68
- blur() {
69
- var t;
70
- (t = this.inputRef.value) == null || t.blur(), this.dispatchEvent(new Event("blur"));
71
- }
72
- render() {
73
- const t = { "w-full flex-1 h-[50px] rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px]": !0, "disabled:opacity-40 disabled:cursor-not-allowed": !0, "placeholder:text-muted": !0, "ring-0 ring-inset focus:ring-1 focus:ring-inset": !0, "ring-primary-default ring-outline focus:ring-primary-default": !this.error, "ring-error-default focus:ring-error-default": this.error, "caret-transparent focus:outline-hidden cursor-pointer text-select-none": this.readonly, "cursor-pointer": this.clickable, "text-center": this.align === "center", "text-right": this.align === "right" }, o = { "opacity-40": this.disabled, "block mb-[4px]": !0 };
74
- return f`
75
- ${g(this.label, () => f`<label
76
- ${y({ color: this.error ? a.sys.color.error.default : a.sys.color.primary.default })}
77
- class="${this.classMap(o)}"
78
- for=${this.id}
79
- >
80
- <schmancy-typography type="label" token="lg">${this.label}</schmancy-typography>
81
- </label>`)}
82
-
83
- <input
84
- ${y({ bgColor: a.sys.color.surface.highest, color: a.sys.color.surface.on })}
85
- ${R(this.inputRef)}
86
- .value=${this.value}
87
- .id=${this.id}
88
- .name=${this.name}
89
- .type=${this.type}
90
- step=${s(this.step)}
91
- .autocomplete=${this.autocomplete}
92
- .placeholder=${this.placeholder}
93
- .required=${this.required}
94
- inputmode=${s(this.inputmode)}
95
- class=${this.classMap(t)}
96
- .disabled=${this.disabled}
97
- .readOnly=${this.readonly}
98
- min=${s(this.min)}
99
- max=${s(this.max)}
100
- minlength=${s(this.minlength)}
101
- maxlength=${s(this.maxlength)}
102
- .pattern=${s(this.pattern) ?? x}
103
- />
104
- ${g(this.hint, () => f`
105
- <schmancy-typography
106
- ${y({ color: this.error ? a.sys.color.error.default : a.sys.color.primary.default })}
107
- class="pt-[4px]"
108
- type="body"
109
- token="sm"
110
- >
111
- ${this.hint}
112
- </schmancy-typography>
113
- `)}
114
- `;
115
- }
116
- };
117
- e.shadowRootOptions = { ...$.shadowRootOptions, delegatesFocus: !0 }, e.formAssociated = !0, i([r()], e.prototype, "label", 2), i([r({ reflect: !0 })], e.prototype, "type", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "clickable", 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: String, reflect: !0 })], e.prototype, "pattern", 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()], e.prototype, "inputmode", 2), i([r({ type: Number })], e.prototype, "minlength", 2), i([r({ type: Number })], e.prototype, "maxlength", 2), i([r()], e.prototype, "min", 2), i([r()], e.prototype, "max", 2), i([r({ type: Number, reflect: !0 })], e.prototype, "step", 2), i([r({ type: Boolean })], e.prototype, "autofocus", 2), i([r()], e.prototype, "autocomplete", 2), i([r({ type: Number })], e.prototype, "tabIndex", 2), i([w("input")], e.prototype, "inputElement", 2), i([r()], e.prototype, "hint", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "error", 2), e = i([E("schmancy-input")], e);
118
- //# sourceMappingURL=input-Dxk8fmQJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-Dxk8fmQJ.js","sources":["../src/input/input.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html, nothing } 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 './input.scss?inline'\n@customElement('schmancy-input')\nexport default class SchmancyInput extends TailwindElement(style) {\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 type of the control.\n\t * @attr\n\t * @type {'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url' | 'date' | 'datetime' | 'time' | 'month' | 'week' | 'color' | 'file'}\n\t * @default 'text'\n\t * @public\n\t **/\n\t@property({ reflect: true }) public type:\n\t\t| 'email'\n\t\t| 'number'\n\t\t| 'password'\n\t\t| 'search'\n\t\t| 'tel'\n\t\t| 'text'\n\t\t| 'url'\n\t\t| 'date'\n\t\t| 'datetime'\n\t\t| 'time'\n\t\t| 'month'\n\t\t| 'week'\n\t\t| 'color'\n\t\t| 'file' = 'text'\n\n\t@property({ type: Boolean, reflect: true }) public clickable = false\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 pattern attribute of the control.\n\t * @attr\n\t * @type {string}\n\t * @default undefiend\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) pattern\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\t/**\n\t * The inputmode attribute of the control.\n\t * @attr\n\t * @type {'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'}\n\t * @default 'none'\n\t * @public\n\t */\n\t@property() public inputmode!: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'\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 min attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic min!: string\n\n\t/**\n\t * The max attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic max!: string\n\n\t/**\n\t * The step attribute of the control.\n\t * @attr\n\t */\n\t@property({\n\t\ttype: Number,\n\t\treflect: true,\n\t})\n\tpublic step!: number\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/**\n\t * The autocomplete attribute of the control.\n\t * @attr\n\t */\n\t@property()\n\tpublic autocomplete: AutoFill = 'off'\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('input') inputElement!: HTMLInputElement\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\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\tinputRef = createRef<HTMLInputElement>()\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.inputRef.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.inputRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.inputRef.value?.setCustomValidity(message)\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tfromEvent(this.inputElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLInputElement).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})\n\t\tfromEvent(this.inputElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLInputElement).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})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.inputElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLInputElement).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\tfromEvent<AnimationEvent>(this.inputElement, 'animationstart')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => (event as AnimationEvent).animationName === 'onAutoFillStart'),\n\t\t\t\tmap(event => (event.target as HTMLInputElement).value),\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})\n\t}\n\n\t/** Selects all text within the input. */\n\tpublic select() {\n\t\treturn this.inputRef.value?.select()\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.inputRef.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.inputRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.inputRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.inputRef.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 flex-1 h-[50px] rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px]': 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'caret-transparent focus:outline-hidden cursor-pointer text-select-none': this.readonly,\n\t\t\t'cursor-pointer': this.clickable,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t// read only\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\treturn html`\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<input\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t})}\n\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t.value=${this.value}\n\t\t\t\t.id=${this.id}\n\t\t\t\t.name=${this.name}\n\t\t\t\t.type=${this.type}\n\t\t\t\tstep=${ifDefined(this.step)}\n\t\t\t\t.autocomplete=${this.autocomplete}\n\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t.required=${this.required}\n\t\t\t\tinputmode=${ifDefined(this.inputmode)}\n\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t.readOnly=${this.readonly}\n\t\t\t\tmin=${ifDefined(this.min)}\n\t\t\t\tmax=${ifDefined(this.max)}\n\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t.pattern=${ifDefined(this.pattern) ?? nothing}\n\t\t\t/>\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`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyInputChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input': SchmancyInput\n\t}\n}\n"],"names":["SchmancyInput","TailwindElement","constructor","super","this","label","type","clickable","name","Date","now","placeholder","value","required","disabled","readonly","spellcheck","align","autocomplete","tabIndex","error","inputRef","createRef","internals","attachInternals","undefined","form","reportValidity","checkValidity","message","setCustomValidity","firstUpdated","autofocus","focus","fromEvent","inputElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","animationName","select","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","html","when","color","SchmancyTheme","sys","default","primary","classMap","id","bgColor","surface","highest","on","ref","ifDefined","step","inputmode","min","max","minlength","maxlength","pattern","nothing","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","reflect","Boolean","String","Number","query","customElement"],"mappings":";;;;;;;;;;;;;;;AAWA,IAAqBA,IAArB,cAA2CC;EAmJ1C,cAAAC;AACOC,UA5IaC,GAAAA,KAAAC,QAAA,IASSD,KAAOE,OAcxB,QAEgCF,KAAOG,YAAAA,IAShCH,KAAAI,OAAA,UAAUC,KAAKC,IASRN,GAAAA,KAAAO,cAAA,IASiBP,KAAOQ,QAAQ,IAUHR,KAAAS,WAAA,IACAT,KAAAU,WAAA,IACAV,KAAAW,WAAAA,IACEX,KAAAY,iBAEuBZ,KAAAa,QAAA,QA8DhFb,KAAOc,eAAyB,OAEhCd,KAAgBe,WAAW,GAMiBf,KAAOgB,QAAQ,IAiB3DhB,KAAAiB,WAAWC,EAAAA;AAbN;AACElB,WAAAmB,YAAYnB,KAAKoB,gBAAgB;AAAA,IAAA,QAEtCpB;AAAAA,WAAKmB,YAAYE;AAAAA,IAAA;AAAA,EAClB;AAAA,EAUD,IAAA,OACC;;AAAA,YAAOrB,IAAAA,KAAKmB,cAALnB,gBAAAA,EAAgBsB;AAAAA,EAAA;AAAA,EAIjB,iBACC;;AAAA,YAAAtB,IAAAA,KAAKiB,SAAST,UAAdR,gBAAAA,EAAqBuB;AAAAA,EAAe;AAAA,EAIrC,gBACC;;AAAA,YAAAvB,IAAAA,KAAKiB,SAAST,UAAdR,gBAAAA,EAAqBwB;AAAAA,EAAc;AAAA,EAIpC,kBAAkBC;;AACxB,YAAOzB,IAAAA,KAAKiB,SAAST,UAAdR,gBAAAA,EAAqB0B,kBAAkBD;AAAAA,EAAO;AAAA,EAGtD,eAAAE;AACK3B,SAAK4B,aACR5B,KAAK6B,MAAAA,GAEIC,EAAA9B,KAAK+B,cAAc,SAC3BC,KACAC,EAAIC,OAAUA,EAAMC,OAA4B3B,KAChD4B,GAAAA,EAAAA,CAAAA,EAEAC,UAAmB7B,OAAAA;AACnBR,WAAKQ,QAAQA,GACRR,KAAAsC,cACJ,IAAIC,YAA0B,UAAU,EACvCC,QAAQ,EAAEhC,OAAAA,EAAAA,GACViC,SAAS,IACTC,aAEF,CAAA,CAAA;AAAA,IAAA,CAAA,GAEQZ,EAAA9B,KAAK+B,cAAc,UAC3BC,KACAC,EAAIC,OAAUA,EAAMC,OAA4B3B,KAAAA,GAChD4B,KAEAC,UAAmB7B,OAAAA;AACnBR,WAAKQ,QAAQA,GACRR,KAAAsC,cACJ,IAAIC,YAA0B,UAAU,EACvCC,QAAQ,EAAEhC,YACViC,SAAS,IACTC,aAEF,CAAA,CAAA;AAAA,IAAA,CAAA,GAGuBZ,EAAA9B,KAAK+B,cAAc,OAC1CC,EAAAA,KACAW,EAAOT,OAASA,EAAMU,QAAQ,OAARA,GACtBX,EAAIC,OAAUA,EAAMC,OAA4B3B,QAChD4B,EAEAC,CAAAA,EAAAA,UAAmB7B,OACnBR;AAAAA,WAAKQ,QAAQA,GACRR,KAAAsC,cACJ,IAAIC,YAA0B,UAAU,EACvCC,QAAQ,EAAEhC,OAAAA,EAAAA,GACViC,SAAS,IACTC,UAAU,GAAA,CAAA,CAAA,GAGP1C,KAAAsC,cACJ,IAAIC,YAA0B,SAAS,EACtCC,QAAQ,EAAEhC,OACViC,EAAAA,GAAAA,SAAAA,IACAC,UAAAA,GAEF,CAAA,CAAA;AAAA,IAAA,CAAA,GAEwBZ,EAAA9B,KAAK+B,cAAc,kBAC3CC,KACAW,EAAOT,OAAUA,EAAyBW,kBAAkB,iBAC5DZ,GAAAA,EAAIC,OAAUA,EAAMC,OAA4B3B,KAEhD6B,CAAAA,EAAAA,UAAmB7B,OACnBR;AAAAA,WAAKQ,QAAQA,GACRR,KAAAsC,cACJ,IAAIC,YAA0B,UAAU,EACvCC,QAAQ,EAAEhC,OACViC,EAAAA,GAAAA,SAAAA,IACAC,UAAU,GAAA,CAAA,CAAA;AAAA,IAEZ;EACA;AAAA,EAII,SACC;;AAAA,YAAA1C,IAAAA,KAAKiB,SAAST,UAAdR,gBAAAA,EAAqB8C;AAAAA,EAAO;AAAA,EAG7B,WAAAC;;AACC,YAAA/C,IAAAA,KAAKiB,SAAST,UAAdR,gBAAAA,EAAqB+C;AAAAA,EAAA;AAAA,EAGb,MACfC,IAAwB,EACvBC,eAAe,GAAA,GAAA;;AAGXjD,KAAAA,IAAAA,KAAAiB,SAAST,UAATR,QAAAA,EAAgB6B,MAAMmB,IAC3BhD,KAAKsC,cAAc,IAAIY,MAAM,OAAA,CAAA;AAAA,EAAQ;AAAA,EAGtB,QAAAC;;AACVnD,KAAAA,IAAAA,KAAAiB,SAAST,UAATR,QAAAA,EAAgBmD,SACrBnD,KAAKsC,cAAc,IAAIY,MAAM,OAAA,CAAA;AAAA,EAAQ;AAAA,EAGtB;;AACVlD,KAAAA,IAAAA,KAAAiB,SAAST,UAATR,QAAAA,EAAgBoD,QACrBpD,KAAKsC,cAAc,IAAIY,MAAM,MAAO,CAAA;AAAA,EAAA;AAAA,EAG3B,SAAAG;AACT,UAAMC,IAAU,EACf,oFAAoF,IACpF,mDAAmD,IACnD,8BACA,mDAAA,IACA,gEAAA,CAAiEtD,KAAKgB,OACtE,+CAA+ChB,KAAKgB,OACpD,0EAA0EhB,KAAKW,UAC/E,kBAAkBX,KAAKG,WACvB,eAAeH,KAAKa,UAAU,UAC9B,cAAcb,KAAKa,UAAU,QAGxB0C,GAAAA,IAAe,EACpB,cAAcvD,KAAKU,UACnB,kBAAA,GAEM;AAAA,WAAA8C;AAAAA,KACJC,EACDzD,KAAKC,OACL,MACCuD;AAAAA,QACGE,EAAM,EACPA,OAAO1D,KAAKgB,QAAQ2C,EAAcC,IAAIF,MAAM1C,MAAM6C,UAAUF,EAAcC,IAAIF,MAAMI,QAAQD,QAAAA,CAAAA,CAAAA;AAAAA,eAEpF7D,KAAK+D,SAASR,CAAAA,CAAAA;AAAAA,YACjBvD,KAAKgE,EAAAA;AAAAA;AAAAA,qDAEoChE,KAAKC,KAAAA;AAAAA;;;MAKpDyD,EAAM,EACPO,SAASN,EAAcC,IAAIF,MAAMQ,QAAQC,SACzCT,OAAOC,EAAcC,IAAIF,MAAMQ,QAAQE,GAAAA,CAAAA,CAAAA;AAAAA,MAEtCC,EAAIrE,KAAKiB,QAAAA,CAAAA;AAAAA,aACFjB,KAAKQ,KAAAA;AAAAA,UACRR,KAAKgE,EAAAA;AAAAA,YACHhE,KAAKI,IAAAA;AAAAA,YACLJ,KAAKE,IAAAA;AAAAA,WACNoE,EAAUtE,KAAKuE,IAAAA,CAAAA;AAAAA,oBACNvE,KAAKc,YAAAA;AAAAA,mBACNd,KAAKO,WAAAA;AAAAA,gBACRP,KAAKS,QAAAA;AAAAA,gBACL6D,EAAUtE,KAAKwE,SAAAA,CAAAA;AAAAA,YACnBxE,KAAK+D,SAAST,CAAAA,CAAAA;AAAAA,gBACVtD,KAAKU,QAAAA;AAAAA,gBACLV,KAAKW,QAAAA;AAAAA,UACX2D,EAAUtE,KAAKyE,GAAAA,CAAAA;AAAAA,UACfH,EAAUtE,KAAK0E,GAAAA,CAAAA;AAAAA,gBACTJ,EAAUtE,KAAK2E,SAAAA,CAAAA;AAAAA,gBACfL,EAAUtE,KAAK4E,SAAAA,CAAAA;AAAAA,eAChBN,EAAUtE,KAAK6E,OAAYC,KAAAA,CAAAA;AAAAA;AAAAA,KAErCrB,EACDzD,KAAK+E,MACL,MAAMvB;AAAAA;AAAAA,QAEFE,EAAM,EACPA,OAAO1D,KAAKgB,QAAQ2C,EAAcC,IAAIF,MAAM1C,MAAM6C,UAAUF,EAAcC,IAAIF,MAAMI,QAAQD,QAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAM3F7D,KAAK+E,IAAAA;AAAAA;AAAAA;;EAGT;AApWiBnF;AAAAA,EA2JHoF,oBAAoB,EAAA,GACjCC,EAAWD,mBACdE,gBAAgB,GAAA,GA7JGtF,EA+JbuF,iBAAAA,IAvJKC,EAAA,CAAXC,EAAAA,CAAAA,GARmBzF,EAQR0F,WAAA,SAAA,CAAA,GASwBF,EAAA,CAAnCC,EAAS,EAAEE,SAAS,GAAA,CAAA,CAAA,GAjBD3F,EAiBgB0F,WAAA,QAAA,CAAA,GAgBeF,EAAA,CAAlDC,EAAS,EAAEnF,MAAMsF,SAASD,SAAS,GAAA,CAAA,CAAA,GAjChB3F,EAiC+B0F,WAAA,aAAA,CAAA,GASvCF,EAAA,CAAXC,EA1CmBzF,CAAAA,GAAAA,EA0CR0F,WAAA,QAAA,CASAF,GAAAA,EAAA,CAAXC,EAAAA,CAAAA,GAnDmBzF,EAmDR0F,WAAA,eAAA,CAAA,GASsCF,EAAA,CAAjDC,EAAS,EAAEnF,MAAMuF,QAAQF,SAAS,GAAA,CAAA,CAAA,GA5Df3F,EA4D8B0F,WAAA,SAAA,CASPF,GAAAA,EAAA,CAA1CC,EAAS,EAAEnF,MAAMuF,QAAQF,SAAAA,GArEN3F,CAAAA,CAAAA,GAAAA,EAqEuB0F,WAAA,WAAA,CACCF,GAAAA,EAAA,CAA3CC,EAAS,EAAEnF,MAAMsF,SAASD,SAAAA,GAtEP3F,CAAAA,CAAAA,GAAAA,EAsEwB0F,WAAA,YAAA,CACAF,GAAAA,EAAA,CAA3CC,EAAS,EAAEnF,MAAMsF,SAASD,SAAAA,GAvEP3F,CAAAA,CAAAA,GAAAA,EAuEwB0F,WAAA,YAAA,CACAF,GAAAA,EAAA,CAA3CC,EAAS,EAAEnF,MAAMsF,SAASD,SAAAA,GAxEP3F,CAAAA,CAAAA,GAAAA,EAwEwB0F,WAAA,YAAA,CACAF,GAAAA,EAAA,CAA3CC,EAAS,EAAEnF,MAAMsF,SAASD,SAAAA,GAzEP3F,CAAAA,CAAAA,GAAAA,EAyEwB0F,WAAA,cAAA,IAEDF,EAAA,CAA1CC,EAAS,EAAEnF,MAAMuF,QAAQF,SAAS,GAAA,CAAA,CAAA,GA3Ef3F,EA2EuB0F,WAAA,SAAA,CAAA,GAQxBF,EAAA,CAAlBC,EAnFmBzF,CAAAA,GAAAA,EAmFD0F,WAAA,aAAA,CAMZF,GAAAA,EAAA,CADNC,EAAS,EAAEnF,MAAMwF,OAxFE9F,CAAAA,CAAAA,GAAAA,EAyFb0F,WAAA,aAAA,CAOAF,GAAAA,EAAA,CADNC,EAAS,EAAEnF,MAAMwF,OA/FE9F,CAAAA,CAAAA,GAAAA,EAgGb0F,WAAA,aAAA,CAOAF,GAAAA,EAAA,CADNC,EAAAA,CAAAA,GAtGmBzF,EAuGb0F,WAAA,OAAA,CAAA,GAOAF,EAAA,CADNC,EA7GmBzF,CAAAA,GAAAA,EA8Gb0F,WAAA,OAAA,CAUAF,GAAAA,EAAA,CAJNC,EAAS,EACTnF,MAAMwF,QACNH,SAAAA,GAtHmB3F,CAAAA,CAAAA,GAAAA,EAwHb0F,WAAA,QAAA,CAAA,GAUSF,EAAA,CADfC,EAAS,EAAEnF,MAAMsF,QAAAA,CAAAA,CAAAA,GAjIE5F,EAkIJ0F,WAAA,aAAA,CAAA,GAOTF,EAAA,CADNC,EAxImBzF,CAAAA,GAAAA,EAyIb0F,WAAA,gBAAA,CAESF,GAAAA,EAAA,CADfC,EAAS,EAAEnF,MAAMwF,OA1IE9F,CAAAA,CAAAA,GAAAA,EA2IJ0F,WAAA,YAAA,CAEAF,GAAAA,EAAA,CAAfO,EAAM,OA7Ia/F,CAAAA,GAAAA,EA6IJ0F,WAAA,gBAAA,CAEJF,GAAAA,EAAA,CAAXC,EAAAA,CAAAA,GA/ImBzF,EA+IR0F,WAAA,QAAA,CAAA,GAEuCF,EAAA,CAAlDC,EAAS,EAAEnF,MAAMsF,SAASD,SAAS,GAAA,CAAA,CAAA,GAjJhB3F,EAiJ+B0F,WAAA,SAAA,CAAA,GAjJ/B1F,IAArBwF,EAAA,CADCQ,EAAc,gBACMhG,CAAAA,GAAAA,CAAAA;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-C1qEu5xm.js","sources":["../src/select/select.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { html } from 'lit'\nimport { customElement, eventOptions, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport style from './select.scss?inline'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport default class SchmancySelect extends $LitElement(style) {\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select an option'\n\t@property({ type: String, reflect: true }) value = ''\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\t@state() valueLabel = ''\n\t@query('ul') ul!: HTMLUListElement\n\t@query('#overlay') overlay!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) options!: SchmancyOption[]\n\n\tfirstUpdated() {\n\t\tthis.updateDisplayLabel()\n\t}\n\n\tupdateDisplayLabel() {\n\t\tif (this.multi) {\n\t\t\tconst selectedOptions = this.options.filter(o => o.selected).map(o => o.label)\n\t\t\tthis.valueLabel = selectedOptions.length > 0 ? selectedOptions.join(', ') : this.placeholder\n\t\t} else {\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption ? selectedOption.label : this.placeholder\n\t\t}\n\t}\n\n\t@eventOptions({ passive: true })\n\thandleOptionClick(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (option) {\n\t\t\t\toption.selected = !option.selected\n\t\t\t}\n\t\t\tthis.updateDisplayLabel()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value: this.options.filter(o => o.selected).map(o => o.value) },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t} else {\n\t\t\tthis.value = value\n\t\t\tthis.updateDisplayLabel()\n\t\t\tthis.hideOptions()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tasync showOptions() {\n\t\tthis.ul.removeAttribute('hidden')\n\t\tthis.overlay.removeAttribute('hidden')\n\t\tthis.overlay.style.display = 'block'\n\n\t\t// Position the dropdown using Floating UI\n\t\tconst { x, y } = await computePosition(this.renderRoot.querySelector('div') as HTMLElement, this.ul, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: [\n\t\t\t\toffset(5), // Adds a small gap between the input and the dropdown\n\t\t\t\tflip(), // Automatically flips the dropdown if there's not enough space\n\t\t\t\tshift({ padding: 5 }), // Adjusts the dropdown to stay within the viewport\n\t\t\t],\n\t\t})\n\n\t\tObject.assign(this.ul.style, {\n\t\t\tleft: `${x}px`,\n\t\t\ttop: `${y}px`,\n\t\t\tposition: 'absolute',\n\t\t\tzIndex: '9999', // Ensure it's on top of other elements\n\t\t\tmaxHeight: '25vh', // Limit the height of the dropdown\n\t\t\toverflowY: 'auto', // Enable scrolling if the content is too tall\n\t\t})\n\t}\n\n\thideOptions() {\n\t\tthis.ul.setAttribute('hidden', 'true')\n\t\tthis.overlay.setAttribute('hidden', 'true')\n\t\tthis.overlay.style.display = 'none'\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-2': true,\n\t\t}\n\t\treturn html`\n\t\t\t<schmancy-surface>\n\t\t\t\t<div class=\"relative\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t\t@click=${() => this.showOptions()}\n\t\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\t\treadonly\n\t\t\t\t\t\tclickable\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.valueLabel}\n\t\t\t\t\t</schmancy-input>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.hideOptions()\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t></div>\n\t\t\t\t\t<ul\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t\tid=\"options\"\n\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\t@click=${(e: Event) => this.handleOptionClick((e.target as SchmancyOption).value)}\n\t\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot @slotchange=${() => this.updateDisplayLabel()} tabindex=\"0\"></slot>\n\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\tthis.multi,\n\t\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t\t<li id=\"confirm\" class=\"py-2\" tabindex=\"-1\">\n\t\t\t\t\t\t\t\t\t<schmancy-grid justify=\"center\">\n\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.hideOptions()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdetail: { value: this.options.filter(o => o.selected).map(o => o.value) },\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tsave\n\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</schmancy-surface>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-select': SchmancySelect\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","constructor","super","arguments","this","required","placeholder","value","multi","label","valueLabel","updateDisplayLabel","selectedOptions","options","filter","o","selected","map","length","join","selectedOption","find","option","dispatchEvent","CustomEvent","detail","bubbles","composed","hideOptions","ul","removeAttribute","overlay","style","display","x","y","computePosition","renderRoot","querySelector","placement","middleware","offset","flip","shift","padding","Object","assign","left","top","position","zIndex","maxHeight","overflowY","setAttribute","render","html","showOptions","e","stopPropagation","preventDefault","classMap","handleOptionClick","target","color","bgColor","SchmancyTheme","sys","surface","container","when","__decorateClass","property","type","Boolean","prototype","String","reflect","state","query","queryAssignedElements","flatten","eventOptions","passive","customElement"],"mappings":";;;;;;;;;;;;;;;AAeA,IAAqBA,IAArB,cAA4CC;EAA5C,cAAAC;AAAAC,UAAAC,GAAAA,SAAAA,GACyCC,KAAAC,WAAA,IACED,KAAAE,cAAA,oBACSF,KAAAG,QAAA,IACdH,KAAAI,YACDJ,KAAAK,QAAA,IACdL,KAAAM,aAAA;AAAA,EAAA;AAAA,EAKtB;AACCN,SAAKO,mBAAAA;AAAAA,EAAmB;AAAA,EAGzB;AACC,QAAIP,KAAKI,OAAO;AACT,YAAAI,IAAkBR,KAAKS,QAAQC,OAAOC,CAAAA,MAAKA,EAAEC,QAAUC,EAAAA,IAASF,CAAAA,MAAAA,EAAEN,KAAAA;AACnEL,WAAAM,aAAaE,EAAgBM,SAAS,IAAIN,EAAgBO,KAAK,QAAQf,KAAKE;AAAAA,IAAA,OAC3E;AACA,YAAAc,IAAiBhB,KAAKS,QAAQQ,YAAUN,EAAER,UAAUH,KAAKG,KAAAA;AAC/DH,WAAKM,aAAaU,IAAiBA,EAAeX,QAAQL,KAAKE;AAAAA,IAAA;AAAA,EAChE;AAAA,EAID,kBAAkBC,GAAAA;AACjB,QAAIH,KAAKI,OAAO;AACf,YAAMc,IAASlB,KAAKS,QAAQQ,KAAUN,CAAAA,MAAAA,EAAER,UAAUA;AAC9Ce,MAAAA,MACIA,EAAAN,WAAYM,CAAAA,EAAON,WAE3BZ,KAAKO,mBAAAA,GACAP,KAAAmB,cACJ,IAAIC,YAAY,UAAU,EACzBC,QAAQ,EAAElB,OAAOH,KAAKS,QAAQC,OAAOC,CAAAA,MAAKA,EAAEC,QAAUC,EAAAA,IAASF,CAAAA,MAAAA,EAAER,KAAAA,EAAAA,GACjEmB,SAAS,IACTC,aAEF,CAAA,CAAA;AAAA,IAAA,MAEAvB,MAAKG,QAAQA,GACbH,KAAKO,mBAAAA,GACLP,KAAKwB,YAAAA,GACAxB,KAAAmB,cACJ,IAAIC,YAAY,UAAU,EACzBC,QAAQ,EAAElB,OACVmB,EAAAA,GAAAA,SAAAA,IACAC,UAAU,GAAA,CAAA,CAAA;AAAA,EAGb;AAAA,EAGD,MAAA;AACMvB,SAAAyB,GAAGC,gBAAgB,QAAA,GACnB1B,KAAA2B,QAAQD,gBAAgB,QAAA,GACxB1B,KAAA2B,QAAQC,MAAMC,UAAU;AAG7B,YAAMC,GAAEA,GAAAC,GAAGA,EAAAA,IAAAA,MAAYC,EAAgBhC,KAAKiC,WAAWC,cAAc,KAAA,GAAuBlC,KAAKyB,IAAI,EACpGU,WAAW,gBACXC,YAAY,CACXC,EAAO,CACPC,GAAAA,EAAAA,GACAC,EAAM,EAAEC,SAAS,EAIZC,CAAAA,CAAAA,EAAAA,CAAAA;AAAAA,WAAAC,OAAO1C,KAAKyB,GAAGG,OAAO,EAC5Be,MAAM,GAAGb,CAAAA,MACTc,KAAK,GAAGb,OACRc,UAAU,YACVC,QAAQ,QACRC,WAAW,QACXC,WAAW,OACX,CAAA;AAAA,EAAA;AAAA,EAGF,cACMhD;AAAAA,SAAAyB,GAAGwB,aAAa,UAAU,MAC1BjD,GAAAA,KAAA2B,QAAQsB,aAAa,UAAU,MAC/BjD,GAAAA,KAAA2B,QAAQC,MAAMC,UAAU;AAAA,EAAA;AAAA,EAG9B,SAAAqB;AAIQ,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA,eAIMnD,KAAKK,KAAAA;AAAAA,qBACCL,KAAKE,WAAAA;AAAAA,eACX,MAAMF,KAAKoD,YAAAA,CAAAA;AAAAA,eACXpD,KAAKM,UAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAIZN,KAAKM,UAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eAOG+C,OAAAA;AACTA,QAAEC,gBAAAA,GACFD,EAAEE,eAAAA,GACFvD,KAAKwB,YAAY;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMVxB,KAAKwD,SA9BD,EACf,+DAA+D,GAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA,eAiClDH,OAAarD,KAAKyD,kBAAmBJ,EAAEK,OAA0BvD,KAAAA,CAAAA;AAAAA,QACzEwD,EAAM,EAAEC,SAASC,EAAcC,IAAIH,MAAMI,QAAQC,UAAAA,CAAAA,CAAAA;AAAAA;AAAAA,0BAE/B,MAAMhE,KAAKO,mBAAAA,CAAAA;AAAAA,QAC7B0D,EACDjE,KAAKI,OACL,MAAM+C;AAAAA;AAAAA;AAAAA;AAAAA,oBAIO,MACRnD;AAAAA,WAAKwB,YACAxB,GAAAA,KAAAmB,cACJ,IAAIC,YAAY,UAAU,EACzBC,QAAQ,EAAElB,OAAOH,KAAKS,QAAQC,OAAOC,OAAKA,EAAEC,QAAAA,EAAUC,IAASF,OAAAA,EAAER,KACjEmB,EAAAA,GAAAA,SAAAA,IACAC,UAAAA,GAEF,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;EASL;AAlJuB2C;AAAAA,EAAA,CAA5BC,EAAS,EAAEC,MAAMC,QADE1E,CAAAA,CAAAA,GAAAA,EACS2E,WAAA,YAAA,CAAA,GACDJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMG,OAAAA,CAAAA,CAAAA,GAFE5E,EAEQ2E,WAAA,eAAA,CACeJ,GAAAA,EAAA,CAA1CC,EAAS,EAAEC,MAAMG,QAAQC,YAHN7E,CAAAA,CAAAA,GAAAA,EAGuB2E,WAAA,SAAA,CAAA,GACdJ,EAAA,CAA5BC,EAAS,EAAEC,MAAMC,QAJE1E,CAAAA,CAAAA,GAAAA,EAIS2E,WAAA,SAAA,CAAA,GACDJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMG,OALE5E,CAAAA,CAAAA,GAAAA,EAKQ2E,WAAA,SAAA,CAAA,GACnBJ,EAAA,CAARO,EAAAA,CAAAA,GANmB9E,EAMX2E,WAAA,cAAA,CACIJ,GAAAA,EAAA,CAAZQ,EAAM,QAPa/E,EAOP2E,WAAA,MAAA,CACMJ,GAAAA,EAAA,CAAlBQ,EAAM,UAAA,CAAA,GARa/E,EAQD2E,WAAA,WAAA,CAAA,GACuBJ,EAAA,CAAzCS,EAAsB,EAAEC,SAAS,GAAA,CAAA,CAAA,GATdjF,EASsB2E,WAAA,WAAA,CAiB1CJ,GAAAA,EAAA,CADCW,EAAa,EAAEC,SAAS,GAAA,CAAA,CAAA,GAzBLnF,EA0BpB2E,WAAA,qBAAA,IA1BoB3E,IAArBuE,EAAA,CADCa,EAAc,iBACMpF,CAAAA,GAAAA,CAAAA;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-DGgGHXxb.cjs","sources":["../src/select/select.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { html } from 'lit'\nimport { customElement, eventOptions, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport style from './select.scss?inline'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport default class SchmancySelect extends $LitElement(style) {\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select an option'\n\t@property({ type: String, reflect: true }) value = ''\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\t@state() valueLabel = ''\n\t@query('ul') ul!: HTMLUListElement\n\t@query('#overlay') overlay!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) options!: SchmancyOption[]\n\n\tfirstUpdated() {\n\t\tthis.updateDisplayLabel()\n\t}\n\n\tupdateDisplayLabel() {\n\t\tif (this.multi) {\n\t\t\tconst selectedOptions = this.options.filter(o => o.selected).map(o => o.label)\n\t\t\tthis.valueLabel = selectedOptions.length > 0 ? selectedOptions.join(', ') : this.placeholder\n\t\t} else {\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption ? selectedOption.label : this.placeholder\n\t\t}\n\t}\n\n\t@eventOptions({ passive: true })\n\thandleOptionClick(value: string) {\n\t\tif (this.multi) {\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (option) {\n\t\t\t\toption.selected = !option.selected\n\t\t\t}\n\t\t\tthis.updateDisplayLabel()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value: this.options.filter(o => o.selected).map(o => o.value) },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t} else {\n\t\t\tthis.value = value\n\t\t\tthis.updateDisplayLabel()\n\t\t\tthis.hideOptions()\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { value },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tasync showOptions() {\n\t\tthis.ul.removeAttribute('hidden')\n\t\tthis.overlay.removeAttribute('hidden')\n\t\tthis.overlay.style.display = 'block'\n\n\t\t// Position the dropdown using Floating UI\n\t\tconst { x, y } = await computePosition(this.renderRoot.querySelector('div') as HTMLElement, this.ul, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: [\n\t\t\t\toffset(5), // Adds a small gap between the input and the dropdown\n\t\t\t\tflip(), // Automatically flips the dropdown if there's not enough space\n\t\t\t\tshift({ padding: 5 }), // Adjusts the dropdown to stay within the viewport\n\t\t\t],\n\t\t})\n\n\t\tObject.assign(this.ul.style, {\n\t\t\tleft: `${x}px`,\n\t\t\ttop: `${y}px`,\n\t\t\tposition: 'absolute',\n\t\t\tzIndex: '9999', // Ensure it's on top of other elements\n\t\t\tmaxHeight: '25vh', // Limit the height of the dropdown\n\t\t\toverflowY: 'auto', // Enable scrolling if the content is too tall\n\t\t})\n\t}\n\n\thideOptions() {\n\t\tthis.ul.setAttribute('hidden', 'true')\n\t\tthis.overlay.setAttribute('hidden', 'true')\n\t\tthis.overlay.style.display = 'none'\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-2': true,\n\t\t}\n\t\treturn html`\n\t\t\t<schmancy-surface>\n\t\t\t\t<div class=\"relative\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t\t@click=${() => this.showOptions()}\n\t\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\t\treadonly\n\t\t\t\t\t\tclickable\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.valueLabel}\n\t\t\t\t\t</schmancy-input>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tthis.hideOptions()\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t></div>\n\t\t\t\t\t<ul\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t\tid=\"options\"\n\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\t@click=${(e: Event) => this.handleOptionClick((e.target as SchmancyOption).value)}\n\t\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot @slotchange=${() => this.updateDisplayLabel()} tabindex=\"0\"></slot>\n\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\tthis.multi,\n\t\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t\t<li id=\"confirm\" class=\"py-2\" tabindex=\"-1\">\n\t\t\t\t\t\t\t\t\t<schmancy-grid justify=\"center\">\n\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.hideOptions()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdetail: { value: this.options.filter(o => o.selected).map(o => o.value) },\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tsave\n\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</schmancy-surface>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-select': SchmancySelect\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","super","arguments","this","required","placeholder","value","multi","label","valueLabel","updateDisplayLabel","selectedOptions","options","filter","o","selected","map","length","join","selectedOption","find","option","dispatchEvent","CustomEvent","detail","bubbles","composed","hideOptions","ul","removeAttribute","overlay","style","display","x","y","computePosition","renderRoot","querySelector","placement","middleware","offset","flip","shift","padding","Object","assign","left","top","position","zIndex","maxHeight","overflowY","setAttribute","html","showOptions","e","stopPropagation","preventDefault","classMap","handleOptionClick","target","color","bgColor","SchmancyTheme","sys","surface","container","when","__decorateClass","property","type","Boolean","prototype","String","reflect","state","query","queryAssignedElements","flatten","eventOptions","passive","customElement"],"mappings":"olBAeA,IAAqBA,EAArB,cAA4CC,wOAA5C,aAAAC,CAAAA,MAAAA,GAAAC,SACyCC,EAAAA,KAAAC,YACED,KAAAE,YAAA,mBACSF,KAAAG,MAAA,GACdH,KAAAI,MAAAA,GACDJ,KAAAK,MAAA,GACdL,KAAAM,WAAA,EAAA,CAKtB,cACCN,CAAAA,KAAKO,oBAAmB,CAGzB,oBACC,CAAA,GAAIP,KAAKI,MAAO,CACT,MAAAI,EAAkBR,KAAKS,QAAQC,OAAOC,GAAKA,EAAEC,UAAUC,IAASF,GAAAA,EAAEN,KAAAA,EACnEL,KAAAM,WAAaE,EAAgBM,OAAS,EAAIN,EAAgBO,KAAK,IAAA,EAAQf,KAAKE,WAAA,KAC3E,CACA,MAAAc,EAAiBhB,KAAKS,QAAQQ,QAAUN,EAAER,QAAUH,KAAKG,OAC/DH,KAAKM,WAAaU,EAAiBA,EAAeX,MAAQL,KAAKE,WAAA,CAChE,CAID,kBAAkBC,EAAAA,CACjB,GAAIH,KAAKI,MAAO,CACf,MAAMc,EAASlB,KAAKS,QAAQQ,KAAUN,GAAAA,EAAER,QAAUA,GAC9Ce,IACIA,EAAAN,SAAYM,CAAAA,EAAON,UAE3BZ,KAAKO,mBAAAA,EACAP,KAAAmB,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAElB,MAAOH,KAAKS,QAAQC,OAAOC,GAAKA,EAAEC,QAAAA,EAAUC,IAASF,GAAAA,EAAER,KACjEmB,CAAAA,EAAAA,QAAAA,GACAC,SAAAA,KAEF,MAEAvB,KAAKG,MAAQA,EACbH,KAAKO,mBACLP,EAAAA,KAAKwB,YACAxB,EAAAA,KAAAmB,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAElB,MAAAA,CAAAA,EACVmB,QAAS,GACTC,WAGH,CAAA,CAAA,CAAA,CAGD,mBACMvB,CAAAA,KAAAyB,GAAGC,gBAAgB,QAAA,EACnB1B,KAAA2B,QAAQD,gBAAgB,QACxB1B,EAAAA,KAAA2B,QAAQC,MAAMC,QAAU,QAG7B,KAAA,CAAMC,EAAEA,EAAAC,EAAGA,CAAYC,EAAAA,MAAAA,EAAAA,gBAAgBhC,KAAKiC,WAAWC,cAAc,KAAA,EAAuBlC,KAAKyB,GAAI,CACpGU,UAAW,eACXC,WAAY,CACXC,EAAAA,OAAO,CAAA,EACPC,SACAC,QAAM,CAAEC,QAAS,CAIZC,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,OAAAC,OAAO1C,KAAKyB,GAAGG,MAAO,CAC5Be,KAAM,GAAGb,CAAAA,KACTc,IAAK,GAAGb,MACRc,SAAU,WACVC,OAAQ,OACRC,UAAW,OACXC,UAAW,MACX,CAAA,CAAA,CAGF,aACMhD,CAAAA,KAAAyB,GAAGwB,aAAa,SAAU,MAC1BjD,EAAAA,KAAA2B,QAAQsB,aAAa,SAAU,MAC/BjD,EAAAA,KAAA2B,QAAQC,MAAMC,QAAU,MAAA,CAG9B,QAIQ,CAAA,OAAAqB,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eAIMlD,KAAKK,KAAAA;AAAAA,qBACCL,KAAKE,WAAAA;AAAAA,eACX,IAAMF,KAAKmD,YAAAA,CAAAA;AAAAA,eACXnD,KAAKM,UAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAIZN,KAAKM,UAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eAOG8C,GAAAA,CACTA,EAAEC,gBAAAA,EACFD,EAAEE,eAAAA,EACFtD,KAAKwB,YAAY,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMVxB,KAAKuD,SA9BD,CACf,8DAA+D,EAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA,eAiClDH,GAAapD,KAAKwD,kBAAmBJ,EAAEK,OAA0BtD,KAAAA,CAAAA;AAAAA,QACzEuD,EAAAA,MAAM,CAAEC,QAASC,EAAAA,cAAcC,IAAIH,MAAMI,QAAQC,SAAAA,CAAAA,CAAAA;AAAAA;AAAAA,0BAE/B,IAAM/D,KAAKO,mBAAAA,CAAAA;AAAAA,QAC7ByD,EAAAA,KACDhE,KAAKI,MACL,IAAM8C,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,oBAIO,IACRlD,CAAAA,KAAKwB,YACAxB,EAAAA,KAAAmB,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAElB,MAAOH,KAAKS,QAAQC,OAAOC,GAAKA,EAAEC,QAAAA,EAAUC,IAASF,GAAAA,EAAER,KACjEmB,CAAAA,EAAAA,QAAAA,GACAC,SAAAA,EAEF,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;GASL,CAlJuB0C,EAAAA,EAAA,CAA5BC,WAAS,CAAEC,KAAMC,OADExE,CAAAA,CAAAA,EAAAA,EACSyE,UAAA,WAAA,CACDJ,EAAAA,EAAA,CAA3BC,WAAS,CAAEC,KAAMG,MAFE1E,CAAAA,CAAAA,EAAAA,EAEQyE,UAAA,cAAA,CAAA,EACeJ,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMG,OAAQC,QAAS,EAAA,CAAA,CAAA,EAHf3E,EAGuByE,UAAA,QAAA,CACdJ,EAAAA,EAAA,CAA5BC,WAAS,CAAEC,KAAMC,OAJExE,CAAAA,CAAAA,EAAAA,EAISyE,UAAA,QAAA,CACDJ,EAAAA,EAAA,CAA3BC,WAAS,CAAEC,KAAMG,MAAAA,CAAAA,CAAAA,EALE1E,EAKQyE,UAAA,QAAA,CACnBJ,EAAAA,EAAA,CAARO,EAAMA,MANa5E,CAAAA,EAAAA,EAMXyE,UAAA,aAAA,CAAA,EACIJ,EAAA,CAAZQ,EAAAA,MAAM,OAPa7E,EAOPyE,UAAA,KAAA,CAAA,EACMJ,EAAA,CAAlBQ,EAAAA,MAAM,UAAA,CAAA,EARa7E,EAQDyE,UAAA,UAAA,CAAA,EACuBJ,EAAA,CAAzCS,wBAAsB,CAAEC,QAAS,EAAA,CAAA,CAAA,EATd/E,EASsByE,UAAA,UAAA,CAiB1CJ,EAAAA,EAAA,CADCW,eAAa,CAAEC,QAAAA,EAzBIjF,CAAAA,CAAAA,EAAAA,EA0BpByE,UAAA,oBAAA,CA1BoBzE,EAAAA,EAArBqE,EAAA,CADCa,EAAAA,cAAc,iBACMlF,CAAAA,EAAAA,CAAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"surface-DVYDiR06.js","sources":["../src/surface/context.ts","../src/surface/surface.ts"],"sourcesContent":["import { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancySurfaceTypeContext } from './context'\n/**\n * @element schmancy-surface\n * @slot - default content\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\t:host([fill]) {\n\t\theight: -webkit-fill-available;\n\t\twidth: -webkit-fill-available;\n\t}\n`) {\n\t@property({ type: Boolean }) fill = false\n\t@property() rounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property()\n\ttype:\n\t\t| 'surface'\n\t\t| 'surfaceDim'\n\t\t| 'surfaceBright'\n\t\t| 'containerLowest'\n\t\t| 'containerLow'\n\t\t| 'container'\n\t\t| 'containerHigh'\n\t\t| 'containerHighest' = 'surface'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tget classes(): Record<string, boolean> {\n\t\treturn {\n\t\t\t'relative inset-0 block': true,\n\t\t\t'rounded-none': this.rounded === 'none',\n\t\t\t'rounded-t-[8px]': this.rounded === 'top',\n\t\t\t'rounded-l-[8px]': this.rounded === 'left',\n\t\t\t'rounded-r-[8px]': this.rounded === 'right',\n\t\t\t'rounded-b-[8px]': this.rounded === 'bottom',\n\t\t\t'rounded-[8px]': this.rounded === 'all',\n\n\t\t\t'w-full h-full': this.fill,\n\t\t\t'shadow-1': this.elevation === 1,\n\t\t\t'shadow-2': this.elevation === 2,\n\t\t\t'shadow-3': this.elevation === 3,\n\t\t\t'shadow-4': this.elevation === 4,\n\t\t\t'text-surface-on':\n\t\t\t\tthis.type === 'surface' ||\n\t\t\t\tthis.type === 'surfaceDim' ||\n\t\t\t\tthis.type === 'surfaceBright' ||\n\t\t\t\tthis.type === 'containerLowest' ||\n\t\t\t\tthis.type === 'containerLow' ||\n\t\t\t\tthis.type === 'container' ||\n\t\t\t\tthis.type === 'containerHigh' ||\n\t\t\t\tthis.type === 'containerHighest',\n\t\t\t// 'text-surface-onVariant':\n\t\t\t// \tthis.type === 'containerLowest' ||\n\t\t\t// \tthis.type === 'containerLow' ||\n\t\t\t// \tthis.type === 'container' ||\n\t\t\t// \tthis.type === 'containerHigh' ||\n\t\t\t// \tthis.type === 'containerHighest',\n\t\t\t'bg-surface-default': this.type === 'surface',\n\t\t\t'bg-surface-dim': this.type === 'surfaceDim',\n\t\t\t'bg-surface-bright': this.type === 'surfaceBright',\n\t\t\t'bg-surface-lowest': this.type === 'containerLowest',\n\t\t\t'bg-surface-low': this.type === 'containerLow',\n\t\t\t'bg-surface-container': this.type === 'container',\n\t\t\t'bg-surface-high': this.type === 'containerHigh',\n\t\t\t'bg-surface-highest': this.type === 'containerHighest',\n\t\t}\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<div class=\"${this.classMap(this.classes)}\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}\n"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","classes","render","html","classMap","__decorateClass","property","Boolean","prototype","provide","context","Number","customElement"],"mappings":";;;;;;;AAEa,MAAAA,IAA6BC,EAA6B,SAAA;;;;;ACQ1D,IAAAC,IAAN,cAA8BC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,EAAA;AAAA,EAAA,cAAAC;AAAAA,UAAAA,GAAAC,SAS8BC,GAAAA,KAAAC,OAAA,IACwCD,KAAAE,UAAA,QAYpDF,KAAAG,OAAA,WACuCH,KAAAI,YAAA;AAAA,EAAA;AAAA,EAE/D,IAAIC,UAAAA;AACI,WAAA,EACN,0BAA0B,IAC1B,gBAAgBL,KAAKE,YAAY,QACjC,mBAAmBF,KAAKE,YAAY,OACpC,mBAAmBF,KAAKE,YAAY,QACpC,mBAAmBF,KAAKE,YAAY,SACpC,mBAAmBF,KAAKE,YAAY,UACpC,iBAAiBF,KAAKE,YAAY,OAElC,iBAAiBF,KAAKC,MACtB,YAAYD,KAAKI,cAAc,GAC/B,YAAYJ,KAAKI,cAAc,GAC/B,YAAYJ,KAAKI,cAAc,GAC/B,YAAYJ,KAAKI,cAAc,GAC/B,mBACCJ,KAAKG,SAAS,aACdH,KAAKG,SAAS,gBACdH,KAAKG,SAAS,mBACdH,KAAKG,SAAS,qBACdH,KAAKG,SAAS,kBACdH,KAAKG,SAAS,eACdH,KAAKG,SAAS,mBACdH,KAAKG,SAAS,oBAOf,sBAAsBH,KAAKG,SAAS,WACpC,kBAAkBH,KAAKG,SAAS,cAChC,qBAAqBH,KAAKG,SAAS,iBACnC,qBAAqBH,KAAKG,SAAS,mBACnC,kBAAkBH,KAAKG,SAAS,gBAChC,wBAAwBH,KAAKG,SAAS,aACtC,mBAAmBH,KAAKG,SAAS,iBACjC,sBAAsBH,KAAKG,SAAS,mBACrC;AAAA,EAAA;AAAA,EAES,SAAAG;AACF,WAAAC;AAAAA,iBACQP,KAAKQ,SAASR,KAAKK,OAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAQ;AA1DdI;AAAAA,EAAA,CAA5BC,EAAS,EAAEP,MAAMQ,QATNhB,CAAAA,CAAAA,GAAAA,EASiBiB,WAAA,QAAA,CAAA,GACjBH,EAAA,CAAXC,EAAAA,CAAAA,GAVWf,EAUAiB,WAAA,WAAA,IAIZH,EAAA,CAFCI,EAAQ,EAAEC,SAASrB,MACnBiB,EAbWf,CAAAA,GAAAA,EAcZiB,WAAA,QAAA,CAAA,GAS4BH,EAAA,CAA3BC,EAAS,EAAEP,MAAMY,OAAAA,CAAAA,CAAAA,GAvBNpB,EAuBgBiB,WAAA,aAAA,IAvBhBjB,IAANc,EAAA,CADNO,EAAc,kBAAA,CAAA,GACFrB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"surface-DgEJ5kCf.cjs","sources":["../src/surface/context.ts","../src/surface/surface.ts"],"sourcesContent":["import { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancySurfaceTypeContext } from './context'\n/**\n * @element schmancy-surface\n * @slot - default content\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\t:host([fill]) {\n\t\theight: -webkit-fill-available;\n\t\twidth: -webkit-fill-available;\n\t}\n`) {\n\t@property({ type: Boolean }) fill = false\n\t@property() rounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property()\n\ttype:\n\t\t| 'surface'\n\t\t| 'surfaceDim'\n\t\t| 'surfaceBright'\n\t\t| 'containerLowest'\n\t\t| 'containerLow'\n\t\t| 'container'\n\t\t| 'containerHigh'\n\t\t| 'containerHighest' = 'surface'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tget classes(): Record<string, boolean> {\n\t\treturn {\n\t\t\t'relative inset-0 block': true,\n\t\t\t'rounded-none': this.rounded === 'none',\n\t\t\t'rounded-t-[8px]': this.rounded === 'top',\n\t\t\t'rounded-l-[8px]': this.rounded === 'left',\n\t\t\t'rounded-r-[8px]': this.rounded === 'right',\n\t\t\t'rounded-b-[8px]': this.rounded === 'bottom',\n\t\t\t'rounded-[8px]': this.rounded === 'all',\n\n\t\t\t'w-full h-full': this.fill,\n\t\t\t'shadow-1': this.elevation === 1,\n\t\t\t'shadow-2': this.elevation === 2,\n\t\t\t'shadow-3': this.elevation === 3,\n\t\t\t'shadow-4': this.elevation === 4,\n\t\t\t'text-surface-on':\n\t\t\t\tthis.type === 'surface' ||\n\t\t\t\tthis.type === 'surfaceDim' ||\n\t\t\t\tthis.type === 'surfaceBright' ||\n\t\t\t\tthis.type === 'containerLowest' ||\n\t\t\t\tthis.type === 'containerLow' ||\n\t\t\t\tthis.type === 'container' ||\n\t\t\t\tthis.type === 'containerHigh' ||\n\t\t\t\tthis.type === 'containerHighest',\n\t\t\t// 'text-surface-onVariant':\n\t\t\t// \tthis.type === 'containerLowest' ||\n\t\t\t// \tthis.type === 'containerLow' ||\n\t\t\t// \tthis.type === 'container' ||\n\t\t\t// \tthis.type === 'containerHigh' ||\n\t\t\t// \tthis.type === 'containerHighest',\n\t\t\t'bg-surface-default': this.type === 'surface',\n\t\t\t'bg-surface-dim': this.type === 'surfaceDim',\n\t\t\t'bg-surface-bright': this.type === 'surfaceBright',\n\t\t\t'bg-surface-lowest': this.type === 'containerLowest',\n\t\t\t'bg-surface-low': this.type === 'containerLow',\n\t\t\t'bg-surface-container': this.type === 'container',\n\t\t\t'bg-surface-high': this.type === 'containerHigh',\n\t\t\t'bg-surface-highest': this.type === 'containerHighest',\n\t\t}\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<div class=\"${this.classMap(this.classes)}\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}\n"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","classes","html","classMap","__decorateClass","property","Boolean","prototype","provide","context","Number","customElement"],"mappings":"oPAEaA,EAAAA,EAA6BC,IAA6B,SAAA,kMCQ1DC,QAAAA,gBAAN,cAA8BC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,CAAA,CAAA,aAAAC,CAAAA,MAAAA,GAAAC,SAS8BC,EAAAA,KAAAC,KAAA,GACwCD,KAAAE,QAAA,OAYpDF,KAAAG,KAAA,UACuCH,KAAAI,UAAA,CAAA,CAE/D,IAAIC,SAAAA,CACI,MAAA,CACN,yBAA0B,GAC1B,eAAgBL,KAAKE,UAAY,OACjC,kBAAmBF,KAAKE,UAAY,MACpC,kBAAmBF,KAAKE,UAAY,OACpC,kBAAmBF,KAAKE,UAAY,QACpC,kBAAmBF,KAAKE,UAAY,SACpC,gBAAiBF,KAAKE,UAAY,MAElC,gBAAiBF,KAAKC,KACtB,WAAYD,KAAKI,YAAc,EAC/B,WAAYJ,KAAKI,YAAc,EAC/B,WAAYJ,KAAKI,YAAc,EAC/B,WAAYJ,KAAKI,YAAc,EAC/B,kBACCJ,KAAKG,OAAS,WACdH,KAAKG,OAAS,cACdH,KAAKG,OAAS,iBACdH,KAAKG,OAAS,mBACdH,KAAKG,OAAS,gBACdH,KAAKG,OAAS,aACdH,KAAKG,OAAS,iBACdH,KAAKG,OAAS,mBAOf,qBAAsBH,KAAKG,OAAS,UACpC,iBAAkBH,KAAKG,OAAS,aAChC,oBAAqBH,KAAKG,OAAS,gBACnC,oBAAqBH,KAAKG,OAAS,kBACnC,iBAAkBH,KAAKG,OAAS,eAChC,uBAAwBH,KAAKG,OAAS,YACtC,kBAAmBH,KAAKG,OAAS,gBACjC,qBAAsBH,KAAKG,OAAS,kBAATA,CAC5B,CAES,QACF,CAAA,OAAAG,EAAAA;AAAAA,iBACQN,KAAKO,SAASP,KAAKK,OAAAA,CAAAA;AAAAA;AAAAA;AAAAA,GAAQ,CA1DdG,EAAAA,EAAA,CAA5BC,WAAS,CAAEN,KAAMO,OAAAA,CAAAA,CAAAA,EATNf,wBASiBgB,UAAA,OAAA,CACjBH,EAAAA,EAAA,CAAXC,EAASA,SAAAA,CAAAA,EAVEd,wBAUAgB,UAAA,UAAA,CAIZH,EAAAA,EAAA,CAFCI,IAAQ,CAAEC,QAASpB,CAAAA,CAAAA,EACnBgB,EAASA,SAbEd,CAAAA,EAAAA,wBAcZgB,UAAA,OAAA,CAAA,EAS4BH,EAAA,CAA3BC,WAAS,CAAEN,KAAMW,MAvBNnB,CAAAA,CAAAA,EAAAA,wBAuBgBgB,UAAA,YAAA,CAAA,EAvBhBhB,QAANA,gBAAAa,EAAA,CADNO,EAAAA,cAAc,kBACFpB,CAAAA,EAAAA"}