lookbook 2.1.1 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (395) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/lookbook/application_controller.rb +9 -1
  3. data/app/controllers/lookbook/previews_controller.rb +1 -1
  4. data/app/views/layouts/lookbook/application.html.erb +46 -37
  5. data/app/views/lookbook/index.html.erb +21 -11
  6. data/assets/icons/activity-square.svg +1 -0
  7. data/assets/icons/ampersand.svg +1 -0
  8. data/assets/icons/ampersands.svg +1 -0
  9. data/assets/icons/antenna.svg +1 -0
  10. data/assets/icons/app-window.svg +1 -0
  11. data/assets/icons/archive-x.svg +1 -0
  12. data/assets/icons/area-chart.svg +1 -0
  13. data/assets/icons/arrow-big-down-dash.svg +1 -0
  14. data/assets/icons/arrow-big-left-dash.svg +1 -0
  15. data/assets/icons/arrow-big-right-dash.svg +1 -0
  16. data/assets/icons/arrow-big-up-dash.svg +1 -0
  17. data/assets/icons/arrow-down-0-1.svg +1 -0
  18. data/assets/icons/arrow-down-1-0.svg +1 -0
  19. data/assets/icons/arrow-down-a-z.svg +1 -0
  20. data/assets/icons/arrow-down-from-line.svg +1 -0
  21. data/assets/icons/arrow-down-left-from-circle.svg +1 -0
  22. data/assets/icons/arrow-down-left-square.svg +1 -0
  23. data/assets/icons/arrow-down-narrow-wide.svg +1 -0
  24. data/assets/icons/arrow-down-right-from-circle.svg +1 -0
  25. data/assets/icons/arrow-down-right-square.svg +1 -0
  26. data/assets/icons/arrow-down-square.svg +1 -0
  27. data/assets/icons/arrow-down-to-dot.svg +1 -0
  28. data/assets/icons/arrow-down-to-line.svg +1 -0
  29. data/assets/icons/arrow-down-up.svg +1 -0
  30. data/assets/icons/arrow-down-wide-narrow.svg +1 -0
  31. data/assets/icons/arrow-down-z-a.svg +1 -0
  32. data/assets/icons/arrow-left-from-line.svg +1 -0
  33. data/assets/icons/arrow-left-square.svg +1 -0
  34. data/assets/icons/arrow-left-to-line.svg +1 -0
  35. data/assets/icons/arrow-right-from-line.svg +1 -0
  36. data/assets/icons/arrow-right-left.svg +1 -0
  37. data/assets/icons/arrow-right-square.svg +1 -0
  38. data/assets/icons/arrow-right-to-line.svg +1 -0
  39. data/assets/icons/arrow-up-0-1.svg +1 -0
  40. data/assets/icons/arrow-up-1-0.svg +1 -0
  41. data/assets/icons/arrow-up-a-z.svg +1 -0
  42. data/assets/icons/arrow-up-from-dot.svg +1 -0
  43. data/assets/icons/arrow-up-from-line.svg +1 -0
  44. data/assets/icons/arrow-up-left-from-circle.svg +1 -0
  45. data/assets/icons/arrow-up-left-square.svg +1 -0
  46. data/assets/icons/arrow-up-narrow-wide.svg +1 -0
  47. data/assets/icons/arrow-up-right-from-circle.svg +1 -0
  48. data/assets/icons/arrow-up-right-square.svg +1 -0
  49. data/assets/icons/arrow-up-square.svg +1 -0
  50. data/assets/icons/arrow-up-to-line.svg +1 -0
  51. data/assets/icons/arrow-up-wide-narrow.svg +1 -0
  52. data/assets/icons/arrow-up-z-a.svg +1 -0
  53. data/assets/icons/arrows-up-from-line.svg +1 -0
  54. data/assets/icons/atom.svg +1 -0
  55. data/assets/icons/badge-alert.svg +1 -0
  56. data/assets/icons/badge-cent.svg +1 -0
  57. data/assets/icons/badge-check.svg +1 -0
  58. data/assets/icons/badge-dollar-sign.svg +1 -0
  59. data/assets/icons/badge-euro.svg +1 -0
  60. data/assets/icons/badge-help.svg +1 -0
  61. data/assets/icons/badge-indian-rupee.svg +1 -0
  62. data/assets/icons/badge-info.svg +1 -0
  63. data/assets/icons/badge-japanese-yen.svg +1 -0
  64. data/assets/icons/badge-minus.svg +1 -0
  65. data/assets/icons/badge-percent.svg +1 -0
  66. data/assets/icons/badge-plus.svg +1 -0
  67. data/assets/icons/badge-pound-sterling.svg +1 -0
  68. data/assets/icons/badge-russian-ruble.svg +1 -0
  69. data/assets/icons/badge-swiss-franc.svg +1 -0
  70. data/assets/icons/badge-x.svg +1 -0
  71. data/assets/icons/badge.svg +1 -0
  72. data/assets/icons/ban.svg +1 -0
  73. data/assets/icons/bar-chart-big.svg +1 -0
  74. data/assets/icons/bar-chart-horizontal-big.svg +1 -0
  75. data/assets/icons/bell-dot.svg +1 -0
  76. data/assets/icons/biohazard.svg +1 -0
  77. data/assets/icons/blocks.svg +1 -0
  78. data/assets/icons/book-copy.svg +1 -0
  79. data/assets/icons/book-down.svg +1 -0
  80. data/assets/icons/book-key.svg +1 -0
  81. data/assets/icons/book-lock.svg +1 -0
  82. data/assets/icons/book-marked.svg +1 -0
  83. data/assets/icons/book-minus.svg +1 -0
  84. data/assets/icons/book-plus.svg +1 -0
  85. data/assets/icons/book-template.svg +1 -0
  86. data/assets/icons/book-up-2.svg +1 -0
  87. data/assets/icons/book-up.svg +1 -0
  88. data/assets/icons/book-x.svg +1 -0
  89. data/assets/icons/bookmark-check.svg +1 -0
  90. data/assets/icons/bookmark-x.svg +1 -0
  91. data/assets/icons/boom-box.svg +1 -0
  92. data/assets/icons/braces.svg +1 -0
  93. data/assets/icons/brackets.svg +1 -0
  94. data/assets/icons/brain-circuit.svg +1 -0
  95. data/assets/icons/brain-cog.svg +1 -0
  96. data/assets/icons/brain.svg +1 -0
  97. data/assets/icons/bring-to-front.svg +1 -0
  98. data/assets/icons/bug-off.svg +1 -0
  99. data/assets/icons/bug-play.svg +1 -0
  100. data/assets/icons/bus-front.svg +1 -0
  101. data/assets/icons/cable-car.svg +1 -0
  102. data/assets/icons/cable.svg +1 -0
  103. data/assets/icons/cake-slice.svg +1 -0
  104. data/assets/icons/candlestick-chart.svg +1 -0
  105. data/assets/icons/candy-cane.svg +1 -0
  106. data/assets/icons/car-front.svg +1 -0
  107. data/assets/icons/car-taxi-front.svg +1 -0
  108. data/assets/icons/case-lower.svg +1 -0
  109. data/assets/icons/case-sensitive.svg +1 -0
  110. data/assets/icons/case-upper.svg +1 -0
  111. data/assets/icons/cassette-tape.svg +1 -0
  112. data/assets/icons/castle.svg +1 -0
  113. data/assets/icons/chevron-down-circle.svg +1 -0
  114. data/assets/icons/chevron-down-square.svg +1 -0
  115. data/assets/icons/chevron-left-circle.svg +1 -0
  116. data/assets/icons/chevron-left-square.svg +1 -0
  117. data/assets/icons/chevron-right-circle.svg +1 -0
  118. data/assets/icons/chevron-right-square.svg +1 -0
  119. data/assets/icons/chevron-up-circle.svg +1 -0
  120. data/assets/icons/chevron-up-square.svg +1 -0
  121. data/assets/icons/church.svg +1 -0
  122. data/assets/icons/circle-dashed.svg +1 -0
  123. data/assets/icons/circle-dollar-sign.svg +1 -0
  124. data/assets/icons/circle-dot-dashed.svg +1 -0
  125. data/assets/icons/circle-equal.svg +1 -0
  126. data/assets/icons/circle-off.svg +1 -0
  127. data/assets/icons/circle-slash-2.svg +1 -0
  128. data/assets/icons/circle-slash.svg +1 -0
  129. data/assets/icons/circuit-board.svg +1 -0
  130. data/assets/icons/clipboard-paste.svg +1 -0
  131. data/assets/icons/club.svg +1 -0
  132. data/assets/icons/combine.svg +1 -0
  133. data/assets/icons/computer.svg +1 -0
  134. data/assets/icons/contact-2.svg +1 -0
  135. data/assets/icons/container.svg +1 -0
  136. data/assets/icons/copy-check.svg +1 -0
  137. data/assets/icons/copy-minus.svg +1 -0
  138. data/assets/icons/copy-plus.svg +1 -0
  139. data/assets/icons/copy-slash.svg +1 -0
  140. data/assets/icons/copy-x.svg +1 -0
  141. data/assets/icons/database-zap.svg +1 -0
  142. data/assets/icons/dessert.svg +1 -0
  143. data/assets/icons/disc-2.svg +1 -0
  144. data/assets/icons/disc-3.svg +1 -0
  145. data/assets/icons/donut.svg +1 -0
  146. data/assets/icons/door-closed.svg +1 -0
  147. data/assets/icons/door-open.svg +1 -0
  148. data/assets/icons/dot.svg +1 -0
  149. data/assets/icons/drama.svg +1 -0
  150. data/assets/icons/ferris-wheel.svg +1 -0
  151. data/assets/icons/file-code-2.svg +1 -0
  152. data/assets/icons/file-stack.svg +1 -0
  153. data/assets/icons/fish-symbol.svg +1 -0
  154. data/assets/icons/fold-horizontal.svg +1 -0
  155. data/assets/icons/fold-vertical.svg +1 -0
  156. data/assets/icons/folder-dot.svg +1 -0
  157. data/assets/icons/folder-git-2.svg +1 -0
  158. data/assets/icons/folder-git.svg +1 -0
  159. data/assets/icons/folder-kanban.svg +1 -0
  160. data/assets/icons/folder-open-dot.svg +1 -0
  161. data/assets/icons/folder-root.svg +1 -0
  162. data/assets/icons/folder-sync.svg +1 -0
  163. data/assets/icons/gallery-horizontal-end.svg +1 -0
  164. data/assets/icons/gallery-horizontal.svg +1 -0
  165. data/assets/icons/gallery-thumbnails.svg +1 -0
  166. data/assets/icons/gallery-vertical-end.svg +1 -0
  167. data/assets/icons/gallery-vertical.svg +1 -0
  168. data/assets/icons/gantt-chart-square.svg +1 -0
  169. data/assets/icons/gantt-chart.svg +1 -0
  170. data/assets/icons/gauge-circle.svg +1 -0
  171. data/assets/icons/goal.svg +1 -0
  172. data/assets/icons/grid-2x2.svg +1 -0
  173. data/assets/icons/grid-3x3.svg +1 -0
  174. data/assets/icons/group.svg +1 -0
  175. data/assets/icons/hard-drive-download.svg +1 -0
  176. data/assets/icons/hard-drive-upload.svg +1 -0
  177. data/assets/icons/hdmi-port.svg +1 -0
  178. data/assets/icons/hotel.svg +1 -0
  179. data/assets/icons/iteration-ccw.svg +1 -0
  180. data/assets/icons/iteration-cw.svg +1 -0
  181. data/assets/icons/kanban-square-dashed.svg +1 -0
  182. data/assets/icons/kanban-square.svg +1 -0
  183. data/assets/icons/kanban.svg +1 -0
  184. data/assets/icons/key-round.svg +1 -0
  185. data/assets/icons/key-square.svg +1 -0
  186. data/assets/icons/layout-panel-left.svg +1 -0
  187. data/assets/icons/layout-panel-top.svg +1 -0
  188. data/assets/icons/leafy-green.svg +1 -0
  189. data/assets/icons/ligature.svg +1 -0
  190. data/assets/icons/list-filter.svg +1 -0
  191. data/assets/icons/list-restart.svg +1 -0
  192. data/assets/icons/list-todo.svg +1 -0
  193. data/assets/icons/list-tree.svg +1 -0
  194. data/assets/icons/lollipop.svg +1 -0
  195. data/assets/icons/m-square.svg +1 -0
  196. data/assets/icons/mailbox.svg +1 -0
  197. data/assets/icons/memory-stick.svg +1 -0
  198. data/assets/icons/menu-square.svg +1 -0
  199. data/assets/icons/merge.svg +1 -0
  200. data/assets/icons/message-square-dashed.svg +1 -0
  201. data/assets/icons/message-square-plus.svg +1 -0
  202. data/assets/icons/messages-square.svg +1 -0
  203. data/assets/icons/monitor-check.svg +1 -0
  204. data/assets/icons/monitor-dot.svg +1 -0
  205. data/assets/icons/monitor-down.svg +1 -0
  206. data/assets/icons/monitor-pause.svg +1 -0
  207. data/assets/icons/monitor-play.svg +1 -0
  208. data/assets/icons/monitor-stop.svg +1 -0
  209. data/assets/icons/monitor-up.svg +1 -0
  210. data/assets/icons/monitor-x.svg +1 -0
  211. data/assets/icons/moon-star.svg +1 -0
  212. data/assets/icons/mouse-pointer-square-dashed.svg +1 -0
  213. data/assets/icons/mouse-pointer-square.svg +1 -0
  214. data/assets/icons/move-down-left.svg +1 -0
  215. data/assets/icons/move-down-right.svg +1 -0
  216. data/assets/icons/move-down.svg +1 -0
  217. data/assets/icons/move-left.svg +1 -0
  218. data/assets/icons/move-right.svg +1 -0
  219. data/assets/icons/move-up-left.svg +1 -0
  220. data/assets/icons/move-up-right.svg +1 -0
  221. data/assets/icons/move-up.svg +1 -0
  222. data/assets/icons/orbit.svg +1 -0
  223. data/assets/icons/panel-bottom-close.svg +1 -0
  224. data/assets/icons/panel-bottom-inactive.svg +1 -0
  225. data/assets/icons/panel-bottom-open.svg +1 -0
  226. data/assets/icons/panel-bottom.svg +1 -0
  227. data/assets/icons/panel-left-close.svg +1 -0
  228. data/assets/icons/panel-left-inactive.svg +1 -0
  229. data/assets/icons/panel-left-open.svg +1 -0
  230. data/assets/icons/panel-left.svg +1 -0
  231. data/assets/icons/panel-right-close.svg +1 -0
  232. data/assets/icons/panel-right-inactive.svg +1 -0
  233. data/assets/icons/panel-right-open.svg +1 -0
  234. data/assets/icons/panel-right.svg +1 -0
  235. data/assets/icons/panel-top-close.svg +1 -0
  236. data/assets/icons/panel-top-inactive.svg +1 -0
  237. data/assets/icons/panel-top-open.svg +1 -0
  238. data/assets/icons/panel-top.svg +1 -0
  239. data/assets/icons/parentheses.svg +1 -0
  240. data/assets/icons/parking-circle-off.svg +1 -0
  241. data/assets/icons/parking-circle.svg +1 -0
  242. data/assets/icons/parking-meter.svg +1 -0
  243. data/assets/icons/parking-square-off.svg +1 -0
  244. data/assets/icons/parking-square.svg +1 -0
  245. data/assets/icons/paw-print.svg +1 -0
  246. data/assets/icons/pc-case.svg +1 -0
  247. data/assets/icons/pen-line.svg +1 -0
  248. data/assets/icons/pen-square.svg +1 -0
  249. data/assets/icons/pen.svg +1 -0
  250. data/assets/icons/pencil-line.svg +1 -0
  251. data/assets/icons/pencil-ruler.svg +1 -0
  252. data/assets/icons/percent-circle.svg +1 -0
  253. data/assets/icons/percent-diamond.svg +1 -0
  254. data/assets/icons/percent-square.svg +1 -0
  255. data/assets/icons/pi-square.svg +1 -0
  256. data/assets/icons/pi.svg +1 -0
  257. data/assets/icons/pilcrow-square.svg +1 -0
  258. data/assets/icons/plane-landing.svg +1 -0
  259. data/assets/icons/plane-takeoff.svg +1 -0
  260. data/assets/icons/play-square.svg +1 -0
  261. data/assets/icons/plug-zap-2.svg +1 -0
  262. data/assets/icons/pocket-knife.svg +1 -0
  263. data/assets/icons/popcorn.svg +1 -0
  264. data/assets/icons/popsicle.svg +1 -0
  265. data/assets/icons/presentation.svg +1 -0
  266. data/assets/icons/projector.svg +1 -0
  267. data/assets/icons/rabbit.svg +1 -0
  268. data/assets/icons/radar.svg +1 -0
  269. data/assets/icons/radiation.svg +1 -0
  270. data/assets/icons/radio-tower.svg +1 -0
  271. data/assets/icons/rail-symbol.svg +1 -0
  272. data/assets/icons/rainbow.svg +1 -0
  273. data/assets/icons/rat.svg +1 -0
  274. data/assets/icons/ratio.svg +1 -0
  275. data/assets/icons/receipt.svg +1 -0
  276. data/assets/icons/redo-dot.svg +1 -0
  277. data/assets/icons/refresh-ccw-dot.svg +1 -0
  278. data/assets/icons/refresh-cw-off.svg +1 -0
  279. data/assets/icons/repeat-2.svg +1 -0
  280. data/assets/icons/replace-all.svg +1 -0
  281. data/assets/icons/replace.svg +1 -0
  282. data/assets/icons/roller-coaster.svg +1 -0
  283. data/assets/icons/rows.svg +1 -0
  284. data/assets/icons/satellite-dish.svg +1 -0
  285. data/assets/icons/satellite.svg +1 -0
  286. data/assets/icons/save-all.svg +1 -0
  287. data/assets/icons/scatter-chart.svg +1 -0
  288. data/assets/icons/school-2.svg +1 -0
  289. data/assets/icons/school.svg +1 -0
  290. data/assets/icons/scissors-line-dashed.svg +1 -0
  291. data/assets/icons/scissors-square-dashed-bottom.svg +1 -0
  292. data/assets/icons/scissors-square.svg +1 -0
  293. data/assets/icons/scroll-text.svg +1 -0
  294. data/assets/icons/search-check.svg +1 -0
  295. data/assets/icons/search-code.svg +1 -0
  296. data/assets/icons/search-slash.svg +1 -0
  297. data/assets/icons/search-x.svg +1 -0
  298. data/assets/icons/send-horizontal.svg +1 -0
  299. data/assets/icons/send-to-back.svg +1 -0
  300. data/assets/icons/shapes.svg +1 -0
  301. data/assets/icons/shell.svg +1 -0
  302. data/assets/icons/shield-ban.svg +1 -0
  303. data/assets/icons/shield-ellipsis.svg +1 -0
  304. data/assets/icons/shield-half.svg +1 -0
  305. data/assets/icons/shield-minus.svg +1 -0
  306. data/assets/icons/shield-plus.svg +1 -0
  307. data/assets/icons/shield-question.svg +1 -0
  308. data/assets/icons/shield-x.svg +1 -0
  309. data/assets/icons/ship-wheel.svg +1 -0
  310. data/assets/icons/shopping-basket.svg +1 -0
  311. data/assets/icons/sigma-square.svg +1 -0
  312. data/assets/icons/snail.svg +1 -0
  313. data/assets/icons/space.svg +1 -0
  314. data/assets/icons/spade.svg +1 -0
  315. data/assets/icons/sparkle.svg +1 -0
  316. data/assets/icons/sparkles.svg +1 -0
  317. data/assets/icons/speech.svg +1 -0
  318. data/assets/icons/spell-check-2.svg +1 -0
  319. data/assets/icons/spell-check.svg +1 -0
  320. data/assets/icons/split.svg +1 -0
  321. data/assets/icons/spray-can.svg +1 -0
  322. data/assets/icons/square-asterisk.svg +1 -0
  323. data/assets/icons/square-code.svg +1 -0
  324. data/assets/icons/square-dashed-bottom-code.svg +1 -0
  325. data/assets/icons/square-dashed-bottom.svg +1 -0
  326. data/assets/icons/square-dot.svg +1 -0
  327. data/assets/icons/square-equal.svg +1 -0
  328. data/assets/icons/square-slash.svg +1 -0
  329. data/assets/icons/square-stack.svg +1 -0
  330. data/assets/icons/squirrel.svg +1 -0
  331. data/assets/icons/step-back.svg +1 -0
  332. data/assets/icons/step-forward.svg +1 -0
  333. data/assets/icons/store.svg +1 -0
  334. data/assets/icons/table-properties.svg +1 -0
  335. data/assets/icons/tablet-smartphone.svg +1 -0
  336. data/assets/icons/tally-1.svg +1 -0
  337. data/assets/icons/tally-2.svg +1 -0
  338. data/assets/icons/tally-3.svg +1 -0
  339. data/assets/icons/tally-4.svg +1 -0
  340. data/assets/icons/tally-5.svg +1 -0
  341. data/assets/icons/test-tube-2.svg +1 -0
  342. data/assets/icons/test-tube.svg +1 -0
  343. data/assets/icons/test-tubes.svg +1 -0
  344. data/assets/icons/text-quote.svg +1 -0
  345. data/assets/icons/text-select.svg +1 -0
  346. data/assets/icons/text.svg +1 -0
  347. data/assets/icons/theater.svg +1 -0
  348. data/assets/icons/touchpad-off.svg +1 -0
  349. data/assets/icons/touchpad.svg +1 -0
  350. data/assets/icons/tractor.svg +1 -0
  351. data/assets/icons/traffic-cone.svg +1 -0
  352. data/assets/icons/train-front-tunnel.svg +1 -0
  353. data/assets/icons/train-front.svg +1 -0
  354. data/assets/icons/train-track.svg +1 -0
  355. data/assets/icons/tram-front.svg +1 -0
  356. data/assets/icons/triangle-right.svg +1 -0
  357. data/assets/icons/turtle.svg +1 -0
  358. data/assets/icons/undo-dot.svg +1 -0
  359. data/assets/icons/unfold-horizontal.svg +1 -0
  360. data/assets/icons/unfold-vertical.svg +1 -0
  361. data/assets/icons/ungroup.svg +1 -0
  362. data/assets/icons/unplug.svg +1 -0
  363. data/assets/icons/user-2.svg +1 -0
  364. data/assets/icons/user-check-2.svg +1 -0
  365. data/assets/icons/user-circle-2.svg +1 -0
  366. data/assets/icons/user-circle.svg +1 -0
  367. data/assets/icons/user-cog-2.svg +1 -0
  368. data/assets/icons/user-minus-2.svg +1 -0
  369. data/assets/icons/user-plus-2.svg +1 -0
  370. data/assets/icons/user-square-2.svg +1 -0
  371. data/assets/icons/user-square.svg +1 -0
  372. data/assets/icons/user-x-2.svg +1 -0
  373. data/assets/icons/users-2.svg +1 -0
  374. data/assets/icons/variable.svg +1 -0
  375. data/assets/icons/videotape.svg +1 -0
  376. data/assets/icons/wallet-2.svg +1 -0
  377. data/assets/icons/wallet-cards.svg +1 -0
  378. data/assets/icons/wallpaper.svg +1 -0
  379. data/assets/icons/warehouse.svg +1 -0
  380. data/assets/icons/whole-word.svg +1 -0
  381. data/assets/icons/workflow.svg +1 -0
  382. data/config/app.yml +3 -0
  383. data/lib/lookbook/entities/page_entity.rb +1 -1
  384. data/lib/lookbook/preview.rb +1 -0
  385. data/lib/lookbook/preview_controller_actions.rb +1 -0
  386. data/lib/lookbook/services/data/resolvers/data_resolver.rb +1 -1
  387. data/lib/lookbook/version.rb +1 -1
  388. data/public/lookbook-assets/css/lookbook.css +149 -201
  389. data/public/lookbook-assets/css/lookbook.css.map +1 -1
  390. data/public/lookbook-assets/js/iframe.js.map +1 -1
  391. data/public/lookbook-assets/js/index.js +886 -788
  392. data/public/lookbook-assets/js/index.js.map +1 -1
  393. data/public/lookbook-assets/js/lookbook-core.js +38 -1
  394. data/public/lookbook-assets/js/lookbook.js +121 -84
  395. metadata +378 -2
@@ -1 +1 @@
1
- {"mappings":"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;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;;AAOA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;;AAMA;;;;;;AAOA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;;AAMA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;AAMA;;;;;AAKA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAEA;;;;AAEA;;;;;;;;;;;;AAEA;;;;AAEA;;;;;;;;AAEA;;;;AAEA;;;;;;;;AAEA;;;;AAEA;;;;;;;AAEA;;;;AAEA;;;;;;;AAEA;;;;AAEA;;;;;;AAEA;;;;;;;AAEA;;;;;;AAEA;;;;AAEA;;;;;;;AAEA;;;;;;;AAEA;;;;;;;AAEA;;;;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;AAEA;;;;;;;;AASA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;;;;;AAWA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;AAMA;;;;AAOA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;;AAOA;;;;;AAOA;;;;;;;AASA;;;;;AAOA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;;AAOA;;;;AAMA;;;;;AAmCA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;AAYA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;AAMA;;;;AAwBA;;;;AA0CA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAkBA;;;;AAQA;;;;;AAOA;;;;AAUA;EAEE;;;;;EAKA;;;;;EAKA;;;;;;;EAOA;;;;;;EAMA;;;;;;;EAOA;;;;;;;EAOA;;;;;;;EAOA;;;;;;EAMA;;;;;EAKA;;;;;EAKA;;;;;EAKA;;;;;EAKA;;;;;;EAMA;;;;EAIA;;;;EAIA;;;;EAIA;;;;;;;;;EAYA;;;;;;EAMA;;;;;;EAMA;;;;;EAKA;;;;EAIA;;;;EAIA;;;;;EAKA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;;;;EAKA;;;;;EAKA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;;;;EAKA;;;;;;EAMA;;;;EAIA;;;;EAIA;;;;EAOA;;;;EAIA;;;;EAIA;;;;EAIA;;;;;AAKF;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;;AAMA;;;;;;AAMA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;EAEE;;;;;EAKA;;;;EAIA;;;;EAIA;;;;EAIA;;;;;;AAMF;EAEE;;;;;AAKF;EAEE;;;;EAIA;;;;EAIA;;;;;;EAMA;;;;EAIA;;;;;EAKA;;;;;AAKF;EAEE;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA","sources":["assets/css/lookbook.css"],"sourcesContent":["@import \"./fonts.css\";\n@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n\n@import \"./tooltip.css\";\n\n@import-glob \"../../app/components/lookbook/**/*/component.css\";\n\n@layer base {\n html {\n @apply scroll-smooth h-screen w-screen;\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n html {\n @apply scroll-auto;\n }\n }\n\n body {\n @apply text-lookbook-text font-ui text-sm overflow-hidden w-screen;\n }\n\n [x-cloak] {\n @apply !hidden;\n }\n\n pre[class*=\"language-\"] {\n @apply !p-0 !m-0;\n }\n\n ::-webkit-scrollbar {\n @apply w-1 h-1;\n }\n\n ::-webkit-scrollbar-track {\n @apply bg-transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n @apply transition-colors rounded-full\tbg-clip-content bg-lookbook-scrollbar;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n @apply bg-lookbook-scrollbar-hover;\n }\n}\n\n@layer utilities {\n .bg-checked {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cg fill='%23f3f3f3' fill-opacity='1'%3E%3Cpath fill-rule='evenodd' d='M0 0h4v4H0V0zm4 4h4v4H4V4z'/%3E%3C/g%3E%3C/svg%3E\");\n }\n}\n\n@layer components {\n [type=\"text\"],\n [type=\"email\"],\n [type=\"url\"],\n [type=\"password\"],\n [type=\"number\"],\n [type=\"date\"],\n [type=\"datetime-local\"],\n [type=\"month\"],\n [type=\"search\"],\n [type=\"tel\"],\n [type=\"time\"],\n [type=\"week\"],\n textarea,\n select {\n @apply text-lookbook-input-text placeholder:text-lookbook-input-text-placeholder placeholder:italic;\n @apply border-lookbook-input-border focus:ring-lookbook-input-border-focus focus:border-lookbook-input-border-focus;\n @apply rounded-md text-sm w-full bg-lookbook-input-bg block;\n }\n\n input[type=\"range\"] {\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n cursor: pointer;\n width: 100%;\n }\n\n input[type=\"range\"]:focus {\n outline: none;\n }\n\n input[type=\"range\"]::-webkit-slider-runnable-track {\n @apply bg-lookbook-input-toggle;\n border-radius: 0.5rem;\n height: 0.5rem;\n }\n\n input[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n @apply bg-lookbook-input-toggle-active;\n margin-top: -4px;\n border-radius: 0.5rem;\n height: 1rem;\n width: 1rem;\n }\n\n input[type=\"range\"]::-moz-range-track {\n @apply bg-lookbook-input-toggle;\n border-radius: 0.5rem;\n height: 0.5rem;\n }\n\n input[type=\"range\"]::-moz-range-thumb {\n @apply bg-lookbook-input-toggle-active;\n border: none;\n border-radius: 0.5rem;\n height: 1rem;\n width: 1rem;\n }\n\n input[type=\"range\"]:focus::-webkit-slider-thumb,\n input[type=\"range\"]:focus::-moz-range-thumb {\n @apply outline-1 outline-lookbook-input-toggle-active outline-offset-2;\n }\n\n input[type=\"color\"] {\n -webkit-appearance: none;\n width: 46px;\n @apply border border-lookbook-input-border rounded-lg cursor-pointer;\n }\n\n input[type=\"color\"]::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n input[type=\"color\"]::-webkit-color-swatch {\n @apply border-0 rounded-lg;\n }\n\n select.compact {\n font-size: 0.8rem;\n line-height: 1.1rem;\n border-radius: 0.375rem;\n padding: 0.26rem 1.5rem 0.26rem 0.6rem;\n background-size: 1.2em 1.2em;\n background-position: right 0.4rem center;\n }\n\n #inspector .split-layout-gutter-horizontal {\n top: 4px;\n }\n}\n"],"names":[],"version":3,"file":"lookbook.css.map"}
1
+ {"mappings":"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A;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;;AAOA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;;AAMA;;;;;;AAOA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;;AAMA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;AAMA;;;;;AAKA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAEA;;;;AAEA;;;;;;;;;;;;AAEA;;;;AAEA;;;;;;;;AAEA;;;;AAEA;;;;;;;;AAEA;;;;AAEA;;;;;;;AAEA;;;;AAEA;;;;;;;AAEA;;;;AAEA;;;;;;AAEA;;;;;;;AAEA;;;;;;AAEA;;;;AAEA;;;;;;;AAEA;;;;;;;AAEA;;;;;;;AAEA;;;;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;AAEA;;;;;;;;AASA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;;;;;AAWA;;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA;;;;AAIA;;;;;;AAMA;;;;AAIA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;AAMA;;;;AAOA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;;AAOA;;;;;AAOA;;;;;;;AASA;;;;;AAOA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;;AAOA;;;;AAMA;;;;;AAmCA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;;AAOA;;;;AAMA;;;;AAMA;;;;AAYA;;;;AAMA;;;;AAMA;;;;;AAOA;;;;AAMA;;;;AAwBA;;;;AA0CA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAMA;;;;AAkBA;;;;AAQA;;;;;AAOA;;;;AAUA;EAEE;;;;;EAKA;;;;;EAKA;;;;;;;EAOA;;;;;;EAMA;;;;;;;EAOA;;;;;;;EAOA;;;;;;;EAOA;;;;;;EAMA;;;;;EAeA;;;;;EAKA;;;;;;EAMA;;;;EAQA;;;;EAIA;;;;;;;;;EAYA;;;;;;EAYA;;;;;EAKA;;;;EAQA;;;;;EAKA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;;;;EAKA;;;;;EAKA;;;;EAgBA;;;;;EAKA;;;;;;EAMA;;;;EAIA;;;;EAIA;;;;EAOA;;;;EAIA;;;;EAIA;;;;EAIA;;;;;AAKF;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;;;AAMA;;;;;;AAMA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;EAEE;;;;;EAKA;;;;EAIA;;;;EAIA;;;;EAIA;;;;;;AAMF;EAEE;;;;;AAKF;EAEE;;;;EAIA;;;;EAIA;;;;;;EAMA;;;;EAIA;;;;;EAKA;;;;;AAKF;EAEE;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA;;;;EAIA","sources":["assets/css/lookbook.css"],"sourcesContent":["@import \"./fonts.css\";\n@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n\n@import \"./tooltip.css\";\n\n@import-glob \"../../app/components/lookbook/**/*/component.css\";\n\n@layer base {\n html {\n @apply scroll-smooth h-screen w-screen;\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n html {\n @apply scroll-auto;\n }\n }\n\n body {\n @apply text-lookbook-text font-ui text-sm overflow-hidden w-screen;\n }\n\n [x-cloak] {\n @apply !hidden;\n }\n\n pre[class*=\"language-\"] {\n @apply !p-0 !m-0;\n }\n\n ::-webkit-scrollbar {\n @apply w-1 h-1;\n }\n\n ::-webkit-scrollbar-track {\n @apply bg-transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n @apply transition-colors rounded-full\tbg-clip-content bg-lookbook-scrollbar;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n @apply bg-lookbook-scrollbar-hover;\n }\n}\n\n@layer utilities {\n .bg-checked {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cg fill='%23f3f3f3' fill-opacity='1'%3E%3Cpath fill-rule='evenodd' d='M0 0h4v4H0V0zm4 4h4v4H4V4z'/%3E%3C/g%3E%3C/svg%3E\");\n }\n}\n\n@layer components {\n [type=\"text\"],\n [type=\"email\"],\n [type=\"url\"],\n [type=\"password\"],\n [type=\"number\"],\n [type=\"date\"],\n [type=\"datetime-local\"],\n [type=\"month\"],\n [type=\"search\"],\n [type=\"tel\"],\n [type=\"time\"],\n [type=\"week\"],\n textarea,\n select {\n @apply text-lookbook-input-text placeholder:text-lookbook-input-text-placeholder placeholder:italic;\n @apply border-lookbook-input-border focus:ring-lookbook-input-border-focus focus:border-lookbook-input-border-focus;\n @apply rounded-md text-sm w-full bg-lookbook-input-bg block;\n }\n\n input[type=\"range\"] {\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n cursor: pointer;\n width: 100%;\n }\n\n input[type=\"range\"]:focus {\n outline: none;\n }\n\n input[type=\"range\"]::-webkit-slider-runnable-track {\n @apply bg-lookbook-input-toggle;\n border-radius: 0.5rem;\n height: 0.5rem;\n }\n\n input[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n @apply bg-lookbook-input-toggle-active;\n margin-top: -4px;\n border-radius: 0.5rem;\n height: 1rem;\n width: 1rem;\n }\n\n input[type=\"range\"]::-moz-range-track {\n @apply bg-lookbook-input-toggle;\n border-radius: 0.5rem;\n height: 0.5rem;\n }\n\n input[type=\"range\"]::-moz-range-thumb {\n @apply bg-lookbook-input-toggle-active;\n border: none;\n border-radius: 0.5rem;\n height: 1rem;\n width: 1rem;\n }\n\n input[type=\"range\"]:focus::-webkit-slider-thumb,\n input[type=\"range\"]:focus::-moz-range-thumb {\n @apply outline-1 outline-lookbook-input-toggle-active outline-offset-2;\n }\n\n input[type=\"color\"] {\n -webkit-appearance: none;\n width: 46px;\n @apply border border-lookbook-input-border rounded-lg cursor-pointer;\n }\n\n input[type=\"color\"]::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n input[type=\"color\"]::-webkit-color-swatch {\n @apply border-0 rounded-lg;\n }\n\n select.compact {\n font-size: 0.8rem;\n line-height: 1.1rem;\n border-radius: 0.375rem;\n padding: 0.26rem 1.5rem 0.26rem 0.6rem;\n background-size: 1.2em 1.2em;\n background-position: right 0.4rem center;\n }\n\n #inspector .split-layout-gutter-horizontal {\n top: 4px;\n }\n}\n"],"names":[],"version":3,"file":"lookbook.css.map"}
@@ -1 +1 @@
1
- {"mappings":"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","sources":["assets/js/iframe.js","node_modules/iframe-resizer/js/iframeResizer.contentWindow.js"],"sourcesContent":["import \"iframe-resizer/js/iframeResizer.contentWindow\";\n","/*\n * File: iframeResizer.contentWindow.js\n * Desc: Include this file in any page being loaded into an iframe\n * to force the iframe to resize to the content size.\n * Requires: iframeResizer.js on host page.\n * Doc: https://github.com/davidjbradshaw/iframe-resizer\n * Author: David J. Bradshaw - dave@bradshaw.net\n *\n */\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function (undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n var autoResize = true,\n base = 10,\n bodyBackground = '',\n bodyMargin = 0,\n bodyMarginStr = '',\n bodyObserver = null,\n bodyPadding = '',\n calculateWidth = false,\n doubleEventList = { resize: 1, click: 1 },\n eventCancelTimer = 128,\n firstRun = true,\n height = 1,\n heightCalcModeDefault = 'bodyOffset',\n heightCalcMode = heightCalcModeDefault,\n initLock = true,\n initMsg = '',\n inPageLinks = {},\n interval = 32,\n intervalTimer = null,\n logging = false,\n mouseEvents = false,\n msgID = '[iFrameSizer]', // Must match host page msg ID\n msgIdLen = msgID.length,\n myID = '',\n resetRequiredMethods = {\n max: 1,\n min: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n },\n resizeFrom = 'child',\n sendPermit = true,\n target = window.parent,\n targetOriginDefault = '*',\n tolerance = 0,\n triggerLocked = false,\n triggerLockedTimer = null,\n throttledTimer = 16,\n width = 1,\n widthCalcModeDefault = 'scroll',\n widthCalcMode = widthCalcModeDefault,\n win = window,\n onMessage = function () {\n warn('onMessage function not defined')\n },\n onReady = function () {},\n onPageInfo = function () {},\n customCalcMethods = {\n height: function () {\n warn('Custom height calculation function not defined')\n return document.documentElement.offsetHeight\n },\n width: function () {\n warn('Custom width calculation function not defined')\n return document.body.scrollWidth\n }\n },\n eventHandlersByName = {},\n passiveSupported = false\n\n function noop() {}\n\n try {\n var options = Object.create(\n {},\n {\n passive: {\n // eslint-disable-next-line getter-return\n get: function () {\n passiveSupported = true\n }\n }\n }\n )\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n } catch (error) {\n /* */\n }\n\n function addEventListener(el, evt, func, options) {\n el.addEventListener(evt, func, passiveSupported ? options || {} : false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1)\n }\n\n // Based on underscore.js\n function throttle(func) {\n var context,\n args,\n result,\n timeout = null,\n previous = 0,\n later = function () {\n previous = Date.now()\n timeout = null\n result = func.apply(context, args)\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n }\n\n return function () {\n var now = Date.now()\n\n if (!previous) {\n previous = now\n }\n\n var remaining = throttledTimer - (now - previous)\n\n context = this\n args = arguments\n\n if (remaining <= 0 || remaining > throttledTimer) {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n\n previous = now\n result = func.apply(context, args)\n\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining)\n }\n\n return result\n }\n }\n\n function formatLogMsg(msg) {\n return msgID + '[' + myID + '] ' + msg\n }\n\n function log(msg) {\n if (logging && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.log(formatLogMsg(msg))\n }\n }\n\n function warn(msg) {\n if ('object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.warn(formatLogMsg(msg))\n }\n }\n\n function init() {\n readDataFromParent()\n log('Initialising iFrame (' + window.location.href + ')')\n readDataFromPage()\n setMargin()\n setBodyStyle('background', bodyBackground)\n setBodyStyle('padding', bodyPadding)\n injectClearFixIntoBodyElement()\n checkHeightMode()\n checkWidthMode()\n stopInfiniteResizingOfIFrame()\n setupPublicMethods()\n setupMouseEvents()\n startEventListeners()\n inPageLinks = setupInPageLinks()\n sendSize('init', 'Init message from host page')\n onReady()\n }\n\n function readDataFromParent() {\n function strBool(str) {\n return 'true' === str\n }\n\n var data = initMsg.slice(msgIdLen).split(':')\n\n myID = data[0]\n bodyMargin = undefined === data[1] ? bodyMargin : Number(data[1]) // For V1 compatibility\n calculateWidth = undefined === data[2] ? calculateWidth : strBool(data[2])\n logging = undefined === data[3] ? logging : strBool(data[3])\n interval = undefined === data[4] ? interval : Number(data[4])\n autoResize = undefined === data[6] ? autoResize : strBool(data[6])\n bodyMarginStr = data[7]\n heightCalcMode = undefined === data[8] ? heightCalcMode : data[8]\n bodyBackground = data[9]\n bodyPadding = data[10]\n tolerance = undefined === data[11] ? tolerance : Number(data[11])\n inPageLinks.enable = undefined === data[12] ? false : strBool(data[12])\n resizeFrom = undefined === data[13] ? resizeFrom : data[13]\n widthCalcMode = undefined === data[14] ? widthCalcMode : data[14]\n mouseEvents = undefined === data[15] ? mouseEvents : strBool(data[15])\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function readDataFromPage() {\n function readData() {\n var data = window.iFrameResizer\n\n log('Reading data from page: ' + JSON.stringify(data))\n Object.keys(data).forEach(depricate, data)\n\n onMessage = 'onMessage' in data ? data.onMessage : onMessage\n onReady = 'onReady' in data ? data.onReady : onReady\n targetOriginDefault =\n 'targetOrigin' in data ? data.targetOrigin : targetOriginDefault\n heightCalcMode =\n 'heightCalculationMethod' in data\n ? data.heightCalculationMethod\n : heightCalcMode\n widthCalcMode =\n 'widthCalculationMethod' in data\n ? data.widthCalculationMethod\n : widthCalcMode\n }\n\n function setupCustomCalcMethods(calcMode, calcFunc) {\n if ('function' === typeof calcMode) {\n log('Setup custom ' + calcFunc + 'CalcMethod')\n customCalcMethods[calcFunc] = calcMode\n calcMode = 'custom'\n }\n\n return calcMode\n }\n\n if (\n 'iFrameResizer' in window &&\n Object === window.iFrameResizer.constructor\n ) {\n readData()\n heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height')\n widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width')\n }\n\n log('TargetOrigin for parent set to: ' + targetOriginDefault)\n }\n\n function chkCSS(attr, value) {\n if (-1 !== value.indexOf('-')) {\n warn('Negative CSS value ignored for ' + attr)\n value = ''\n }\n return value\n }\n\n function setBodyStyle(attr, value) {\n if (undefined !== value && '' !== value && 'null' !== value) {\n document.body.style[attr] = value\n log('Body ' + attr + ' set to \"' + value + '\"')\n }\n }\n\n function setMargin() {\n // If called via V1 script, convert bodyMargin from int to str\n if (undefined === bodyMarginStr) {\n bodyMarginStr = bodyMargin + 'px'\n }\n\n setBodyStyle('margin', chkCSS('margin', bodyMarginStr))\n }\n\n function stopInfiniteResizingOfIFrame() {\n document.documentElement.style.height = ''\n document.body.style.height = ''\n log('HTML & body height set to \"auto\"')\n }\n\n function manageTriggerEvent(options) {\n var listener = {\n add: function (eventName) {\n function handleEvent() {\n sendSize(options.eventName, options.eventType)\n }\n\n eventHandlersByName[eventName] = handleEvent\n\n addEventListener(window, eventName, handleEvent, { passive: true })\n },\n remove: function (eventName) {\n var handleEvent = eventHandlersByName[eventName]\n delete eventHandlersByName[eventName]\n\n removeEventListener(window, eventName, handleEvent)\n }\n }\n\n if (options.eventNames && Array.prototype.map) {\n options.eventName = options.eventNames[0]\n options.eventNames.map(listener[options.method])\n } else {\n listener[options.method](options.eventName)\n }\n\n log(\n capitalizeFirstLetter(options.method) +\n ' event listener: ' +\n options.eventType\n )\n }\n\n function manageEventListeners(method) {\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Start',\n eventNames: ['animationstart', 'webkitAnimationStart']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Iteration',\n eventNames: ['animationiteration', 'webkitAnimationIteration']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation End',\n eventNames: ['animationend', 'webkitAnimationEnd']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Input',\n eventName: 'input'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Up',\n eventName: 'mouseup'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Down',\n eventName: 'mousedown'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Orientation Change',\n eventName: 'orientationchange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Print',\n eventNames: ['afterprint', 'beforeprint']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Ready State Change',\n eventName: 'readystatechange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Start',\n eventName: 'touchstart'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch End',\n eventName: 'touchend'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Cancel',\n eventName: 'touchcancel'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Start',\n eventNames: [\n 'transitionstart',\n 'webkitTransitionStart',\n 'MSTransitionStart',\n 'oTransitionStart',\n 'otransitionstart'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Iteration',\n eventNames: [\n 'transitioniteration',\n 'webkitTransitionIteration',\n 'MSTransitionIteration',\n 'oTransitionIteration',\n 'otransitioniteration'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition End',\n eventNames: [\n 'transitionend',\n 'webkitTransitionEnd',\n 'MSTransitionEnd',\n 'oTransitionEnd',\n 'otransitionend'\n ]\n })\n if ('child' === resizeFrom) {\n manageTriggerEvent({\n method: method,\n eventType: 'IFrame Resized',\n eventName: 'resize'\n })\n }\n }\n\n function checkCalcMode(calcMode, calcModeDefault, modes, type) {\n if (calcModeDefault !== calcMode) {\n if (!(calcMode in modes)) {\n warn(\n calcMode + ' is not a valid option for ' + type + 'CalculationMethod.'\n )\n calcMode = calcModeDefault\n }\n log(type + ' calculation method set to \"' + calcMode + '\"')\n }\n\n return calcMode\n }\n\n function checkHeightMode() {\n heightCalcMode = checkCalcMode(\n heightCalcMode,\n heightCalcModeDefault,\n getHeight,\n 'height'\n )\n }\n\n function checkWidthMode() {\n widthCalcMode = checkCalcMode(\n widthCalcMode,\n widthCalcModeDefault,\n getWidth,\n 'width'\n )\n }\n\n function startEventListeners() {\n if (true === autoResize) {\n manageEventListeners('add')\n setupMutationObserver()\n } else {\n log('Auto Resize disabled')\n }\n }\n\n // function stopMsgsToParent() {\n // log('Disable outgoing messages')\n // sendPermit = false\n // }\n\n // function removeMsgListener() {\n // log('Remove event listener: Message')\n // removeEventListener(window, 'message', receiver)\n // }\n\n function disconnectMutationObserver() {\n if (null !== bodyObserver) {\n /* istanbul ignore next */ // Not testable in PhantonJS\n bodyObserver.disconnect()\n }\n }\n\n function stopEventListeners() {\n manageEventListeners('remove')\n disconnectMutationObserver()\n clearInterval(intervalTimer)\n }\n\n // function teardown() {\n // stopMsgsToParent()\n // removeMsgListener()\n // if (true === autoResize) stopEventListeners()\n // }\n\n function injectClearFixIntoBodyElement() {\n var clearFix = document.createElement('div')\n clearFix.style.clear = 'both'\n // Guard against the following having been globally redefined in CSS.\n clearFix.style.display = 'block'\n clearFix.style.height = '0'\n document.body.appendChild(clearFix)\n }\n\n function setupInPageLinks() {\n function getPagePosition() {\n return {\n x:\n window.pageXOffset === undefined\n ? document.documentElement.scrollLeft\n : window.pageXOffset,\n y:\n window.pageYOffset === undefined\n ? document.documentElement.scrollTop\n : window.pageYOffset\n }\n }\n\n function getElementPosition(el) {\n var elPosition = el.getBoundingClientRect(),\n pagePosition = getPagePosition()\n\n return {\n x: parseInt(elPosition.left, 10) + parseInt(pagePosition.x, 10),\n y: parseInt(elPosition.top, 10) + parseInt(pagePosition.y, 10)\n }\n }\n\n function findTarget(location) {\n function jumpToTarget(target) {\n var jumpPosition = getElementPosition(target)\n\n log(\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n }\n\n var hash = location.split('#')[1] || location, // Remove # if present\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (undefined === target) {\n log(\n 'In page link (#' +\n hash +\n ') not found in iFrame, so sending to parent'\n )\n sendMsg(0, 0, 'inPageLink', '#' + hash)\n } else {\n jumpToTarget(target)\n }\n }\n\n function checkLocationHash() {\n var hash = window.location.hash\n var href = window.location.href\n\n if ('' !== hash && '#' !== hash) {\n findTarget(href)\n }\n }\n\n function bindAnchors() {\n function setupLink(el) {\n function linkClicked(e) {\n e.preventDefault()\n\n /* jshint validthis:true */\n findTarget(this.getAttribute('href'))\n }\n\n if ('#' !== el.getAttribute('href')) {\n addEventListener(el, 'click', linkClicked)\n }\n }\n\n Array.prototype.forEach.call(\n document.querySelectorAll('a[href^=\"#\"]'),\n setupLink\n )\n }\n\n function bindLocationHash() {\n addEventListener(window, 'hashchange', checkLocationHash)\n }\n\n function initCheck() {\n // Check if page loaded with location hash after init resize\n setTimeout(checkLocationHash, eventCancelTimer)\n }\n\n function enableInPageLinks() {\n /* istanbul ignore else */ // Not testable in phantonJS\n if (Array.prototype.forEach && document.querySelectorAll) {\n log('Setting up location.hash handlers')\n bindAnchors()\n bindLocationHash()\n initCheck()\n } else {\n warn(\n 'In page linking not fully supported in this browser! (See README.md for IE8 workaround)'\n )\n }\n }\n\n if (inPageLinks.enable) {\n enableInPageLinks()\n } else {\n log('In page linking not enabled')\n }\n\n return {\n findTarget: findTarget\n }\n }\n\n function setupMouseEvents() {\n if (mouseEvents !== true) return\n\n function sendMouse(e) {\n sendMsg(0, 0, e.type, e.screenY + ':' + e.screenX)\n }\n\n function addMouseListener(evt, name) {\n log('Add event listener: ' + name)\n addEventListener(window.document, evt, sendMouse)\n }\n\n addMouseListener('mouseenter', 'Mouse Enter')\n addMouseListener('mouseleave', 'Mouse Leave')\n }\n\n function setupPublicMethods() {\n log('Enable public methods')\n\n win.parentIFrame = {\n autoResize: function autoResizeF(resize) {\n if (true === resize && false === autoResize) {\n autoResize = true\n startEventListeners()\n } else if (false === resize && true === autoResize) {\n autoResize = false\n stopEventListeners()\n }\n sendMsg(0, 0, 'autoResize', JSON.stringify(autoResize))\n return autoResize\n },\n\n close: function closeF() {\n sendMsg(0, 0, 'close')\n // teardown()\n },\n\n getId: function getIdF() {\n return myID\n },\n\n getPageInfo: function getPageInfoF(callback) {\n if ('function' === typeof callback) {\n onPageInfo = callback\n sendMsg(0, 0, 'pageInfo')\n } else {\n onPageInfo = function () {}\n sendMsg(0, 0, 'pageInfoStop')\n }\n },\n\n moveToAnchor: function moveToAnchorF(hash) {\n inPageLinks.findTarget(hash)\n },\n\n reset: function resetF() {\n resetIFrame('parentIFrame.reset')\n },\n\n scrollTo: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollTo') // X&Y reversed at sendMsg uses height/width\n },\n\n scrollToOffset: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n },\n\n sendMessage: function sendMessageF(msg, targetOrigin) {\n sendMsg(0, 0, 'message', JSON.stringify(msg), targetOrigin)\n },\n\n setHeightCalculationMethod: function setHeightCalculationMethodF(\n heightCalculationMethod\n ) {\n heightCalcMode = heightCalculationMethod\n checkHeightMode()\n },\n\n setWidthCalculationMethod: function setWidthCalculationMethodF(\n widthCalculationMethod\n ) {\n widthCalcMode = widthCalculationMethod\n checkWidthMode()\n },\n\n setTargetOrigin: function setTargetOriginF(targetOrigin) {\n log('Set targetOrigin: ' + targetOrigin)\n targetOriginDefault = targetOrigin\n },\n\n size: function sizeF(customHeight, customWidth) {\n var valString =\n '' + (customHeight || '') + (customWidth ? ',' + customWidth : '')\n sendSize(\n 'size',\n 'parentIFrame.size(' + valString + ')',\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function initInterval() {\n if (0 !== interval) {\n log('setInterval: ' + interval + 'ms')\n intervalTimer = setInterval(function () {\n sendSize('interval', 'setInterval: ' + interval)\n }, Math.abs(interval))\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function setupBodyMutationObserver() {\n function addImageLoadListners(mutation) {\n function addImageLoadListener(element) {\n if (false === element.complete) {\n log('Attach listeners to ' + element.src)\n element.addEventListener('load', imageLoaded, false)\n element.addEventListener('error', imageError, false)\n elements.push(element)\n }\n }\n\n if (mutation.type === 'attributes' && mutation.attributeName === 'src') {\n addImageLoadListener(mutation.target)\n } else if (mutation.type === 'childList') {\n Array.prototype.forEach.call(\n mutation.target.querySelectorAll('img'),\n addImageLoadListener\n )\n }\n }\n\n function removeFromArray(element) {\n elements.splice(elements.indexOf(element), 1)\n }\n\n function removeImageLoadListener(element) {\n log('Remove listeners from ' + element.src)\n element.removeEventListener('load', imageLoaded, false)\n element.removeEventListener('error', imageError, false)\n removeFromArray(element)\n }\n\n function imageEventTriggered(event, type, typeDesc) {\n removeImageLoadListener(event.target)\n sendSize(type, typeDesc + ': ' + event.target.src)\n }\n\n function imageLoaded(event) {\n imageEventTriggered(event, 'imageLoad', 'Image loaded')\n }\n\n function imageError(event) {\n imageEventTriggered(event, 'imageLoadFailed', 'Image load failed')\n }\n\n function mutationObserved(mutations) {\n sendSize(\n 'mutationObserver',\n 'mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type\n )\n\n // Deal with WebKit / Blink asyncing image loading when tags are injected into the page\n mutations.forEach(addImageLoadListners)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n observer = new MutationObserver(mutationObserved)\n\n log('Create body MutationObserver')\n observer.observe(target, config)\n\n return observer\n }\n\n var elements = [],\n MutationObserver =\n window.MutationObserver || window.WebKitMutationObserver,\n observer = createMutationObserver()\n\n return {\n disconnect: function () {\n if ('disconnect' in observer) {\n log('Disconnect body MutationObserver')\n observer.disconnect()\n elements.forEach(removeImageLoadListener)\n }\n }\n }\n }\n\n function setupMutationObserver() {\n var forceIntervalTimer = 0 > interval\n\n // Not testable in PhantomJS\n /* istanbul ignore if */ if (\n window.MutationObserver ||\n window.WebKitMutationObserver\n ) {\n if (forceIntervalTimer) {\n initInterval()\n } else {\n bodyObserver = setupBodyMutationObserver()\n }\n } else {\n log('MutationObserver not supported in this browser!')\n initInterval()\n }\n }\n\n // document.documentElement.offsetHeight is not reliable, so\n // we have to jump through hoops to get a better value.\n function getComputedStyle(prop, el) {\n var retVal = 0\n el = el || document.body // Not testable in phantonJS\n\n retVal = document.defaultView.getComputedStyle(el, null)\n retVal = null === retVal ? 0 : retVal[prop]\n\n return parseInt(retVal, base)\n }\n\n function chkEventThottle(timer) {\n if (timer > throttledTimer / 2) {\n throttledTimer = 2 * timer\n log('Event throttle increased to ' + throttledTimer + 'ms')\n }\n }\n\n // Idea from https://github.com/guardian/iframe-messenger\n function getMaxElement(side, elements) {\n var elementsLength = elements.length,\n elVal = 0,\n maxVal = 0,\n Side = capitalizeFirstLetter(side),\n timer = Date.now()\n\n for (var i = 0; i < elementsLength; i++) {\n elVal =\n elements[i].getBoundingClientRect()[side] +\n getComputedStyle('margin' + Side, elements[i])\n if (elVal > maxVal) {\n maxVal = elVal\n }\n }\n\n timer = Date.now() - timer\n\n log('Parsed ' + elementsLength + ' HTML elements')\n log('Element position calculated in ' + timer + 'ms')\n\n chkEventThottle(timer)\n\n return maxVal\n }\n\n function getAllMeasurements(dimensions) {\n return [\n dimensions.bodyOffset(),\n dimensions.bodyScroll(),\n dimensions.documentElementOffset(),\n dimensions.documentElementScroll()\n ]\n }\n\n function getTaggedElements(side, tag) {\n function noTaggedElementsFound() {\n warn('No tagged elements (' + tag + ') found on page')\n return document.querySelectorAll('body *')\n }\n\n var elements = document.querySelectorAll('[' + tag + ']')\n\n if (elements.length === 0) noTaggedElementsFound()\n\n return getMaxElement(side, elements)\n }\n\n function getAllElements() {\n return document.querySelectorAll('body *')\n }\n\n var getHeight = {\n bodyOffset: function getBodyOffsetHeight() {\n return (\n document.body.offsetHeight +\n getComputedStyle('marginTop') +\n getComputedStyle('marginBottom')\n )\n },\n\n offset: function () {\n return getHeight.bodyOffset() // Backwards compatibility\n },\n\n bodyScroll: function getBodyScrollHeight() {\n return document.body.scrollHeight\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.height()\n },\n\n documentElementOffset: function getDEOffsetHeight() {\n return document.documentElement.offsetHeight\n },\n\n documentElementScroll: function getDEScrollHeight() {\n return document.documentElement.scrollHeight\n },\n\n max: function getMaxHeight() {\n return Math.max.apply(null, getAllMeasurements(getHeight))\n },\n\n min: function getMinHeight() {\n return Math.min.apply(null, getAllMeasurements(getHeight))\n },\n\n grow: function growHeight() {\n return getHeight.max() // Run max without the forced downsizing\n },\n\n lowestElement: function getBestHeight() {\n return Math.max(\n getHeight.bodyOffset() || getHeight.documentElementOffset(),\n getMaxElement('bottom', getAllElements())\n )\n },\n\n taggedElement: function getTaggedElementsHeight() {\n return getTaggedElements('bottom', 'data-iframe-height')\n }\n },\n getWidth = {\n bodyScroll: function getBodyScrollWidth() {\n return document.body.scrollWidth\n },\n\n bodyOffset: function getBodyOffsetWidth() {\n return document.body.offsetWidth\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.width()\n },\n\n documentElementScroll: function getDEScrollWidth() {\n return document.documentElement.scrollWidth\n },\n\n documentElementOffset: function getDEOffsetWidth() {\n return document.documentElement.offsetWidth\n },\n\n scroll: function getMaxWidth() {\n return Math.max(getWidth.bodyScroll(), getWidth.documentElementScroll())\n },\n\n max: function getMaxWidth() {\n return Math.max.apply(null, getAllMeasurements(getWidth))\n },\n\n min: function getMinWidth() {\n return Math.min.apply(null, getAllMeasurements(getWidth))\n },\n\n rightMostElement: function rightMostElement() {\n return getMaxElement('right', getAllElements())\n },\n\n taggedElement: function getTaggedElementsWidth() {\n return getTaggedElements('right', 'data-iframe-width')\n }\n }\n\n function sizeIFrame(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n ) {\n function resizeIFrame() {\n height = currentHeight\n width = currentWidth\n\n sendMsg(height, width, triggerEvent)\n }\n\n function isSizeChangeDetected() {\n function checkTolarance(a, b) {\n var retVal = Math.abs(a - b) <= tolerance\n return !retVal\n }\n\n currentHeight =\n undefined === customHeight ? getHeight[heightCalcMode]() : customHeight\n currentWidth =\n undefined === customWidth ? getWidth[widthCalcMode]() : customWidth\n\n return (\n checkTolarance(height, currentHeight) ||\n (calculateWidth && checkTolarance(width, currentWidth))\n )\n }\n\n function isForceResizableEvent() {\n return !(triggerEvent in { init: 1, interval: 1, size: 1 })\n }\n\n function isForceResizableCalcMode() {\n return (\n heightCalcMode in resetRequiredMethods ||\n (calculateWidth && widthCalcMode in resetRequiredMethods)\n )\n }\n\n function logIgnored() {\n log('No change in size detected')\n }\n\n function checkDownSizing() {\n if (isForceResizableEvent() && isForceResizableCalcMode()) {\n resetIFrame(triggerEventDesc)\n } else if (!(triggerEvent in { interval: 1 })) {\n logIgnored()\n }\n }\n\n var currentHeight, currentWidth\n\n if (isSizeChangeDetected() || 'init' === triggerEvent) {\n lockTrigger()\n resizeIFrame()\n } else {\n checkDownSizing()\n }\n }\n\n var sizeIFrameThrottled = throttle(sizeIFrame)\n\n function sendSize(triggerEvent, triggerEventDesc, customHeight, customWidth) {\n function recordTrigger() {\n if (!(triggerEvent in { reset: 1, resetPage: 1, init: 1 })) {\n log('Trigger event: ' + triggerEventDesc)\n }\n }\n\n function isDoubleFiredEvent() {\n return triggerLocked && triggerEvent in doubleEventList\n }\n\n if (isDoubleFiredEvent()) {\n log('Trigger event cancelled: ' + triggerEvent)\n } else {\n recordTrigger()\n if (triggerEvent === 'init') {\n sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth)\n } else {\n sizeIFrameThrottled(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function lockTrigger() {\n if (!triggerLocked) {\n triggerLocked = true\n log('Trigger event lock on')\n }\n clearTimeout(triggerLockedTimer)\n triggerLockedTimer = setTimeout(function () {\n triggerLocked = false\n log('Trigger event lock off')\n log('--')\n }, eventCancelTimer)\n }\n\n function triggerReset(triggerEvent) {\n height = getHeight[heightCalcMode]()\n width = getWidth[widthCalcMode]()\n\n sendMsg(height, width, triggerEvent)\n }\n\n function resetIFrame(triggerEventDesc) {\n var hcm = heightCalcMode\n heightCalcMode = heightCalcModeDefault\n\n log('Reset trigger event: ' + triggerEventDesc)\n lockTrigger()\n triggerReset('reset')\n\n heightCalcMode = hcm\n }\n\n function sendMsg(height, width, triggerEvent, msg, targetOrigin) {\n function setTargetOrigin() {\n if (undefined === targetOrigin) {\n targetOrigin = targetOriginDefault\n } else {\n log('Message targetOrigin: ' + targetOrigin)\n }\n }\n\n function sendToParent() {\n var size = height + ':' + width,\n message =\n myID +\n ':' +\n size +\n ':' +\n triggerEvent +\n (undefined === msg ? '' : ':' + msg)\n\n log('Sending message to host page (' + message + ')')\n target.postMessage(msgID + message, targetOrigin)\n }\n\n if (true === sendPermit) {\n setTargetOrigin()\n sendToParent()\n }\n }\n\n function receiver(event) {\n var processRequestFromParent = {\n init: function initFromParent() {\n initMsg = event.data\n target = event.source\n\n init()\n firstRun = false\n setTimeout(function () {\n initLock = false\n }, eventCancelTimer)\n },\n\n reset: function resetFromParent() {\n if (initLock) {\n log('Page reset ignored by init')\n } else {\n log('Page size reset by host page')\n triggerReset('resetPage')\n }\n },\n\n resize: function resizeFromParent() {\n sendSize('resizeParent', 'Parent window requested size check')\n },\n\n moveToAnchor: function moveToAnchorF() {\n inPageLinks.findTarget(getData())\n },\n inPageLink: function inPageLinkF() {\n this.moveToAnchor()\n }, // Backward compatibility\n\n pageInfo: function pageInfoFromParent() {\n var msgBody = getData()\n log('PageInfoFromParent called from parent: ' + msgBody)\n onPageInfo(JSON.parse(msgBody))\n log(' --')\n },\n\n message: function messageFromParent() {\n var msgBody = getData()\n\n log('onMessage called from parent: ' + msgBody)\n // eslint-disable-next-line sonarjs/no-extra-arguments\n onMessage(JSON.parse(msgBody))\n log(' --')\n }\n }\n\n function isMessageForUs() {\n return msgID === ('' + event.data).slice(0, msgIdLen) // ''+ Protects against non-string messages\n }\n\n function getMessageType() {\n return event.data.split(']')[1].split(':')[0]\n }\n\n function getData() {\n return event.data.slice(event.data.indexOf(':') + 1)\n }\n\n function isMiddleTier() {\n return (\n (!(typeof module !== 'undefined' && module.exports) &&\n 'iFrameResize' in window) ||\n (window.jQuery !== undefined &&\n 'iFrameResize' in window.jQuery.prototype)\n )\n }\n\n function isInitMsg() {\n // Test if this message is from a child below us. This is an ugly test, however, updating\n // the message format would break backwards compatibility.\n return event.data.split(':')[2] in { true: 1, false: 1 }\n }\n\n function callFromParent() {\n var messageType = getMessageType()\n\n if (messageType in processRequestFromParent) {\n processRequestFromParent[messageType]()\n } else if (!isMiddleTier() && !isInitMsg()) {\n warn('Unexpected message (' + event.data + ')')\n }\n }\n\n function processMessage() {\n if (false === firstRun) {\n callFromParent()\n } else if (isInitMsg()) {\n processRequestFromParent.init()\n } else {\n log(\n 'Ignored message of type \"' +\n getMessageType() +\n '\". Received before initialization.'\n )\n }\n }\n\n if (isMessageForUs()) {\n processMessage()\n }\n }\n\n // Normally the parent kicks things off when it detects the iFrame has loaded.\n // If this script is async-loaded, then tell parent page to retry init.\n function chkLateLoaded() {\n if ('loading' !== document.readyState) {\n window.parent.postMessage('[iFrameResizerChild]Ready', '*')\n }\n }\n\n addEventListener(window, 'message', receiver)\n addEventListener(window, 'readystatechange', chkLateLoaded)\n chkLateLoaded()\n\n \n})()\n"],"names":[],"version":3,"file":"iframe.js.map"}
1
+ {"mappings":"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","sources":["assets/js/iframe.js","node_modules/iframe-resizer/js/iframeResizer.contentWindow.js"],"sourcesContent":["import \"iframe-resizer/js/iframeResizer.contentWindow\";\n","/*\n * File: iframeResizer.contentWindow.js\n * Desc: Include this file in any page being loaded into an iframe\n * to force the iframe to resize to the content size.\n * Requires: iframeResizer.js on host page.\n * Doc: https://github.com/davidjbradshaw/iframe-resizer\n * Author: David J. Bradshaw - dave@bradshaw.net\n *\n */\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function (undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n var autoResize = true,\n base = 10,\n bodyBackground = '',\n bodyMargin = 0,\n bodyMarginStr = '',\n bodyObserver = null,\n bodyPadding = '',\n calculateWidth = false,\n doubleEventList = { resize: 1, click: 1 },\n eventCancelTimer = 128,\n firstRun = true,\n height = 1,\n heightCalcModeDefault = 'bodyOffset',\n heightCalcMode = heightCalcModeDefault,\n initLock = true,\n initMsg = '',\n inPageLinks = {},\n interval = 32,\n intervalTimer = null,\n logging = false,\n mouseEvents = false,\n msgID = '[iFrameSizer]', // Must match host page msg ID\n msgIdLen = msgID.length,\n myID = '',\n resetRequiredMethods = {\n max: 1,\n min: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n },\n resizeFrom = 'child',\n sendPermit = true,\n target = window.parent,\n targetOriginDefault = '*',\n tolerance = 0,\n triggerLocked = false,\n triggerLockedTimer = null,\n throttledTimer = 16,\n width = 1,\n widthCalcModeDefault = 'scroll',\n widthCalcMode = widthCalcModeDefault,\n win = window,\n onMessage = function () {\n warn('onMessage function not defined')\n },\n onReady = function () {},\n onPageInfo = function () {},\n customCalcMethods = {\n height: function () {\n warn('Custom height calculation function not defined')\n return document.documentElement.offsetHeight\n },\n width: function () {\n warn('Custom width calculation function not defined')\n return document.body.scrollWidth\n }\n },\n eventHandlersByName = {},\n passiveSupported = false\n\n function noop() {}\n\n try {\n var options = Object.create(\n {},\n {\n passive: {\n // eslint-disable-next-line getter-return\n get: function () {\n passiveSupported = true\n }\n }\n }\n )\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n } catch (error) {\n /* */\n }\n\n function addEventListener(el, evt, func, options) {\n el.addEventListener(evt, func, passiveSupported ? options || {} : false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1)\n }\n\n // Based on underscore.js\n function throttle(func) {\n var context,\n args,\n result,\n timeout = null,\n previous = 0,\n later = function () {\n previous = Date.now()\n timeout = null\n result = func.apply(context, args)\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n }\n\n return function () {\n var now = Date.now()\n\n if (!previous) {\n previous = now\n }\n\n var remaining = throttledTimer - (now - previous)\n\n context = this\n args = arguments\n\n if (remaining <= 0 || remaining > throttledTimer) {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n\n previous = now\n result = func.apply(context, args)\n\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining)\n }\n\n return result\n }\n }\n\n function formatLogMsg(msg) {\n return msgID + '[' + myID + '] ' + msg\n }\n\n function log(msg) {\n if (logging && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.log(formatLogMsg(msg))\n }\n }\n\n function warn(msg) {\n if ('object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.warn(formatLogMsg(msg))\n }\n }\n\n function init() {\n readDataFromParent()\n log('Initialising iFrame (' + window.location.href + ')')\n readDataFromPage()\n setMargin()\n setBodyStyle('background', bodyBackground)\n setBodyStyle('padding', bodyPadding)\n injectClearFixIntoBodyElement()\n checkHeightMode()\n checkWidthMode()\n stopInfiniteResizingOfIFrame()\n setupPublicMethods()\n setupMouseEvents()\n startEventListeners()\n inPageLinks = setupInPageLinks()\n sendSize('init', 'Init message from host page')\n onReady()\n }\n\n function readDataFromParent() {\n function strBool(str) {\n return 'true' === str\n }\n\n var data = initMsg.slice(msgIdLen).split(':')\n\n myID = data[0]\n bodyMargin = undefined === data[1] ? bodyMargin : Number(data[1]) // For V1 compatibility\n calculateWidth = undefined === data[2] ? calculateWidth : strBool(data[2])\n logging = undefined === data[3] ? logging : strBool(data[3])\n interval = undefined === data[4] ? interval : Number(data[4])\n autoResize = undefined === data[6] ? autoResize : strBool(data[6])\n bodyMarginStr = data[7]\n heightCalcMode = undefined === data[8] ? heightCalcMode : data[8]\n bodyBackground = data[9]\n bodyPadding = data[10]\n tolerance = undefined === data[11] ? tolerance : Number(data[11])\n inPageLinks.enable = undefined === data[12] ? false : strBool(data[12])\n resizeFrom = undefined === data[13] ? resizeFrom : data[13]\n widthCalcMode = undefined === data[14] ? widthCalcMode : data[14]\n mouseEvents = undefined === data[15] ? mouseEvents : strBool(data[15])\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function readDataFromPage() {\n function readData() {\n var data = window.iFrameResizer\n\n log('Reading data from page: ' + JSON.stringify(data))\n Object.keys(data).forEach(depricate, data)\n\n onMessage = 'onMessage' in data ? data.onMessage : onMessage\n onReady = 'onReady' in data ? data.onReady : onReady\n targetOriginDefault =\n 'targetOrigin' in data ? data.targetOrigin : targetOriginDefault\n heightCalcMode =\n 'heightCalculationMethod' in data\n ? data.heightCalculationMethod\n : heightCalcMode\n widthCalcMode =\n 'widthCalculationMethod' in data\n ? data.widthCalculationMethod\n : widthCalcMode\n }\n\n function setupCustomCalcMethods(calcMode, calcFunc) {\n if ('function' === typeof calcMode) {\n log('Setup custom ' + calcFunc + 'CalcMethod')\n customCalcMethods[calcFunc] = calcMode\n calcMode = 'custom'\n }\n\n return calcMode\n }\n\n if (\n 'iFrameResizer' in window &&\n Object === window.iFrameResizer.constructor\n ) {\n readData()\n heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height')\n widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width')\n }\n\n log('TargetOrigin for parent set to: ' + targetOriginDefault)\n }\n\n function chkCSS(attr, value) {\n if (-1 !== value.indexOf('-')) {\n warn('Negative CSS value ignored for ' + attr)\n value = ''\n }\n return value\n }\n\n function setBodyStyle(attr, value) {\n if (undefined !== value && '' !== value && 'null' !== value) {\n document.body.style[attr] = value\n log('Body ' + attr + ' set to \"' + value + '\"')\n }\n }\n\n function setMargin() {\n // If called via V1 script, convert bodyMargin from int to str\n if (undefined === bodyMarginStr) {\n bodyMarginStr = bodyMargin + 'px'\n }\n\n setBodyStyle('margin', chkCSS('margin', bodyMarginStr))\n }\n\n function stopInfiniteResizingOfIFrame() {\n document.documentElement.style.height = ''\n document.body.style.height = ''\n log('HTML & body height set to \"auto\"')\n }\n\n function manageTriggerEvent(options) {\n var listener = {\n add: function (eventName) {\n function handleEvent() {\n sendSize(options.eventName, options.eventType)\n }\n\n eventHandlersByName[eventName] = handleEvent\n\n addEventListener(window, eventName, handleEvent, { passive: true })\n },\n remove: function (eventName) {\n var handleEvent = eventHandlersByName[eventName]\n delete eventHandlersByName[eventName]\n\n removeEventListener(window, eventName, handleEvent)\n }\n }\n\n if (options.eventNames && Array.prototype.map) {\n options.eventName = options.eventNames[0]\n options.eventNames.map(listener[options.method])\n } else {\n listener[options.method](options.eventName)\n }\n\n log(\n capitalizeFirstLetter(options.method) +\n ' event listener: ' +\n options.eventType\n )\n }\n\n function manageEventListeners(method) {\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Start',\n eventNames: ['animationstart', 'webkitAnimationStart']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Iteration',\n eventNames: ['animationiteration', 'webkitAnimationIteration']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation End',\n eventNames: ['animationend', 'webkitAnimationEnd']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Input',\n eventName: 'input'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Up',\n eventName: 'mouseup'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Down',\n eventName: 'mousedown'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Orientation Change',\n eventName: 'orientationchange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Print',\n eventNames: ['afterprint', 'beforeprint']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Ready State Change',\n eventName: 'readystatechange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Start',\n eventName: 'touchstart'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch End',\n eventName: 'touchend'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Cancel',\n eventName: 'touchcancel'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Start',\n eventNames: [\n 'transitionstart',\n 'webkitTransitionStart',\n 'MSTransitionStart',\n 'oTransitionStart',\n 'otransitionstart'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Iteration',\n eventNames: [\n 'transitioniteration',\n 'webkitTransitionIteration',\n 'MSTransitionIteration',\n 'oTransitionIteration',\n 'otransitioniteration'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition End',\n eventNames: [\n 'transitionend',\n 'webkitTransitionEnd',\n 'MSTransitionEnd',\n 'oTransitionEnd',\n 'otransitionend'\n ]\n })\n if ('child' === resizeFrom) {\n manageTriggerEvent({\n method: method,\n eventType: 'IFrame Resized',\n eventName: 'resize'\n })\n }\n }\n\n function checkCalcMode(calcMode, calcModeDefault, modes, type) {\n if (calcModeDefault !== calcMode) {\n if (!(calcMode in modes)) {\n warn(\n calcMode + ' is not a valid option for ' + type + 'CalculationMethod.'\n )\n calcMode = calcModeDefault\n }\n log(type + ' calculation method set to \"' + calcMode + '\"')\n }\n\n return calcMode\n }\n\n function checkHeightMode() {\n heightCalcMode = checkCalcMode(\n heightCalcMode,\n heightCalcModeDefault,\n getHeight,\n 'height'\n )\n }\n\n function checkWidthMode() {\n widthCalcMode = checkCalcMode(\n widthCalcMode,\n widthCalcModeDefault,\n getWidth,\n 'width'\n )\n }\n\n function startEventListeners() {\n if (true === autoResize) {\n manageEventListeners('add')\n setupMutationObserver()\n } else {\n log('Auto Resize disabled')\n }\n }\n\n // function stopMsgsToParent() {\n // log('Disable outgoing messages')\n // sendPermit = false\n // }\n\n // function removeMsgListener() {\n // log('Remove event listener: Message')\n // removeEventListener(window, 'message', receiver)\n // }\n\n function disconnectMutationObserver() {\n if (null !== bodyObserver) {\n /* istanbul ignore next */ // Not testable in PhantonJS\n bodyObserver.disconnect()\n }\n }\n\n function stopEventListeners() {\n manageEventListeners('remove')\n disconnectMutationObserver()\n clearInterval(intervalTimer)\n }\n\n // function teardown() {\n // stopMsgsToParent()\n // removeMsgListener()\n // if (true === autoResize) stopEventListeners()\n // }\n\n function injectClearFixIntoBodyElement() {\n var clearFix = document.createElement('div')\n clearFix.style.clear = 'both'\n // Guard against the following having been globally redefined in CSS.\n clearFix.style.display = 'block'\n clearFix.style.height = '0'\n document.body.appendChild(clearFix)\n }\n\n function setupInPageLinks() {\n function getPagePosition() {\n return {\n x:\n window.pageXOffset === undefined\n ? document.documentElement.scrollLeft\n : window.pageXOffset,\n y:\n window.pageYOffset === undefined\n ? document.documentElement.scrollTop\n : window.pageYOffset\n }\n }\n\n function getElementPosition(el) {\n var elPosition = el.getBoundingClientRect(),\n pagePosition = getPagePosition()\n\n return {\n x: parseInt(elPosition.left, 10) + parseInt(pagePosition.x, 10),\n y: parseInt(elPosition.top, 10) + parseInt(pagePosition.y, 10)\n }\n }\n\n function findTarget(location) {\n function jumpToTarget(target) {\n var jumpPosition = getElementPosition(target)\n\n log(\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n }\n\n var hash = location.split('#')[1] || location, // Remove # if present\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (undefined === target) {\n log(\n 'In page link (#' +\n hash +\n ') not found in iFrame, so sending to parent'\n )\n sendMsg(0, 0, 'inPageLink', '#' + hash)\n } else {\n jumpToTarget(target)\n }\n }\n\n function checkLocationHash() {\n var hash = window.location.hash\n var href = window.location.href\n\n if ('' !== hash && '#' !== hash) {\n findTarget(href)\n }\n }\n\n function bindAnchors() {\n function setupLink(el) {\n function linkClicked(e) {\n e.preventDefault()\n\n /* jshint validthis:true */\n findTarget(this.getAttribute('href'))\n }\n\n if ('#' !== el.getAttribute('href')) {\n addEventListener(el, 'click', linkClicked)\n }\n }\n\n Array.prototype.forEach.call(\n document.querySelectorAll('a[href^=\"#\"]'),\n setupLink\n )\n }\n\n function bindLocationHash() {\n addEventListener(window, 'hashchange', checkLocationHash)\n }\n\n function initCheck() {\n // Check if page loaded with location hash after init resize\n setTimeout(checkLocationHash, eventCancelTimer)\n }\n\n function enableInPageLinks() {\n /* istanbul ignore else */ // Not testable in phantonJS\n if (Array.prototype.forEach && document.querySelectorAll) {\n log('Setting up location.hash handlers')\n bindAnchors()\n bindLocationHash()\n initCheck()\n } else {\n warn(\n 'In page linking not fully supported in this browser! (See README.md for IE8 workaround)'\n )\n }\n }\n\n if (inPageLinks.enable) {\n enableInPageLinks()\n } else {\n log('In page linking not enabled')\n }\n\n return {\n findTarget: findTarget\n }\n }\n\n function setupMouseEvents() {\n if (mouseEvents !== true) return\n\n function sendMouse(e) {\n sendMsg(0, 0, e.type, e.screenY + ':' + e.screenX)\n }\n\n function addMouseListener(evt, name) {\n log('Add event listener: ' + name)\n addEventListener(window.document, evt, sendMouse)\n }\n\n addMouseListener('mouseenter', 'Mouse Enter')\n addMouseListener('mouseleave', 'Mouse Leave')\n }\n\n function setupPublicMethods() {\n log('Enable public methods')\n\n win.parentIFrame = {\n autoResize: function autoResizeF(resize) {\n if (true === resize && false === autoResize) {\n autoResize = true\n startEventListeners()\n } else if (false === resize && true === autoResize) {\n autoResize = false\n stopEventListeners()\n }\n sendMsg(0, 0, 'autoResize', JSON.stringify(autoResize))\n return autoResize\n },\n\n close: function closeF() {\n sendMsg(0, 0, 'close')\n // teardown()\n },\n\n getId: function getIdF() {\n return myID\n },\n\n getPageInfo: function getPageInfoF(callback) {\n if ('function' === typeof callback) {\n onPageInfo = callback\n sendMsg(0, 0, 'pageInfo')\n } else {\n onPageInfo = function () {}\n sendMsg(0, 0, 'pageInfoStop')\n }\n },\n\n moveToAnchor: function moveToAnchorF(hash) {\n inPageLinks.findTarget(hash)\n },\n\n reset: function resetF() {\n resetIFrame('parentIFrame.reset')\n },\n\n scrollTo: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollTo') // X&Y reversed at sendMsg uses height/width\n },\n\n scrollToOffset: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n },\n\n sendMessage: function sendMessageF(msg, targetOrigin) {\n sendMsg(0, 0, 'message', JSON.stringify(msg), targetOrigin)\n },\n\n setHeightCalculationMethod: function setHeightCalculationMethodF(\n heightCalculationMethod\n ) {\n heightCalcMode = heightCalculationMethod\n checkHeightMode()\n },\n\n setWidthCalculationMethod: function setWidthCalculationMethodF(\n widthCalculationMethod\n ) {\n widthCalcMode = widthCalculationMethod\n checkWidthMode()\n },\n\n setTargetOrigin: function setTargetOriginF(targetOrigin) {\n log('Set targetOrigin: ' + targetOrigin)\n targetOriginDefault = targetOrigin\n },\n\n size: function sizeF(customHeight, customWidth) {\n var valString =\n '' + (customHeight || '') + (customWidth ? ',' + customWidth : '')\n sendSize(\n 'size',\n 'parentIFrame.size(' + valString + ')',\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function initInterval() {\n if (0 !== interval) {\n log('setInterval: ' + interval + 'ms')\n intervalTimer = setInterval(function () {\n sendSize('interval', 'setInterval: ' + interval)\n }, Math.abs(interval))\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function setupBodyMutationObserver() {\n function addImageLoadListners(mutation) {\n function addImageLoadListener(element) {\n if (false === element.complete) {\n log('Attach listeners to ' + element.src)\n element.addEventListener('load', imageLoaded, false)\n element.addEventListener('error', imageError, false)\n elements.push(element)\n }\n }\n\n if (mutation.type === 'attributes' && mutation.attributeName === 'src') {\n addImageLoadListener(mutation.target)\n } else if (mutation.type === 'childList') {\n Array.prototype.forEach.call(\n mutation.target.querySelectorAll('img'),\n addImageLoadListener\n )\n }\n }\n\n function removeFromArray(element) {\n elements.splice(elements.indexOf(element), 1)\n }\n\n function removeImageLoadListener(element) {\n log('Remove listeners from ' + element.src)\n element.removeEventListener('load', imageLoaded, false)\n element.removeEventListener('error', imageError, false)\n removeFromArray(element)\n }\n\n function imageEventTriggered(event, type, typeDesc) {\n removeImageLoadListener(event.target)\n sendSize(type, typeDesc + ': ' + event.target.src)\n }\n\n function imageLoaded(event) {\n imageEventTriggered(event, 'imageLoad', 'Image loaded')\n }\n\n function imageError(event) {\n imageEventTriggered(event, 'imageLoadFailed', 'Image load failed')\n }\n\n function mutationObserved(mutations) {\n sendSize(\n 'mutationObserver',\n 'mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type\n )\n\n // Deal with WebKit / Blink asyncing image loading when tags are injected into the page\n mutations.forEach(addImageLoadListners)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n observer = new MutationObserver(mutationObserved)\n\n log('Create body MutationObserver')\n observer.observe(target, config)\n\n return observer\n }\n\n var elements = [],\n MutationObserver =\n window.MutationObserver || window.WebKitMutationObserver,\n observer = createMutationObserver()\n\n return {\n disconnect: function () {\n if ('disconnect' in observer) {\n log('Disconnect body MutationObserver')\n observer.disconnect()\n elements.forEach(removeImageLoadListener)\n }\n }\n }\n }\n\n function setupMutationObserver() {\n var forceIntervalTimer = 0 > interval\n\n // Not testable in PhantomJS\n /* istanbul ignore if */ if (\n window.MutationObserver ||\n window.WebKitMutationObserver\n ) {\n if (forceIntervalTimer) {\n initInterval()\n } else {\n bodyObserver = setupBodyMutationObserver()\n }\n } else {\n log('MutationObserver not supported in this browser!')\n initInterval()\n }\n }\n\n // document.documentElement.offsetHeight is not reliable, so\n // we have to jump through hoops to get a better value.\n function getComputedStyle(prop, el) {\n var retVal = 0\n el = el || document.body // Not testable in phantonJS\n\n retVal = document.defaultView.getComputedStyle(el, null)\n retVal = null === retVal ? 0 : retVal[prop]\n\n return parseInt(retVal, base)\n }\n\n function chkEventThottle(timer) {\n if (timer > throttledTimer / 2) {\n throttledTimer = 2 * timer\n log('Event throttle increased to ' + throttledTimer + 'ms')\n }\n }\n\n // Idea from https://github.com/guardian/iframe-messenger\n function getMaxElement(side, elements) {\n var elementsLength = elements.length,\n elVal = 0,\n maxVal = 0,\n Side = capitalizeFirstLetter(side),\n timer = Date.now()\n\n for (var i = 0; i < elementsLength; i++) {\n elVal =\n elements[i].getBoundingClientRect()[side] +\n getComputedStyle('margin' + Side, elements[i])\n if (elVal > maxVal) {\n maxVal = elVal\n }\n }\n\n timer = Date.now() - timer\n\n log('Parsed ' + elementsLength + ' HTML elements')\n log('Element position calculated in ' + timer + 'ms')\n\n chkEventThottle(timer)\n\n return maxVal\n }\n\n function getAllMeasurements(dimensions) {\n return [\n dimensions.bodyOffset(),\n dimensions.bodyScroll(),\n dimensions.documentElementOffset(),\n dimensions.documentElementScroll()\n ]\n }\n\n function getTaggedElements(side, tag) {\n function noTaggedElementsFound() {\n warn('No tagged elements (' + tag + ') found on page')\n return document.querySelectorAll('body *')\n }\n\n var elements = document.querySelectorAll('[' + tag + ']')\n\n if (elements.length === 0) noTaggedElementsFound()\n\n return getMaxElement(side, elements)\n }\n\n function getAllElements() {\n return document.querySelectorAll('body *')\n }\n\n var getHeight = {\n bodyOffset: function getBodyOffsetHeight() {\n return (\n document.body.offsetHeight +\n getComputedStyle('marginTop') +\n getComputedStyle('marginBottom')\n )\n },\n\n offset: function () {\n return getHeight.bodyOffset() // Backwards compatibility\n },\n\n bodyScroll: function getBodyScrollHeight() {\n return document.body.scrollHeight\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.height()\n },\n\n documentElementOffset: function getDEOffsetHeight() {\n return document.documentElement.offsetHeight\n },\n\n documentElementScroll: function getDEScrollHeight() {\n return document.documentElement.scrollHeight\n },\n\n max: function getMaxHeight() {\n return Math.max.apply(null, getAllMeasurements(getHeight))\n },\n\n min: function getMinHeight() {\n return Math.min.apply(null, getAllMeasurements(getHeight))\n },\n\n grow: function growHeight() {\n return getHeight.max() // Run max without the forced downsizing\n },\n\n lowestElement: function getBestHeight() {\n return Math.max(\n getHeight.bodyOffset() || getHeight.documentElementOffset(),\n getMaxElement('bottom', getAllElements())\n )\n },\n\n taggedElement: function getTaggedElementsHeight() {\n return getTaggedElements('bottom', 'data-iframe-height')\n }\n },\n getWidth = {\n bodyScroll: function getBodyScrollWidth() {\n return document.body.scrollWidth\n },\n\n bodyOffset: function getBodyOffsetWidth() {\n return document.body.offsetWidth\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.width()\n },\n\n documentElementScroll: function getDEScrollWidth() {\n return document.documentElement.scrollWidth\n },\n\n documentElementOffset: function getDEOffsetWidth() {\n return document.documentElement.offsetWidth\n },\n\n scroll: function getMaxWidth() {\n return Math.max(getWidth.bodyScroll(), getWidth.documentElementScroll())\n },\n\n max: function getMaxWidth() {\n return Math.max.apply(null, getAllMeasurements(getWidth))\n },\n\n min: function getMinWidth() {\n return Math.min.apply(null, getAllMeasurements(getWidth))\n },\n\n rightMostElement: function rightMostElement() {\n return getMaxElement('right', getAllElements())\n },\n\n taggedElement: function getTaggedElementsWidth() {\n return getTaggedElements('right', 'data-iframe-width')\n }\n }\n\n function sizeIFrame(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n ) {\n function resizeIFrame() {\n height = currentHeight\n width = currentWidth\n\n sendMsg(height, width, triggerEvent)\n }\n\n function isSizeChangeDetected() {\n function checkTolarance(a, b) {\n var retVal = Math.abs(a - b) <= tolerance\n return !retVal\n }\n\n currentHeight =\n undefined === customHeight ? getHeight[heightCalcMode]() : customHeight\n currentWidth =\n undefined === customWidth ? getWidth[widthCalcMode]() : customWidth\n\n return (\n checkTolarance(height, currentHeight) ||\n (calculateWidth && checkTolarance(width, currentWidth))\n )\n }\n\n function isForceResizableEvent() {\n return !(triggerEvent in { init: 1, interval: 1, size: 1 })\n }\n\n function isForceResizableCalcMode() {\n return (\n heightCalcMode in resetRequiredMethods ||\n (calculateWidth && widthCalcMode in resetRequiredMethods)\n )\n }\n\n function logIgnored() {\n log('No change in size detected')\n }\n\n function checkDownSizing() {\n if (isForceResizableEvent() && isForceResizableCalcMode()) {\n resetIFrame(triggerEventDesc)\n } else if (!(triggerEvent in { interval: 1 })) {\n logIgnored()\n }\n }\n\n var currentHeight, currentWidth\n\n if (isSizeChangeDetected() || 'init' === triggerEvent) {\n lockTrigger()\n resizeIFrame()\n } else {\n checkDownSizing()\n }\n }\n\n var sizeIFrameThrottled = throttle(sizeIFrame)\n\n function sendSize(triggerEvent, triggerEventDesc, customHeight, customWidth) {\n function recordTrigger() {\n if (!(triggerEvent in { reset: 1, resetPage: 1, init: 1 })) {\n log('Trigger event: ' + triggerEventDesc)\n }\n }\n\n function isDoubleFiredEvent() {\n return triggerLocked && triggerEvent in doubleEventList\n }\n\n if (isDoubleFiredEvent()) {\n log('Trigger event cancelled: ' + triggerEvent)\n } else {\n recordTrigger()\n if (triggerEvent === 'init') {\n sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth)\n } else {\n sizeIFrameThrottled(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function lockTrigger() {\n if (!triggerLocked) {\n triggerLocked = true\n log('Trigger event lock on')\n }\n clearTimeout(triggerLockedTimer)\n triggerLockedTimer = setTimeout(function () {\n triggerLocked = false\n log('Trigger event lock off')\n log('--')\n }, eventCancelTimer)\n }\n\n function triggerReset(triggerEvent) {\n height = getHeight[heightCalcMode]()\n width = getWidth[widthCalcMode]()\n\n sendMsg(height, width, triggerEvent)\n }\n\n function resetIFrame(triggerEventDesc) {\n var hcm = heightCalcMode\n heightCalcMode = heightCalcModeDefault\n\n log('Reset trigger event: ' + triggerEventDesc)\n lockTrigger()\n triggerReset('reset')\n\n heightCalcMode = hcm\n }\n\n function sendMsg(height, width, triggerEvent, msg, targetOrigin) {\n function setTargetOrigin() {\n if (undefined === targetOrigin) {\n targetOrigin = targetOriginDefault\n } else {\n log('Message targetOrigin: ' + targetOrigin)\n }\n }\n\n function sendToParent() {\n var size = height + ':' + width,\n message =\n myID +\n ':' +\n size +\n ':' +\n triggerEvent +\n (undefined === msg ? '' : ':' + msg)\n\n log('Sending message to host page (' + message + ')')\n target.postMessage(msgID + message, targetOrigin)\n }\n\n if (true === sendPermit) {\n setTargetOrigin()\n sendToParent()\n }\n }\n\n function receiver(event) {\n var processRequestFromParent = {\n init: function initFromParent() {\n initMsg = event.data\n target = event.source\n\n init()\n firstRun = false\n setTimeout(function () {\n initLock = false\n }, eventCancelTimer)\n },\n\n reset: function resetFromParent() {\n if (initLock) {\n log('Page reset ignored by init')\n } else {\n log('Page size reset by host page')\n triggerReset('resetPage')\n }\n },\n\n resize: function resizeFromParent() {\n sendSize('resizeParent', 'Parent window requested size check')\n },\n\n moveToAnchor: function moveToAnchorF() {\n inPageLinks.findTarget(getData())\n },\n inPageLink: function inPageLinkF() {\n this.moveToAnchor()\n }, // Backward compatibility\n\n pageInfo: function pageInfoFromParent() {\n var msgBody = getData()\n log('PageInfoFromParent called from parent: ' + msgBody)\n onPageInfo(JSON.parse(msgBody))\n log(' --')\n },\n\n message: function messageFromParent() {\n var msgBody = getData()\n\n log('onMessage called from parent: ' + msgBody)\n // eslint-disable-next-line sonarjs/no-extra-arguments\n onMessage(JSON.parse(msgBody))\n log(' --')\n }\n }\n\n function isMessageForUs() {\n return msgID === ('' + event.data).slice(0, msgIdLen) // ''+ Protects against non-string messages\n }\n\n function getMessageType() {\n return event.data.split(']')[1].split(':')[0]\n }\n\n function getData() {\n return event.data.slice(event.data.indexOf(':') + 1)\n }\n\n function isMiddleTier() {\n return (\n (!(typeof module !== 'undefined' && module.exports) &&\n 'iFrameResize' in window) ||\n (window.jQuery !== undefined &&\n 'iFrameResize' in window.jQuery.prototype)\n )\n }\n\n function isInitMsg() {\n // Test if this message is from a child below us. This is an ugly test, however, updating\n // the message format would break backwards compatibility.\n return event.data.split(':')[2] in { true: 1, false: 1 }\n }\n\n function callFromParent() {\n var messageType = getMessageType()\n\n if (messageType in processRequestFromParent) {\n processRequestFromParent[messageType]()\n } else if (!isMiddleTier() && !isInitMsg()) {\n warn('Unexpected message (' + event.data + ')')\n }\n }\n\n function processMessage() {\n if (false === firstRun) {\n callFromParent()\n } else if (isInitMsg()) {\n processRequestFromParent.init()\n } else {\n log(\n 'Ignored message of type \"' +\n getMessageType() +\n '\". Received before initialization.'\n )\n }\n }\n\n if (isMessageForUs()) {\n processMessage()\n }\n }\n\n // Normally the parent kicks things off when it detects the iFrame has loaded.\n // If this script is async-loaded, then tell parent page to retry init.\n function chkLateLoaded() {\n if ('loading' !== document.readyState) {\n window.parent.postMessage('[iFrameResizerChild]Ready', '*')\n }\n }\n\n addEventListener(window, 'message', receiver)\n addEventListener(window, 'readystatechange', chkLateLoaded)\n chkLateLoaded()\n\n \n})()\n"],"names":[],"version":3,"file":"iframe.js.map"}