@synergy-design-system/components 2.19.3 → 2.20.0-settings.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/chunks/{chunk.Z463JNSB.js → chunk.24C4XJAI.js} +9 -3
  2. package/dist/chunks/chunk.24C4XJAI.js.map +7 -0
  3. package/dist/chunks/{chunk.ZJF7NESZ.js → chunk.24DN2XDS.js} +13 -7
  4. package/dist/chunks/chunk.24DN2XDS.js.map +7 -0
  5. package/dist/chunks/{chunk.M4CVCPA7.js → chunk.2QFNK7XL.js} +2 -2
  6. package/dist/chunks/{chunk.T2TZJ6RL.js → chunk.3HW4J22U.js} +5 -5
  7. package/dist/chunks/{chunk.O353RCGZ.js → chunk.4AKA2QRO.js} +2 -2
  8. package/dist/chunks/{chunk.2Z4KRXQR.js → chunk.4ZPJSGD5.js} +2 -2
  9. package/dist/chunks/{chunk.KUHEM2HU.js → chunk.53THUSDO.js} +2 -2
  10. package/dist/chunks/{chunk.JZ54BAZN.js → chunk.742PBV5R.js} +13 -7
  11. package/dist/chunks/chunk.742PBV5R.js.map +7 -0
  12. package/dist/chunks/{chunk.JXFOMI34.js → chunk.7467Z6PG.js} +2 -2
  13. package/dist/chunks/{chunk.FDXNWNID.js → chunk.7EYHNKMM.js} +3 -3
  14. package/dist/chunks/{chunk.3CBZSMFD.js → chunk.7LASULTQ.js} +2 -2
  15. package/dist/chunks/{chunk.BJI3TUDD.js → chunk.7NZ7JAEV.js} +2 -2
  16. package/dist/chunks/{chunk.A5SZJGAY.js → chunk.7XMTQ7P7.js} +3 -3
  17. package/dist/chunks/{chunk.WMWANLUG.js → chunk.7Y7O45CM.js} +8 -2
  18. package/dist/chunks/chunk.7Y7O45CM.js.map +7 -0
  19. package/dist/chunks/{chunk.5BPFEOW3.js → chunk.A2JLMFJ4.js} +2 -2
  20. package/dist/chunks/{chunk.WCA3YMN7.js → chunk.AIQ3EJZY.js} +8 -2
  21. package/dist/chunks/chunk.AIQ3EJZY.js.map +7 -0
  22. package/dist/chunks/{chunk.GSWYXK3F.js → chunk.AQS4YK7Q.js} +2 -2
  23. package/dist/chunks/{chunk.CKX7E6DW.js → chunk.AS3TB27D.js} +6 -6
  24. package/dist/chunks/{chunk.E6TS35BF.js → chunk.B2WOBIWW.js} +2 -2
  25. package/dist/chunks/{chunk.RJTTUG4P.js → chunk.BA7XLIED.js} +9 -3
  26. package/dist/chunks/{chunk.RJTTUG4P.js.map → chunk.BA7XLIED.js.map} +2 -2
  27. package/dist/chunks/{chunk.KCEUZKGJ.js → chunk.BJTRYICX.js} +2 -2
  28. package/dist/chunks/{chunk.CHXBQL3V.js → chunk.BO7VIZR3.js} +14 -8
  29. package/dist/chunks/chunk.BO7VIZR3.js.map +7 -0
  30. package/dist/chunks/{chunk.UD2SVXHT.js → chunk.BPZOCAHJ.js} +2 -2
  31. package/dist/chunks/{chunk.CMORZHVE.js → chunk.BWESHYBN.js} +2 -2
  32. package/dist/chunks/{chunk.Y5LNS47Z.js → chunk.DERBT2MN.js} +14 -8
  33. package/dist/chunks/chunk.DERBT2MN.js.map +7 -0
  34. package/dist/chunks/{chunk.R7UQZGOB.js → chunk.DYUCTKM6.js} +2 -2
  35. package/dist/chunks/{chunk.AVEHVAVI.js → chunk.E72GLNXI.js} +2 -2
  36. package/dist/chunks/{chunk.442H67H2.js → chunk.EBYGA33B.js} +2 -2
  37. package/dist/chunks/{chunk.KYW2PJQJ.js → chunk.EMGPXY5T.js} +2 -2
  38. package/dist/chunks/{chunk.TATHCQUC.js → chunk.EMU2E2VE.js} +9 -3
  39. package/dist/chunks/{chunk.TATHCQUC.js.map → chunk.EMU2E2VE.js.map} +2 -2
  40. package/dist/chunks/{chunk.MPJHH2MY.js → chunk.EVECGQOP.js} +10 -4
  41. package/dist/chunks/chunk.EVECGQOP.js.map +7 -0
  42. package/dist/chunks/{chunk.KQKYLYB5.js → chunk.FAREQGAK.js} +2 -2
  43. package/dist/chunks/{chunk.WQTGLVFD.js → chunk.FLB37Q2Y.js} +6 -6
  44. package/dist/chunks/{chunk.7C65TMZT.js → chunk.HCMNEIRN.js} +6 -6
  45. package/dist/chunks/{chunk.XWYGFKWO.js → chunk.HNVPPNYZ.js} +2 -2
  46. package/dist/chunks/{chunk.F7L6D6XY.js → chunk.HPQBH3O2.js} +2 -2
  47. package/dist/chunks/{chunk.DYAGSNTK.js → chunk.HZ3S4J3T.js} +2 -2
  48. package/dist/chunks/{chunk.NM5ZFEE5.js → chunk.IBQDKFYH.js} +7 -7
  49. package/dist/chunks/{chunk.Z4WZ7MIE.js → chunk.IFWSRMUK.js} +2 -2
  50. package/dist/chunks/{chunk.TVERPVR4.js → chunk.J53UXHXV.js} +2 -2
  51. package/dist/chunks/{chunk.S3JJZL3O.js → chunk.JBLFNOCX.js} +16 -10
  52. package/dist/chunks/chunk.JBLFNOCX.js.map +7 -0
  53. package/dist/chunks/{chunk.WSJXYSXY.js → chunk.JHPSR3AP.js} +2 -2
  54. package/dist/chunks/{chunk.SAH3XRAD.js → chunk.JNAG6IBY.js} +2 -2
  55. package/dist/chunks/chunk.JSEL4YPW.js +147 -0
  56. package/dist/chunks/chunk.JSEL4YPW.js.map +7 -0
  57. package/dist/chunks/{chunk.6WYS7WDW.js → chunk.LHNUNBCA.js} +2 -2
  58. package/dist/chunks/{chunk.YA4ZNSNS.js → chunk.LYMHXGME.js} +2 -2
  59. package/dist/chunks/{chunk.SMRWRBBB.js → chunk.LYNLLR54.js} +9 -9
  60. package/dist/chunks/{chunk.JGZ2DM63.js → chunk.LZ27X5R6.js} +2 -2
  61. package/dist/chunks/{chunk.O3D7AIEY.js → chunk.MDG7KZFO.js} +2 -2
  62. package/dist/chunks/{chunk.AEYAHBYW.js → chunk.MGET4VXP.js} +2 -2
  63. package/dist/chunks/{chunk.UUSZZYBI.js → chunk.MKQXTHWU.js} +2 -2
  64. package/dist/chunks/{chunk.UUSZZYBI.js.map → chunk.MKQXTHWU.js.map} +1 -1
  65. package/dist/chunks/{chunk.CZDXNQOI.js → chunk.N54SVWTA.js} +2 -2
  66. package/dist/chunks/{chunk.4SALHO5R.js → chunk.NL4FKYIJ.js} +2 -2
  67. package/dist/chunks/{chunk.WJWII3OP.js → chunk.NM5EI7ZH.js} +2 -2
  68. package/dist/chunks/{chunk.3CZBIEJQ.js → chunk.NN73HBIU.js} +6 -6
  69. package/dist/chunks/{chunk.DRWE6CQ2.js → chunk.NUCBTPTS.js} +14 -8
  70. package/dist/chunks/chunk.NUCBTPTS.js.map +7 -0
  71. package/dist/chunks/{chunk.O45X5N4K.js → chunk.O7JPMKUW.js} +14 -8
  72. package/dist/chunks/chunk.O7JPMKUW.js.map +7 -0
  73. package/dist/chunks/{chunk.54OV4Y3P.js → chunk.OFA3YJLS.js} +2 -2
  74. package/dist/chunks/chunk.OLCT57R5.js +69 -0
  75. package/dist/chunks/chunk.OLCT57R5.js.map +7 -0
  76. package/dist/chunks/{chunk.ZA44ZRKT.js → chunk.P5XIUYNV.js} +2 -2
  77. package/dist/chunks/{chunk.762BUPQP.js → chunk.PDAOZ7HN.js} +2 -2
  78. package/dist/chunks/{chunk.ODBT7EDN.js → chunk.PLSOGFSX.js} +2 -2
  79. package/dist/chunks/{chunk.RR3NOQXW.js → chunk.Q33XUREM.js} +2 -2
  80. package/dist/chunks/{chunk.EFBKBI5I.js → chunk.QMVBPAZF.js} +2 -2
  81. package/dist/chunks/{chunk.T2IZ4JC5.js → chunk.QWMAKCAT.js} +2 -2
  82. package/dist/chunks/{chunk.OH3XIKJC.js → chunk.R2HFUCJI.js} +24 -18
  83. package/dist/chunks/chunk.R2HFUCJI.js.map +7 -0
  84. package/dist/chunks/chunk.RSCUHBW3.js +1 -0
  85. package/dist/chunks/chunk.RSCUHBW3.js.map +7 -0
  86. package/dist/chunks/{chunk.26PAD6S5.js → chunk.S7PAQRVY.js} +7 -7
  87. package/dist/chunks/{chunk.3GWNIY5V.js → chunk.SKA5Y7HA.js} +3 -3
  88. package/dist/chunks/{chunk.VKKATLHB.js → chunk.SNHVIH7F.js} +2 -2
  89. package/dist/chunks/{chunk.U627OKOV.js → chunk.ST3V3ZVP.js} +2 -2
  90. package/dist/chunks/{chunk.JM2MZ7RR.js → chunk.SWUXKALS.js} +2 -2
  91. package/dist/chunks/{chunk.HTQBFNY7.js → chunk.SXFIFBVM.js} +10 -4
  92. package/dist/chunks/chunk.SXFIFBVM.js.map +7 -0
  93. package/dist/chunks/{chunk.IMPVWVTM.js → chunk.SYWSXUHZ.js} +2 -2
  94. package/dist/chunks/{chunk.IOTPBNBD.js → chunk.T53XYA43.js} +8 -2
  95. package/dist/chunks/chunk.T53XYA43.js.map +7 -0
  96. package/dist/chunks/{chunk.4QCEBUCC.js → chunk.TL5RQ2KH.js} +2 -2
  97. package/dist/chunks/{chunk.E44AHYCS.js → chunk.TXQLKFUU.js} +9 -3
  98. package/dist/chunks/chunk.TXQLKFUU.js.map +7 -0
  99. package/dist/chunks/chunk.UPDPVGHT.js +59 -0
  100. package/dist/chunks/chunk.UPDPVGHT.js.map +7 -0
  101. package/dist/chunks/{chunk.YADYVOVB.js → chunk.UXHC3W5U.js} +6 -6
  102. package/dist/chunks/{chunk.Z6ZZHCIT.js → chunk.UY5AOQHP.js} +2 -2
  103. package/dist/chunks/{chunk.EPPQVZQW.js → chunk.UYGCYMDS.js} +2 -2
  104. package/dist/chunks/{chunk.II2KA3OR.js → chunk.VKRMYKYH.js} +4 -10
  105. package/dist/chunks/chunk.VKRMYKYH.js.map +7 -0
  106. package/dist/chunks/{chunk.XNZSIB7Q.js → chunk.VL74BJLP.js} +2 -2
  107. package/dist/chunks/{chunk.WGTTDIKF.js → chunk.VLE3Q74Y.js} +2 -2
  108. package/dist/chunks/{chunk.3DYXH3I6.js → chunk.VOOMTA4X.js} +2 -2
  109. package/dist/chunks/{chunk.OLTMUBJR.js → chunk.WLHRVKAR.js} +2 -2
  110. package/dist/chunks/{chunk.JZC3FVVX.js → chunk.WLYLSH3H.js} +2 -2
  111. package/dist/chunks/{chunk.TMJ25O52.js → chunk.WMUMEYQJ.js} +6 -6
  112. package/dist/chunks/{chunk.ZX5CHJI2.js → chunk.XCILIICJ.js} +14 -8
  113. package/dist/chunks/chunk.XCILIICJ.js.map +7 -0
  114. package/dist/chunks/{chunk.GOLBL7J7.js → chunk.XMSHEZ3R.js} +2 -2
  115. package/dist/chunks/{chunk.C2IY7RL4.js → chunk.XP47Y2SU.js} +2 -2
  116. package/dist/chunks/{chunk.5OUUMC6G.js → chunk.XSS62TBI.js} +2 -2
  117. package/dist/chunks/{chunk.PHUCYRO7.js → chunk.XY3WHMD7.js} +2 -2
  118. package/dist/chunks/{chunk.CIHRDJFX.js → chunk.Y334QFFZ.js} +6 -6
  119. package/dist/chunks/{chunk.QSA255YJ.js → chunk.Y4EGILWE.js} +2 -2
  120. package/dist/chunks/{chunk.5IR2ODKZ.js → chunk.YQLTFWYX.js} +2 -2
  121. package/dist/chunks/{chunk.OX7ASSRL.js → chunk.YTMSHKEA.js} +9 -9
  122. package/dist/chunks/{chunk.ZXZA6GQW.js → chunk.Z2PVOPJK.js} +9 -3
  123. package/dist/chunks/chunk.Z2PVOPJK.js.map +7 -0
  124. package/dist/chunks/{chunk.FLSPWXQV.js → chunk.Z4OFLKEQ.js} +2 -2
  125. package/dist/chunks/{chunk.SS6UWTDZ.js → chunk.ZDIDYG6H.js} +2 -2
  126. package/dist/components/accordion/accordion.component.js +6 -3
  127. package/dist/components/accordion/accordion.js +7 -4
  128. package/dist/components/alert/alert.component.js +12 -9
  129. package/dist/components/alert/alert.js +13 -10
  130. package/dist/components/badge/badge.component.js +7 -4
  131. package/dist/components/badge/badge.js +8 -5
  132. package/dist/components/breadcrumb/breadcrumb.component.js +7 -7
  133. package/dist/components/breadcrumb/breadcrumb.js +8 -8
  134. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
  135. package/dist/components/breadcrumb-item/breadcrumb-item.js +3 -3
  136. package/dist/components/button/button.component.js +10 -7
  137. package/dist/components/button/button.js +11 -8
  138. package/dist/components/button-group/button-group.component.js +2 -2
  139. package/dist/components/button-group/button-group.js +3 -3
  140. package/dist/components/card/card.component.js +2 -2
  141. package/dist/components/card/card.js +3 -3
  142. package/dist/components/checkbox/checkbox.component.js +8 -5
  143. package/dist/components/checkbox/checkbox.js +9 -6
  144. package/dist/components/combobox/combobox.component.js +13 -10
  145. package/dist/components/combobox/combobox.js +14 -11
  146. package/dist/components/details/details.component.js +9 -6
  147. package/dist/components/details/details.js +10 -7
  148. package/dist/components/dialog/dialog.component.js +11 -8
  149. package/dist/components/dialog/dialog.js +12 -9
  150. package/dist/components/divider/divider.component.js +2 -2
  151. package/dist/components/divider/divider.js +3 -3
  152. package/dist/components/drawer/drawer.component.js +10 -7
  153. package/dist/components/drawer/drawer.js +11 -8
  154. package/dist/components/dropdown/dropdown.component.js +4 -4
  155. package/dist/components/dropdown/dropdown.js +5 -5
  156. package/dist/components/file/file.component.js +11 -8
  157. package/dist/components/file/file.js +12 -9
  158. package/dist/components/header/header.component.js +7 -7
  159. package/dist/components/header/header.js +8 -8
  160. package/dist/components/icon/icon.component.js +2 -2
  161. package/dist/components/icon/icon.js +3 -3
  162. package/dist/components/icon-button/icon-button.component.js +6 -3
  163. package/dist/components/icon-button/icon-button.js +7 -4
  164. package/dist/components/input/input.component.js +11 -8
  165. package/dist/components/input/input.custom.styles.js +1 -1
  166. package/dist/components/input/input.js +12 -9
  167. package/dist/components/menu/menu.component.js +2 -2
  168. package/dist/components/menu/menu.js +3 -3
  169. package/dist/components/menu-item/menu-item.component.js +8 -8
  170. package/dist/components/menu-item/menu-item.js +9 -9
  171. package/dist/components/menu-label/menu-label.component.js +3 -3
  172. package/dist/components/menu-label/menu-label.js +4 -4
  173. package/dist/components/nav-item/nav-item.component.js +3 -3
  174. package/dist/components/nav-item/nav-item.js +4 -4
  175. package/dist/components/optgroup/optgroup.component.js +3 -3
  176. package/dist/components/optgroup/optgroup.js +4 -4
  177. package/dist/components/option/option.component.js +5 -5
  178. package/dist/components/option/option.js +6 -6
  179. package/dist/components/popup/popup.component.js +2 -2
  180. package/dist/components/popup/popup.js +3 -3
  181. package/dist/components/prio-nav/prio-nav.component.js +11 -11
  182. package/dist/components/prio-nav/prio-nav.js +12 -12
  183. package/dist/components/progress-bar/progress-bar.component.js +2 -2
  184. package/dist/components/progress-bar/progress-bar.js +3 -3
  185. package/dist/components/progress-ring/progress-ring.component.js +2 -2
  186. package/dist/components/progress-ring/progress-ring.js +3 -3
  187. package/dist/components/radio/radio.component.js +6 -3
  188. package/dist/components/radio/radio.js +7 -4
  189. package/dist/components/radio-button/radio-button.component.js +5 -2
  190. package/dist/components/radio-button/radio-button.js +6 -3
  191. package/dist/components/radio-group/radio-group.component.js +6 -3
  192. package/dist/components/radio-group/radio-group.js +7 -4
  193. package/dist/components/range/range.component.js +8 -5
  194. package/dist/components/range/range.js +9 -6
  195. package/dist/components/range-tick/range-tick.component.js +2 -2
  196. package/dist/components/range-tick/range-tick.js +3 -3
  197. package/dist/components/resize-observer/resize-observer.component.js +2 -2
  198. package/dist/components/select/select.component.js +12 -9
  199. package/dist/components/select/select.js +13 -10
  200. package/dist/components/side-nav/side-nav.component.js +12 -9
  201. package/dist/components/side-nav/side-nav.js +13 -10
  202. package/dist/components/spinner/spinner.component.js +2 -2
  203. package/dist/components/spinner/spinner.js +3 -3
  204. package/dist/components/switch/switch.component.js +5 -2
  205. package/dist/components/switch/switch.js +6 -3
  206. package/dist/components/tab/tab.component.js +9 -6
  207. package/dist/components/tab/tab.js +10 -7
  208. package/dist/components/tab-group/tab-group.component.js +10 -7
  209. package/dist/components/tab-group/tab-group.js +11 -8
  210. package/dist/components/tab-panel/tab-panel.component.js +2 -2
  211. package/dist/components/tab-panel/tab-panel.js +3 -3
  212. package/dist/components/tag/tag.component.js +9 -6
  213. package/dist/components/tag/tag.js +10 -7
  214. package/dist/components/textarea/textarea.component.js +5 -2
  215. package/dist/components/textarea/textarea.js +6 -3
  216. package/dist/components/tooltip/tooltip.component.js +4 -4
  217. package/dist/components/tooltip/tooltip.js +5 -5
  218. package/dist/components/validate/utility.js +2 -2
  219. package/dist/components/validate/validate.component.js +14 -11
  220. package/dist/components/validate/validate.js +15 -12
  221. package/dist/custom-elements.json +233 -233
  222. package/dist/events/events.d.ts +1 -0
  223. package/dist/events/syn-default-settings-changed.d.ts +16 -0
  224. package/dist/styles/index.css +1 -1
  225. package/dist/synergy.d.ts +1 -0
  226. package/dist/synergy.js +142 -126
  227. package/dist/utilities/defaultSettings/base.d.ts +87 -0
  228. package/dist/utilities/defaultSettings/base.js +10 -0
  229. package/dist/utilities/defaultSettings/base.js.map +7 -0
  230. package/dist/utilities/defaultSettings/decorator.d.ts +12 -0
  231. package/dist/utilities/defaultSettings/decorator.js +10 -0
  232. package/dist/utilities/defaultSettings/decorator.js.map +7 -0
  233. package/dist/utilities/defaultSettings/functions.d.ts +41 -0
  234. package/dist/utilities/defaultSettings/functions.js +21 -0
  235. package/dist/utilities/defaultSettings/functions.js.map +7 -0
  236. package/dist/utilities/defaultSettings/index.d.ts +3 -0
  237. package/dist/utilities/defaultSettings/index.js +20 -0
  238. package/dist/utilities/defaultSettings/index.js.map +7 -0
  239. package/dist/vscode.html-custom-data.json +49 -49
  240. package/package.json +25 -25
  241. package/LICENSE +0 -9
  242. package/dist/chunks/chunk.CHXBQL3V.js.map +0 -7
  243. package/dist/chunks/chunk.DRWE6CQ2.js.map +0 -7
  244. package/dist/chunks/chunk.E44AHYCS.js.map +0 -7
  245. package/dist/chunks/chunk.HTQBFNY7.js.map +0 -7
  246. package/dist/chunks/chunk.II2KA3OR.js.map +0 -7
  247. package/dist/chunks/chunk.IOTPBNBD.js.map +0 -7
  248. package/dist/chunks/chunk.JZ54BAZN.js.map +0 -7
  249. package/dist/chunks/chunk.MPJHH2MY.js.map +0 -7
  250. package/dist/chunks/chunk.O45X5N4K.js.map +0 -7
  251. package/dist/chunks/chunk.OH3XIKJC.js.map +0 -7
  252. package/dist/chunks/chunk.S3JJZL3O.js.map +0 -7
  253. package/dist/chunks/chunk.WCA3YMN7.js.map +0 -7
  254. package/dist/chunks/chunk.WMWANLUG.js.map +0 -7
  255. package/dist/chunks/chunk.Y5LNS47Z.js.map +0 -7
  256. package/dist/chunks/chunk.Z463JNSB.js.map +0 -7
  257. package/dist/chunks/chunk.ZJF7NESZ.js.map +0 -7
  258. package/dist/chunks/chunk.ZX5CHJI2.js.map +0 -7
  259. package/dist/chunks/chunk.ZXZA6GQW.js.map +0 -7
  260. /package/dist/chunks/{chunk.M4CVCPA7.js.map → chunk.2QFNK7XL.js.map} +0 -0
  261. /package/dist/chunks/{chunk.T2TZJ6RL.js.map → chunk.3HW4J22U.js.map} +0 -0
  262. /package/dist/chunks/{chunk.O353RCGZ.js.map → chunk.4AKA2QRO.js.map} +0 -0
  263. /package/dist/chunks/{chunk.2Z4KRXQR.js.map → chunk.4ZPJSGD5.js.map} +0 -0
  264. /package/dist/chunks/{chunk.KUHEM2HU.js.map → chunk.53THUSDO.js.map} +0 -0
  265. /package/dist/chunks/{chunk.JXFOMI34.js.map → chunk.7467Z6PG.js.map} +0 -0
  266. /package/dist/chunks/{chunk.FDXNWNID.js.map → chunk.7EYHNKMM.js.map} +0 -0
  267. /package/dist/chunks/{chunk.3CBZSMFD.js.map → chunk.7LASULTQ.js.map} +0 -0
  268. /package/dist/chunks/{chunk.BJI3TUDD.js.map → chunk.7NZ7JAEV.js.map} +0 -0
  269. /package/dist/chunks/{chunk.A5SZJGAY.js.map → chunk.7XMTQ7P7.js.map} +0 -0
  270. /package/dist/chunks/{chunk.5BPFEOW3.js.map → chunk.A2JLMFJ4.js.map} +0 -0
  271. /package/dist/chunks/{chunk.GSWYXK3F.js.map → chunk.AQS4YK7Q.js.map} +0 -0
  272. /package/dist/chunks/{chunk.CKX7E6DW.js.map → chunk.AS3TB27D.js.map} +0 -0
  273. /package/dist/chunks/{chunk.E6TS35BF.js.map → chunk.B2WOBIWW.js.map} +0 -0
  274. /package/dist/chunks/{chunk.KCEUZKGJ.js.map → chunk.BJTRYICX.js.map} +0 -0
  275. /package/dist/chunks/{chunk.UD2SVXHT.js.map → chunk.BPZOCAHJ.js.map} +0 -0
  276. /package/dist/chunks/{chunk.CMORZHVE.js.map → chunk.BWESHYBN.js.map} +0 -0
  277. /package/dist/chunks/{chunk.R7UQZGOB.js.map → chunk.DYUCTKM6.js.map} +0 -0
  278. /package/dist/chunks/{chunk.AVEHVAVI.js.map → chunk.E72GLNXI.js.map} +0 -0
  279. /package/dist/chunks/{chunk.442H67H2.js.map → chunk.EBYGA33B.js.map} +0 -0
  280. /package/dist/chunks/{chunk.KYW2PJQJ.js.map → chunk.EMGPXY5T.js.map} +0 -0
  281. /package/dist/chunks/{chunk.KQKYLYB5.js.map → chunk.FAREQGAK.js.map} +0 -0
  282. /package/dist/chunks/{chunk.WQTGLVFD.js.map → chunk.FLB37Q2Y.js.map} +0 -0
  283. /package/dist/chunks/{chunk.7C65TMZT.js.map → chunk.HCMNEIRN.js.map} +0 -0
  284. /package/dist/chunks/{chunk.XWYGFKWO.js.map → chunk.HNVPPNYZ.js.map} +0 -0
  285. /package/dist/chunks/{chunk.F7L6D6XY.js.map → chunk.HPQBH3O2.js.map} +0 -0
  286. /package/dist/chunks/{chunk.DYAGSNTK.js.map → chunk.HZ3S4J3T.js.map} +0 -0
  287. /package/dist/chunks/{chunk.NM5ZFEE5.js.map → chunk.IBQDKFYH.js.map} +0 -0
  288. /package/dist/chunks/{chunk.Z4WZ7MIE.js.map → chunk.IFWSRMUK.js.map} +0 -0
  289. /package/dist/chunks/{chunk.TVERPVR4.js.map → chunk.J53UXHXV.js.map} +0 -0
  290. /package/dist/chunks/{chunk.WSJXYSXY.js.map → chunk.JHPSR3AP.js.map} +0 -0
  291. /package/dist/chunks/{chunk.SAH3XRAD.js.map → chunk.JNAG6IBY.js.map} +0 -0
  292. /package/dist/chunks/{chunk.6WYS7WDW.js.map → chunk.LHNUNBCA.js.map} +0 -0
  293. /package/dist/chunks/{chunk.YA4ZNSNS.js.map → chunk.LYMHXGME.js.map} +0 -0
  294. /package/dist/chunks/{chunk.SMRWRBBB.js.map → chunk.LYNLLR54.js.map} +0 -0
  295. /package/dist/chunks/{chunk.JGZ2DM63.js.map → chunk.LZ27X5R6.js.map} +0 -0
  296. /package/dist/chunks/{chunk.O3D7AIEY.js.map → chunk.MDG7KZFO.js.map} +0 -0
  297. /package/dist/chunks/{chunk.AEYAHBYW.js.map → chunk.MGET4VXP.js.map} +0 -0
  298. /package/dist/chunks/{chunk.CZDXNQOI.js.map → chunk.N54SVWTA.js.map} +0 -0
  299. /package/dist/chunks/{chunk.4SALHO5R.js.map → chunk.NL4FKYIJ.js.map} +0 -0
  300. /package/dist/chunks/{chunk.WJWII3OP.js.map → chunk.NM5EI7ZH.js.map} +0 -0
  301. /package/dist/chunks/{chunk.3CZBIEJQ.js.map → chunk.NN73HBIU.js.map} +0 -0
  302. /package/dist/chunks/{chunk.54OV4Y3P.js.map → chunk.OFA3YJLS.js.map} +0 -0
  303. /package/dist/chunks/{chunk.ZA44ZRKT.js.map → chunk.P5XIUYNV.js.map} +0 -0
  304. /package/dist/chunks/{chunk.762BUPQP.js.map → chunk.PDAOZ7HN.js.map} +0 -0
  305. /package/dist/chunks/{chunk.ODBT7EDN.js.map → chunk.PLSOGFSX.js.map} +0 -0
  306. /package/dist/chunks/{chunk.RR3NOQXW.js.map → chunk.Q33XUREM.js.map} +0 -0
  307. /package/dist/chunks/{chunk.EFBKBI5I.js.map → chunk.QMVBPAZF.js.map} +0 -0
  308. /package/dist/chunks/{chunk.T2IZ4JC5.js.map → chunk.QWMAKCAT.js.map} +0 -0
  309. /package/dist/chunks/{chunk.26PAD6S5.js.map → chunk.S7PAQRVY.js.map} +0 -0
  310. /package/dist/chunks/{chunk.3GWNIY5V.js.map → chunk.SKA5Y7HA.js.map} +0 -0
  311. /package/dist/chunks/{chunk.VKKATLHB.js.map → chunk.SNHVIH7F.js.map} +0 -0
  312. /package/dist/chunks/{chunk.U627OKOV.js.map → chunk.ST3V3ZVP.js.map} +0 -0
  313. /package/dist/chunks/{chunk.JM2MZ7RR.js.map → chunk.SWUXKALS.js.map} +0 -0
  314. /package/dist/chunks/{chunk.IMPVWVTM.js.map → chunk.SYWSXUHZ.js.map} +0 -0
  315. /package/dist/chunks/{chunk.4QCEBUCC.js.map → chunk.TL5RQ2KH.js.map} +0 -0
  316. /package/dist/chunks/{chunk.YADYVOVB.js.map → chunk.UXHC3W5U.js.map} +0 -0
  317. /package/dist/chunks/{chunk.Z6ZZHCIT.js.map → chunk.UY5AOQHP.js.map} +0 -0
  318. /package/dist/chunks/{chunk.EPPQVZQW.js.map → chunk.UYGCYMDS.js.map} +0 -0
  319. /package/dist/chunks/{chunk.XNZSIB7Q.js.map → chunk.VL74BJLP.js.map} +0 -0
  320. /package/dist/chunks/{chunk.WGTTDIKF.js.map → chunk.VLE3Q74Y.js.map} +0 -0
  321. /package/dist/chunks/{chunk.3DYXH3I6.js.map → chunk.VOOMTA4X.js.map} +0 -0
  322. /package/dist/chunks/{chunk.OLTMUBJR.js.map → chunk.WLHRVKAR.js.map} +0 -0
  323. /package/dist/chunks/{chunk.JZC3FVVX.js.map → chunk.WLYLSH3H.js.map} +0 -0
  324. /package/dist/chunks/{chunk.TMJ25O52.js.map → chunk.WMUMEYQJ.js.map} +0 -0
  325. /package/dist/chunks/{chunk.GOLBL7J7.js.map → chunk.XMSHEZ3R.js.map} +0 -0
  326. /package/dist/chunks/{chunk.C2IY7RL4.js.map → chunk.XP47Y2SU.js.map} +0 -0
  327. /package/dist/chunks/{chunk.5OUUMC6G.js.map → chunk.XSS62TBI.js.map} +0 -0
  328. /package/dist/chunks/{chunk.PHUCYRO7.js.map → chunk.XY3WHMD7.js.map} +0 -0
  329. /package/dist/chunks/{chunk.CIHRDJFX.js.map → chunk.Y334QFFZ.js.map} +0 -0
  330. /package/dist/chunks/{chunk.QSA255YJ.js.map → chunk.Y4EGILWE.js.map} +0 -0
  331. /package/dist/chunks/{chunk.5IR2ODKZ.js.map → chunk.YQLTFWYX.js.map} +0 -0
  332. /package/dist/chunks/{chunk.OX7ASSRL.js.map → chunk.YTMSHKEA.js.map} +0 -0
  333. /package/dist/chunks/{chunk.FLSPWXQV.js.map → chunk.Z4OFLKEQ.js.map} +0 -0
  334. /package/dist/chunks/{chunk.SS6UWTDZ.js.map → chunk.ZDIDYG6H.js.map} +0 -0
@@ -0,0 +1,147 @@
1
+ import {
2
+ INITIAL_DEFAULT_SETTINGS,
3
+ defaultSettings
4
+ } from "./chunk.UPDPVGHT.js";
5
+
6
+ // src/utilities/defaultSettings/functions.ts
7
+ var SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS = false;
8
+ var hasGlobalEventSetup = false;
9
+ var elementPropertyCache = /* @__PURE__ */ new Map();
10
+ var globalEventNotificationMap = /* @__PURE__ */ new Set();
11
+ function defaultSettingsHandler(e) {
12
+ const { detail } = e;
13
+ Object.entries(detail).forEach(([componentName, changes]) => {
14
+ globalEventNotificationMap.forEach((element) => {
15
+ if (element.__originalDecoratedClassName !== "undefined" && element.__originalDecoratedClassName === componentName) {
16
+ element.overrideGlobalSettings(changes);
17
+ }
18
+ });
19
+ });
20
+ }
21
+ var enableExperimentalSettingEmitEvents = (enabled = true) => {
22
+ SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS = enabled;
23
+ if (!enabled) {
24
+ globalEventNotificationMap.clear();
25
+ hasGlobalEventSetup = false;
26
+ window.removeEventListener("syn-default-settings-changed", defaultSettingsHandler, {
27
+ capture: true
28
+ });
29
+ return;
30
+ }
31
+ if (enabled && !hasGlobalEventSetup) {
32
+ hasGlobalEventSetup = true;
33
+ window.addEventListener("syn-default-settings-changed", defaultSettingsHandler, {
34
+ capture: true
35
+ });
36
+ }
37
+ };
38
+ var addGlobalEventNotification = (element) => {
39
+ if (SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS && !globalEventNotificationMap.has(element)) {
40
+ globalEventNotificationMap.add(element);
41
+ }
42
+ };
43
+ var removeGlobalEventNotification = (element) => {
44
+ if (globalEventNotificationMap.has(element)) {
45
+ globalEventNotificationMap.delete(element);
46
+ }
47
+ };
48
+ var extractDefaultSettingsForElement = (component, from = "default") => {
49
+ const store = from === "default" ? defaultSettings : INITIAL_DEFAULT_SETTINGS;
50
+ if (from === "default") {
51
+ const cachedSettings = elementPropertyCache.get(component);
52
+ if (typeof cachedSettings !== "undefined") {
53
+ return cachedSettings;
54
+ }
55
+ }
56
+ const allElementSettings = Object.entries(store).reduce(
57
+ (acc, [key, value]) => {
58
+ const elementSetting = value[component];
59
+ if (elementSetting) {
60
+ acc[key] = elementSetting;
61
+ }
62
+ return acc;
63
+ },
64
+ {}
65
+ );
66
+ if (from === "default") {
67
+ elementPropertyCache.set(component, allElementSettings);
68
+ }
69
+ return allElementSettings;
70
+ };
71
+ var setDefaultSettingsForElement = (component, newValues) => {
72
+ const detail = {
73
+ [component]: []
74
+ };
75
+ Object.entries(newValues).forEach(([key, value]) => {
76
+ if (defaultSettings[key] && typeof defaultSettings[key][component] !== "undefined") {
77
+ detail[component].push({
78
+ attribute: key,
79
+ newValue: value,
80
+ oldValue: defaultSettings[key][component]
81
+ });
82
+ defaultSettings[key][component] = value;
83
+ }
84
+ });
85
+ const cachedItem = elementPropertyCache.get(component);
86
+ if (typeof cachedItem !== "undefined") {
87
+ detail[component].forEach((change) => {
88
+ cachedItem[change.attribute] = change.newValue;
89
+ });
90
+ }
91
+ if (SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS) {
92
+ const event = new CustomEvent("syn-default-settings-changed", {
93
+ bubbles: true,
94
+ detail
95
+ });
96
+ dispatchEvent(event);
97
+ }
98
+ return defaultSettings;
99
+ };
100
+ var setGlobalDefaultSettings = (newSettings) => {
101
+ const detail = {};
102
+ Object.entries(newSettings).forEach(([key, value]) => {
103
+ if (defaultSettings[key]) {
104
+ Object.entries(value).forEach(([component, newValue]) => {
105
+ if (!detail[component]) {
106
+ detail[component] = [];
107
+ }
108
+ detail[component].push({
109
+ attribute: key,
110
+ newValue,
111
+ oldValue: defaultSettings[key][component]
112
+ });
113
+ defaultSettings[key][component] = newValue;
114
+ });
115
+ }
116
+ });
117
+ Object.entries(detail).forEach(([component, changes]) => {
118
+ const cachedItem = elementPropertyCache.get(component);
119
+ if (typeof cachedItem !== "undefined") {
120
+ changes.forEach((change) => {
121
+ cachedItem[change.attribute] = change.newValue;
122
+ });
123
+ }
124
+ });
125
+ if (SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS) {
126
+ const event = new CustomEvent("syn-default-settings-changed", {
127
+ bubbles: true,
128
+ detail
129
+ });
130
+ dispatchEvent(event);
131
+ }
132
+ return defaultSettings;
133
+ };
134
+ var resetGlobalDefaultSettings = () => setGlobalDefaultSettings(
135
+ INITIAL_DEFAULT_SETTINGS
136
+ );
137
+
138
+ export {
139
+ enableExperimentalSettingEmitEvents,
140
+ addGlobalEventNotification,
141
+ removeGlobalEventNotification,
142
+ extractDefaultSettingsForElement,
143
+ setDefaultSettingsForElement,
144
+ setGlobalDefaultSettings,
145
+ resetGlobalDefaultSettings
146
+ };
147
+ //# sourceMappingURL=chunk.JSEL4YPW.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utilities/defaultSettings/functions.ts"],
4
+ "sourcesContent": ["/* eslint-disable no-underscore-dangle */\nimport type SynergyElement from '../../internal/synergy-element.js';\nimport {\n type AllowedValueForDefaultSetting,\n type ComponentNamesWithDefaultValues,\n type ExtractSettingsForElement,\n type GlobalSettingsEnabledElement,\n INITIAL_DEFAULT_SETTINGS,\n type RecursivePartial,\n type SynDefaultSettings,\n defaultSettings,\n} from './base.js';\nimport type { SynDefaultChangedAttribute, SynDefaultSettingsChangedEvent } from '../../events/events.js';\n\n/**\n * Whether to emit events when the default settings change\n */\nlet SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS = false;\n\n/**\n * Internal flag to check if the global event listeners have been set up\n */\nlet hasGlobalEventSetup = false;\n\n// Cache for speeding up lookups\nconst elementPropertyCache = new Map<ComponentNamesWithDefaultValues, Record<string, unknown>>();\n\n/**\n * List of all components that have default values\n */\nconst globalEventNotificationMap = new Set<GlobalSettingsEnabledElement>();\n\n/**\n * The default setting update handler that is bound to the global event\n * @param e The syn-default-settings-change-event emitted\n */\nfunction defaultSettingsHandler(e: SynDefaultSettingsChangedEvent) {\n const { detail } = e;\n Object.entries(detail).forEach(([componentName, changes]) => {\n globalEventNotificationMap.forEach(element => {\n if (\n element.__originalDecoratedClassName !== 'undefined'\n && element.__originalDecoratedClassName === componentName\n ) {\n element.overrideGlobalSettings(changes);\n }\n });\n });\n}\n\n/**\n * Enables or disables the experimental setting to emit events when the default settings change\n * @param enabled Whether to enable or disable the experimental setting\n */\nexport const enableExperimentalSettingEmitEvents = (enabled = true) => {\n SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS = enabled;\n\n if (!enabled) {\n // Make sure to always remove the old element cache\n // when the feature is disabled.\n // Otherwise, we could get a memory leak\n globalEventNotificationMap.clear();\n\n hasGlobalEventSetup = false;\n window.removeEventListener('syn-default-settings-changed', defaultSettingsHandler, {\n capture: true,\n });\n return;\n }\n\n if (enabled && !hasGlobalEventSetup) {\n hasGlobalEventSetup = true;\n window.addEventListener('syn-default-settings-changed', defaultSettingsHandler, {\n capture: true,\n });\n }\n};\n\n/**\n * Adds an element to the global event notification map\n * Does not have any effect when SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS is false\n * @param element The element to add\n */\nexport const addGlobalEventNotification = (\n element: GlobalSettingsEnabledElement,\n) => {\n if (\n SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS\n && !globalEventNotificationMap.has(element)\n ) {\n globalEventNotificationMap.add(element);\n }\n};\n\n/**\n * Removes an element from the global event notification map\n * Does not have any effect when SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS is false\n * @param element The element to remove\n */\nexport const removeGlobalEventNotification = (\n element: GlobalSettingsEnabledElement,\n) => {\n // Always try to remove the element from the map\n // This is done because the event support might have been disabled\n // between the time the element was added and removed\n if (globalEventNotificationMap.has(element)) {\n globalEventNotificationMap.delete(element);\n }\n};\n\n/**\n * Extracts all available default settings for a given component\n * @param component The name of the component to get the settings for\n * @param from The source to get the settings from\n * @returns key value pair of found settings for the given component\n */\nexport const extractDefaultSettingsForElement = (\n component: ComponentNamesWithDefaultValues,\n from: 'default' | 'initial' = 'default',\n) => {\n const store = from === 'default' ? defaultSettings : INITIAL_DEFAULT_SETTINGS;\n\n // When we have settings in the cache, make sure to use them to speed them up when possible.\n // This is only available when using the default source!\n if (from === 'default') {\n const cachedSettings = elementPropertyCache.get(component);\n if (typeof cachedSettings !== 'undefined') {\n return cachedSettings;\n }\n }\n\n const allElementSettings = Object.entries(store).reduce(\n (acc: Record<string, unknown>, [key, value]) => {\n const elementSetting = value[component as keyof SynDefaultSettings[keyof SynDefaultSettings]];\n if (elementSetting) {\n acc[key] = elementSetting;\n }\n return acc;\n },\n {},\n );\n\n // Set the cache item when we are using the default source\n if (from === 'default') {\n elementPropertyCache.set(component, allElementSettings);\n }\n\n return allElementSettings;\n};\n\n/**\n * Set the default values for a given component\n * @param component The component to set the defaults for\n * @param newValues Map of new values to set\n */\nexport const setDefaultSettingsForElement = <C extends SynergyElement>(\n component: ComponentNamesWithDefaultValues,\n newValues: Partial<ExtractSettingsForElement<C>>,\n) => {\n // List of all changes in the default settings\n const detail = {\n [component]: [] as SynDefaultChangedAttribute[],\n } as Record<string, SynDefaultChangedAttribute[]>;\n\n Object.entries(newValues).forEach(([key, value]) => {\n if (\n defaultSettings[key as keyof SynDefaultSettings]\n && typeof (\n defaultSettings[key as keyof SynDefaultSettings] as Record<string, unknown>\n )[component] !== 'undefined'\n ) {\n detail[component].push({\n attribute: key,\n newValue: value,\n oldValue:\n defaultSettings[key as keyof SynDefaultSettings][\n component as keyof SynDefaultSettings[keyof SynDefaultSettings]\n ],\n });\n\n (\n defaultSettings[key as keyof SynDefaultSettings] as Record<string, unknown>\n )[component] = value as AllowedValueForDefaultSetting<C, keyof C>;\n }\n });\n\n // Make sure to clean up the cache when we change the default settings\n const cachedItem = elementPropertyCache.get(component);\n if (typeof cachedItem !== 'undefined') {\n detail[component].forEach(change => {\n cachedItem[change.attribute] = change.newValue;\n });\n }\n\n // Fire the change event\n if (SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS) {\n const event = new CustomEvent<typeof detail>('syn-default-settings-changed', {\n bubbles: true,\n detail,\n });\n dispatchEvent(event);\n }\n\n return defaultSettings;\n};\n\n/**\n * Set the global default settings\n * @param newSettings The new settings to set\n */\nexport const setGlobalDefaultSettings = (\n newSettings: RecursivePartial<SynDefaultSettings>,\n): SynDefaultSettings => {\n // List of all changes in the default settings\n const detail = {} as Record<string, SynDefaultChangedAttribute[]>;\n\n Object.entries(newSettings).forEach(([key, value]) => {\n if (defaultSettings[key as keyof SynDefaultSettings]) {\n Object.entries(value).forEach(([component, newValue]) => {\n // Create the component part of details if it does not exist yet\n if (!detail[component]) {\n detail[component] = [];\n }\n\n // Add the changed attribute to the detail object\n detail[component].push({\n attribute: key,\n newValue: newValue as unknown,\n oldValue:\n defaultSettings[key as keyof SynDefaultSettings][\n component as keyof SynDefaultSettings[keyof SynDefaultSettings]\n ],\n });\n\n // Set the new value\n (\n defaultSettings[key as keyof SynDefaultSettings] as Record<string, unknown>\n )[component] = newValue;\n });\n }\n });\n\n // Make sure to update the cache when we change a default settings\n Object\n .entries(detail)\n .forEach(([component, changes]) => {\n const cachedItem = elementPropertyCache.get(component as ComponentNamesWithDefaultValues);\n if (typeof cachedItem !== 'undefined') {\n changes.forEach(change => {\n cachedItem[change.attribute] = change.newValue;\n });\n }\n });\n\n // Fire the change event\n if (SYNERGY_EXPERIMENTAL_SETTING_EMIT_EVENTS) {\n const event = new CustomEvent<typeof detail>('syn-default-settings-changed', {\n bubbles: true,\n detail,\n });\n dispatchEvent(event);\n }\n\n return defaultSettings;\n};\n\n/**\n * Reset the global default settings to synergies initial values\n */\nexport const resetGlobalDefaultSettings = (): SynDefaultSettings => setGlobalDefaultSettings(\n INITIAL_DEFAULT_SETTINGS,\n);\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynMenu
3
- } from "./chunk.UD2SVXHT.js";
3
+ } from "./chunk.BPZOCAHJ.js";
4
4
 
5
5
  // src/components/menu/menu.ts
6
6
  var menu_default = SynMenu;
@@ -9,4 +9,4 @@ SynMenu.define("syn-menu");
9
9
  export {
10
10
  menu_default
11
11
  };
12
- //# sourceMappingURL=chunk.6WYS7WDW.js.map
12
+ //# sourceMappingURL=chunk.LHNUNBCA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynSelect
3
- } from "./chunk.CHXBQL3V.js";
3
+ } from "./chunk.BO7VIZR3.js";
4
4
 
5
5
  // src/components/select/select.ts
6
6
  var select_default = SynSelect;
@@ -9,4 +9,4 @@ SynSelect.define("syn-select");
9
9
  export {
10
10
  select_default
11
11
  };
12
- //# sourceMappingURL=chunk.YA4ZNSNS.js.map
12
+ //# sourceMappingURL=chunk.LYMHXGME.js.map
@@ -9,29 +9,29 @@ import {
9
9
  } from "./chunk.V4HPWQE7.js";
10
10
  import {
11
11
  SynPopup
12
- } from "./chunk.ODBT7EDN.js";
12
+ } from "./chunk.PLSOGFSX.js";
13
13
  import {
14
14
  SynSpinner
15
- } from "./chunk.Z6ZZHCIT.js";
15
+ } from "./chunk.UY5AOQHP.js";
16
+ import {
17
+ SynIcon
18
+ } from "./chunk.SWUXKALS.js";
16
19
  import {
17
20
  HasSlotController,
18
21
  getTextContent
19
22
  } from "./chunk.WVVQK5TE.js";
20
23
  import {
21
- SynIcon
22
- } from "./chunk.JM2MZ7RR.js";
24
+ LocalizeController
25
+ } from "./chunk.GIU3H3J3.js";
23
26
  import {
24
27
  watch
25
28
  } from "./chunk.74IOULXM.js";
26
- import {
27
- LocalizeController
28
- } from "./chunk.GIU3H3J3.js";
29
29
  import {
30
30
  component_styles_default
31
31
  } from "./chunk.NLYVOJGK.js";
32
32
  import {
33
33
  SynergyElement
34
- } from "./chunk.UUSZZYBI.js";
34
+ } from "./chunk.MKQXTHWU.js";
35
35
  import {
36
36
  __decorateClass,
37
37
  __privateAdd,
@@ -241,4 +241,4 @@ SynMenuItem = __decorateClass([
241
241
  export {
242
242
  SynMenuItem
243
243
  };
244
- //# sourceMappingURL=chunk.SMRWRBBB.js.map
244
+ //# sourceMappingURL=chunk.LYNLLR54.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynCheckbox
3
- } from "./chunk.Y5LNS47Z.js";
3
+ } from "./chunk.DERBT2MN.js";
4
4
 
5
5
  // src/components/checkbox/checkbox.ts
6
6
  var checkbox_default = SynCheckbox;
@@ -9,4 +9,4 @@ SynCheckbox.define("syn-checkbox");
9
9
  export {
10
10
  checkbox_default
11
11
  };
12
- //# sourceMappingURL=chunk.JGZ2DM63.js.map
12
+ //# sourceMappingURL=chunk.LZ27X5R6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynCombobox
3
- } from "./chunk.OH3XIKJC.js";
3
+ } from "./chunk.R2HFUCJI.js";
4
4
 
5
5
  // src/components/combobox/combobox.ts
6
6
  var combobox_default = SynCombobox;
@@ -9,4 +9,4 @@ SynCombobox.define("syn-combobox");
9
9
  export {
10
10
  combobox_default
11
11
  };
12
- //# sourceMappingURL=chunk.O3D7AIEY.js.map
12
+ //# sourceMappingURL=chunk.MDG7KZFO.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynTab
3
- } from "./chunk.TMJ25O52.js";
3
+ } from "./chunk.WMUMEYQJ.js";
4
4
 
5
5
  // src/components/tab/tab.ts
6
6
  var tab_default = SynTab;
@@ -9,4 +9,4 @@ SynTab.define("syn-tab");
9
9
  export {
10
10
  tab_default
11
11
  };
12
- //# sourceMappingURL=chunk.AEYAHBYW.js.map
12
+ //# sourceMappingURL=chunk.MGET4VXP.js.map
@@ -81,7 +81,7 @@ var SynergyElement = class extends LitElement {
81
81
  _hasRecordedInitialProperties = new WeakMap();
82
82
  /* eslint-disable */
83
83
  // @ts-expect-error This is auto-injected at build time.
84
- SynergyElement.version = "2.19.3";
84
+ SynergyElement.version = "2.20.0-settings.0";
85
85
  SynergyElement.dependencies = {};
86
86
  __decorateClass([
87
87
  property()
@@ -93,4 +93,4 @@ __decorateClass([
93
93
  export {
94
94
  SynergyElement
95
95
  };
96
- //# sourceMappingURL=chunk.UUSZZYBI.js.map
96
+ //# sourceMappingURL=chunk.MKQXTHWU.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/internal/synergy-element.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"2.19.3\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n // We try to register as the actual class first. If for some reason that fails, we fall back to anonymous classes.\n // customElements can only have 1 class of the same \"object id\" per registry, so that is why the try {} catch {} exists.\n // Some tools like Jest Snapshots and if you import the constructor and call `new SynButton()` they will fail with\n // the anonymous class version.\n try {\n customElements.define(name, elementConstructor, options);\n } catch (_err) {\n customElements.define(name, class extends elementConstructor {}, options);\n }\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n\n #hasRecordedInitialProperties = false;\n\n // Store the constructor value of all `static properties = {}`\n initialReflectedProperties: Map<string, unknown> = new Map();\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (!this.#hasRecordedInitialProperties) {\n (this.constructor as typeof SynergyElement).elementProperties.forEach(\n (obj, prop: keyof typeof this & string) => {\n // eslint-disable-next-line\n if (obj.reflect && this[prop] != null) {\n this.initialReflectedProperties.set(prop, this[prop]);\n }\n }\n );\n\n this.#hasRecordedInitialProperties = true;\n }\n\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n protected willUpdate(changedProperties: Parameters<LitElement['willUpdate']>[0]): void {\n super.willUpdate(changedProperties);\n\n // Run the morph fixing *after* willUpdate.\n this.initialReflectedProperties.forEach((value, prop: string & keyof typeof this) => {\n // If a prop changes to `null`, we assume this happens via an attribute changing to `null`.\n // eslint-disable-next-line\n if (changedProperties.has(prop) && this[prop] == null) {\n // Silly type gymnastics to appease the compiler.\n (this as Record<string, unknown>)[prop] = value;\n }\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
4
+ "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"2.20.0-settings.0\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n // We try to register as the actual class first. If for some reason that fails, we fall back to anonymous classes.\n // customElements can only have 1 class of the same \"object id\" per registry, so that is why the try {} catch {} exists.\n // Some tools like Jest Snapshots and if you import the constructor and call `new SynButton()` they will fail with\n // the anonymous class version.\n try {\n customElements.define(name, elementConstructor, options);\n } catch (_err) {\n customElements.define(name, class extends elementConstructor {}, options);\n }\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n\n #hasRecordedInitialProperties = false;\n\n // Store the constructor value of all `static properties = {}`\n initialReflectedProperties: Map<string, unknown> = new Map();\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (!this.#hasRecordedInitialProperties) {\n (this.constructor as typeof SynergyElement).elementProperties.forEach(\n (obj, prop: keyof typeof this & string) => {\n // eslint-disable-next-line\n if (obj.reflect && this[prop] != null) {\n this.initialReflectedProperties.set(prop, this[prop]);\n }\n }\n );\n\n this.#hasRecordedInitialProperties = true;\n }\n\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n protected willUpdate(changedProperties: Parameters<LitElement['willUpdate']>[0]): void {\n super.willUpdate(changedProperties);\n\n // Run the morph fixing *after* willUpdate.\n this.initialReflectedProperties.forEach((value, prop: string & keyof typeof this) => {\n // If a prop changes to `null`, we assume this happens via an attribute changing to `null`.\n // eslint-disable-next-line\n if (changedProperties.has(prop) && this[prop] == null) {\n // Silly type gymnastics to appease the compiler.\n (this as Record<string, unknown>)[prop] = value;\n }\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
5
5
  "mappings": ";;;;;;;;;AAQA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AATzB;AAwEA,IAAqB,iBAArB,cAA4C,WAAW;AAAA,EA8ErD,cAAc;AACZ,UAAM;AAMR,sDAAgC;AAGhC;AAAA,sCAAmD,oBAAI,IAAI;AARzD,WAAO,QAAS,KAAK,YAAsC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,SAAS,MAAM;AACtG,MAAC,KAAK,YAAsC,OAAO,MAAM,SAAS;AAAA,IACpE,CAAC;AAAA,EACH;AAAA,EArEA,KACE,MACA,SACuB;AACvB,UAAM,QAAQ,IAAI,YAAY,MAAM;AAAA,MAClC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ,CAAC;AAAA,OACN,QACJ;AAED,SAAK,cAAc,KAAK;AAExB,WAAO;AAAA,EACT;AAAA,EAOA,OAAO,OAAO,MAAc,qBAAqB,MAAM,UAAoC,CAAC,GAAG;AAC7F,UAAM,iCAAiC,eAAe,IAAI,IAAI;AAI9D,QAAI,CAAC,gCAAgC;AAKnC,UAAI;AACF,uBAAe,OAAO,MAAM,oBAAoB,OAAO;AAAA,MACzD,SAAS,MAAM;AACb,uBAAe,OAAO,MAAM,cAAc,mBAAmB;AAAA,QAAC,GAAG,OAAO;AAAA,MAC1E;AACA;AAAA,IACF;AAEA,QAAI,aAAa;AACjB,QAAI,kBAAkB;AAEtB,QAAI,aAAa,sBAAsB,mBAAmB,SAAS;AACjE,mBAAa,OAAO,mBAAmB;AAAA,IACzC;AAEA,QAAI,aAAa,kCAAkC,+BAA+B,SAAS;AACzF,wBAAkB,OAAO,+BAA+B;AAAA,IAC1D;AAGA,QAAI,cAAc,mBAAmB,eAAe,iBAAiB;AAEnE;AAAA,IACF;AAEA,YAAQ;AAAA,MACN,0BAA0B,IAAI,IAAI,UAAU,UAAU,IAAI,IAAI,eAAe;AAAA,IAC/E;AAAA,EACF;AAAA,EAgBA,yBAAyB,MAAc,UAAyB,UAAyB;AACvF,QAAI,CAAC,mBAAK,gCAA+B;AACvC,MAAC,KAAK,YAAsC,kBAAkB;AAAA,QAC5D,CAAC,KAAK,SAAqC;AAEzC,cAAI,IAAI,WAAW,KAAK,IAAI,KAAK,MAAM;AACrC,iBAAK,2BAA2B,IAAI,MAAM,KAAK,IAAI,CAAC;AAAA,UACtD;AAAA,QACF;AAAA,MACF;AAEA,yBAAK,+BAAgC;AAAA,IACvC;AAEA,UAAM,yBAAyB,MAAM,UAAU,QAAQ;AAAA,EACzD;AAAA,EAEU,WAAW,mBAAkE;AACrF,UAAM,WAAW,iBAAiB;AAGlC,SAAK,2BAA2B,QAAQ,CAAC,OAAO,SAAqC;AAGnF,UAAI,kBAAkB,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM;AAErD,QAAC,KAAiC,IAAI,IAAI;AAAA,MAC5C;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAnCE;AAAA;AAAA;AArFmB,eAiCZ,UAAU;AAjCE,eA4EZ,eAAsD,CAAC;AA1ElD;AAAA,EAAX,SAAS;AAAA,GAFS,eAEP;AACA;AAAA,EAAX,SAAS;AAAA,GAHS,eAGP;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynSwitch
3
- } from "./chunk.WCA3YMN7.js";
3
+ } from "./chunk.AIQ3EJZY.js";
4
4
 
5
5
  // src/components/switch/switch.ts
6
6
  var switch_default = SynSwitch;
@@ -9,4 +9,4 @@ SynSwitch.define("syn-switch");
9
9
  export {
10
10
  switch_default
11
11
  };
12
- //# sourceMappingURL=chunk.CZDXNQOI.js.map
12
+ //# sourceMappingURL=chunk.N54SVWTA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynOption
3
- } from "./chunk.3CZBIEJQ.js";
3
+ } from "./chunk.NN73HBIU.js";
4
4
 
5
5
  // src/components/option/option.ts
6
6
  var option_default = SynOption;
@@ -9,4 +9,4 @@ SynOption.define("syn-option");
9
9
  export {
10
10
  option_default
11
11
  };
12
- //# sourceMappingURL=chunk.4SALHO5R.js.map
12
+ //# sourceMappingURL=chunk.NL4FKYIJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynDropdown
3
- } from "./chunk.CIHRDJFX.js";
3
+ } from "./chunk.Y334QFFZ.js";
4
4
 
5
5
  // src/components/dropdown/dropdown.ts
6
6
  var dropdown_default = SynDropdown;
@@ -9,4 +9,4 @@ SynDropdown.define("syn-dropdown");
9
9
  export {
10
10
  dropdown_default
11
11
  };
12
- //# sourceMappingURL=chunk.WJWII3OP.js.map
12
+ //# sourceMappingURL=chunk.NM5EI7ZH.js.map
@@ -6,19 +6,19 @@ import {
6
6
  } from "./chunk.IVM3BGRH.js";
7
7
  import {
8
8
  SynIcon
9
- } from "./chunk.JM2MZ7RR.js";
10
- import {
11
- watch
12
- } from "./chunk.74IOULXM.js";
9
+ } from "./chunk.SWUXKALS.js";
13
10
  import {
14
11
  LocalizeController
15
12
  } from "./chunk.GIU3H3J3.js";
13
+ import {
14
+ watch
15
+ } from "./chunk.74IOULXM.js";
16
16
  import {
17
17
  component_styles_default
18
18
  } from "./chunk.NLYVOJGK.js";
19
19
  import {
20
20
  SynergyElement
21
- } from "./chunk.UUSZZYBI.js";
21
+ } from "./chunk.MKQXTHWU.js";
22
22
  import {
23
23
  __decorateClass
24
24
  } from "./chunk.2GFK6XTO.js";
@@ -154,4 +154,4 @@ __decorateClass([
154
154
  export {
155
155
  SynOption
156
156
  };
157
- //# sourceMappingURL=chunk.3CZBIEJQ.js.map
157
+ //# sourceMappingURL=chunk.NN73HBIU.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  input_custom_styles_default
3
- } from "./chunk.II2KA3OR.js";
3
+ } from "./chunk.VKRMYKYH.js";
4
4
  import {
5
5
  input_styles_default
6
6
  } from "./chunk.3B22DBSJ.js";
7
7
  import {
8
8
  SynDivider
9
- } from "./chunk.KYW2PJQJ.js";
9
+ } from "./chunk.EMGPXY5T.js";
10
10
  import {
11
11
  defaultValue
12
12
  } from "./chunk.3NXKLKWH.js";
@@ -17,24 +17,27 @@ import {
17
17
  import {
18
18
  FormControlController
19
19
  } from "./chunk.AMIQC3O7.js";
20
+ import {
21
+ SynIcon
22
+ } from "./chunk.SWUXKALS.js";
20
23
  import {
21
24
  HasSlotController
22
25
  } from "./chunk.WVVQK5TE.js";
23
26
  import {
24
- SynIcon
25
- } from "./chunk.JM2MZ7RR.js";
27
+ LocalizeController
28
+ } from "./chunk.GIU3H3J3.js";
26
29
  import {
27
30
  watch
28
31
  } from "./chunk.74IOULXM.js";
29
32
  import {
30
- LocalizeController
31
- } from "./chunk.GIU3H3J3.js";
33
+ enableDefaultSettings
34
+ } from "./chunk.OLCT57R5.js";
32
35
  import {
33
36
  component_styles_default
34
37
  } from "./chunk.NLYVOJGK.js";
35
38
  import {
36
39
  SynergyElement
37
- } from "./chunk.UUSZZYBI.js";
40
+ } from "./chunk.MKQXTHWU.js";
38
41
  import {
39
42
  __decorateClass,
40
43
  __spreadValues
@@ -640,8 +643,11 @@ __decorateClass([
640
643
  __decorateClass([
641
644
  watch("value", { waitUntilFirstUpdate: true })
642
645
  ], SynInput.prototype, "handleValueChange", 1);
646
+ SynInput = __decorateClass([
647
+ enableDefaultSettings("SynInput")
648
+ ], SynInput);
643
649
 
644
650
  export {
645
651
  SynInput
646
652
  };
647
- //# sourceMappingURL=chunk.DRWE6CQ2.js.map
653
+ //# sourceMappingURL=chunk.NUCBTPTS.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/input/input.component.ts", "../../src/internal/longpress.ts"],
4
+ "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { defaultValue } from '../../internal/default-value.js';\nimport { FormControlController } from '../../internal/form.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport formControlStyles from '../../styles/form-control.styles.js';\nimport formControlCustomStyles from '../../styles/form-control.custom.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport SynIcon from '../icon/icon.component.js';\nimport SynDivider from '../divider/divider.component.js';\nimport { longPress } from '../../internal/longpress.js';\nimport styles from './input.styles.js';\nimport customStyles from './input.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport type { SynergyFormControl } from '../../internal/synergy-element.js';\nimport { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';\n\n/**\n * @summary Inputs collect data from the user.\n * @documentation https://synergy.style/components/input\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-divider\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the input.\n * @slot suffix - Used to append a presentational icon or similar element to the input.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot show-password-icon - An icon to use in lieu of the default show password icon.\n * @slot hide-password-icon - An icon to use in lieu of the default hide password icon.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n * @slot increment-number-stepper - An icon to use in lieu of the default increment number stepper icon.\n * @slot decrement-number-stepper - An icon to use in lieu of the default decrement number stepper icon.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-clear - Emitted when the clear button is activated.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart input - The internal `<input>` control.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart clear-button - The clear button.\n * @csspart password-toggle-button - The password toggle button.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart stepper - The container that wraps the number stepper.\n * @csspart decrement-number-stepper - The decrement number stepper button.\n * @csspart increment-number-stepper - The increment number stepper button.\n * @csspart divider - The divider between the increment and decrement number stepper buttons.\n */\n@enableDefaultSettings('SynInput')\nexport default class SynInput extends SynergyElement implements SynergyFormControl {\n static styles: CSSResultGroup = [componentStyles, formControlStyles, styles, formControlCustomStyles, customStyles];\n static dependencies = {\n\t\t'syn-icon': SynIcon,\n\t\t'syn-divider': SynDivider\n\t};\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['syn-blur', 'syn-input']\n });\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label', 'prefix', 'suffix');\n private readonly localize = new LocalizeController(this);\n\n @query('.input__control') input: HTMLInputElement;\n\n @state() private hasFocus = false;\n @property() title = ''; // make reactive to pass through\n\n private __numberInput = Object.assign(document.createElement('input'), { type: 'number' });\n private __dateInput = Object.assign(document.createElement('input'), { type: 'date' });\n\n /**\n * The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\n * to `text`.\n */\n @property({ reflect: true }) type:\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url' = 'text';\n\n /** The name of the input, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** The current value of the input, submitted as a name/value pair with form data. */\n @property() value = '';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue = '';\n\n /** The input's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The input's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /** The input's help text. If you need to display HTML, use the `help-text` slot instead. */\n @property({ attribute: 'help-text' }) helpText = '';\n\n /** Adds a clear button when the input is not empty. */\n @property({ type: Boolean }) clearable = false;\n\n /** Disables the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Placeholder text to show as a hint when the input is empty. */\n @property() placeholder = '';\n\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /** Adds a button to toggle the password's visibility. Only applies to password types. */\n @property({ attribute: 'password-toggle', type: Boolean }) passwordToggle = false;\n\n /** Determines whether or not the password is currently visible. Only applies to password input types. */\n @property({ attribute: 'password-visible', type: Boolean }) passwordVisible = false;\n\n /** Hides the increment/decrement spin buttons for number inputs. */\n @property({ attribute: 'no-spin-buttons', type: Boolean }) noSpinButtons = false;\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Makes the input a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** A regular expression pattern to validate input against. */\n @property() pattern: string;\n\n /** The minimum length of input that will be considered valid. */\n @property({ type: Number }) minlength: number;\n\n /** The maximum length of input that will be considered valid. */\n @property({ type: Number }) maxlength: number;\n\n /** The input's minimum value. Only applies to date and number input types. */\n @property() min: number | string;\n\n /** The input's maximum value. Only applies to date and number input types. */\n @property() max: number | string;\n\n /**\n * Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\n * implied, allowing any numeric value. Only applies to date and number input types.\n */\n @property() step: number | 'any';\n\n /** Controls whether and how text input is automatically capitalized as it is entered by the user. */\n @property() autocapitalize: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';\n\n /** Indicates whether the browser's autocorrect feature is on or off. */\n @property() autocorrect: 'off' | 'on';\n\n /**\n * Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n * [this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n */\n @property() autocomplete: string;\n\n /** Indicates that the input should receive focus on page load. */\n @property({ type: Boolean }) autofocus: boolean;\n\n /** Used to customize the label or icon of the Enter key on virtual keyboards. */\n @property() enterkeyhint: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n\n /** Enables spell checking on the input. */\n @property({\n type: Boolean,\n converter: {\n // Allow \"true|false\" attribute values but keep the property boolean\n fromAttribute: value => (!value || value === 'false' ? false : true),\n toAttribute: value => (value ? 'true' : 'false')\n }\n })\n spellcheck = true;\n\n /**\n * Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\n * keyboard on supportive devices.\n */\n @property() inputmode: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n\n //\n // NOTE: We use an in-memory input for these getters/setters instead of the one in the template because the properties\n // can be set before the component is rendered.\n //\n\n /**\n * Gets or sets the current value as a `Date` object. Returns `null` if the value can't be converted. This will use the native `<input type=\"{{type}}\">` implementation and may result in an error.\n */\n get valueAsDate() {\n this.__dateInput.type = this.type;\n this.__dateInput.value = this.value;\n return this.input?.valueAsDate || this.__dateInput.valueAsDate;\n }\n\n set valueAsDate(newValue: Date | null) {\n this.__dateInput.type = this.type;\n this.__dateInput.valueAsDate = newValue;\n this.value = this.__dateInput.value;\n }\n\n /** Gets or sets the current value as a number. Returns `NaN` if the value can't be converted. */\n get valueAsNumber() {\n this.__numberInput.value = this.value;\n return this.input?.valueAsNumber || this.__numberInput.valueAsNumber;\n }\n\n set valueAsNumber(newValue: number) {\n this.__numberInput.valueAsNumber = newValue;\n this.value = this.__numberInput.value;\n }\n\n /** Gets the validity state object */\n get validity() {\n return this.input.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.input.validationMessage;\n }\n\n firstUpdated() {\n this.formControlController.updateValidity();\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleStep(){\n this.handleInput();\n this.input.focus();\n }\n\n private handleStepUp() {\n this.stepUp();\n this.handleStep();\n }\n\n private handleStepDown() {\n this.stepDown();\n this.handleStep();\n }\n \n private isDecrementDisabled() {\n if(this.disabled || this.readonly) {\n return true;\n }\n\n if (this.min === undefined || this.min === null || this.disabled) {\n return false;\n }\n\n const min = typeof this.min === 'string' ? parseFloat(this.min) : this.min\n return this.valueAsNumber <= min;\n }\n\n private isIncrementDisabled() {\n if(this.disabled || this.readonly) {\n return true;\n }\n\n if (this.max === undefined || this.max === null) {\n return false;\n }\n\n const max = typeof this.max === 'string' ? parseFloat(this.max) : this.max\n return this.valueAsNumber >= max;\n }\n\n private handleChange() {\n this.value = this.input.value;\n this.emit('syn-change');\n }\n\n private handleClearClick(event: MouseEvent) {\n event.preventDefault();\n\n if (this.value !== '') {\n this.value = '';\n this.emit('syn-clear');\n this.emit('syn-input');\n this.emit('syn-change');\n }\n\n this.input.focus();\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('syn-focus');\n }\n\n private handleInput() {\n this.value = this.input.value;\n this.formControlController.updateValidity();\n this.emit('syn-input');\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\n // Pressing enter when focused on an input should submit the form like a native input, but we wait a tick before\n // submitting to allow users to cancel the keydown event if they need to\n if (event.key === 'Enter' && !hasModifier) {\n setTimeout(() => {\n //\n // When using an Input Method Editor (IME), pressing enter will cause the form to submit unexpectedly. One way\n // to check for this is to look at event.isComposing, which will be true when the IME is open.\n //\n // See https://github.com/synergy-design-system/synergy/pull/988\n //\n if (!event.defaultPrevented && !event.isComposing) {\n this.formControlController.submit();\n }\n });\n }\n }\n\n private handlePasswordToggle() {\n this.passwordVisible = !this.passwordVisible;\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid\n this.formControlController.setValidity(this.disabled);\n }\n\n @watch('step', { waitUntilFirstUpdate: true })\n handleStepChange() {\n // If step changes, the value may become invalid so we need to recheck after the update. We set the new step\n // imperatively so we don't have to wait for the next render to report the updated validity.\n this.input.step = String(this.step);\n this.formControlController.updateValidity();\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n async handleValueChange() {\n await this.updateComplete;\n this.formControlController.updateValidity();\n }\n\n /** Sets focus on the input. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the input. */\n blur() {\n this.input.blur();\n }\n\n /** Selects all the text in the input. */\n select() {\n this.input.select();\n }\n\n /** Sets the start and end positions of the text selection (0-based). */\n setSelectionRange(\n selectionStart: number,\n selectionEnd: number,\n selectionDirection: 'forward' | 'backward' | 'none' = 'none'\n ) {\n this.input.setSelectionRange(selectionStart, selectionEnd, selectionDirection);\n }\n\n /** Replaces a range of text with a new string. */\n setRangeText(\n replacement: string,\n start?: number,\n end?: number,\n selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve'\n ) {\n const selectionStart = start ?? this.input.selectionStart!;\n const selectionEnd = end ?? this.input.selectionEnd!;\n\n this.input.setRangeText(replacement, selectionStart, selectionEnd, selectMode);\n\n if (this.value !== this.input.value) {\n this.value = this.input.value;\n }\n }\n\n /** Displays the browser picker for an input element (only works if the browser supports it for the input type). */\n showPicker() {\n if ('showPicker' in HTMLInputElement.prototype) {\n this.input.showPicker();\n }\n }\n\n /** Increments the value of a numeric input type by the value of the step attribute. */\n stepUp() {\n this.input.stepUp();\n if (this.value !== this.input.value) {\n this.value = this.input.value;\n }\n }\n\n /** Decrements the value of a numeric input type by the value of the step attribute. */\n stepDown() {\n this.input.stepDown();\n if (this.value !== this.input.value) {\n this.value = this.input.value;\n }\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.input.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.input.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasPrefixSlot = this.hasSlotController.test('prefix');\n const hasSuffixSlot = this.hasSlotController.test('suffix');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;\n const hasClearIcon = this.clearable && !this.disabled && !this.readonly;\n const isClearIconVisible = hasClearIcon && (typeof this.value === 'number' || this.value.length > 0);\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n 'form-control--has-prefix': hasPrefixSlot,\n 'form-control--has-suffix': hasSuffixSlot\n })}\n >\n <label\n part=\"form-control-label\"\n class=\"form-control__label\"\n for=\"input\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div\n part=\"base\"\n class=${classMap({\n input: true,\n\n // Sizes\n 'input--small': this.size === 'small',\n 'input--medium': this.size === 'medium',\n 'input--large': this.size === 'large',\n\n // States\n 'input--standard': !this.readonly,\n 'input--readonly': this.readonly,\n 'input--disabled': this.disabled,\n 'input--focused': this.hasFocus,\n 'input--empty': !this.value,\n 'input--no-spin-buttons': this.noSpinButtons\n })}\n >\n <span part=\"prefix\" class=\"input__prefix\">\n <slot name=\"prefix\"></slot>\n </span>\n\n <input\n part=\"input\"\n id=\"input\"\n class=\"input__control\"\n type=${this.type === 'password' && this.passwordVisible ? 'text' : this.type}\n title=${this.title /* An empty title prevents browser validation tooltips from appearing on hover */}\n name=${ifDefined(this.name)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n placeholder=${ifDefined(this.placeholder)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step as number)}\n .value=${live(this.value)}\n autocapitalize=${ifDefined(this.autocapitalize)}\n autocomplete=${ifDefined(this.autocomplete)}\n autocorrect=${ifDefined(this.autocorrect)}\n ?autofocus=${this.autofocus}\n spellcheck=${this.spellcheck}\n pattern=${ifDefined(this.pattern)}\n enterkeyhint=${ifDefined(this.enterkeyhint)}\n inputmode=${ifDefined(this.inputmode)}\n aria-describedby=\"help-text\"\n @change=${this.handleChange}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @keydown=${this.handleKeyDown}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n ${isClearIconVisible\n ? html`\n <button\n part=\"clear-button\"\n class=\"input__clear\"\n type=\"button\"\n aria-label=${this.localize.term('clearEntry')}\n @click=${this.handleClearClick}\n tabindex=\"-1\"\n >\n <slot name=\"clear-icon\">\n <syn-icon name=\"x-circle-fill\" library=\"system\"></syn-icon>\n </slot>\n </button>\n `\n : ''}\n ${this.passwordToggle && !this.disabled\n ? html`\n <button\n part=\"password-toggle-button\"\n class=\"input__password-toggle\"\n type=\"button\"\n aria-label=${this.localize.term(this.passwordVisible ? 'hidePassword' : 'showPassword')}\n @click=${this.handlePasswordToggle}\n tabindex=\"-1\"\n >\n ${this.passwordVisible\n ? html`\n <slot name=\"show-password-icon\">\n <syn-icon name=\"eye-slash\" library=\"system\"></syn-icon>\n </slot>\n `\n : html`\n <slot name=\"hide-password-icon\">\n <syn-icon name=\"eye\" library=\"system\"></syn-icon>\n </slot>\n `}\n </button>\n `\n : ''}\n\n <span part=\"suffix\" class=\"input__suffix\">\n <slot name=\"suffix\"></slot>\n </span>\n\n ${this.type === 'number' && !this.noSpinButtons\n ? html`\n <div part=\"stepper\" class=\"input__number-stepper\">\n <button\n part=\"decrement-number-stepper\"\n class=\"input__number-stepper-button\"\n type=\"button\"\n ?disabled=${this.isDecrementDisabled()}\n aria-hidden=\"true\"\n ${longPress({ start: () => this.handleStepDown(), end: () => this.handleChange()})}\n tabindex=\"-1\"\n >\n <slot name=\"decrement-number-stepper\">\n <syn-icon name=\"indeterminate\" library=\"system\"></syn-icon>\n </slot>\n </button>\n <syn-divider class=\"input__number-divider\" part=\"divider\" vertical></syn-divider>\n <button\n part=\"increment-number-stepper\"\n class=\"input__number-stepper-button\"\n type=\"button\"\n ?disabled=${this.isIncrementDisabled()}\n aria-hidden=\"true\"\n ${longPress({ start: () => this.handleStepUp(), end: () => this.handleChange()})}\n tabindex=\"-1\"\n >\n <slot name=\"increment-number-stepper\">\n <syn-icon name=\"add\" library=\"system\"></syn-icon>\n </slot>\n </button>\n </div>\n `\n : ''}\n </div>\n </div>\n\n <div\n part=\"form-control-help-text\"\n id=\"help-text\"\n class=\"form-control__help-text\"\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n >\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n </div>\n `;\n }\n}\n", "import { type ElementPart, noChange, nothing } from 'lit';\nimport {\n AsyncDirective,\n type DirectiveParameters,\n type Part,\n PartType,\n directive,\n} from 'lit/async-directive.js';\n\ntype Callbacks = {\n start: () => void;\n end: () => void;\n};\n\n/**\n * A directive that determines,if a HTMLButtonElement is long pressed or only clicked.\n * Depending on the state it executes the callback once or repeating.\n *\n * Usage:\n *\n * <button\n * ${longPress({ start: () => this.handleStepUp(), end: () => this.handleChange()})}\n * >\n * my button\n * </button>\n */\nclass LongPressDirective extends AsyncDirective {\n host: HTMLButtonElement;\n\n observer: MutationObserver;\n\n callbacks: Callbacks;\n\n interval: NodeJS.Timeout;\n\n timeout: NodeJS.Timeout;\n\n constructor(part: Part) {\n super(part);\n if (part.type !== PartType.ELEMENT || !(part.element instanceof HTMLButtonElement)) {\n throw new Error('The `longPress` directive must be used on an HTMLButtonElement.');\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this\n render(_callback: Callbacks): typeof nothing {\n return nothing;\n }\n\n update(part: ElementPart, [callbacks]: DirectiveParameters<this>): typeof noChange {\n // initial call\n if (this.callbacks === undefined && this.host === undefined) {\n this.host = part.element as HTMLButtonElement;\n this.callbacks = { ...callbacks };\n this.host.addEventListener('pointerdown', this.handlePointerDown);\n }\n\n return noChange;\n }\n\n protected disconnected(): void {\n this.stopSpinningAndCleanUp();\n this.host.removeEventListener('pointerdown', this.handlePointerDown);\n document.removeEventListener('pointerup', this.handlePointerUp);\n }\n\n private handlePointerDown = (event: PointerEvent) => {\n // do nothing if the click was not done from the left mouse button or if the button is disabled\n if (event.button !== 0 || this.host.disabled) {\n return;\n }\n this.spinOnLongPressCallback(event);\n };\n\n /**\n * Start spinning on long press clicks otherwise handle as single click event\n */\n private spinOnLongPressCallback(event: PointerEvent) {\n event.preventDefault();\n event.stopPropagation();\n\n // Start spinning only on long press\n this.timeout = setTimeout(() => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.timeout = undefined;\n this.interval = setInterval(() => {\n this.callbacks.start();\n }, 50);\n }, 500);\n\n document.addEventListener('pointerup', this.handlePointerUp);\n\n // when buttons becoming disabled during long-press\n this.observer?.disconnect();\n this.observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.attributeName === 'disabled') {\n this.stopSpinningAndCleanUp();\n }\n });\n });\n this.observer.observe(this.host, { attributes: true });\n }\n\n private handlePointerUp = (pointerUp?: PointerEvent) => {\n pointerUp?.preventDefault();\n pointerUp?.stopPropagation();\n\n // we did not start to spin\n if (this.timeout) {\n this.callbacks.start();\n }\n\n this.stopSpinningAndCleanUp();\n\n this.callbacks.end();\n document.removeEventListener('pointerup', this.handlePointerUp);\n };\n\n /**\n * Stop the spinning and clean up all timer and observer\n */\n private stopSpinningAndCleanUp() {\n // stop spinning\n clearInterval(this.interval);\n\n clearTimeout(this.timeout);\n this.observer?.disconnect();\n }\n}\n\nexport const longPress = directive(LongPressDirective);\n\nexport type { LongPressDirective };\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }