@trendyol/baklava 3.0.0-beta.3 → 3.0.0-beta.30

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 (478) hide show
  1. package/README.md +4 -3
  2. package/dist/baklava-react.d.ts +88 -0
  3. package/dist/baklava-react.d.ts.map +1 -1
  4. package/dist/baklava-react.js +1 -1
  5. package/dist/baklava-react.js.map +3 -3
  6. package/dist/baklava-vue.d.ts +11 -0
  7. package/dist/baklava.d.ts +11 -0
  8. package/dist/baklava.d.ts.map +1 -1
  9. package/dist/baklava.js +1 -1
  10. package/dist/{chunk-MACM4RPG.js → chunk-2GQCCDR3.js} +2 -2
  11. package/dist/chunk-2LP7VYJJ.js +20 -0
  12. package/dist/chunk-2LP7VYJJ.js.map +7 -0
  13. package/dist/{chunk-3QXRSN5E.js → chunk-4BZSILLM.js} +2 -2
  14. package/dist/{chunk-JZ3S4JFA.js → chunk-4T26H7PC.js} +2 -2
  15. package/dist/chunk-5HU4KWMX.js +2 -0
  16. package/dist/chunk-5HU4KWMX.js.map +7 -0
  17. package/dist/{chunk-X2KXJYXQ.js → chunk-5MOOXA2X.js} +6 -6
  18. package/dist/{chunk-X2KXJYXQ.js.map → chunk-5MOOXA2X.js.map} +2 -2
  19. package/dist/{chunk-LYOZ36IH.js → chunk-5TPDRTCU.js} +2 -2
  20. package/dist/chunk-6BSYS2G5.js +31 -0
  21. package/dist/chunk-6BSYS2G5.js.map +7 -0
  22. package/dist/chunk-73GEFGEG.js +2 -0
  23. package/dist/chunk-73GEFGEG.js.map +7 -0
  24. package/dist/{chunk-QXFCLEZB.js → chunk-73RGV4UX.js} +2 -2
  25. package/dist/chunk-7QNX2GPS.js +24 -0
  26. package/dist/chunk-7QNX2GPS.js.map +7 -0
  27. package/dist/chunk-ASB5S6J4.js +8 -0
  28. package/dist/chunk-ASB5S6J4.js.map +7 -0
  29. package/dist/chunk-B7ZEUBIV.js +63 -0
  30. package/dist/chunk-B7ZEUBIV.js.map +7 -0
  31. package/dist/chunk-C4GIIUCS.js +26 -0
  32. package/dist/chunk-C4GIIUCS.js.map +7 -0
  33. package/dist/chunk-CYLRPJKP.js +6 -0
  34. package/dist/chunk-CYLRPJKP.js.map +7 -0
  35. package/dist/chunk-D5MPTIGC.js +11 -0
  36. package/dist/chunk-D5MPTIGC.js.map +7 -0
  37. package/dist/{chunk-2YD3I4BZ.js → chunk-DZ77A43H.js} +6 -6
  38. package/dist/chunk-DZ77A43H.js.map +7 -0
  39. package/dist/chunk-EG7U7PM3.js +11 -0
  40. package/dist/chunk-EG7U7PM3.js.map +7 -0
  41. package/dist/{chunk-MG23TBA3.js → chunk-FQBDGFMR.js} +4 -4
  42. package/dist/{chunk-VXYXKLNG.js → chunk-FVBGMXMC.js} +2 -2
  43. package/dist/chunk-HYB2HRRX.js +11 -0
  44. package/dist/{chunk-L6BUT2FV.js.map → chunk-HYB2HRRX.js.map} +3 -3
  45. package/dist/chunk-HZ6A5QFC.js +2 -0
  46. package/dist/chunk-HZ6A5QFC.js.map +7 -0
  47. package/dist/{chunk-PWZJTYMH.js → chunk-IZTTP5LH.js} +2 -2
  48. package/dist/chunk-KOWS266A.js +77 -0
  49. package/dist/chunk-KOWS266A.js.map +7 -0
  50. package/dist/chunk-LIW32ZGE.js +2 -0
  51. package/dist/chunk-LIW32ZGE.js.map +7 -0
  52. package/dist/{chunk-OSNB4BPE.js → chunk-MND5TXTF.js} +2 -2
  53. package/dist/chunk-NGJM4NWA.js +4 -0
  54. package/dist/chunk-NGJM4NWA.js.map +7 -0
  55. package/dist/chunk-P7J47Z2J.js +107 -0
  56. package/dist/chunk-P7J47Z2J.js.map +7 -0
  57. package/dist/{chunk-YCHZB54C.js → chunk-Q6MAW2EF.js} +2 -2
  58. package/dist/{chunk-XLRX2X2I.js → chunk-QF4LGACD.js} +2 -2
  59. package/dist/{chunk-HULHLSIH.js → chunk-RQEU3SZQ.js} +4 -4
  60. package/dist/chunk-TRWCD65K.js +34 -0
  61. package/dist/chunk-TRWCD65K.js.map +7 -0
  62. package/dist/chunk-UCLJCOUS.js +5 -0
  63. package/dist/chunk-UCLJCOUS.js.map +7 -0
  64. package/dist/chunk-VU6LRFZR.js +26 -0
  65. package/dist/chunk-VU6LRFZR.js.map +7 -0
  66. package/dist/chunk-WEEGH2F4.js +2 -0
  67. package/dist/chunk-WEEGH2F4.js.map +7 -0
  68. package/dist/{chunk-57IOXMBV.js → chunk-WQTBAXMP.js} +5 -5
  69. package/dist/{chunk-PLUCMBSD.js → chunk-WXWKIQAK.js} +2 -2
  70. package/dist/chunk-X2XFV2S3.js +16 -0
  71. package/dist/chunk-X2XFV2S3.js.map +7 -0
  72. package/dist/{chunk-UERDT3VQ.js → chunk-X67Z2G2H.js} +4 -4
  73. package/dist/chunk-XDUIVR6I.js +2 -0
  74. package/dist/chunk-XDUIVR6I.js.map +7 -0
  75. package/dist/components/accordion-group/accordion/bl-accordion.d.ts +41 -0
  76. package/dist/components/accordion-group/accordion/bl-accordion.d.ts.map +1 -0
  77. package/dist/components/accordion-group/accordion/bl-accordion.js +2 -0
  78. package/dist/components/accordion-group/accordion/bl-accordion.js.map +7 -0
  79. package/dist/components/accordion-group/accordion/bl-accordion.test.d.ts +2 -0
  80. package/dist/components/accordion-group/accordion/bl-accordion.test.d.ts.map +1 -0
  81. package/dist/components/accordion-group/bl-accordion-group.d.ts +14 -0
  82. package/dist/components/accordion-group/bl-accordion-group.d.ts.map +1 -0
  83. package/dist/components/accordion-group/bl-accordion-group.js +2 -0
  84. package/dist/components/accordion-group/bl-accordion-group.js.map +7 -0
  85. package/dist/components/accordion-group/bl-accordion-group.test.d.ts +2 -0
  86. package/dist/components/accordion-group/bl-accordion-group.test.d.ts.map +1 -0
  87. package/dist/components/alert/bl-alert.js +1 -1
  88. package/dist/components/badge/bl-badge.js +1 -1
  89. package/dist/components/button/bl-button.d.ts +1 -0
  90. package/dist/components/button/bl-button.d.ts.map +1 -1
  91. package/dist/components/button/bl-button.js +1 -1
  92. package/dist/components/calendar/bl-calendar.constant.d.ts +13 -0
  93. package/dist/components/calendar/bl-calendar.constant.d.ts.map +1 -0
  94. package/dist/components/calendar/bl-calendar.constant.js +2 -0
  95. package/dist/components/calendar/bl-calendar.constant.js.map +7 -0
  96. package/dist/components/calendar/bl-calendar.d.ts +81 -0
  97. package/dist/components/calendar/bl-calendar.d.ts.map +1 -0
  98. package/dist/components/calendar/bl-calendar.js +2 -0
  99. package/dist/components/calendar/bl-calendar.js.map +7 -0
  100. package/dist/components/calendar/bl-calendar.types.d.ts +15 -0
  101. package/dist/components/calendar/bl-calendar.types.d.ts.map +1 -0
  102. package/dist/components/calendar/bl-calendar.types.js +1 -0
  103. package/dist/components/calendar/bl-calendar.types.js.map +7 -0
  104. package/dist/components/checkbox-group/bl-checkbox-group.d.ts +29 -2
  105. package/dist/components/checkbox-group/bl-checkbox-group.d.ts.map +1 -1
  106. package/dist/components/checkbox-group/bl-checkbox-group.js +1 -1
  107. package/dist/components/checkbox-group/checkbox/bl-checkbox.d.ts +15 -1
  108. package/dist/components/checkbox-group/checkbox/bl-checkbox.d.ts.map +1 -1
  109. package/dist/components/checkbox-group/checkbox/bl-checkbox.js +1 -1
  110. package/dist/components/dialog/bl-dialog.d.ts +7 -0
  111. package/dist/components/dialog/bl-dialog.d.ts.map +1 -1
  112. package/dist/components/dialog/bl-dialog.js +1 -1
  113. package/dist/components/dialog/bl-dialog.stories.d.ts +5 -0
  114. package/dist/components/dialog/bl-dialog.stories.d.ts.map +1 -1
  115. package/dist/components/dialog/bl-dialog.stories.js +46 -10
  116. package/dist/components/dialog/bl-dialog.stories.js.map +3 -3
  117. package/dist/components/drawer/bl-drawer.d.ts +7 -0
  118. package/dist/components/drawer/bl-drawer.d.ts.map +1 -1
  119. package/dist/components/drawer/bl-drawer.js +1 -1
  120. package/dist/components/dropdown/bl-dropdown.js +1 -1
  121. package/dist/components/dropdown/group/bl-dropdown-group.js +1 -1
  122. package/dist/components/dropdown/item/bl-dropdown-item.d.ts +1 -0
  123. package/dist/components/dropdown/item/bl-dropdown-item.d.ts.map +1 -1
  124. package/dist/components/dropdown/item/bl-dropdown-item.js +1 -1
  125. package/dist/components/icon/bl-icon.js +1 -1
  126. package/dist/components/icon/icon-list.d.ts +1 -2
  127. package/dist/components/icon/icon-list.d.ts.map +1 -1
  128. package/dist/components/icon/icon-list.js +1 -1
  129. package/dist/components/icon/icon-list.js.map +4 -4
  130. package/dist/components/input/bl-input.d.ts +4 -0
  131. package/dist/components/input/bl-input.d.ts.map +1 -1
  132. package/dist/components/input/bl-input.js +1 -1
  133. package/dist/components/notification/bl-notification.js +1 -1
  134. package/dist/components/notification/card/bl-notification-card.js +1 -1
  135. package/dist/components/pagination/bl-pagination.js +1 -1
  136. package/dist/components/popover/bl-popover.d.ts.map +1 -1
  137. package/dist/components/popover/bl-popover.js +1 -1
  138. package/dist/components/progress-indicator/bl-progress-indicator.js +1 -1
  139. package/dist/components/radio-group/bl-radio-group.js +1 -1
  140. package/dist/components/radio-group/radio/bl-radio.js +1 -1
  141. package/dist/components/select/bl-select.d.ts +5 -0
  142. package/dist/components/select/bl-select.d.ts.map +1 -1
  143. package/dist/components/select/bl-select.js +1 -1
  144. package/dist/components/select/option/bl-select-option.js +1 -1
  145. package/dist/components/spinner/bl-spinner.d.ts +34 -0
  146. package/dist/components/spinner/bl-spinner.d.ts.map +1 -0
  147. package/dist/components/spinner/bl-spinner.js +2 -0
  148. package/dist/components/spinner/bl-spinner.js.map +7 -0
  149. package/dist/components/spinner/bl-spinner.test.d.ts +2 -0
  150. package/dist/components/spinner/bl-spinner.test.d.ts.map +1 -0
  151. package/dist/components/split-button/bl-split-button.d.ts +105 -0
  152. package/dist/components/split-button/bl-split-button.d.ts.map +1 -0
  153. package/dist/components/split-button/bl-split-button.js +2 -0
  154. package/dist/components/split-button/bl-split-button.js.map +7 -0
  155. package/dist/components/split-button/bl-split-button.test.d.ts +2 -0
  156. package/dist/components/split-button/bl-split-button.test.d.ts.map +1 -0
  157. package/dist/components/switch/bl-switch.js +1 -1
  158. package/dist/components/tab-group/bl-tab-group.js +1 -1
  159. package/dist/components/tab-group/tab/bl-tab.js +1 -1
  160. package/dist/components/tab-group/tab-panel/bl-tab-panel.js +1 -1
  161. package/dist/components/table/bl-table.d.ts +120 -0
  162. package/dist/components/table/bl-table.d.ts.map +1 -0
  163. package/dist/components/table/bl-table.js +2 -0
  164. package/dist/components/table/bl-table.js.map +7 -0
  165. package/dist/components/table/bl-table.test.d.ts +6 -0
  166. package/dist/components/table/bl-table.test.d.ts.map +1 -0
  167. package/dist/components/table/table-body/bl-table-body.d.ts +19 -0
  168. package/dist/components/table/table-body/bl-table-body.d.ts.map +1 -0
  169. package/dist/components/table/table-body/bl-table-body.js +2 -0
  170. package/dist/components/table/table-body/bl-table-body.js.map +7 -0
  171. package/dist/components/table/table-body/bl-table-body.test.d.ts +2 -0
  172. package/dist/components/table/table-body/bl-table-body.test.d.ts.map +1 -0
  173. package/dist/components/table/table-cell/bl-table-cell.d.ts +35 -0
  174. package/dist/components/table/table-cell/bl-table-cell.d.ts.map +1 -0
  175. package/dist/components/table/table-cell/bl-table-cell.js +2 -0
  176. package/dist/components/table/table-cell/bl-table-cell.js.map +7 -0
  177. package/dist/components/table/table-cell/bl-table-cell.test.d.ts +2 -0
  178. package/dist/components/table/table-cell/bl-table-cell.test.d.ts.map +1 -0
  179. package/dist/components/table/table-header/bl-table-header.d.ts +22 -0
  180. package/dist/components/table/table-header/bl-table-header.d.ts.map +1 -0
  181. package/dist/components/table/table-header/bl-table-header.js +2 -0
  182. package/dist/components/table/table-header/bl-table-header.js.map +7 -0
  183. package/dist/components/table/table-header/bl-table-header.test.d.ts +2 -0
  184. package/dist/components/table/table-header/bl-table-header.test.d.ts.map +1 -0
  185. package/dist/components/table/table-header-cell/bl-table-header-cell.d.ts +43 -0
  186. package/dist/components/table/table-header-cell/bl-table-header-cell.d.ts.map +1 -0
  187. package/dist/components/table/table-header-cell/bl-table-header-cell.js +2 -0
  188. package/dist/components/table/table-header-cell/bl-table-header-cell.js.map +7 -0
  189. package/dist/components/table/table-header-cell/bl-table-header-cell.test.d.ts +2 -0
  190. package/dist/components/table/table-header-cell/bl-table-header-cell.test.d.ts.map +1 -0
  191. package/dist/components/table/table-row/bl-table-row.d.ts +31 -0
  192. package/dist/components/table/table-row/bl-table-row.d.ts.map +1 -0
  193. package/dist/components/table/table-row/bl-table-row.js +2 -0
  194. package/dist/components/table/table-row/bl-table-row.js.map +7 -0
  195. package/dist/components/table/table-row/bl-table-row.test.d.ts +2 -0
  196. package/dist/components/table/table-row/bl-table-row.test.d.ts.map +1 -0
  197. package/dist/components/textarea/bl-textarea.js +1 -1
  198. package/dist/components/tooltip/bl-tooltip.d.ts +7 -1
  199. package/dist/components/tooltip/bl-tooltip.d.ts.map +1 -1
  200. package/dist/components/tooltip/bl-tooltip.js +1 -1
  201. package/dist/custom-elements.json +1899 -686
  202. package/dist/localization.d.ts +1 -0
  203. package/dist/localization.d.ts.map +1 -1
  204. package/dist/localization.js +1 -1
  205. package/dist/localization.js.map +1 -1
  206. package/dist/utilities/elements.d.ts +1 -0
  207. package/dist/utilities/elements.d.ts.map +1 -1
  208. package/dist/utilities/style-to-px-converter.test.d.ts +2 -0
  209. package/dist/utilities/style-to-px-converter.test.d.ts.map +1 -0
  210. package/dist/utilities/style-to-px.converter.d.ts +2 -0
  211. package/dist/utilities/style-to-px.converter.d.ts.map +1 -0
  212. package/package.json +10 -1
  213. package/dist/assets/academy.svg +0 -3
  214. package/dist/assets/account.svg +0 -3
  215. package/dist/assets/add_note.svg +0 -4
  216. package/dist/assets/add_part.svg +0 -6
  217. package/dist/assets/add_photo.svg +0 -4
  218. package/dist/assets/add_product.svg +0 -5
  219. package/dist/assets/alert.svg +0 -3
  220. package/dist/assets/announcement.svg +0 -4
  221. package/dist/assets/archive.svg +0 -3
  222. package/dist/assets/arrow_down.svg +0 -3
  223. package/dist/assets/arrow_left.svg +0 -3
  224. package/dist/assets/arrow_right.svg +0 -3
  225. package/dist/assets/arrow_up.svg +0 -3
  226. package/dist/assets/attach.svg +0 -3
  227. package/dist/assets/award.svg +0 -6
  228. package/dist/assets/back.svg +0 -3
  229. package/dist/assets/back_fill.svg +0 -3
  230. package/dist/assets/badge.svg +0 -5
  231. package/dist/assets/barcode.svg +0 -3
  232. package/dist/assets/bill.svg +0 -3
  233. package/dist/assets/book.svg +0 -3
  234. package/dist/assets/browser.svg +0 -3
  235. package/dist/assets/burger.svg +0 -3
  236. package/dist/assets/calendar.svg +0 -5
  237. package/dist/assets/camera.svg +0 -3
  238. package/dist/assets/camera_off.svg +0 -4
  239. package/dist/assets/campaign.svg +0 -3
  240. package/dist/assets/change.svg +0 -4
  241. package/dist/assets/change_fill.svg +0 -3
  242. package/dist/assets/chart.svg +0 -5
  243. package/dist/assets/chatbot.svg +0 -3
  244. package/dist/assets/check.svg +0 -3
  245. package/dist/assets/check_fill.svg +0 -3
  246. package/dist/assets/clock.svg +0 -3
  247. package/dist/assets/close.svg +0 -3
  248. package/dist/assets/close_fill.svg +0 -3
  249. package/dist/assets/code.svg +0 -3
  250. package/dist/assets/coin.svg +0 -3
  251. package/dist/assets/compass.svg +0 -3
  252. package/dist/assets/complain.svg +0 -3
  253. package/dist/assets/confetti.svg +0 -9
  254. package/dist/assets/copy.svg +0 -3
  255. package/dist/assets/copy_checked.svg +0 -3
  256. package/dist/assets/coupon.svg +0 -3
  257. package/dist/assets/delete.svg +0 -4
  258. package/dist/assets/desktop.svg +0 -3
  259. package/dist/assets/desktop_filled.svg +0 -4
  260. package/dist/assets/dialog.svg +0 -3
  261. package/dist/assets/disable.svg +0 -3
  262. package/dist/assets/dislike.svg +0 -3
  263. package/dist/assets/document.svg +0 -3
  264. package/dist/assets/document_search.svg +0 -4
  265. package/dist/assets/donation.svg +0 -4
  266. package/dist/assets/download.svg +0 -5
  267. package/dist/assets/drag_and_drop.svg +0 -3
  268. package/dist/assets/edit.svg +0 -4
  269. package/dist/assets/excel.svg +0 -3
  270. package/dist/assets/exit.svg +0 -5
  271. package/dist/assets/expand.svg +0 -8
  272. package/dist/assets/export.svg +0 -3
  273. package/dist/assets/express.svg +0 -3
  274. package/dist/assets/express_delivery.svg +0 -6
  275. package/dist/assets/express_furniture.svg +0 -6
  276. package/dist/assets/external_link.svg +0 -4
  277. package/dist/assets/external_share.svg +0 -7
  278. package/dist/assets/eye_off.svg +0 -4
  279. package/dist/assets/eye_on.svg +0 -3
  280. package/dist/assets/facebook.svg +0 -3
  281. package/dist/assets/filter.svg +0 -3
  282. package/dist/assets/finance_accounting.svg +0 -3
  283. package/dist/assets/fire.svg +0 -3
  284. package/dist/assets/flag.svg +0 -3
  285. package/dist/assets/flash.svg +0 -3
  286. package/dist/assets/flash_fill.svg +0 -3
  287. package/dist/assets/forward.svg +0 -3
  288. package/dist/assets/full_size.svg +0 -3
  289. package/dist/assets/gift.svg +0 -6
  290. package/dist/assets/global_export.svg +0 -3
  291. package/dist/assets/globe.svg +0 -5
  292. package/dist/assets/go_forward.svg +0 -3
  293. package/dist/assets/graphic.svg +0 -3
  294. package/dist/assets/graphic_decrease.svg +0 -3
  295. package/dist/assets/group_of_people.svg +0 -8
  296. package/dist/assets/growth.svg +0 -3
  297. package/dist/assets/hamburger_menu.svg +0 -5
  298. package/dist/assets/handshake.svg +0 -4
  299. package/dist/assets/happy.svg +0 -3
  300. package/dist/assets/heart.svg +0 -3
  301. package/dist/assets/heart_fill.svg +0 -3
  302. package/dist/assets/heartbeat.svg +0 -3
  303. package/dist/assets/help.svg +0 -3
  304. package/dist/assets/history.svg +0 -3
  305. package/dist/assets/home.svg +0 -3
  306. package/dist/assets/hourglass.svg +0 -3
  307. package/dist/assets/image.svg +0 -5
  308. package/dist/assets/incognito.svg +0 -4
  309. package/dist/assets/info.svg +0 -3
  310. package/dist/assets/instagram.svg +0 -3
  311. package/dist/assets/label.svg +0 -3
  312. package/dist/assets/left_sided_arrow.svg +0 -3
  313. package/dist/assets/light_bulb.svg +0 -3
  314. package/dist/assets/like.svg +0 -3
  315. package/dist/assets/link.svg +0 -3
  316. package/dist/assets/listing.svg +0 -3
  317. package/dist/assets/live_monitor.svg +0 -3
  318. package/dist/assets/live_support.svg +0 -3
  319. package/dist/assets/loading.svg +0 -4
  320. package/dist/assets/lock.svg +0 -4
  321. package/dist/assets/magic_wand.svg +0 -3
  322. package/dist/assets/mail.svg +0 -3
  323. package/dist/assets/mail_opened.svg +0 -3
  324. package/dist/assets/map.svg +0 -4
  325. package/dist/assets/market.svg +0 -13
  326. package/dist/assets/market_order_back.svg +0 -3
  327. package/dist/assets/market_order_cancel.svg +0 -3
  328. package/dist/assets/market_order_change.svg +0 -3
  329. package/dist/assets/market_order_check.svg +0 -3
  330. package/dist/assets/market_processing.svg +0 -7
  331. package/dist/assets/meal_bag.svg +0 -4
  332. package/dist/assets/medal.svg +0 -5
  333. package/dist/assets/message.svg +0 -3
  334. package/dist/assets/metric_decrease.svg +0 -4
  335. package/dist/assets/metric_increase.svg +0 -4
  336. package/dist/assets/metric_minus.svg +0 -4
  337. package/dist/assets/microphone.svg +0 -3
  338. package/dist/assets/microphone_off.svg +0 -12
  339. package/dist/assets/minus.svg +0 -3
  340. package/dist/assets/minus_fill.svg +0 -3
  341. package/dist/assets/mobile.svg +0 -3
  342. package/dist/assets/mobile_fill.svg +0 -3
  343. package/dist/assets/mobile_settings.svg +0 -5
  344. package/dist/assets/money.svg +0 -4
  345. package/dist/assets/money_transfer.svg +0 -3
  346. package/dist/assets/motorcycle.svg +0 -3
  347. package/dist/assets/motorcycle_check.svg +0 -3
  348. package/dist/assets/new_store.svg +0 -3
  349. package/dist/assets/normal.svg +0 -3
  350. package/dist/assets/notice.svg +0 -7
  351. package/dist/assets/notification.svg +0 -3
  352. package/dist/assets/offers.svg +0 -5
  353. package/dist/assets/order.svg +0 -3
  354. package/dist/assets/order_back.svg +0 -3
  355. package/dist/assets/order_box.svg +0 -3
  356. package/dist/assets/order_boxes.svg +0 -14
  357. package/dist/assets/order_cancel.svg +0 -4
  358. package/dist/assets/order_check.svg +0 -3
  359. package/dist/assets/order_return.svg +0 -6
  360. package/dist/assets/order_settings.svg +0 -6
  361. package/dist/assets/order_time.svg +0 -4
  362. package/dist/assets/order_tracking.svg +0 -3
  363. package/dist/assets/paper.svg +0 -3
  364. package/dist/assets/partial_approve.svg +0 -6
  365. package/dist/assets/pause.svg +0 -3
  366. package/dist/assets/pause_fill.svg +0 -3
  367. package/dist/assets/people.svg +0 -3
  368. package/dist/assets/phone.svg +0 -3
  369. package/dist/assets/phone_settings.svg +0 -4
  370. package/dist/assets/photo.svg +0 -3
  371. package/dist/assets/photo_off.svg +0 -3
  372. package/dist/assets/pie_chart.svg +0 -4
  373. package/dist/assets/pie_chart_report.svg +0 -3
  374. package/dist/assets/pin.svg +0 -3
  375. package/dist/assets/play.svg +0 -3
  376. package/dist/assets/play_fill.svg +0 -3
  377. package/dist/assets/plus.svg +0 -3
  378. package/dist/assets/plus_fill.svg +0 -3
  379. package/dist/assets/preview.svg +0 -4
  380. package/dist/assets/price_settings.svg +0 -4
  381. package/dist/assets/print.svg +0 -3
  382. package/dist/assets/product.svg +0 -3
  383. package/dist/assets/profile.svg +0 -3
  384. package/dist/assets/profile_check.svg +0 -5
  385. package/dist/assets/profile_star.svg +0 -3
  386. package/dist/assets/puzzle.svg +0 -3
  387. package/dist/assets/qr.svg +0 -6
  388. package/dist/assets/report.svg +0 -4
  389. package/dist/assets/review.svg +0 -3
  390. package/dist/assets/right_sided_arrow.svg +0 -3
  391. package/dist/assets/rocket.svg +0 -4
  392. package/dist/assets/rotate.svg +0 -3
  393. package/dist/assets/sad.svg +0 -3
  394. package/dist/assets/save.svg +0 -4
  395. package/dist/assets/search.svg +0 -8
  396. package/dist/assets/send.svg +0 -3
  397. package/dist/assets/send_mail.svg +0 -6
  398. package/dist/assets/services.svg +0 -4
  399. package/dist/assets/settings.svg +0 -7
  400. package/dist/assets/share.svg +0 -5
  401. package/dist/assets/shopping_bag.svg +0 -8
  402. package/dist/assets/shopping_bag_add.svg +0 -3
  403. package/dist/assets/shopping_bag_back.svg +0 -9
  404. package/dist/assets/shopping_bag_cancel.svg +0 -9
  405. package/dist/assets/shopping_bag_discount.svg +0 -3
  406. package/dist/assets/shopping_bag_return.svg +0 -10
  407. package/dist/assets/sorting.svg +0 -4
  408. package/dist/assets/sound_off.svg +0 -4
  409. package/dist/assets/sound_on.svg +0 -3
  410. package/dist/assets/split_money.svg +0 -4
  411. package/dist/assets/star.svg +0 -3
  412. package/dist/assets/star_double.svg +0 -4
  413. package/dist/assets/star_fill.svg +0 -3
  414. package/dist/assets/star_triple.svg +0 -3
  415. package/dist/assets/stop.svg +0 -3
  416. package/dist/assets/stop_fill.svg +0 -3
  417. package/dist/assets/store.svg +0 -3
  418. package/dist/assets/store_performance.svg +0 -4
  419. package/dist/assets/suitcase.svg +0 -3
  420. package/dist/assets/support.svg +0 -3
  421. package/dist/assets/target.svg +0 -5
  422. package/dist/assets/ticket.svg +0 -3
  423. package/dist/assets/translation.svg +0 -3
  424. package/dist/assets/truck.svg +0 -6
  425. package/dist/assets/turn_back.svg +0 -3
  426. package/dist/assets/turn_back_fill.svg +0 -3
  427. package/dist/assets/two_sided_arrow.svg +0 -3
  428. package/dist/assets/unlock.svg +0 -4
  429. package/dist/assets/upload.svg +0 -5
  430. package/dist/assets/user_management.svg +0 -3
  431. package/dist/assets/vacation_mode.svg +0 -4
  432. package/dist/assets/very_happy.svg +0 -3
  433. package/dist/assets/very_sad.svg +0 -3
  434. package/dist/assets/wallet.svg +0 -3
  435. package/dist/assets/warehouse.svg +0 -3
  436. package/dist/assets/warning.svg +0 -3
  437. package/dist/assets/youtube.svg +0 -3
  438. package/dist/assets/zoom_in.svg +0 -3
  439. package/dist/assets/zoom_out.svg +0 -3
  440. package/dist/chunk-2YD3I4BZ.js.map +0 -7
  441. package/dist/chunk-3B64VOWB.js +0 -2
  442. package/dist/chunk-3B64VOWB.js.map +0 -7
  443. package/dist/chunk-6H54TTNK.js +0 -20
  444. package/dist/chunk-6H54TTNK.js.map +0 -7
  445. package/dist/chunk-A4RJP5R7.js +0 -23
  446. package/dist/chunk-A4RJP5R7.js.map +0 -7
  447. package/dist/chunk-AAGDUS7G.js +0 -11
  448. package/dist/chunk-AAGDUS7G.js.map +0 -7
  449. package/dist/chunk-DJOD4BTL.js +0 -2
  450. package/dist/chunk-DJOD4BTL.js.map +0 -7
  451. package/dist/chunk-GHYIIGW6.js +0 -110
  452. package/dist/chunk-GHYIIGW6.js.map +0 -7
  453. package/dist/chunk-L6BUT2FV.js +0 -11
  454. package/dist/chunk-Q7LYRUYQ.js +0 -21
  455. package/dist/chunk-Q7LYRUYQ.js.map +0 -7
  456. package/dist/chunk-QY5DKRF5.js +0 -26
  457. package/dist/chunk-QY5DKRF5.js.map +0 -7
  458. package/dist/chunk-UP2BMLLI.js +0 -33
  459. package/dist/chunk-UP2BMLLI.js.map +0 -7
  460. package/dist/chunk-WPMIVZ4A.js +0 -23
  461. package/dist/chunk-WPMIVZ4A.js.map +0 -7
  462. package/dist/chunk-YML6L24Q.js +0 -5
  463. package/dist/chunk-YML6L24Q.js.map +0 -7
  464. /package/dist/{chunk-MACM4RPG.js.map → chunk-2GQCCDR3.js.map} +0 -0
  465. /package/dist/{chunk-3QXRSN5E.js.map → chunk-4BZSILLM.js.map} +0 -0
  466. /package/dist/{chunk-JZ3S4JFA.js.map → chunk-4T26H7PC.js.map} +0 -0
  467. /package/dist/{chunk-LYOZ36IH.js.map → chunk-5TPDRTCU.js.map} +0 -0
  468. /package/dist/{chunk-QXFCLEZB.js.map → chunk-73RGV4UX.js.map} +0 -0
  469. /package/dist/{chunk-MG23TBA3.js.map → chunk-FQBDGFMR.js.map} +0 -0
  470. /package/dist/{chunk-VXYXKLNG.js.map → chunk-FVBGMXMC.js.map} +0 -0
  471. /package/dist/{chunk-PWZJTYMH.js.map → chunk-IZTTP5LH.js.map} +0 -0
  472. /package/dist/{chunk-OSNB4BPE.js.map → chunk-MND5TXTF.js.map} +0 -0
  473. /package/dist/{chunk-YCHZB54C.js.map → chunk-Q6MAW2EF.js.map} +0 -0
  474. /package/dist/{chunk-XLRX2X2I.js.map → chunk-QF4LGACD.js.map} +0 -0
  475. /package/dist/{chunk-HULHLSIH.js.map → chunk-RQEU3SZQ.js.map} +0 -0
  476. /package/dist/{chunk-57IOXMBV.js.map → chunk-WQTBAXMP.js.map} +0 -0
  477. /package/dist/{chunk-PLUCMBSD.js.map → chunk-WXWKIQAK.js.map} +0 -0
  478. /package/dist/{chunk-UERDT3VQ.js.map → chunk-X67Z2G2H.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../node_modules/@open-wc/form-helpers/src/index.ts", "../src/components/button/bl-button.css", "../src/components/button/bl-button.ts"],
4
- "sourcesContent": ["/**\n * Implicitly submit a form by first validating all controls. If the form\n * is valid, issue a submit event and if that event is not prevented, manually\n * call the form's submit method.\n *\n * @param form {HTMLFormElement} - A form to implicitly submit\n */\nexport const submit = (form: HTMLFormElement): void => {\n if (!form.noValidate && !form.reportValidity()) {\n return;\n } else {\n const submitEvent = new SubmitEvent('submit', {\n bubbles: true,\n cancelable: true\n });\n form.dispatchEvent(submitEvent);\n if (!submitEvent.defaultPrevented) {\n form.submit();\n }\n }\n};\n\nexport type FormValue = string|FormData|File|FormValue[];\n\n/**\n * Parse a form and return a set of values based on the name/value pair.\n * If multiple controls of a similar name exist, return an array for those values;\n * otherwise return a single value.\n *\n * @param form {HTMLFormElement} - The form to parse for values\n * @returns {Record<string, any>} - An object representing the form's current values\n */\nexport const formValues = (form: HTMLFormElement): Record<string, FormValue> => {\n const formData = new FormData(form);\n const values: Record<string, FormValue> = {};\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore This does exist in all browsers. TypeScript is wrong\n for (const [key, value] of formData.entries()) {\n if (!values.hasOwnProperty(key)) {\n values[key] = value;\n } else if (Array.isArray(values[key])) {\n const pointer = values[key] as FormValue[];\n pointer.push(value);\n } else {\n values[key] = [values[key], value];\n }\n }\n\n return values;\n};\n\n/**\n * This method takes a form and parses it as an object. If any form control has a `.`\n * in its name, this utility will evaluate that name as a deep key for an object;\n * in other words, if a form has a named control, `name.first` and another, `name.last`\n * it will report back a nested object, name, with first and last properties\n * representing those controls' values.\n *\n * This can be useful when you have a complex model that you are attempting to represent\n * in declaratively in HTML.\n *\n * @param form {HTMLFormElement} - The form to grab values from\n * @returns {Object<string, FormValue>} - An object representation of the form\n */\nexport const parseFormAsObject = (form: HTMLFormElement): Record<string, FormValue> => {\n const data = formValues(form);\n const output: Record<string, FormValue> = {};\n\n Object.entries(data).forEach(([key, value]) => {\n /** If the key has a '.', parse it as an object */\n if (key.includes('.')) {\n const path = key.split('.');\n const destination: string | undefined = path.pop();\n let pointer = output;\n\n while (path.length) {\n const key = path.shift();\n pointer[key as string] = pointer[key as string] || ({} as FormValue);\n pointer = pointer[key as string] as unknown as Record<string, FormValue>;\n }\n\n pointer[destination as string] = value;\n } else {\n output[key] = data[key];\n }\n });\n\n return output;\n};\n", "import {css} from 'lit';\nexport const styles = css`@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}:host{display:var(--bl-button-display, inline-block);max-width:100%;position:relative}.button{--main-color:var(--bl-color-primary);--main-hover-color:var(--bl-color-primary-highlight);--text-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-color);--border-color:var(--main-color);--padding-vertical:var(--bl-size-2xs);--padding-horizontal:var(--bl-size-m);--margin-icon:var(--padding-vertical);--icon-size:var(--bl-size-m);--font:var(--bl-font-title-3-medium);--height:var(--bl-size-2xl);display:flex;gap:var(--margin-icon);justify-content:var(--bl-button-justify, center);align-items:center;box-sizing:border-box;width:100%;height:var(--height);border:solid 1px var(--border-color);border-radius:var(--bl-border-radius-m);text-decoration:none;padding:var(--padding-vertical) var(--padding-horizontal);cursor:pointer;background-color:var(--bg-color);color:var(--content-color);font:var(--font);font-kerning:none;user-select:none}:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button,:host(:hover) .button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([size=\"small\"]) .button{--font:var(--bl-font-title-4-medium);--padding-vertical:var(--bl-size-3xs);--padding-horizontal:var(--bl-size-2xs);--icon-size:var(--bl-size-s);--height:var(--bl-size-xl)}:host([size=\"large\"]) .button{--font:var(--bl-font-title-3-medium);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-xl);--margin-icon:var(--bl-size-2xs);--height:var(--bl-size-3xl)}.button:focus{outline:none}.button:focus-visible{position:relative;outline:none}.button:focus-visible::after{border:2px solid var(--main-color);border-radius:var(--bl-border-radius-l);content:\"\";position:absolute;inset:-4px}.loading-icon{animation:spin 1s linear infinite;font-size:var(--icon-size)}:host ::slotted(bl-icon){font-size:var(--icon-size)}:host([loading]) ::slotted(bl-icon){display:none}:host .has-icon:not(.has-content){--padding-horizontal:var(--padding-vertical);--margin-icon:0}:host([variant=\"secondary\"]) .button{--bg-color:transparent;--content-color:var(--main-color)}:host([variant=\"tertiary\"]) .button{--content-color:var(--main-color);--border-color:transparent;--bg-color:transparent}:host([kind=\"neutral\"]) .button{--main-color:var(--bl-color-neutral-darker);--main-hover-color:var(--bl-color-neutral-darkest)}:host([kind=\"success\"]) .button{--main-color:var(--bl-color-success);--main-hover-color:var(--bl-color-success-highlight)}:host([kind=\"danger\"]) .button{--main-color:var(--bl-color-danger);--main-hover-color:var(--bl-color-danger-highlight)}:host([disabled]){cursor:not-allowed}:host([loading]){cursor:wait}:host([loading]) bl-icon:not(.loading-icon){display:none}:host .button[aria-disabled=\"true\"]{--main-color:var(--bl-color-neutral-lightest);--main-hover-color:var(--bl-color-neutral-lightest);--content-color:var(--bl-color-neutral-lighter);--bg-color:var(--main-color);pointer-events:none;text-decoration:none}:host([variant=\"tertiary\"]) .button[aria-disabled=\"true\"]{--main-color:transparent}:host([variant=\"secondary\"].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=\"false\"],:host([variant=\"secondary\"]:hover) .button[aria-disabled=\"false\"]{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=\"tertiary\"].__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .button[aria-disabled=\"false\"],:host([variant=\"tertiary\"]:hover) .button[aria-disabled=\"false\"]{--content-color:var(--main-hover-color);--bg-color:var(--text-hover-color)}:host([dropdown]) .open{display:none}:host([dropdown]) .active .open{display:inline-block}:host([dropdown]) .active .close{display:none}:host .active.button{--bg-color:var(--main-hover-color);--border-color:var(--main-hover-color)}:host([variant=\"secondary\"]) .active.button{--content-color:var(--bl-color-neutral-full);--bg-color:var(--main-hover-color)}:host([variant=\"tertiary\"]) .active.button{--content-color:var(--main-color);--bg-color:var(--bl-color-neutral-lightest);--border-color:transparent}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property, state, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { submit } from \"@open-wc/form-helpers\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../icon/bl-icon\";\nimport { BaklavaIcon } from \"../icon/icon-list\";\nimport style from \"./bl-button.css\";\n\nexport type ButtonVariant = \"primary\" | \"secondary\" | \"tertiary\";\nexport type ButtonKind = \"default\" | \"neutral\" | \"success\" | \"danger\";\nexport type ButtonSize = \"small\" | \"medium\" | \"large\";\nexport type TargetType = \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n/**\n * @tag bl-button\n * @summary Baklava Button component\n *\n * @cssproperty [--bl-button-display=inline-block] Sets the display property of button\n * @cssproperty [--bl-button-justify=center] Sets the justify-content property of button\n *\n */\n@customElement(\"bl-button\")\nexport default class BlButton extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets the button variant\n */\n @property({ type: String, reflect: true })\n variant: ButtonVariant = \"primary\";\n\n /**\n * Sets the button kind\n */\n @property({ type: String, reflect: true })\n kind: ButtonKind = \"default\";\n\n /**\n * Sets the button size\n */\n @property({ type: String, reflect: true })\n size: ButtonSize = \"medium\";\n\n /**\n * Sets the button label. Used for accessibility.\n */\n @property({ type: String })\n label: string;\n\n /**\n * Sets the button label for loading status.\n */\n @property({ type: String, attribute: \"loading-label\" })\n loadingLabel: string;\n\n /**\n * Sets loading state of button\n */\n @property({ type: Boolean, reflect: true })\n loading = false;\n\n /**\n * Sets button as disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Set link url. If set, button will be rendered as anchor tag.\n */\n @property({ type: String })\n href?: string;\n\n /**\n * Sets the icon name. Shows icon with bl-icon component\n */\n @property({ type: String })\n icon?: BaklavaIcon;\n\n /**\n * Sets the anchor target. Used when `href` is set.\n */\n @property({ type: String })\n target?: TargetType = \"_self\";\n\n /**\n * Sets the type of the button. Set `submit` to use button as the submitter of parent form.\n */\n @property({ type: String })\n type: \"submit\";\n\n /**\n * Sets button type to dropdown\n */\n @property({ type: Boolean })\n dropdown = false;\n\n /**\n * Sets button to get keyboard focus automatically\n */\n @property({ type: Boolean, reflect: true })\n autofocus = false;\n\n /**\n * Sets the associated form of the button. Use when `type` is set to `submit` and button is not inside the target form.\n */\n @property({ type: String })\n form: HTMLFormElement | string;\n\n /**\n * Active state\n */\n @state({})\n active = false;\n\n @query(\".button\")\n private button: HTMLAnchorElement | HTMLButtonElement;\n\n /**\n * Fires when button clicked\n */\n @event(\"bl-click\") private onClick: EventDispatcher<string>;\n\n private get _isActive() {\n return this.active;\n }\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n private caretTemplate(): TemplateResult {\n return html` <bl-icon class=\"open\" name=\"arrow_up\"></bl-icon>\n <bl-icon class=\"close\" name=\"arrow_down\"></bl-icon>`;\n }\n\n private _handleClick() {\n if (this.type === \"submit\") {\n let targetForm: HTMLFormElement;\n\n if (this.form instanceof HTMLFormElement) {\n targetForm = this.form;\n } else if (typeof this.form === \"string\") {\n targetForm = document.getElementById(this.form) as HTMLFormElement;\n } else {\n targetForm = this.closest(\"form\") as HTMLFormElement;\n }\n\n if (targetForm) {\n submit(targetForm);\n }\n }\n\n this.onClick(\"Click event fired!\");\n }\n\n focus() {\n this.button.focus();\n }\n\n get _hasIconSlot() {\n return this.querySelector(':scope > [slot=\"icon\"]') !== null;\n }\n\n get _hasDefaultSlot() {\n const childNodes = [...this.childNodes];\n\n return childNodes.some(node => {\n const nodeType = node.nodeType;\n\n // has only text node.\n if (nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n // has element node, it should not have slot attribute.\n if (nodeType === node.ELEMENT_NODE) {\n if (!(node as HTMLElement).hasAttribute(\"slot\")) {\n return true;\n }\n }\n return false;\n });\n }\n\n render(): TemplateResult {\n const isDisabled = this.loading || this.disabled;\n const label = this.loading && this.loadingLabel ? this.loadingLabel : html`<slot></slot>`;\n const isAnchor = !!this.href;\n const icon = this.icon ? html`<bl-icon name=${this.icon}></bl-icon>` : \"\";\n const loadingIcon = this.loading\n ? html`<bl-icon class=\"loading-icon\" name=\"loading\"></bl-icon>`\n : \"\";\n const slots = html`<slot name=\"icon\">${icon}</slot> <span class=\"label\">${label}</span>`;\n const caret = this.dropdown ? this.caretTemplate() : \"\";\n const classes = classMap({\n \"button\": true,\n \"has-icon\": this.icon || this._hasIconSlot,\n \"has-content\": this._hasDefaultSlot,\n \"active\": !isAnchor && this._isActive,\n });\n\n return isAnchor\n ? html`<a\n class=${classes}\n ?autofocus=${this.autofocus}\n aria-disabled=\"${ifDefined(isDisabled)}\"\n aria-label=\"${ifDefined(this.label)}\"\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n role=\"button\"\n >${loadingIcon} ${slots}\n </a>`\n : html`<button\n class=${classes}\n ?autofocus=${this.autofocus}\n aria-disabled=\"${ifDefined(isDisabled)}\"\n aria-label=\"${ifDefined(this.label)}\"\n ?disabled=${isDisabled}\n @click=\"${this._handleClick}\"\n >\n ${loadingIcon} ${slots} ${caret}\n </button>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-button\": BlButton;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["submit", "form", "submitEvent", "styles", "i", "bl_button_default", "BlButton", "s", "bl_button_default", "x", "targetForm", "submit", "node", "_a", "nodeType", "isDisabled", "label", "isAnchor", "icon", "loadingIcon", "slots", "caret", "classes", "o", "l", "__decorateClass", "t", "i", "event", "e"]
7
- }
@@ -1,26 +0,0 @@
1
- import{a}from"./chunk-GRL4DWKG.js";import{a as l,b as n,c as d}from"./chunk-X2KXJYXQ.js";import{a as o,b as i,f as s}from"./chunk-4OT5AMS5.js";import{d as t}from"./chunk-IZ2LK5GK.js";var h=o`.drawer{box-sizing:border-box;position:fixed;display:flex;top:0;right:-100%;bottom:0;width:424px;padding:var(--bl-size-xl);padding-top:max(env(safe-area-inset-top), var(--bl-size-xl));padding-right:max(env(safe-area-inset-right), var(--bl-size-xl));padding-bottom:max(env(safe-area-inset-bottom), var(--bl-size-xl));background:var(--bl-color-neutral-full);box-shadow:var(--bl-size-xs) 0 var(--bl-size-2xl) rgba(0 0 0 / 50%);transition:right var(--bl-drawer-animation-duration, 0.25s);z-index:var(--bl-index-sticky)}:host([open]) .drawer{right:0}iframe{height:100%;width:100%;border:none}.container{display:flex;flex-direction:column;gap:var(--bl-size-xl);flex:1;width:100%}header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--bl-size-2xs);background-color:white}header .header-buttons{display:flex;gap:var(--bl-size-xl);margin-left:auto}header h2{font:var(--bl-font-title-1-medium);color:var(--bl-color-neutral-darker);overflow:hidden;margin:0;padding:0}.content{flex:1;overflow-y:scroll}.iframe-content{flex:1}@media only screen and (max-width: 424px){:host([open]) .drawer{width:calc(100vw - 24px)}}`,c=h;var e=class extends s{constructor(){super(...arguments);this.open=!1;this.domExistence=!1}static get styles(){return[c]}connectedCallback(){super.connectedCallback(),window==null||window.addEventListener("bl-drawer-open",r=>{r.target!==this&&this.closeDrawer()})}updated(r){r.has("open")&&this.toggleDialogHandler()}toggleDialogHandler(){this.open?(this.domExistenceSchedule&&clearTimeout(this.domExistenceSchedule),this.domExistence=!0,this.onOpen("")):(this.domExistenceSchedule=window.setTimeout(()=>{this.domExistence=!1},1e3),this.onClose(""))}closeDrawer(){this.open=!1}renderContent(){let r=this.embedUrl?i`<iframe src=${this.embedUrl}></iframe>`:i`<slot></slot>`;return i`<section class=${this.embedUrl?"iframe-content":"content"}>
2
- ${r}
3
- </section>`}renderContainer(){let r=this.caption?i`<h2 id="drawer-caption">${this.caption}</h2>`:"",p=this.externalLink?i`<bl-button
4
- icon="external_link"
5
- variant="tertiary"
6
- kind="neutral"
7
- size="small"
8
- href="${this.externalLink}"
9
- target="_blank"
10
- ></bl-button>`:"";return i`<div class="container">
11
- <header>
12
- ${r}
13
- <div class="header-buttons">
14
- ${p}
15
- <bl-button
16
- @click="${this.closeDrawer}"
17
- icon="close"
18
- size="small"
19
- variant="tertiary"
20
- kind="neutral"
21
- ></bl-button>
22
- </div>
23
- </header>
24
- ${this.renderContent()}
25
- </div>`}render(){return this.domExistence?i`<div class="drawer">${this.renderContainer()}</div>`:i``}};t([n({type:Boolean,reflect:!0})],e.prototype,"open",2),t([n({type:String})],e.prototype,"caption",2),t([n({type:String,attribute:"embed-url"})],e.prototype,"embedUrl",2),t([n({type:String,attribute:"external-link"})],e.prototype,"externalLink",2),t([a("bl-drawer-open")],e.prototype,"onOpen",2),t([a("bl-drawer-close")],e.prototype,"onClose",2),t([d()],e.prototype,"domExistence",2),e=t([l("bl-drawer")],e);export{e as a};
26
- //# sourceMappingURL=chunk-QY5DKRF5.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/drawer/bl-drawer.css", "../src/components/drawer/bl-drawer.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`.drawer{box-sizing:border-box;position:fixed;display:flex;top:0;right:-100%;bottom:0;width:424px;padding:var(--bl-size-xl);padding-top:max(env(safe-area-inset-top), var(--bl-size-xl));padding-right:max(env(safe-area-inset-right), var(--bl-size-xl));padding-bottom:max(env(safe-area-inset-bottom), var(--bl-size-xl));background:var(--bl-color-neutral-full);box-shadow:var(--bl-size-xs) 0 var(--bl-size-2xl) rgba(0 0 0 / 50%);transition:right var(--bl-drawer-animation-duration, 0.25s);z-index:var(--bl-index-sticky)}:host([open]) .drawer{right:0}iframe{height:100%;width:100%;border:none}.container{display:flex;flex-direction:column;gap:var(--bl-size-xl);flex:1;width:100%}header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--bl-size-2xs);background-color:white}header .header-buttons{display:flex;gap:var(--bl-size-xl);margin-left:auto}header h2{font:var(--bl-font-title-1-medium);color:var(--bl-color-neutral-darker);overflow:hidden;margin:0;padding:0}.content{flex:1;overflow-y:scroll}.iframe-content{flex:1}@media only screen and (max-width: 424px){:host([open]) .drawer{width:calc(100vw - 24px)}}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { PropertyValues } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../button/bl-button\";\nimport style from \"./bl-drawer.css\";\n\n/**\n * @tag bl-drawer\n * @summary Baklava Drawer component\n *\n * @cssproperty [--bl-drawer-animation-duration=250ms] Drawer slide in animation duration\n */\n\n@customElement(\"bl-drawer\")\nexport default class BlDrawer extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets drawer open-close status\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Sets the drawer title\n */\n @property({ type: String })\n caption?: string;\n\n /**\n * Sets the drawer embed url for iframe\n */\n @property({ type: String, attribute: \"embed-url\" })\n embedUrl?: string;\n\n /**\n * Sets the drawer external link\n */\n @property({ type: String, attribute: \"external-link\" })\n externalLink?: string;\n\n /**\n * Fires when the drawer is opened\n */\n @event(\"bl-drawer-open\") private onOpen: EventDispatcher<string>;\n\n /**\n * Fires when the drawer is closed\n */\n @event(\"bl-drawer-close\") private onClose: EventDispatcher<string>;\n\n connectedCallback() {\n super.connectedCallback();\n window?.addEventListener(\"bl-drawer-open\", event => {\n if (event.target !== this) this.closeDrawer();\n });\n }\n\n updated(changedProperties: PropertyValues<this>) {\n if (changedProperties.has(\"open\")) {\n this.toggleDialogHandler();\n }\n }\n\n private domExistenceSchedule: number;\n\n private toggleDialogHandler() {\n if (this.open) {\n if (this.domExistenceSchedule) {\n clearTimeout(this.domExistenceSchedule);\n }\n\n this.domExistence = true;\n // FIXME: Allow events without payload\n this.onOpen(\"\");\n } else {\n // Give some time for exit animation\n this.domExistenceSchedule = window.setTimeout(() => {\n this.domExistence = false;\n }, 1000);\n\n // FIXME: Allow events without payload\n this.onClose(\"\");\n }\n }\n\n @state() private domExistence = false;\n\n private closeDrawer() {\n this.open = false;\n }\n\n private renderContent() {\n const content = this.embedUrl\n ? html`<iframe src=${this.embedUrl}></iframe>`\n : html`<slot></slot>`;\n\n return html`<section class=${this.embedUrl ? \"iframe-content\" : \"content\"}>\n ${content}\n </section>`;\n }\n\n private renderContainer() {\n const title = this.caption ? html`<h2 id=\"drawer-caption\">${this.caption}</h2>` : \"\";\n const external_button = this.externalLink\n ? html`<bl-button\n icon=\"external_link\"\n variant=\"tertiary\"\n kind=\"neutral\"\n size=\"small\"\n href=\"${this.externalLink}\"\n target=\"_blank\"\n ></bl-button>`\n : \"\";\n\n return html`<div class=\"container\">\n <header>\n ${title}\n <div class=\"header-buttons\">\n ${external_button}\n <bl-button\n @click=\"${this.closeDrawer}\"\n icon=\"close\"\n size=\"small\"\n variant=\"tertiary\"\n kind=\"neutral\"\n ></bl-button>\n </div>\n </header>\n ${this.renderContent()}\n </div>`;\n }\n\n render(): TemplateResult {\n if (this.domExistence) {\n return html`<div class=\"drawer\">${this.renderContainer()}</div>`;\n } else {\n return html``;\n }\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-drawer\": BlDrawer;\n }\n}\n"],
5
- "mappings": "uLACO,IAAMA,EAASC,6mCACfC,EAAQF,ECaf,IAAqBG,EAArB,cAAsC,CAAW,CAAjD,kCASE,UAAO,GAiEE,KAAQ,aAAe,GAzEhC,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CAoCA,mBAAoB,CAClB,MAAM,kBAAkB,EACxB,qBAAQ,iBAAiB,iBAAkBC,GAAS,CAC9CA,EAAM,SAAW,MAAM,KAAK,YAAY,CAC9C,EACF,CAEA,QAAQC,EAAyC,CAC3CA,EAAkB,IAAI,MAAM,GAC9B,KAAK,oBAAoB,CAE7B,CAIQ,qBAAsB,CACxB,KAAK,MACH,KAAK,sBACP,aAAa,KAAK,oBAAoB,EAGxC,KAAK,aAAe,GAEpB,KAAK,OAAO,EAAE,IAGd,KAAK,qBAAuB,OAAO,WAAW,IAAM,CAClD,KAAK,aAAe,EACtB,EAAG,GAAI,EAGP,KAAK,QAAQ,EAAE,EAEnB,CAIQ,aAAc,CACpB,KAAK,KAAO,EACd,CAEQ,eAAgB,CACtB,IAAMC,EAAU,KAAK,SACjBC,gBAAmB,KAAK,qBACxBA,iBAEJ,OAAOA,mBAAsB,KAAK,SAAW,iBAAmB;AAAA,QAC5DD;AAAA,eAEN,CAEQ,iBAAkB,CACxB,IAAME,EAAQ,KAAK,QAAUD,4BAA+B,KAAK,eAAiB,GAC5EE,EAAkB,KAAK,aACzBF;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKU,KAAK;AAAA;AAAA,uBAGf,GAEJ,OAAOA;AAAA;AAAA,UAEDC;AAAA;AAAA,YAEEC;AAAA;AAAA,sBAEU,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQnB,KAAK,cAAc;AAAA,WAEzB,CAEA,QAAyB,CACvB,OAAI,KAAK,aACAF,wBAA2B,KAAK,gBAAgB,UAEhDA,GAEX,CACF,EAvHEG,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GARvBT,EASnB,oBAMAQ,EAAA,CADCC,EAAS,CAAE,KAAM,MAAO,CAAC,GAdPT,EAenB,uBAMAQ,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,UAAW,WAAY,CAAC,GApB/BT,EAqBnB,wBAMAQ,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,UAAW,eAAgB,CAAC,GA1BnCT,EA2BnB,4BAKiCQ,EAAA,CAAhCN,EAAM,gBAAgB,GAhCJF,EAgCc,sBAKCQ,EAAA,CAAjCN,EAAM,iBAAiB,GArCLF,EAqCe,uBAqCjBQ,EAAA,CAAhBE,EAAM,GA1EYV,EA0EF,4BA1EEA,EAArBQ,EAAA,CADCC,EAAc,WAAW,GACLT",
6
- "names": ["styles", "i", "bl_drawer_default", "BlDrawer", "bl_drawer_default", "event", "changedProperties", "content", "x", "title", "external_button", "__decorateClass", "e", "t"]
7
- }
@@ -1,33 +0,0 @@
1
- import{a as g}from"./chunk-6LT7O7T2.js";import{a as c}from"./chunk-GRL4DWKG.js";import{a as b,b as d,e as n}from"./chunk-X2KXJYXQ.js";import{a as u,b as r,f}from"./chunk-4OT5AMS5.js";import{d as t}from"./chunk-IZ2LK5GK.js";var y=u`:host{display:contents}.container{--background-color:var(--bl-color-neutral-full);display:flex;flex-direction:column;background:var(--background-color);max-width:calc(100vw - var(--bl-size-4xl));max-height:calc(100vh - var(--bl-size-4xl));min-width:424px;padding:0;border:0;border-radius:var(--bl-border-radius-l)}.dialog,.dialog-polyfill .container{padding:0;border:0;border-radius:var(--bl-border-radius-l)}.dialog-polyfill .container{position:fixed;z-index:var(--bl-index-dialog)}.dialog::backdrop{background-color:#273142b3}.dialog-polyfill{display:none;position:fixed;left:0;top:0;width:100vw;height:100vh;align-items:center;justify-content:center;z-index:var(--bl-index-dialog);background-color:#273142b3}:host([open]) .dialog-polyfill{display:flex}header{display:flex;justify-content:space-between;align-items:center;gap:var(--bl-size-2xs);padding:var(--bl-size-xl) var(--bl-size-xl) 0 var(--bl-size-xl)}header bl-button{margin-left:auto}header h2{font:var(--bl-font-title-1-medium);color:var(--bl-color-neutral-darker);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0}.content{padding:var(--bl-size-xl);overflow:auto}.container.has-footer .content{padding-bottom:0}footer{padding:var(--bl-size-xl);display:flex;flex-flow:row-reverse wrap;gap:var(--bl-size-m)}footer.shadow{/* FIXME: Use variables for sizes */box-shadow:0 -4px 15px #27314226}@media only screen and (max-width: 471px){.container{max-width:calc(100vw - var(--bl-size-2xl));max-height:calc(100vh - var(--bl-size-2xl));min-width:auto;min-height:auto}footer{flex-flow:column wrap}}`,m=y;var o=class extends f{constructor(){super(...arguments);this.open=!1;this.polyfilled=!0;this.clickOutsideHandler=e=>{e.composedPath().includes(this.container)||this.closeDialog("backdrop")};this.onKeydown=e=>{e.code==="Escape"&&this.open&&(e.preventDefault(),this.closeDialog("keyboard"))}}static get styles(){return[m]}updated(e){(e.has("open")||e.has("polyfilled"))&&this.toggleDialogHandler()}get _hasFooter(){return[...this.childNodes].some(e=>e.nodeName==="BL-BUTTON")}toggleDialogHandler(){var e,i,a,l;this.open?((i=(e=this.dialog)==null?void 0:e.showModal)==null||i.call(e),this.onOpen({isOpen:!0}),document.body.style.overflow="hidden",this.toggleFooterShadow(),window==null||window.addEventListener("keydown",s=>this.onKeydown(s)),window==null||window.addEventListener("resize",()=>this.toggleFooterShadow())):((l=(a=this.dialog)==null?void 0:a.close)==null||l.call(a),this.onClose({isOpen:!1}),document.body.style.overflow="auto",window==null||window.removeEventListener("keydown",this.onKeydown),window==null||window.removeEventListener("resize",this.toggleFooterShadow))}closeDialog(e){this.onRequestClose({source:e},{cancelable:!0}).defaultPrevented||(this.open=!1)}toggleFooterShadow(){var e,i,a,l,s,v;((e=this.content)==null?void 0:e.scrollHeight)>((i=this.content)==null?void 0:i.offsetHeight)?(l=(a=this.footer)==null?void 0:a.classList)==null||l.add("shadow"):(v=(s=this.footer)==null?void 0:s.classList)==null||v.remove("shadow")}renderFooter(){return this._hasFooter?r`<footer>
2
- <slot name="primary-action"></slot>
3
- <slot name="secondary-action"></slot>
4
- <slot name="tertiary-action"></slot>
5
- </footer>`:""}renderContainer(){let e=this.caption?r`<h2 id="dialog-caption">${this.caption}</h2>`:"",i={container:!0,"has-footer":this._hasFooter};return r` <div class="${g(i)}">
6
- <header>
7
- ${e}
8
- <bl-button
9
- @click="${()=>this.closeDialog("close-button")}"
10
- icon="close"
11
- variant="tertiary"
12
- kind="neutral"
13
- ></bl-button>
14
- </header>
15
- <section class="content"><slot></slot></section>
16
- ${this.renderFooter()}
17
- </div>`}render(){return this.polyfilled||!window.HTMLDialogElement?r`<div
18
- class="dialog-polyfill"
19
- role="dialog"
20
- aria-labelledby="dialog-caption"
21
- @click=${this.clickOutsideHandler}
22
- >
23
- ${this.renderContainer()}
24
- </div>`:r`
25
- <dialog
26
- class="dialog"
27
- aria-labelledby="dialog-caption"
28
- @click=${this.clickOutsideHandler}
29
- >
30
- ${this.renderContainer()}
31
- </dialog>
32
- `}};t([d({type:Boolean,reflect:!0,hasChanged(p,h){return p===!1&&h===void 0?!1:p!==h}})],o.prototype,"open",2),t([d({type:String})],o.prototype,"caption",2),t([d({type:Boolean,reflect:!0})],o.prototype,"polyfilled",2),t([n(".dialog")],o.prototype,"dialog",2),t([n("footer")],o.prototype,"footer",2),t([n(".container")],o.prototype,"container",2),t([n(".content")],o.prototype,"content",2),t([c("bl-dialog-open")],o.prototype,"onOpen",2),t([c("bl-dialog-request-close")],o.prototype,"onRequestClose",2),t([c("bl-dialog-close")],o.prototype,"onClose",2),o=t([b("bl-dialog")],o);export{o as a};
33
- //# sourceMappingURL=chunk-UP2BMLLI.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/dialog/bl-dialog.css", "../src/components/dialog/bl-dialog.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:contents}.container{--background-color:var(--bl-color-neutral-full);display:flex;flex-direction:column;background:var(--background-color);max-width:calc(100vw - var(--bl-size-4xl));max-height:calc(100vh - var(--bl-size-4xl));min-width:424px;padding:0;border:0;border-radius:var(--bl-border-radius-l)}.dialog,.dialog-polyfill .container{padding:0;border:0;border-radius:var(--bl-border-radius-l)}.dialog-polyfill .container{position:fixed;z-index:var(--bl-index-dialog)}.dialog::backdrop{background-color:#273142b3}.dialog-polyfill{display:none;position:fixed;left:0;top:0;width:100vw;height:100vh;align-items:center;justify-content:center;z-index:var(--bl-index-dialog);background-color:#273142b3}:host([open]) .dialog-polyfill{display:flex}header{display:flex;justify-content:space-between;align-items:center;gap:var(--bl-size-2xs);padding:var(--bl-size-xl) var(--bl-size-xl) 0 var(--bl-size-xl)}header bl-button{margin-left:auto}header h2{font:var(--bl-font-title-1-medium);color:var(--bl-color-neutral-darker);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0}.content{padding:var(--bl-size-xl);overflow:auto}.container.has-footer .content{padding-bottom:0}footer{padding:var(--bl-size-xl);display:flex;flex-flow:row-reverse wrap;gap:var(--bl-size-m)}footer.shadow{/* FIXME: Use variables for sizes */box-shadow:0 -4px 15px #27314226}@media only screen and (max-width: 471px){.container{max-width:calc(100vw - var(--bl-size-2xl));max-height:calc(100vh - var(--bl-size-2xl));min-width:auto;min-height:auto}footer{flex-flow:column wrap}}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, PropertyValues, TemplateResult } from \"lit\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../button/bl-button\";\nimport style from \"./bl-dialog.css\";\n\ntype DialogElement = {\n showModal: () => void;\n close: () => void;\n};\n\n/**\n * @tag bl-dialog\n * @summary Baklava Dialog component\n */\n@customElement(\"bl-dialog\")\nexport default class BlDialog extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets dialog open-close status\n */\n @property({\n type: Boolean,\n reflect: true,\n hasChanged(newVal: boolean, oldVal: boolean | undefined) {\n if (newVal === false && oldVal === undefined) {\n // Assume that the initial value is false\n return false;\n }\n return newVal !== oldVal;\n },\n })\n open = false;\n\n /**\n * Sets the dialog title\n */\n @property({ type: String })\n caption?: string;\n\n /**\n * Determines if dialog currently uses polyfilled version instead of native HTML Dialog. By\n * default, it uses native Dialog if the browser supports it, otherwise polyfills. You can force\n * using polyfill by setting this to true in some cases like to show some content on top of dialog\n * in case you are not able to use Popover API. Be aware that, polyfilled version can cause some\n * inconsistencies in terms of accessibility and stacking context. So use it with extra caution.\n *\n * As of the current implementation, you can render above the dialog HTML element using the Popover API. However,\n * it will block any actions on the Popover element. This issue was encountered during the development of the `bl-notification` component.\n * As a result, we decided to enable the polyfill for the `bl-dialog` component by default. If you prefer to use the native dialog, you can set\n * this property to false. Please note, doing so will cause notifications to render under the dialog backdrop.\n * For more information, refer to the comment linked below:\n *\n * https://github.com/Trendyol/baklava/issues/141#issuecomment-1810301413\n */\n @property({ type: Boolean, reflect: true })\n polyfilled = true;\n\n @query(\".dialog\")\n private dialog: HTMLDialogElement & DialogElement;\n\n @query(\"footer\")\n private footer: HTMLElement;\n\n @query(\".container\")\n private container: HTMLElement;\n\n @query(\".content\")\n private content: HTMLElement;\n\n /**\n * Fires when the dialog is opened\n */\n @event(\"bl-dialog-open\") private onOpen: EventDispatcher<object>;\n\n /**\n * Fires before the dialog is closed with internal actions like clicking close button,\n * pressing Escape key or clicking backdrop. Can be prevented by calling `event.preventDefault()`\n */\n @event(\"bl-dialog-request-close\") private onRequestClose: EventDispatcher<{\n source: \"close-button\" | \"keyboard\" | \"backdrop\";\n }>;\n\n /**\n * Fires when the dialog is closed\n */\n @event(\"bl-dialog-close\") private onClose: EventDispatcher<object>;\n\n updated(changedProperties: PropertyValues<this>) {\n if (changedProperties.has(\"open\") || changedProperties.has(\"polyfilled\")) {\n this.toggleDialogHandler();\n }\n }\n\n private get _hasFooter() {\n return [...this.childNodes].some(node => node.nodeName === \"BL-BUTTON\");\n }\n\n private toggleDialogHandler() {\n if (this.open) {\n this.dialog?.showModal?.();\n this.onOpen({ isOpen: true });\n document.body.style.overflow = \"hidden\";\n this.toggleFooterShadow();\n window?.addEventListener(\"keydown\", event => this.onKeydown(event));\n window?.addEventListener(\"resize\", () => this.toggleFooterShadow());\n } else {\n this.dialog?.close?.();\n this.onClose({ isOpen: false });\n document.body.style.overflow = \"auto\";\n window?.removeEventListener(\"keydown\", this.onKeydown);\n window?.removeEventListener(\"resize\", this.toggleFooterShadow);\n }\n }\n\n private closeDialog(source: \"close-button\" | \"keyboard\" | \"backdrop\") {\n const requestCloseEvent = this.onRequestClose({ source }, { cancelable: true });\n\n if (requestCloseEvent.defaultPrevented) {\n return;\n }\n\n this.open = false;\n }\n\n private clickOutsideHandler = (event: MouseEvent) => {\n const eventPath = event.composedPath() as HTMLElement[];\n\n if (!eventPath.includes(this.container)) {\n this.closeDialog(\"backdrop\");\n }\n };\n\n private onKeydown = (event: KeyboardEvent): void => {\n if (event.code === \"Escape\" && this.open) {\n event.preventDefault();\n this.closeDialog(\"keyboard\");\n }\n };\n\n private toggleFooterShadow() {\n if (this.content?.scrollHeight > this.content?.offsetHeight) {\n this.footer?.classList?.add(\"shadow\");\n } else {\n this.footer?.classList?.remove(\"shadow\");\n }\n }\n\n private renderFooter() {\n return this._hasFooter\n ? html`<footer>\n <slot name=\"primary-action\"></slot>\n <slot name=\"secondary-action\"></slot>\n <slot name=\"tertiary-action\"></slot>\n </footer>`\n : \"\";\n }\n\n private renderContainer() {\n const title = this.caption ? html`<h2 id=\"dialog-caption\">${this.caption}</h2>` : \"\";\n\n const classes = {\n \"container\": true,\n \"has-footer\": this._hasFooter,\n };\n\n return html` <div class=\"${classMap(classes)}\">\n <header>\n ${title}\n <bl-button\n @click=\"${() => this.closeDialog(\"close-button\")}\"\n icon=\"close\"\n variant=\"tertiary\"\n kind=\"neutral\"\n ></bl-button>\n </header>\n <section class=\"content\"><slot></slot></section>\n ${this.renderFooter()}\n </div>`;\n }\n\n render(): TemplateResult {\n return this.polyfilled || !window.HTMLDialogElement\n ? html`<div\n class=\"dialog-polyfill\"\n role=\"dialog\"\n aria-labelledby=\"dialog-caption\"\n @click=${this.clickOutsideHandler}\n >\n ${this.renderContainer()}\n </div>`\n : html`\n <dialog\n class=\"dialog\"\n aria-labelledby=\"dialog-caption\"\n @click=${this.clickOutsideHandler}\n >\n ${this.renderContainer()}\n </dialog>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-dialog\": BlDialog;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["styles", "i", "bl_dialog_default", "BlDialog", "s", "event", "bl_dialog_default", "changedProperties", "node", "_a", "_b", "_c", "_d", "source", "_e", "_f", "x", "title", "classes", "o", "__decorateClass", "e", "newVal", "oldVal", "i"]
7
- }
@@ -1,23 +0,0 @@
1
- import{a as v}from"./chunk-AAGDUS7G.js";import{a as d}from"./chunk-DJOD4BTL.js";import{a as f}from"./chunk-DINNT5P2.js";import{a as o}from"./chunk-GRL4DWKG.js";import{a as c,b as r,e as m}from"./chunk-X2KXJYXQ.js";import{a as s,b as a,f as n}from"./chunk-4OT5AMS5.js";import{d as t}from"./chunk-IZ2LK5GK.js";var E=s`:host{display:flex;flex-direction:row}fieldset{border:none;padding:0}legend{font:var(--bl-font-title-3-medium);color:var(--bl-color-neutral-darker)}.options{display:flex;flex-flow:var(--bl-checkbox-direction, column) wrap;gap:var(--bl-size-m);margin-block:var(--bl-size-xs)}`,g=E;var u="bl-checkbox-group",p="bl-checkbox-group-change",l=class extends d(n){constructor(){super(...arguments);this.value=[];this.required=!1;this.focusedOptionIndex=0}static get styles(){return[g]}get options(){return[...this.querySelectorAll(h)]}get checkedOptions(){return this.options.filter(e=>e.checked).map(e=>e.value)}get availableOptions(){return this.options.filter(e=>!e.disabled)}connectedCallback(){super.connectedCallback(),this.tabIndex=0,this.addEventListener("focus",this.handleFocus),this.addEventListener("keydown",this.handleKeyDown)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focus",this.handleFocus),this.removeEventListener("keydown",this.handleKeyDown)}updated(e){e.has("value")&&(this.setValue(this.checkedOptions.join(",")),this.onChange(this.value))}handleOptionChecked(){this.value=this.checkedOptions}handleKeyDown(e){if(["ArrowDown","ArrowRight"].includes(e.key))this.focusedOptionIndex++;else if(["ArrowUp","ArrowLeft"].includes(e.key))this.focusedOptionIndex--;else if(e.key==="Tab"){if(e.shiftKey?this.focusedOptionIndex--:this.focusedOptionIndex++,this.focusedOptionIndex===this.availableOptions.length){this.tabIndex=0,this.focusedOptionIndex=0;return}}else return;this.focusedOptionIndex=Math.max(0,Math.min(this.focusedOptionIndex,this.availableOptions.length-1)),this.availableOptions[this.focusedOptionIndex].focus(),e.preventDefault()}handleFocus(){this.availableOptions[this.focusedOptionIndex].focus()}render(){return a`<fieldset role="group" aria-labelledby="label" aria-required=${this.required}>
2
- <legend id="label">${this.label}</legend>
3
- <div class="options" @bl-checkbox-change=${this.handleOptionChecked}>
4
- <slot></slot>
5
- </div>
6
- </fieldset>`}};t([r({type:String})],l.prototype,"label",2),t([r({type:Array,reflect:!0})],l.prototype,"value",2),t([r({type:Boolean,reflect:!0})],l.prototype,"required",2),t([o("bl-checkbox-group-change")],l.prototype,"onChange",2),l=t([c(u)],l);var O=s`:host{display:inline-block;vertical-align:middle}:host *{outline:none}label{display:flex;gap:var(--bl-size-2xs);color:var(--bl-color-neutral-darker);font:var(--bl-font-title-3);cursor:pointer;user-select:none}.label{overflow-wrap:anywhere}input{appearance:none;position:absolute}.check-mark{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--bl-size-m);height:var(--bl-size-m);min-width:var(--bl-size-m);min-height:var(--bl-size-m);max-width:var(--bl-size-m);max-height:var(--bl-size-m);border:1px solid var(--bl-color-neutral-lighter);border-radius:var(--bl-border-radius-xs);color:var(--bl-color-neutral-full);font-size:var(--bl-font-size-2xs);background-color:var(--bl-color-neutral-full)}:host([checked]) .label,:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .label,:host(:hover) .label{color:var(--bl-color-primary)}:host(:is([checked], [indeterminate])) .check-mark{background-color:var(--bl-color-primary);border:none}:host([disabled]){cursor:not-allowed;pointer-events:none}:host([disabled]) .check-mark,:host([disabled]) .label{color:var(--bl-color-neutral-light);border:1px solid var(--bl-color-neutral-lighter)}:host([disabled]) .check-mark{background-color:var(--bl-color-neutral-lightest)}:host(:not([disabled])) input:focus-visible + .check-mark{box-shadow:0 0 0 1px white,0 0 0 3px var(--bl-color-primary)}`,k=O;var h="bl-checkbox",i=class extends d(n){constructor(){super(...arguments);this.checked=!1;this.required=!1;this.disabled=!1;this.indeterminate=!1;this.handleFieldValueChange=e=>{this.checked=e.detail.includes(this.value)}}static get styles(){return[k]}connectedCallback(){var e;super.connectedCallback(),this.field=this.closest(u),(e=this.field)==null||e.addEventListener(p,this.handleFieldValueChange)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.field)==null||e.removeEventListener(p,this.handleFieldValueChange)}updated(e){e.has("checked")&&this.required&&this.checked&&this.setValue(this.value)}update(e){super.update(e),this.indeterminate&&this.checked&&(this.checked=!1,this.requestUpdate("checked",!0))}focus(){this.checkboxElement.tabIndex=0,this.checkboxElement.focus(),this.onFocus(this.value)}blur(){this.onBlur(this.value),this.field&&(this.checkboxElement.tabIndex=-1)}handleChange(e){let b=e.target;this.checked=b.checked,this.onChange(b.checked),this.indeterminate=!1}render(){let e="";return this.checked&&(e="check"),this.indeterminate&&(e="minus"),a`
7
- <label>
8
- <input
9
- type="checkbox"
10
- .checked=${v(this.checked)}
11
- ?disabled=${this.disabled}
12
- aria-required=${this.required}
13
- aria-readonly=${this.disabled}
14
- .indeterminate=${this.indeterminate}
15
- @change=${this.handleChange}
16
- value=${f(this.value)}
17
- @blur=${this.blur}
18
- />
19
- <div class="check-mark">${e?a`<bl-icon name="${e}"></bl-icon>`:null}</div>
20
- <slot class="label"></slot>
21
- </label>
22
- `}};i.shadowRootOptions={...n.shadowRootOptions,delegatesFocus:!0},t([r({type:Boolean,reflect:!0})],i.prototype,"checked",2),t([r()],i.prototype,"value",2),t([r({type:Boolean,reflect:!0})],i.prototype,"required",2),t([r({type:Boolean,reflect:!0})],i.prototype,"disabled",2),t([r({type:Boolean,reflect:!0})],i.prototype,"indeterminate",2),t([o("bl-checkbox-change")],i.prototype,"onChange",2),t([o("bl-focus")],i.prototype,"onFocus",2),t([o("bl-blur")],i.prototype,"onBlur",2),t([m("[type=checkbox]")],i.prototype,"checkboxElement",2),i=t([c(h)],i);export{h as a,i as b,u as c,p as d,l as e};
23
- //# sourceMappingURL=chunk-WPMIVZ4A.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/checkbox-group/bl-checkbox-group.css", "../src/components/checkbox-group/bl-checkbox-group.ts", "../src/components/checkbox-group/checkbox/bl-checkbox.css", "../src/components/checkbox-group/checkbox/bl-checkbox.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:flex;flex-direction:row}fieldset{border:none;padding:0}legend{font:var(--bl-font-title-3-medium);color:var(--bl-color-neutral-darker)}.options{display:flex;flex-flow:var(--bl-checkbox-direction, column) wrap;gap:var(--bl-size-m);margin-block:var(--bl-size-xs)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { FormControlMixin } from \"@open-wc/form-control\";\nimport \"element-internals-polyfill\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport style from \"./bl-checkbox-group.css\";\nimport BlCheckbox, { blCheckboxTag } from \"./checkbox/bl-checkbox\";\n\nexport const blCheckboxGroupTag = \"bl-checkbox-group\";\n\nexport const blChangeEventName = \"bl-checkbox-group-change\";\n\n/**\n * @tag bl-checkbox-group\n * @summary Baklava Button component\n *\n * @cssproperty [--bl-checkbox-direction=row] Can be used for showing checkbox options as columns instead of rows. Options are `row` or `column`\n */\n@customElement(blCheckboxGroupTag)\nexport default class BlCheckboxGroup extends FormControlMixin(LitElement) {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets the checkbox group label\n */\n @property({ type: String })\n label: string;\n\n /**\n * Set and gets the actual value of the field\n */\n @property({ type: Array, reflect: true })\n value: string[] = [];\n\n /**\n * Sets option as required\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n get options(): BlCheckbox[] {\n return [...this.querySelectorAll(blCheckboxTag)];\n }\n\n get checkedOptions(): string[] {\n return this.options.filter(opt => opt.checked).map(opt => opt.value);\n }\n\n get availableOptions(): BlCheckbox[] {\n return this.options.filter(option => !option.disabled);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.tabIndex = 0;\n this.addEventListener(\"focus\", this.handleFocus);\n this.addEventListener(\"keydown\", this.handleKeyDown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener(\"focus\", this.handleFocus);\n this.removeEventListener(\"keydown\", this.handleKeyDown);\n }\n\n updated(changedProperties: Map<string, unknown>): void {\n if (changedProperties.has(\"value\")) {\n this.setValue(this.checkedOptions.join(\",\"));\n this.onChange(this.value);\n }\n }\n\n /**\n * Fires when checkbox group value changed\n */\n @event(\"bl-checkbox-group-change\") private onChange: EventDispatcher<string[]>;\n\n private focusedOptionIndex = 0;\n\n private handleOptionChecked() {\n this.value = this.checkedOptions;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n // Next option\n if ([\"ArrowDown\", \"ArrowRight\"].includes(event.key)) {\n this.focusedOptionIndex++;\n\n // Previous option\n } else if ([\"ArrowUp\", \"ArrowLeft\"].includes(event.key)) {\n this.focusedOptionIndex--;\n\n // next or previous option with tab / hold shift & tab\n } else if (event.key === \"Tab\") {\n event.shiftKey ? this.focusedOptionIndex-- : this.focusedOptionIndex++;\n\n if (this.focusedOptionIndex === this.availableOptions.length) {\n this.tabIndex = 0;\n this.focusedOptionIndex = 0;\n return;\n }\n } else {\n // Other keys are not our interest here\n return;\n }\n\n // Don't exceed array indexes\n this.focusedOptionIndex = Math.max(\n 0,\n Math.min(this.focusedOptionIndex, this.availableOptions.length - 1)\n );\n\n this.availableOptions[this.focusedOptionIndex].focus();\n\n event.preventDefault();\n }\n\n private handleFocus() {\n this.availableOptions[this.focusedOptionIndex].focus();\n }\n\n render(): TemplateResult {\n return html`<fieldset role=\"group\" aria-labelledby=\"label\" aria-required=${this.required}>\n <legend id=\"label\">${this.label}</legend>\n <div class=\"options\" @bl-checkbox-change=${this.handleOptionChecked}>\n <slot></slot>\n </div>\n </fieldset>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [blCheckboxGroupTag]: BlCheckboxGroup;\n }\n interface HTMLElementEventMap {\n [blChangeEventName]: CustomEvent<string[]>;\n }\n}\n", "import {css} from 'lit';\nexport const styles = css`:host{display:inline-block;vertical-align:middle}:host *{outline:none}label{display:flex;gap:var(--bl-size-2xs);color:var(--bl-color-neutral-darker);font:var(--bl-font-title-3);cursor:pointer;user-select:none}.label{overflow-wrap:anywhere}input{appearance:none;position:absolute}.check-mark{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--bl-size-m);height:var(--bl-size-m);min-width:var(--bl-size-m);min-height:var(--bl-size-m);max-width:var(--bl-size-m);max-height:var(--bl-size-m);border:1px solid var(--bl-color-neutral-lighter);border-radius:var(--bl-border-radius-xs);color:var(--bl-color-neutral-full);font-size:var(--bl-font-size-2xs);background-color:var(--bl-color-neutral-full)}:host([checked]) .label,:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .label,:host(:hover) .label{color:var(--bl-color-primary)}:host(:is([checked], [indeterminate])) .check-mark{background-color:var(--bl-color-primary);border:none}:host([disabled]){cursor:not-allowed;pointer-events:none}:host([disabled]) .check-mark,:host([disabled]) .label{color:var(--bl-color-neutral-light);border:1px solid var(--bl-color-neutral-lighter)}:host([disabled]) .check-mark{background-color:var(--bl-color-neutral-lightest)}:host(:not([disabled])) input:focus-visible + .check-mark{box-shadow:0 0 0 1px white,0 0 0 3px var(--bl-color-primary)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { FormControlMixin } from \"@open-wc/form-control\";\nimport \"element-internals-polyfill\";\nimport { event, EventDispatcher } from \"../../../utilities/event\";\nimport \"../../icon/bl-icon\";\nimport type BlCheckboxGroup from \"../bl-checkbox-group\";\nimport { blCheckboxGroupTag, blChangeEventName } from \"../bl-checkbox-group\";\nimport style from \"./bl-checkbox.css\";\n\nexport const blCheckboxTag = \"bl-checkbox\";\n\n/**\n * @tag bl-checkbox\n * @summary Baklava Checkbox component\n */\n@customElement(blCheckboxTag)\nexport default class BlCheckbox extends FormControlMixin(LitElement) {\n static get styles(): CSSResultGroup {\n return [style];\n }\n static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n /**\n * Sets the checked state for checkbox\n */\n @property({ type: Boolean, reflect: true })\n checked = false;\n\n /**\n * Sets the checkbox value\n */\n @property()\n value: string;\n\n /**\n * Sets checkbox as required\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Sets the disabled state for checkbox\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets the indeterminate state for checkbox\n */\n @property({ type: Boolean, reflect: true })\n indeterminate = false;\n\n /**\n * Fires whenever user change the value of the checkbox.\n */\n @event(\"bl-checkbox-change\") private onChange: EventDispatcher<boolean>;\n\n /**\n * Fires when checkbox is focused\n */\n @event(\"bl-focus\") private onFocus: EventDispatcher<string>;\n\n /**\n * Fires when checkbox is blurred\n */\n @event(\"bl-blur\") private onBlur: EventDispatcher<string>;\n\n @query(\"[type=checkbox]\") checkboxElement: HTMLElement;\n\n protected field: BlCheckboxGroup | null;\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.field = this.closest<BlCheckboxGroup>(blCheckboxGroupTag);\n this.field?.addEventListener(blChangeEventName, this.handleFieldValueChange);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.field?.removeEventListener(blChangeEventName, this.handleFieldValueChange);\n }\n\n updated(changedProperties: Map<string, unknown>): void {\n if (changedProperties.has(\"checked\") && this.required && this.checked) {\n this.setValue(this.value);\n }\n }\n\n update(changedProperties: Map<string, unknown>) {\n super.update(changedProperties);\n if (this.indeterminate && this.checked) {\n this.checked = false;\n this.requestUpdate(\"checked\", true);\n }\n }\n\n /**\n * Focuses this option\n */\n focus() {\n this.checkboxElement.tabIndex = 0;\n this.checkboxElement.focus();\n this.onFocus(this.value);\n }\n\n /**\n * Blurs from this option\n */\n blur() {\n this.onBlur(this.value);\n if (!this.field) return;\n this.checkboxElement.tabIndex = -1;\n }\n\n private handleChange(event: CustomEvent) {\n const target = event.target as HTMLInputElement;\n\n this.checked = target.checked;\n this.onChange(target.checked);\n this.indeterminate = false;\n }\n\n private handleFieldValueChange = (event: CustomEvent<Array<string>>) => {\n this.checked = event.detail.includes(this.value);\n };\n\n render(): TemplateResult {\n let icon = \"\";\n\n if (this.checked) icon = \"check\";\n if (this.indeterminate) icon = \"minus\";\n\n return html`\n <label>\n <input\n type=\"checkbox\"\n .checked=${live(this.checked)}\n ?disabled=${this.disabled}\n aria-required=${this.required}\n aria-readonly=${this.disabled}\n .indeterminate=${this.indeterminate}\n @change=${this.handleChange}\n value=${ifDefined(this.value)}\n @blur=${this.blur}\n />\n <div class=\"check-mark\">${icon ? html`<bl-icon name=\"${icon}\"></bl-icon>` : null}</div>\n <slot class=\"label\"></slot>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [blCheckboxTag]: BlCheckbox;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["styles", "i", "bl_checkbox_group_default", "blCheckboxGroupTag", "blChangeEventName", "BlCheckboxGroup", "FormControlMixin", "s", "bl_checkbox_group_default", "blCheckboxTag", "opt", "option", "changedProperties", "event", "x", "__decorateClass", "e", "styles", "i", "bl_checkbox_default", "blCheckboxTag", "BlCheckbox", "FormControlMixin", "s", "event", "bl_checkbox_default", "_a", "blCheckboxGroupTag", "blChangeEventName", "changedProperties", "target", "icon", "x", "l", "__decorateClass", "e", "i"]
7
- }
@@ -1,5 +0,0 @@
1
- import{a as w,b as g,c as f,d as E,e as y,f as _,g as x,h as k}from"./chunk-EZSEQHRH.js";import{a as u}from"./chunk-6LT7O7T2.js";import{a as n}from"./chunk-GRL4DWKG.js";import{a as b,b as i,c as a,e as s}from"./chunk-X2KXJYXQ.js";import{a as h,b as c,f as m}from"./chunk-4OT5AMS5.js";import{d as r}from"./chunk-IZ2LK5GK.js";var M=h`:host{display:contents}.popover{--arrow-display:var(--bl-popover-arrow-display, none);--background-color:var(--bl-popover-background-color, var(--bl-color-neutral-full));--border-color:var(--bl-popover-border-color, var(--bl-color-primary-highlight));--border-size:var(--bl-popover-border-size, 1px);--padding:var(--bl-popover-padding, var(--bl-size-m));--border-radius:var(--bl-popover-border-radius, var(--bl-size-3xs));--position:var(--bl-popover-position, fixed);--max-width:var(--bl-popover-max-width, 100vw);--max-viewport:calc(100vw - var(--bl-size-s));position:var(--position);box-sizing:border-box;border:var(--border-size) solid var(--border-color);padding:var(--padding);border-radius:var(--border-radius);z-index:var(--bl-index-popover);max-width:min(var(--max-viewport), var(--max-width));width:max-content;hyphens:auto;background-color:var(--background-color);font:var(--bl-font-title-3-regular);color:var(--bl-color-neutral-darker)}.popover:not(.visible){visibility:hidden}.arrow{--arrow-rotation:45deg;--size:var(--bl-size-2xs);--arrow-position:calc((var(--size) / -2) - var(--border-size));box-sizing:border-box;display:var(--arrow-display);position:absolute;background-color:var(--background-color);width:var(--size);height:var(--size);transform:rotate(var(--arrow-rotation));border:var(--border-size) solid var(--border-color);border-bottom:none;border-right:none}.popover[data-placement*="bottom"] .arrow{top:var(--arrow-position)}.popover[data-placement*="top"] .arrow{--arrow-rotation:225deg;bottom:var(--arrow-position)}.popover[data-placement*="left"] .arrow{--arrow-rotation:135deg;right:var(--arrow-position)}.popover[data-placement*="right"] .arrow{--arrow-rotation:315deg;left:var(--arrow-position)}`,z=M;var t=class extends m{constructor(){super(...arguments);this.placement="bottom";this.fitSize=!1;this.offset=8;this._visible=!1;this._handleClickOutside=e=>{let o=e.composedPath();!o.includes(this._target)&&!o.includes(this)&&this.hide()}}static get styles(){return[z]}connectedCallback(){super.connectedCallback(),this._handlePopoverShowEvent=this._handlePopoverShowEvent.bind(this),this._handleKeydownEvent=this._handleKeydownEvent.bind(this),this._handleClickOutside=this._handleClickOutside.bind(this)}disconnectedCallback(){super.disconnectedCallback(),this.popoverAutoUpdateCleanup&&this.popoverAutoUpdateCleanup()}getMiddleware(){let e=[];return e.push(E(this.offset),f(),g(),y({padding:4})),this.fitSize&&e.push(_({apply(o){o.elements.floating&&o.elements.reference&&Object.assign(o.elements.floating.style,{"min-width":`${o.elements.reference.getBoundingClientRect().width}px`})}})),e.push(w({element:this.arrow,padding:5})),e}setPopover(){this.target&&(this.popoverAutoUpdateCleanup=x(this.target,this._popover,()=>{k(this.target,this._popover,{placement:this.placement,strategy:"fixed",middleware:this.getMiddleware()}).then(({x:e,y:o,placement:l,middlewareData:p})=>{if(Object.assign(this._popover.style,{left:`${e}px`,top:`${o}px`}),this._popover.dataset.placement=l,p.arrow){let{x:d,y:v}=p.arrow;Object.assign(this.arrow.style,{left:d!=null?`${d}px`:"",top:v!=null?`${v}px`:""})}})}))}get target(){return this._target}set target(e){typeof e=="string"?this._target=document.getElementById(e):e instanceof Element?this._target=e:console.warn("BlPopover target only accepts an Element instance or a string id of a DOM element.")}show(){this._visible=!0,this.setPopover(),this.onBlPopoverShow(""),document.addEventListener("click",this._handleClickOutside),document.addEventListener("keydown",this._handleKeydownEvent),document.addEventListener("bl-popover-show",this._handlePopoverShowEvent)}hide(){this._visible=!1,document.removeEventListener("click",this._handleClickOutside),document.removeEventListener("keydown",this._handleKeydownEvent),document.removeEventListener("bl-popover-show",this._handlePopoverShowEvent),this.onBlPopoverHide("")}get visible(){return this._visible}_handlePopoverShowEvent(e){if(e.target!==this){let{parentElement:o}=e.target;this.contains(o)||this.hide()}}_handleKeydownEvent(e){e.key==="Escape"&&this.visible&&(e.preventDefault(),this.hide())}render(){let e=u({popover:!0,visible:this._visible});return c`<div class=${e}>
2
- <slot id="popover" aria-live=${this._visible?"polite":"off"}></slot>
3
- <div class="arrow" aria-hidden="true"></div>
4
- </div>`}};r([s(".popover")],t.prototype,"_popover",2),r([s(".arrow")],t.prototype,"arrow",2),r([i({type:String})],t.prototype,"placement",2),r([a()],t.prototype,"_target",2),r([i({type:Boolean,attribute:"fit-size"})],t.prototype,"fitSize",2),r([i({type:Number})],t.prototype,"offset",2),r([a()],t.prototype,"_visible",2),r([n("bl-popover-show")],t.prototype,"onBlPopoverShow",2),r([n("bl-popover-hide")],t.prototype,"onBlPopoverHide",2),r([i()],t.prototype,"target",1),t=r([b("bl-popover")],t);export{t as a};
5
- //# sourceMappingURL=chunk-YML6L24Q.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/popover/bl-popover.css", "../src/components/popover/bl-popover.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:contents}.popover{--arrow-display:var(--bl-popover-arrow-display, none);--background-color:var(--bl-popover-background-color, var(--bl-color-neutral-full));--border-color:var(--bl-popover-border-color, var(--bl-color-primary-highlight));--border-size:var(--bl-popover-border-size, 1px);--padding:var(--bl-popover-padding, var(--bl-size-m));--border-radius:var(--bl-popover-border-radius, var(--bl-size-3xs));--position:var(--bl-popover-position, fixed);--max-width:var(--bl-popover-max-width, 100vw);--max-viewport:calc(100vw - var(--bl-size-s));position:var(--position);box-sizing:border-box;border:var(--border-size) solid var(--border-color);padding:var(--padding);border-radius:var(--border-radius);z-index:var(--bl-index-popover);max-width:min(var(--max-viewport), var(--max-width));width:max-content;hyphens:auto;background-color:var(--background-color);font:var(--bl-font-title-3-regular);color:var(--bl-color-neutral-darker)}.popover:not(.visible){visibility:hidden}.arrow{--arrow-rotation:45deg;--size:var(--bl-size-2xs);--arrow-position:calc((var(--size) / -2) - var(--border-size));box-sizing:border-box;display:var(--arrow-display);position:absolute;background-color:var(--background-color);width:var(--size);height:var(--size);transform:rotate(var(--arrow-rotation));border:var(--border-size) solid var(--border-color);border-bottom:none;border-right:none}.popover[data-placement*=\"bottom\"] .arrow{top:var(--arrow-position)}.popover[data-placement*=\"top\"] .arrow{--arrow-rotation:225deg;bottom:var(--arrow-position)}.popover[data-placement*=\"left\"] .arrow{--arrow-rotation:135deg;right:var(--arrow-position)}.popover[data-placement*=\"right\"] .arrow{--arrow-rotation:315deg;left:var(--arrow-position)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport {\n computePosition,\n flip,\n shift,\n offset,\n arrow,\n inline,\n autoUpdate,\n size,\n Middleware,\n MiddlewareState,\n} from \"@floating-ui/dom\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport style from \"./bl-popover.css\";\n\nexport type Placement =\n | \"top-start\"\n | \"top\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"bottom-end\"\n | \"left-start\"\n | \"left\"\n | \"left-end\"\n | \"right-start\"\n | \"right\"\n | \"right-end\";\n\n/**\n * @tag bl-popover\n * @summary Baklava Popover component\n *\n * @cssproperty [--bl-popover-arrow-display=none] - Sets the display of popovers arrow. Set as `block` to make arrow visible.\n * @cssproperty [--bl-popover-background-color=--bl-color-neutral-full] - Sets the background color of popover.\n * @cssproperty [--bl-popover-border-color=--bl-color-primary-highlight] - Sets the border color of popover.\n * @cssproperty [--bl-popover-border-size=1px] - Sets the border size of popover. You can set it to `0px` to not have a border (if you use a custom background color). Always use with a length unit.\n * @cssproperty [--bl-popover-padding=--bl-size-m] - Sets the padding of popover.\n * @cssproperty [--bl-popover-border-radius=--bl-size-3xs] - Sets the border radius of popover.\n * @cssproperty [--bl-popover-max-width=100vw] - Sets the maximum width of the popover (including border and padding).\n * @cssproperty [--bl-popover-position=fixed] - Sets the position of popover. You can set it to `absolute` if parent element is a fixed positioned element like drawer or dialog.\n */\n@customElement(\"bl-popover\")\nexport default class BlPopover extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n @query(\".popover\") private _popover: HTMLElement;\n @query(\".arrow\") private arrow: HTMLElement;\n\n /**\n * Sets placement of the popover\n */\n @property({ type: String })\n placement: Placement = \"bottom\";\n\n /**\n * Target elements state\n */\n @state() _target: string | Element;\n\n /**\n * Sets size of popover same as trigger element\n */\n @property({ type: Boolean, attribute: \"fit-size\" })\n fitSize = false;\n\n /**\n * Sets the distance between popover and target/trigger element\n */\n @property({ type: Number })\n offset = 8;\n\n /**\n * Visibility state\n */\n @state() private _visible = false;\n\n /**\n * Fires when the popover is shown\n */\n @event(\"bl-popover-show\") private onBlPopoverShow: EventDispatcher<string>;\n\n /**\n * Fires when popover becomes hidden\n */\n @event(\"bl-popover-hide\") private onBlPopoverHide: EventDispatcher<string>;\n\n connectedCallback() {\n super.connectedCallback();\n\n this._handlePopoverShowEvent = this._handlePopoverShowEvent.bind(this);\n this._handleKeydownEvent = this._handleKeydownEvent.bind(this);\n this._handleClickOutside = this._handleClickOutside.bind(this);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.popoverAutoUpdateCleanup && this.popoverAutoUpdateCleanup();\n }\n\n private getMiddleware(): Middleware[] {\n const middlewareParams: Middleware[] = [];\n\n middlewareParams.push(offset(this.offset), inline(), flip(), shift({ padding: 4 }));\n\n if (this.fitSize) {\n middlewareParams.push(\n size({\n apply(args: MiddlewareState) {\n if (args.elements.floating && args.elements.reference) {\n Object.assign(args.elements.floating.style, {\n \"min-width\": `${args.elements.reference.getBoundingClientRect().width}px`,\n });\n }\n },\n })\n );\n }\n\n middlewareParams.push(arrow({ element: this.arrow, padding: 5 }));\n\n return middlewareParams;\n }\n\n private _handleClickOutside = (event: MouseEvent) => {\n const eventPath = event.composedPath() as HTMLElement[];\n\n if (!eventPath.includes(this._target as HTMLElement) && !eventPath.includes(this)) {\n this.hide();\n }\n };\n\n private popoverAutoUpdateCleanup: () => void;\n\n private setPopover() {\n if (this.target) {\n this.popoverAutoUpdateCleanup = autoUpdate(this.target as Element, this._popover, () => {\n computePosition(this.target as Element, this._popover, {\n placement: this.placement,\n strategy: \"fixed\",\n middleware: this.getMiddleware(),\n }).then(({ x, y, placement, middlewareData }) => {\n Object.assign(this._popover.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n this._popover.dataset.placement = placement;\n\n if (middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n Object.assign(this.arrow.style, {\n left: arrowX != null ? `${arrowX}px` : \"\",\n top: arrowY != null ? `${arrowY}px` : \"\",\n });\n }\n });\n });\n }\n }\n\n /**\n * Sets the target element of the popover to align and trigger.\n * It can be a string id of the target element or can be a direct Element reference of it.\n */\n @property()\n get target(): string | Element {\n return this._target;\n }\n\n set target(value: string | Element) {\n if (typeof value === \"string\") {\n this._target = document.getElementById(value) as Element;\n } else if (value instanceof Element) {\n this._target = value;\n } else {\n console.warn(\n \"BlPopover target only accepts an Element instance or a string id of a DOM element.\"\n );\n }\n }\n\n /**\n * Shows popover\n */\n show() {\n this._visible = true;\n this.setPopover();\n this.onBlPopoverShow(\"\");\n document.addEventListener(\"click\", this._handleClickOutside);\n document.addEventListener(\"keydown\", this._handleKeydownEvent);\n document.addEventListener(\"bl-popover-show\", this._handlePopoverShowEvent);\n }\n\n /**\n * Hides popover\n */\n hide() {\n this._visible = false;\n document.removeEventListener(\"click\", this._handleClickOutside);\n document.removeEventListener(\"keydown\", this._handleKeydownEvent);\n document.removeEventListener(\"bl-popover-show\", this._handlePopoverShowEvent);\n this.onBlPopoverHide(\"\");\n }\n\n /**\n * Gives the visibility status of the popover\n */\n get visible(): boolean {\n return this._visible;\n }\n\n private _handlePopoverShowEvent(event: Event) {\n if (event.target !== this) {\n const { parentElement } = event.target as HTMLElement;\n const isNestedPopover = this.contains(parentElement);\n\n if (!isNestedPopover) {\n this.hide();\n }\n }\n }\n\n private _handleKeydownEvent(event: KeyboardEvent) {\n if (event.key === \"Escape\" && this.visible) {\n event.preventDefault();\n this.hide();\n }\n }\n\n render(): TemplateResult {\n const classes = classMap({\n popover: true,\n visible: this._visible,\n });\n\n return html`<div class=${classes}>\n <slot id=\"popover\" aria-live=${this._visible ? \"polite\" : \"off\"}></slot>\n <div class=\"arrow\" aria-hidden=\"true\"></div>\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-popover\": BlPopover;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["styles", "i", "bl_popover_default", "BlPopover", "s", "event", "eventPath", "bl_popover_default", "middlewareParams", "offset", "inline", "flip", "shift", "size", "args", "arrow", "autoUpdate", "computePosition", "x", "y", "placement", "middlewareData", "arrowX", "arrowY", "value", "parentElement", "classes", "o", "__decorateClass", "i", "e", "t"]
7
- }