lookbook 1.5.2 → 2.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +33 -35
- data/app/components/lookbook/base_component.rb +3 -1
- data/app/components/lookbook/button/component.html.erb +14 -25
- data/app/components/lookbook/button/component.js +24 -7
- data/app/components/lookbook/button/component.rb +16 -25
- data/app/components/lookbook/code/component.rb +0 -2
- data/app/components/lookbook/code/highlight_github.css +16 -17
- data/app/components/lookbook/copy_button/component.html.erb +5 -5
- data/app/components/lookbook/copy_button/component.js +1 -1
- data/app/components/lookbook/copy_button/component.rb +6 -3
- data/app/components/lookbook/debug_menu/component.html.erb +3 -2
- data/app/components/lookbook/debug_menu/component.rb +12 -1
- data/app/components/lookbook/dimensions_display/component.html.erb +4 -4
- data/app/components/lookbook/dimensions_display/component.js +4 -7
- data/app/components/lookbook/display_options/editor/component.html.erb +1 -1
- data/app/components/lookbook/display_options/field/component.css +0 -26
- data/app/components/lookbook/display_options/field/component.html.erb +1 -1
- data/app/components/lookbook/display_options/field/component.js +1 -1
- data/app/components/lookbook/embed/component.html.erb +6 -51
- data/app/components/lookbook/embed/component.rb +17 -16
- data/app/components/lookbook/embed/inspector/component.html.erb +117 -0
- data/app/components/lookbook/embed/inspector/component.js +58 -0
- data/app/components/lookbook/embed/inspector/component.rb +64 -0
- data/app/components/lookbook/embed_code_dropdown/component.css +19 -0
- data/app/components/lookbook/embed_code_dropdown/component.html.erb +64 -0
- data/app/components/lookbook/embed_code_dropdown/component.js +3 -0
- data/app/components/lookbook/embed_code_dropdown/component.rb +51 -0
- data/app/components/lookbook/file_source/component.html.erb +9 -0
- data/app/components/lookbook/file_source/component.rb +73 -0
- data/app/components/lookbook/filter/component.html.erb +15 -15
- data/app/components/lookbook/header/component.css +12 -0
- data/app/components/lookbook/header/component.html.erb +28 -19
- data/app/components/lookbook/header/component.rb +9 -3
- data/app/components/lookbook/icon/component.css +9 -1
- data/app/components/lookbook/icon/component.html.erb +3 -3
- data/app/components/lookbook/icon/component.rb +7 -8
- data/app/components/lookbook/icon_button/component.html.erb +20 -0
- data/app/components/lookbook/icon_button/component.rb +46 -0
- data/app/components/lookbook/logo/component.html.erb +6 -0
- data/app/components/lookbook/logo/component.rb +15 -0
- data/app/components/lookbook/message/component.css +34 -0
- data/app/components/lookbook/message/component.html.erb +26 -0
- data/app/components/lookbook/message/component.rb +13 -0
- data/app/components/lookbook/nav/component.html.erb +1 -2
- data/app/components/lookbook/nav/directory/component.html.erb +4 -4
- data/app/components/lookbook/nav/entity/component.html.erb +9 -6
- data/app/components/lookbook/nav/entity/component.rb +3 -3
- data/app/components/lookbook/nav/item/component.js +9 -11
- data/app/components/lookbook/nav/item/component.rb +1 -1
- data/app/components/lookbook/page_tabs/component.html.erb +4 -4
- data/app/components/lookbook/params/editor/component.html.erb +1 -1
- data/app/components/lookbook/params/editor/component.rb +2 -1
- data/app/components/lookbook/params/field/component.css +3 -3
- data/app/components/lookbook/params/field/component.rb +2 -2
- data/app/components/lookbook/prose/component.css +14 -1
- data/app/components/lookbook/prose/component.html.erb +6 -1
- data/app/components/lookbook/prose/component.rb +3 -5
- data/app/components/lookbook/split_layout/component.html.erb +4 -4
- data/app/components/lookbook/tab_panels/component.rb +1 -1
- data/app/components/lookbook/tabs/component.html.erb +2 -2
- data/app/components/lookbook/tabs/component.js +2 -2
- data/app/components/lookbook/tabs/dropdown_tab/component.html.erb +1 -1
- data/app/components/lookbook/tabs/tab/component.html.erb +2 -2
- data/app/components/lookbook/tag_component.rb +10 -2
- data/app/components/lookbook/text_button/component.html.erb +26 -0
- data/app/components/lookbook/text_button/component.rb +42 -0
- data/app/components/lookbook/toolbar/component.html.erb +1 -1
- data/app/components/lookbook/viewport/component.html.erb +8 -8
- data/app/components/lookbook/viewport/component.rb +0 -4
- data/app/controllers/concerns/lookbook/targetable_concern.rb +27 -35
- data/app/controllers/concerns/lookbook/with_panels_concern.rb +30 -0
- data/app/controllers/concerns/lookbook/with_preview_controller_concern.rb +24 -5
- data/app/controllers/lookbook/application_controller.rb +55 -24
- data/app/controllers/lookbook/embeds_controller.rb +147 -0
- data/app/controllers/lookbook/inspector_controller.rb +5 -32
- data/app/controllers/lookbook/page_controller.rb +8 -7
- data/app/controllers/lookbook/pages_controller.rb +17 -30
- data/app/controllers/lookbook/preview_controller.rb +45 -0
- data/app/controllers/lookbook/previews_controller.rb +36 -32
- data/app/helpers/lookbook/application_helper.rb +12 -18
- data/app/views/layouts/lookbook/application.html.erb +104 -60
- data/app/views/layouts/lookbook/embed.html.erb +34 -0
- data/app/views/layouts/lookbook/skeleton.html.erb +16 -15
- data/app/views/lookbook/embeds/show.html.erb +12 -0
- data/app/views/lookbook/errors/default.html.erb +40 -0
- data/app/views/lookbook/errors/not_found.html.erb +10 -0
- data/app/views/lookbook/index.html.erb +39 -24
- data/app/views/lookbook/inspector/inputs/_color.html.erb +2 -1
- data/app/views/lookbook/inspector/inputs/_text_two_step.html.erb +19 -0
- data/app/views/lookbook/inspector/inputs/_toggle.html.erb +1 -1
- data/app/views/lookbook/inspector/panels/_notes.html.erb +1 -1
- data/app/views/lookbook/inspector/panels/_output.html.erb +3 -3
- data/app/views/lookbook/inspector/panels/_preview.html.erb +1 -0
- data/app/views/lookbook/inspector/panels/_source.html.erb +6 -6
- data/app/views/lookbook/inspector/show.html.erb +142 -123
- data/app/views/lookbook/pages/show.html.erb +91 -36
- data/app/views/lookbook/partials/_blank_slate.html.erb +7 -0
- data/app/views/lookbook/partials/_iframe_content_scripts.html.erb +1 -0
- data/app/views/lookbook/partials/_user_styles.html.erb +5 -0
- data/app/views/lookbook/previews/group.html.erb +15 -0
- data/app/views/lookbook/previews/preview.html.erb +13 -0
- data/app/views/lookbook/previews/show.html.erb +1 -0
- data/assets/css/fonts.css +33 -0
- data/{app/assets/lookbook → assets}/css/lookbook.css +23 -3
- data/{app/assets/lookbook → assets}/css/themes/blue.css +14 -1
- data/{app/assets/lookbook → assets}/css/themes/green.css +14 -1
- data/{app/assets/lookbook → assets}/css/themes/indigo.css +14 -1
- data/{app/assets/lookbook → assets}/css/themes/rose.css +14 -1
- data/{app/assets/lookbook → assets}/css/themes/zinc.css +14 -1
- data/{app/assets/lookbook → assets}/css/tooltip.css +9 -6
- data/assets/fonts/Inter-italic.var.woff2 +0 -0
- data/assets/fonts/Inter-roman.var.woff2 +0 -0
- data/assets/fonts/SourceCodeVariable-Italic.ttf.woff2 +0 -0
- data/assets/fonts/SourceCodeVariable-Roman.ttf.woff2 +0 -0
- data/assets/icons/accessibility.svg +1 -0
- data/assets/icons/activity.svg +1 -0
- data/assets/icons/air-vent.svg +1 -0
- data/assets/icons/airplay.svg +1 -0
- data/assets/icons/alarm-check.svg +1 -0
- data/assets/icons/alarm-clock-off.svg +1 -0
- data/assets/icons/alarm-clock.svg +1 -0
- data/assets/icons/alarm-minus.svg +1 -0
- data/assets/icons/alarm-plus.svg +1 -0
- data/assets/icons/album.svg +1 -0
- data/assets/icons/alert-circle.svg +1 -0
- data/assets/icons/alert-octagon.svg +1 -0
- data/assets/icons/alert-triangle.svg +1 -0
- data/assets/icons/align-center-horizontal.svg +1 -0
- data/assets/icons/align-center-vertical.svg +1 -0
- data/assets/icons/align-center.svg +1 -0
- data/assets/icons/align-end-horizontal.svg +1 -0
- data/assets/icons/align-end-vertical.svg +1 -0
- data/assets/icons/align-horizontal-distribute-center.svg +1 -0
- data/assets/icons/align-horizontal-distribute-end.svg +1 -0
- data/assets/icons/align-horizontal-distribute-start.svg +1 -0
- data/assets/icons/align-horizontal-justify-center.svg +1 -0
- data/assets/icons/align-horizontal-justify-end.svg +1 -0
- data/assets/icons/align-horizontal-justify-start.svg +1 -0
- data/assets/icons/align-horizontal-space-around.svg +1 -0
- data/assets/icons/align-horizontal-space-between.svg +1 -0
- data/assets/icons/align-justify.svg +1 -0
- data/assets/icons/align-left.svg +1 -0
- data/assets/icons/align-right.svg +1 -0
- data/assets/icons/align-start-horizontal.svg +1 -0
- data/assets/icons/align-start-vertical.svg +1 -0
- data/assets/icons/align-vertical-distribute-center.svg +1 -0
- data/assets/icons/align-vertical-distribute-end.svg +1 -0
- data/assets/icons/align-vertical-distribute-start.svg +1 -0
- data/assets/icons/align-vertical-justify-center.svg +1 -0
- data/assets/icons/align-vertical-justify-end.svg +1 -0
- data/assets/icons/align-vertical-justify-start.svg +1 -0
- data/assets/icons/align-vertical-space-around.svg +1 -0
- data/assets/icons/align-vertical-space-between.svg +1 -0
- data/assets/icons/anchor.svg +1 -0
- data/assets/icons/angry.svg +1 -0
- data/assets/icons/annoyed.svg +1 -0
- data/assets/icons/aperture.svg +1 -0
- data/assets/icons/apple.svg +1 -0
- data/assets/icons/archive-restore.svg +1 -0
- data/assets/icons/archive.svg +1 -0
- data/assets/icons/armchair.svg +1 -0
- data/assets/icons/arrow-big-down.svg +1 -0
- data/assets/icons/arrow-big-left.svg +1 -0
- data/assets/icons/arrow-big-right.svg +1 -0
- data/assets/icons/arrow-big-up.svg +1 -0
- data/assets/icons/arrow-down-circle.svg +1 -0
- data/assets/icons/arrow-down-left.svg +1 -0
- data/assets/icons/arrow-down-right.svg +1 -0
- data/assets/icons/arrow-down.svg +1 -0
- data/assets/icons/arrow-left-circle.svg +1 -0
- data/assets/icons/arrow-left-right.svg +1 -0
- data/assets/icons/arrow-left.svg +1 -0
- data/assets/icons/arrow-right-circle.svg +1 -0
- data/assets/icons/arrow-right.svg +1 -0
- data/assets/icons/arrow-up-circle.svg +1 -0
- data/assets/icons/arrow-up-down.svg +1 -0
- data/assets/icons/arrow-up-left.svg +1 -0
- data/assets/icons/arrow-up-right.svg +1 -0
- data/assets/icons/arrow-up.svg +1 -0
- data/assets/icons/asterisk.svg +1 -0
- data/assets/icons/at-sign.svg +1 -0
- data/assets/icons/award.svg +1 -0
- data/assets/icons/axe.svg +1 -0
- data/assets/icons/axis-3d.svg +1 -0
- data/assets/icons/baby.svg +1 -0
- data/assets/icons/backpack.svg +1 -0
- data/assets/icons/baggage-claim.svg +1 -0
- data/assets/icons/banana.svg +1 -0
- data/assets/icons/banknote.svg +1 -0
- data/assets/icons/bar-chart-2.svg +1 -0
- data/assets/icons/bar-chart-3.svg +1 -0
- data/assets/icons/bar-chart-4.svg +1 -0
- data/assets/icons/bar-chart-horizontal.svg +1 -0
- data/assets/icons/bar-chart.svg +1 -0
- data/assets/icons/baseline.svg +1 -0
- data/assets/icons/bath.svg +1 -0
- data/assets/icons/battery-charging.svg +1 -0
- data/assets/icons/battery-full.svg +1 -0
- data/assets/icons/battery-low.svg +1 -0
- data/assets/icons/battery-medium.svg +1 -0
- data/assets/icons/battery-warning.svg +1 -0
- data/assets/icons/battery.svg +1 -0
- data/assets/icons/beaker.svg +1 -0
- data/assets/icons/bean-off.svg +1 -0
- data/assets/icons/bean.svg +1 -0
- data/assets/icons/bed-double.svg +1 -0
- data/assets/icons/bed-single.svg +1 -0
- data/assets/icons/bed.svg +1 -0
- data/assets/icons/beef.svg +1 -0
- data/assets/icons/beer.svg +1 -0
- data/assets/icons/bell-minus.svg +1 -0
- data/assets/icons/bell-off.svg +1 -0
- data/assets/icons/bell-plus.svg +1 -0
- data/assets/icons/bell-ring.svg +1 -0
- data/assets/icons/bell.svg +1 -0
- data/assets/icons/bike.svg +1 -0
- data/assets/icons/binary.svg +1 -0
- data/assets/icons/bird.svg +1 -0
- data/assets/icons/bitcoin.svg +1 -0
- data/assets/icons/blinds.svg +1 -0
- data/assets/icons/bluetooth-connected.svg +1 -0
- data/assets/icons/bluetooth-off.svg +1 -0
- data/assets/icons/bluetooth-searching.svg +1 -0
- data/assets/icons/bluetooth.svg +1 -0
- data/assets/icons/bold.svg +1 -0
- data/assets/icons/bomb.svg +1 -0
- data/assets/icons/bone.svg +1 -0
- data/assets/icons/book-open-check.svg +1 -0
- data/assets/icons/book-open.svg +1 -0
- data/assets/icons/book.svg +1 -0
- data/assets/icons/bookmark-minus.svg +1 -0
- data/assets/icons/bookmark-plus.svg +1 -0
- data/assets/icons/bookmark.svg +1 -0
- data/assets/icons/bot.svg +1 -0
- data/assets/icons/box-select.svg +1 -0
- data/assets/icons/box.svg +1 -0
- data/assets/icons/boxes.svg +1 -0
- data/assets/icons/briefcase.svg +1 -0
- data/assets/icons/brush.svg +1 -0
- data/assets/icons/bug.svg +1 -0
- data/assets/icons/building-2.svg +1 -0
- data/assets/icons/building.svg +1 -0
- data/assets/icons/bus.svg +1 -0
- data/assets/icons/cake.svg +1 -0
- data/assets/icons/calculator.svg +1 -0
- data/assets/icons/calendar-check-2.svg +1 -0
- data/assets/icons/calendar-check.svg +1 -0
- data/assets/icons/calendar-clock.svg +1 -0
- data/assets/icons/calendar-days.svg +1 -0
- data/assets/icons/calendar-heart.svg +1 -0
- data/assets/icons/calendar-minus.svg +1 -0
- data/assets/icons/calendar-off.svg +1 -0
- data/assets/icons/calendar-plus.svg +1 -0
- data/assets/icons/calendar-range.svg +1 -0
- data/assets/icons/calendar-search.svg +1 -0
- data/assets/icons/calendar-x-2.svg +1 -0
- data/assets/icons/calendar-x.svg +1 -0
- data/assets/icons/calendar.svg +1 -0
- data/assets/icons/camera-off.svg +1 -0
- data/assets/icons/camera.svg +1 -0
- data/assets/icons/candy-off.svg +1 -0
- data/assets/icons/candy.svg +1 -0
- data/assets/icons/car.svg +1 -0
- data/assets/icons/carrot.svg +1 -0
- data/assets/icons/cast.svg +1 -0
- data/assets/icons/cat.svg +1 -0
- data/assets/icons/check-check.svg +1 -0
- data/assets/icons/check-circle-2.svg +1 -0
- data/assets/icons/check-circle.svg +1 -0
- data/assets/icons/check-square.svg +1 -0
- data/assets/icons/check.svg +1 -0
- data/assets/icons/chef-hat.svg +1 -0
- data/assets/icons/cherry.svg +1 -0
- data/assets/icons/chevron-down.svg +1 -0
- data/assets/icons/chevron-first.svg +1 -0
- data/assets/icons/chevron-last.svg +1 -0
- data/assets/icons/chevron-left.svg +1 -0
- data/assets/icons/chevron-right.svg +1 -0
- data/assets/icons/chevron-up.svg +1 -0
- data/assets/icons/chevrons-down-up.svg +1 -0
- data/assets/icons/chevrons-down.svg +1 -0
- data/assets/icons/chevrons-left-right.svg +1 -0
- data/assets/icons/chevrons-left.svg +1 -0
- data/assets/icons/chevrons-right-left.svg +1 -0
- data/assets/icons/chevrons-right.svg +1 -0
- data/assets/icons/chevrons-up-down.svg +1 -0
- data/assets/icons/chevrons-up.svg +1 -0
- data/assets/icons/chrome.svg +1 -0
- data/assets/icons/cigarette-off.svg +1 -0
- data/assets/icons/cigarette.svg +1 -0
- data/assets/icons/circle-dot.svg +1 -0
- data/assets/icons/circle-ellipsis.svg +1 -0
- data/assets/icons/circle-slashed.svg +1 -0
- data/assets/icons/circle.svg +1 -0
- data/assets/icons/citrus.svg +1 -0
- data/assets/icons/clapperboard.svg +1 -0
- data/assets/icons/clipboard-check.svg +1 -0
- data/assets/icons/clipboard-copy.svg +1 -0
- data/assets/icons/clipboard-edit.svg +1 -0
- data/assets/icons/clipboard-list.svg +1 -0
- data/assets/icons/clipboard-signature.svg +1 -0
- data/assets/icons/clipboard-type.svg +1 -0
- data/assets/icons/clipboard-x.svg +1 -0
- data/assets/icons/clipboard.svg +1 -0
- data/assets/icons/clock-1.svg +1 -0
- data/assets/icons/clock-10.svg +1 -0
- data/assets/icons/clock-11.svg +1 -0
- data/assets/icons/clock-12.svg +1 -0
- data/assets/icons/clock-2.svg +1 -0
- data/assets/icons/clock-3.svg +1 -0
- data/assets/icons/clock-4.svg +1 -0
- data/assets/icons/clock-5.svg +1 -0
- data/assets/icons/clock-6.svg +1 -0
- data/assets/icons/clock-7.svg +1 -0
- data/assets/icons/clock-8.svg +1 -0
- data/assets/icons/clock-9.svg +1 -0
- data/assets/icons/clock.svg +1 -0
- data/assets/icons/cloud-cog.svg +1 -0
- data/assets/icons/cloud-drizzle.svg +1 -0
- data/assets/icons/cloud-fog.svg +1 -0
- data/assets/icons/cloud-hail.svg +1 -0
- data/assets/icons/cloud-lightning.svg +1 -0
- data/assets/icons/cloud-moon-rain.svg +1 -0
- data/assets/icons/cloud-moon.svg +1 -0
- data/assets/icons/cloud-off.svg +1 -0
- data/assets/icons/cloud-rain-wind.svg +1 -0
- data/assets/icons/cloud-rain.svg +1 -0
- data/assets/icons/cloud-snow.svg +1 -0
- data/assets/icons/cloud-sun-rain.svg +1 -0
- data/assets/icons/cloud-sun.svg +1 -0
- data/assets/icons/cloud.svg +1 -0
- data/assets/icons/cloudy.svg +1 -0
- data/assets/icons/clover.svg +1 -0
- data/assets/icons/code-2.svg +1 -0
- data/assets/icons/code.svg +1 -0
- data/assets/icons/codepen.svg +1 -0
- data/assets/icons/codesandbox.svg +1 -0
- data/assets/icons/coffee.svg +1 -0
- data/assets/icons/cog.svg +1 -0
- data/assets/icons/coins.svg +1 -0
- data/assets/icons/columns.svg +1 -0
- data/assets/icons/command.svg +1 -0
- data/assets/icons/compass.svg +1 -0
- data/assets/icons/component.svg +1 -0
- data/assets/icons/concierge-bell.svg +1 -0
- data/assets/icons/construction.svg +1 -0
- data/assets/icons/contact.svg +1 -0
- data/assets/icons/contrast.svg +1 -0
- data/assets/icons/cookie.svg +1 -0
- data/assets/icons/copy.svg +1 -0
- data/assets/icons/copyleft.svg +1 -0
- data/assets/icons/copyright.svg +1 -0
- data/assets/icons/corner-down-left.svg +1 -0
- data/assets/icons/corner-down-right.svg +1 -0
- data/assets/icons/corner-left-down.svg +1 -0
- data/assets/icons/corner-left-up.svg +1 -0
- data/assets/icons/corner-right-down.svg +1 -0
- data/assets/icons/corner-right-up.svg +1 -0
- data/assets/icons/corner-up-left.svg +1 -0
- data/assets/icons/corner-up-right.svg +1 -0
- data/assets/icons/cpu.svg +1 -0
- data/assets/icons/creative-commons.svg +1 -0
- data/assets/icons/credit-card.svg +1 -0
- data/assets/icons/croissant.svg +1 -0
- data/assets/icons/crop.svg +1 -0
- data/assets/icons/cross.svg +1 -0
- data/assets/icons/crosshair.svg +1 -0
- data/assets/icons/crown.svg +1 -0
- data/assets/icons/cup-soda.svg +1 -0
- data/assets/icons/curly-braces.svg +1 -0
- data/assets/icons/currency.svg +1 -0
- data/assets/icons/database-backup.svg +1 -0
- data/assets/icons/database.svg +1 -0
- data/assets/icons/delete.svg +1 -0
- data/assets/icons/diamond.svg +1 -0
- data/assets/icons/dice-1.svg +1 -0
- data/assets/icons/dice-2.svg +1 -0
- data/assets/icons/dice-3.svg +1 -0
- data/assets/icons/dice-4.svg +1 -0
- data/assets/icons/dice-5.svg +1 -0
- data/assets/icons/dice-6.svg +1 -0
- data/assets/icons/dices.svg +1 -0
- data/assets/icons/diff.svg +1 -0
- data/assets/icons/disc.svg +1 -0
- data/assets/icons/divide-circle.svg +1 -0
- data/assets/icons/divide-square.svg +1 -0
- data/assets/icons/divide.svg +1 -0
- data/assets/icons/dna-off.svg +1 -0
- data/assets/icons/dna.svg +1 -0
- data/assets/icons/dog.svg +1 -0
- data/assets/icons/dollar-sign.svg +1 -0
- data/assets/icons/download-cloud.svg +1 -0
- data/assets/icons/download.svg +1 -0
- data/assets/icons/dribbble.svg +1 -0
- data/assets/icons/droplet.svg +1 -0
- data/assets/icons/droplets.svg +1 -0
- data/assets/icons/drumstick.svg +1 -0
- data/assets/icons/dumbbell.svg +1 -0
- data/assets/icons/ear-off.svg +1 -0
- data/assets/icons/ear.svg +1 -0
- data/assets/icons/edit-2.svg +1 -0
- data/assets/icons/edit-3.svg +1 -0
- data/assets/icons/edit.svg +1 -0
- data/assets/icons/egg-fried.svg +1 -0
- data/assets/icons/egg-off.svg +1 -0
- data/assets/icons/egg.svg +1 -0
- data/assets/icons/equal-not.svg +1 -0
- data/assets/icons/equal.svg +1 -0
- data/assets/icons/eraser.svg +1 -0
- data/assets/icons/euro.svg +1 -0
- data/assets/icons/expand.svg +1 -0
- data/assets/icons/external-link.svg +1 -0
- data/assets/icons/eye-off.svg +1 -0
- data/assets/icons/eye.svg +1 -0
- data/assets/icons/facebook.svg +1 -0
- data/assets/icons/factory.svg +1 -0
- data/assets/icons/fan.svg +1 -0
- data/assets/icons/fast-forward.svg +1 -0
- data/assets/icons/feather.svg +1 -0
- data/assets/icons/figma.svg +1 -0
- data/assets/icons/file-archive.svg +1 -0
- data/assets/icons/file-audio-2.svg +1 -0
- data/assets/icons/file-audio.svg +1 -0
- data/assets/icons/file-axis-3d.svg +1 -0
- data/assets/icons/file-badge-2.svg +1 -0
- data/assets/icons/file-badge.svg +1 -0
- data/assets/icons/file-bar-chart-2.svg +1 -0
- data/assets/icons/file-bar-chart.svg +1 -0
- data/assets/icons/file-box.svg +1 -0
- data/assets/icons/file-check-2.svg +1 -0
- data/assets/icons/file-check.svg +1 -0
- data/assets/icons/file-clock.svg +1 -0
- data/assets/icons/file-code.svg +1 -0
- data/assets/icons/file-cog-2.svg +1 -0
- data/assets/icons/file-cog.svg +1 -0
- data/assets/icons/file-diff.svg +1 -0
- data/assets/icons/file-digit.svg +1 -0
- data/assets/icons/file-down.svg +1 -0
- data/assets/icons/file-edit.svg +1 -0
- data/assets/icons/file-heart.svg +1 -0
- data/assets/icons/file-image.svg +1 -0
- data/assets/icons/file-input.svg +1 -0
- data/assets/icons/file-json-2.svg +1 -0
- data/assets/icons/file-json.svg +1 -0
- data/assets/icons/file-key-2.svg +1 -0
- data/assets/icons/file-key.svg +1 -0
- data/assets/icons/file-line-chart.svg +1 -0
- data/assets/icons/file-lock-2.svg +1 -0
- data/assets/icons/file-lock.svg +1 -0
- data/assets/icons/file-minus-2.svg +1 -0
- data/assets/icons/file-minus.svg +1 -0
- data/assets/icons/file-output.svg +1 -0
- data/assets/icons/file-pie-chart.svg +1 -0
- data/assets/icons/file-plus-2.svg +1 -0
- data/assets/icons/file-plus.svg +1 -0
- data/assets/icons/file-question.svg +1 -0
- data/assets/icons/file-scan.svg +1 -0
- data/assets/icons/file-search-2.svg +1 -0
- data/assets/icons/file-search.svg +1 -0
- data/assets/icons/file-signature.svg +1 -0
- data/assets/icons/file-spreadsheet.svg +1 -0
- data/assets/icons/file-symlink.svg +1 -0
- data/assets/icons/file-terminal.svg +1 -0
- data/assets/icons/file-text.svg +1 -0
- data/assets/icons/file-type-2.svg +1 -0
- data/assets/icons/file-type.svg +1 -0
- data/assets/icons/file-up.svg +1 -0
- data/assets/icons/file-video-2.svg +1 -0
- data/assets/icons/file-video.svg +1 -0
- data/assets/icons/file-volume-2.svg +1 -0
- data/assets/icons/file-volume.svg +1 -0
- data/assets/icons/file-warning.svg +1 -0
- data/assets/icons/file-x-2.svg +1 -0
- data/assets/icons/file-x.svg +1 -0
- data/assets/icons/file.svg +1 -0
- data/assets/icons/files.svg +1 -0
- data/assets/icons/film.svg +1 -0
- data/assets/icons/filter-x.svg +1 -0
- data/assets/icons/filter.svg +1 -0
- data/assets/icons/fingerprint.svg +1 -0
- data/assets/icons/fish-off.svg +1 -0
- data/assets/icons/fish.svg +1 -0
- data/assets/icons/flag-off.svg +1 -0
- data/assets/icons/flag-triangle-left.svg +1 -0
- data/assets/icons/flag-triangle-right.svg +1 -0
- data/assets/icons/flag.svg +1 -0
- data/assets/icons/flame.svg +1 -0
- data/assets/icons/flashlight-off.svg +1 -0
- data/assets/icons/flashlight.svg +1 -0
- data/assets/icons/flask-conical-off.svg +1 -0
- data/assets/icons/flask-conical.svg +1 -0
- data/assets/icons/flask-round.svg +1 -0
- data/assets/icons/flip-horizontal-2.svg +1 -0
- data/assets/icons/flip-horizontal.svg +1 -0
- data/assets/icons/flip-vertical-2.svg +1 -0
- data/assets/icons/flip-vertical.svg +1 -0
- data/assets/icons/flower-2.svg +1 -0
- data/assets/icons/flower.svg +1 -0
- data/assets/icons/focus.svg +1 -0
- data/assets/icons/folder-archive.svg +1 -0
- data/assets/icons/folder-check.svg +1 -0
- data/assets/icons/folder-clock.svg +1 -0
- data/assets/icons/folder-closed.svg +1 -0
- data/assets/icons/folder-cog-2.svg +1 -0
- data/assets/icons/folder-cog.svg +1 -0
- data/assets/icons/folder-down.svg +1 -0
- data/assets/icons/folder-edit.svg +1 -0
- data/assets/icons/folder-heart.svg +1 -0
- data/assets/icons/folder-input.svg +1 -0
- data/assets/icons/folder-key.svg +1 -0
- data/assets/icons/folder-lock.svg +1 -0
- data/assets/icons/folder-minus.svg +1 -0
- data/assets/icons/folder-open.svg +1 -0
- data/assets/icons/folder-output.svg +1 -0
- data/assets/icons/folder-plus.svg +1 -0
- data/assets/icons/folder-search-2.svg +1 -0
- data/assets/icons/folder-search.svg +1 -0
- data/assets/icons/folder-symlink.svg +1 -0
- data/assets/icons/folder-tree.svg +1 -0
- data/assets/icons/folder-up.svg +1 -0
- data/assets/icons/folder-x.svg +1 -0
- data/assets/icons/folder.svg +1 -0
- data/assets/icons/folders.svg +1 -0
- data/assets/icons/footprints.svg +1 -0
- data/assets/icons/forklift.svg +1 -0
- data/assets/icons/form-input.svg +1 -0
- data/assets/icons/forward.svg +1 -0
- data/assets/icons/frame.svg +1 -0
- data/assets/icons/framer.svg +1 -0
- data/assets/icons/frown.svg +1 -0
- data/assets/icons/fuel.svg +1 -0
- data/assets/icons/function-square.svg +1 -0
- data/assets/icons/gamepad-2.svg +1 -0
- data/assets/icons/gamepad.svg +1 -0
- data/assets/icons/gauge.svg +1 -0
- data/assets/icons/gavel.svg +1 -0
- data/assets/icons/gem.svg +1 -0
- data/assets/icons/ghost.svg +1 -0
- data/assets/icons/gift.svg +1 -0
- data/assets/icons/git-branch-plus.svg +1 -0
- data/assets/icons/git-branch.svg +1 -0
- data/assets/icons/git-commit.svg +1 -0
- data/assets/icons/git-compare.svg +1 -0
- data/assets/icons/git-fork.svg +1 -0
- data/assets/icons/git-merge.svg +1 -0
- data/assets/icons/git-pull-request-closed.svg +1 -0
- data/assets/icons/git-pull-request-draft.svg +1 -0
- data/assets/icons/git-pull-request.svg +1 -0
- data/assets/icons/github.svg +1 -0
- data/assets/icons/gitlab.svg +1 -0
- data/assets/icons/glass-water.svg +1 -0
- data/assets/icons/glasses.svg +1 -0
- data/assets/icons/globe-2.svg +1 -0
- data/assets/icons/globe.svg +1 -0
- data/assets/icons/grab.svg +1 -0
- data/assets/icons/graduation-cap.svg +1 -0
- data/assets/icons/grape.svg +1 -0
- data/assets/icons/grid.svg +1 -0
- data/assets/icons/grip-horizontal.svg +1 -0
- data/assets/icons/grip-vertical.svg +1 -0
- data/assets/icons/grip.svg +1 -0
- data/assets/icons/hammer.svg +1 -0
- data/assets/icons/hand-metal.svg +1 -0
- data/assets/icons/hand.svg +1 -0
- data/assets/icons/hard-drive.svg +1 -0
- data/assets/icons/hard-hat.svg +1 -0
- data/assets/icons/hash.svg +1 -0
- data/assets/icons/haze.svg +1 -0
- data/assets/icons/heading-1.svg +1 -0
- data/assets/icons/heading-2.svg +1 -0
- data/assets/icons/heading-3.svg +1 -0
- data/assets/icons/heading-4.svg +1 -0
- data/assets/icons/heading-5.svg +1 -0
- data/assets/icons/heading-6.svg +1 -0
- data/assets/icons/heading.svg +1 -0
- data/assets/icons/headphones.svg +1 -0
- data/assets/icons/heart-crack.svg +1 -0
- data/assets/icons/heart-handshake.svg +1 -0
- data/assets/icons/heart-off.svg +1 -0
- data/assets/icons/heart-pulse.svg +1 -0
- data/assets/icons/heart.svg +1 -0
- data/assets/icons/help-circle.svg +1 -0
- data/assets/icons/helping-hand.svg +1 -0
- data/assets/icons/hexagon.svg +1 -0
- data/assets/icons/highlighter.svg +1 -0
- data/assets/icons/history.svg +1 -0
- data/assets/icons/home.svg +1 -0
- data/assets/icons/hop-off.svg +1 -0
- data/assets/icons/hop.svg +1 -0
- data/assets/icons/hourglass.svg +1 -0
- data/assets/icons/ice-cream-2.svg +1 -0
- data/assets/icons/ice-cream.svg +1 -0
- data/assets/icons/image-minus.svg +1 -0
- data/assets/icons/image-off.svg +1 -0
- data/assets/icons/image-plus.svg +1 -0
- data/assets/icons/image.svg +1 -0
- data/assets/icons/import.svg +1 -0
- data/assets/icons/inbox.svg +1 -0
- data/assets/icons/indent.svg +1 -0
- data/assets/icons/indian-rupee.svg +1 -0
- data/assets/icons/infinity.svg +1 -0
- data/assets/icons/info.svg +1 -0
- data/assets/icons/inspect.svg +1 -0
- data/assets/icons/instagram.svg +1 -0
- data/assets/icons/italic.svg +1 -0
- data/assets/icons/japanese-yen.svg +1 -0
- data/assets/icons/joystick.svg +1 -0
- data/assets/icons/key.svg +1 -0
- data/assets/icons/keyboard.svg +1 -0
- data/assets/icons/lamp-ceiling.svg +1 -0
- data/assets/icons/lamp-desk.svg +1 -0
- data/assets/icons/lamp-floor.svg +1 -0
- data/assets/icons/lamp-wall-down.svg +1 -0
- data/assets/icons/lamp-wall-up.svg +1 -0
- data/assets/icons/lamp.svg +1 -0
- data/assets/icons/landmark.svg +1 -0
- data/assets/icons/languages.svg +1 -0
- data/assets/icons/laptop-2.svg +1 -0
- data/assets/icons/laptop.svg +1 -0
- data/assets/icons/lasso-select.svg +1 -0
- data/assets/icons/lasso.svg +1 -0
- data/assets/icons/laugh.svg +1 -0
- data/assets/icons/layers.svg +1 -0
- data/assets/icons/layout-dashboard.svg +1 -0
- data/assets/icons/layout-grid.svg +1 -0
- data/assets/icons/layout-list.svg +1 -0
- data/assets/icons/layout-template.svg +1 -0
- data/assets/icons/layout.svg +1 -0
- data/assets/icons/leaf.svg +1 -0
- data/assets/icons/library.svg +1 -0
- data/assets/icons/life-buoy.svg +1 -0
- data/assets/icons/lightbulb-off.svg +1 -0
- data/assets/icons/lightbulb.svg +1 -0
- data/assets/icons/line-chart.svg +1 -0
- data/assets/icons/link-2-off.svg +1 -0
- data/assets/icons/link-2.svg +1 -0
- data/assets/icons/link.svg +1 -0
- data/assets/icons/linkedin.svg +1 -0
- data/assets/icons/list-checks.svg +1 -0
- data/assets/icons/list-end.svg +1 -0
- data/assets/icons/list-minus.svg +1 -0
- data/assets/icons/list-music.svg +1 -0
- data/assets/icons/list-ordered.svg +1 -0
- data/assets/icons/list-plus.svg +1 -0
- data/assets/icons/list-start.svg +1 -0
- data/assets/icons/list-video.svg +1 -0
- data/assets/icons/list-x.svg +1 -0
- data/assets/icons/list.svg +1 -0
- data/assets/icons/loader-2.svg +1 -0
- data/assets/icons/loader.svg +1 -0
- data/assets/icons/locate-fixed.svg +1 -0
- data/assets/icons/locate-off.svg +1 -0
- data/assets/icons/locate.svg +1 -0
- data/assets/icons/lock.svg +1 -0
- data/assets/icons/log-in.svg +1 -0
- data/assets/icons/log-out.svg +1 -0
- data/assets/icons/luggage.svg +1 -0
- data/assets/icons/magnet.svg +1 -0
- data/assets/icons/mail-check.svg +1 -0
- data/assets/icons/mail-minus.svg +1 -0
- data/assets/icons/mail-open.svg +1 -0
- data/assets/icons/mail-plus.svg +1 -0
- data/assets/icons/mail-question.svg +1 -0
- data/assets/icons/mail-search.svg +1 -0
- data/assets/icons/mail-warning.svg +1 -0
- data/assets/icons/mail-x.svg +1 -0
- data/assets/icons/mail.svg +1 -0
- data/assets/icons/mails.svg +1 -0
- data/assets/icons/map-pin-off.svg +1 -0
- data/assets/icons/map-pin.svg +1 -0
- data/assets/icons/map.svg +1 -0
- data/assets/icons/martini.svg +1 -0
- data/assets/icons/maximize-2.svg +1 -0
- data/assets/icons/maximize.svg +1 -0
- data/assets/icons/medal.svg +1 -0
- data/assets/icons/megaphone-off.svg +1 -0
- data/assets/icons/megaphone.svg +1 -0
- data/assets/icons/meh.svg +1 -0
- data/assets/icons/menu.svg +1 -0
- data/assets/icons/message-circle.svg +1 -0
- data/assets/icons/message-square.svg +1 -0
- data/assets/icons/mic-2.svg +1 -0
- data/assets/icons/mic-off.svg +1 -0
- data/assets/icons/mic.svg +1 -0
- data/assets/icons/microscope.svg +1 -0
- data/assets/icons/microwave.svg +1 -0
- data/assets/icons/milestone.svg +1 -0
- data/assets/icons/milk-off.svg +1 -0
- data/assets/icons/milk.svg +1 -0
- data/assets/icons/minimize-2.svg +1 -0
- data/assets/icons/minimize.svg +1 -0
- data/assets/icons/minus-circle.svg +1 -0
- data/assets/icons/minus-square.svg +1 -0
- data/assets/icons/minus.svg +1 -0
- data/assets/icons/monitor-off.svg +1 -0
- data/assets/icons/monitor-smartphone.svg +1 -0
- data/assets/icons/monitor-speaker.svg +1 -0
- data/assets/icons/monitor.svg +1 -0
- data/assets/icons/moon.svg +1 -0
- data/assets/icons/more-horizontal.svg +1 -0
- data/assets/icons/more-vertical.svg +1 -0
- data/assets/icons/mountain-snow.svg +1 -0
- data/assets/icons/mountain.svg +1 -0
- data/assets/icons/mouse-pointer-2.svg +1 -0
- data/assets/icons/mouse-pointer-click.svg +1 -0
- data/assets/icons/mouse-pointer.svg +1 -0
- data/assets/icons/mouse.svg +1 -0
- data/assets/icons/move-3d.svg +1 -0
- data/assets/icons/move-diagonal-2.svg +1 -0
- data/assets/icons/move-diagonal.svg +1 -0
- data/assets/icons/move-horizontal.svg +1 -0
- data/assets/icons/move-vertical.svg +1 -0
- data/assets/icons/move.svg +1 -0
- data/assets/icons/music-2.svg +1 -0
- data/assets/icons/music-3.svg +1 -0
- data/assets/icons/music-4.svg +1 -0
- data/assets/icons/music.svg +1 -0
- data/assets/icons/navigation-2-off.svg +1 -0
- data/assets/icons/navigation-2.svg +1 -0
- data/assets/icons/navigation-off.svg +1 -0
- data/assets/icons/navigation.svg +1 -0
- data/assets/icons/network.svg +1 -0
- data/assets/icons/newspaper.svg +1 -0
- data/assets/icons/nfc.svg +1 -0
- data/assets/icons/nut-off.svg +1 -0
- data/assets/icons/nut.svg +1 -0
- data/assets/icons/octagon.svg +1 -0
- data/assets/icons/option.svg +1 -0
- data/assets/icons/outdent.svg +1 -0
- data/assets/icons/package-2.svg +1 -0
- data/assets/icons/package-check.svg +1 -0
- data/assets/icons/package-minus.svg +1 -0
- data/assets/icons/package-open.svg +1 -0
- data/assets/icons/package-plus.svg +1 -0
- data/assets/icons/package-search.svg +1 -0
- data/assets/icons/package-x.svg +1 -0
- data/assets/icons/package.svg +1 -0
- data/assets/icons/paint-bucket.svg +1 -0
- data/assets/icons/paintbrush-2.svg +1 -0
- data/assets/icons/paintbrush.svg +1 -0
- data/assets/icons/palette.svg +1 -0
- data/assets/icons/palmtree.svg +1 -0
- data/assets/icons/paperclip.svg +1 -0
- data/assets/icons/party-popper.svg +1 -0
- data/assets/icons/pause-circle.svg +1 -0
- data/assets/icons/pause-octagon.svg +1 -0
- data/assets/icons/pause.svg +1 -0
- data/assets/icons/pen-tool.svg +1 -0
- data/assets/icons/pencil.svg +1 -0
- data/assets/icons/percent.svg +1 -0
- data/assets/icons/person-standing.svg +1 -0
- data/assets/icons/phone-call.svg +1 -0
- data/assets/icons/phone-forwarded.svg +1 -0
- data/assets/icons/phone-incoming.svg +1 -0
- data/assets/icons/phone-missed.svg +1 -0
- data/assets/icons/phone-off.svg +1 -0
- data/assets/icons/phone-outgoing.svg +1 -0
- data/assets/icons/phone.svg +1 -0
- data/assets/icons/picture-in-picture-2.svg +1 -0
- data/assets/icons/picture-in-picture.svg +1 -0
- data/assets/icons/pie-chart.svg +1 -0
- data/assets/icons/piggy-bank.svg +1 -0
- data/assets/icons/pilcrow.svg +1 -0
- data/assets/icons/pill.svg +1 -0
- data/assets/icons/pin-off.svg +1 -0
- data/assets/icons/pin.svg +1 -0
- data/assets/icons/pipette.svg +1 -0
- data/assets/icons/pizza.svg +1 -0
- data/assets/icons/plane.svg +1 -0
- data/assets/icons/play-circle.svg +1 -0
- data/assets/icons/play.svg +1 -0
- data/assets/icons/plug-2.svg +1 -0
- data/assets/icons/plug-zap.svg +1 -0
- data/assets/icons/plug.svg +1 -0
- data/assets/icons/plus-circle.svg +1 -0
- data/assets/icons/plus-square.svg +1 -0
- data/assets/icons/plus.svg +1 -0
- data/assets/icons/pocket.svg +1 -0
- data/assets/icons/podcast.svg +1 -0
- data/assets/icons/pointer.svg +1 -0
- data/assets/icons/pound-sterling.svg +1 -0
- data/assets/icons/power-off.svg +1 -0
- data/assets/icons/power.svg +1 -0
- data/assets/icons/printer.svg +1 -0
- data/assets/icons/puzzle.svg +1 -0
- data/assets/icons/qr-code.svg +1 -0
- data/assets/icons/quote.svg +1 -0
- data/assets/icons/radio-receiver.svg +1 -0
- data/assets/icons/radio.svg +1 -0
- data/assets/icons/rectangle-horizontal.svg +1 -0
- data/assets/icons/rectangle-vertical.svg +1 -0
- data/assets/icons/recycle.svg +1 -0
- data/assets/icons/redo-2.svg +1 -0
- data/assets/icons/redo.svg +1 -0
- data/assets/icons/refresh-ccw.svg +1 -0
- data/assets/icons/refresh-cw.svg +1 -0
- data/assets/icons/refrigerator.svg +1 -0
- data/assets/icons/regex.svg +1 -0
- data/assets/icons/remove-formatting.svg +1 -0
- data/assets/icons/repeat-1.svg +1 -0
- data/assets/icons/repeat.svg +1 -0
- data/assets/icons/reply-all.svg +1 -0
- data/assets/icons/reply.svg +1 -0
- data/assets/icons/rewind.svg +1 -0
- data/assets/icons/rocket.svg +1 -0
- data/assets/icons/rocking-chair.svg +1 -0
- data/assets/icons/rotate-3d.svg +1 -0
- data/assets/icons/rotate-ccw.svg +1 -0
- data/assets/icons/rotate-cw.svg +1 -0
- data/assets/icons/router.svg +1 -0
- data/assets/icons/rss.svg +1 -0
- data/assets/icons/ruler.svg +1 -0
- data/assets/icons/russian-ruble.svg +1 -0
- data/assets/icons/sailboat.svg +1 -0
- data/assets/icons/salad.svg +1 -0
- data/assets/icons/sandwich.svg +1 -0
- data/assets/icons/save.svg +1 -0
- data/assets/icons/scale-3d.svg +1 -0
- data/assets/icons/scale.svg +1 -0
- data/assets/icons/scaling.svg +1 -0
- data/assets/icons/scan-face.svg +1 -0
- data/assets/icons/scan-line.svg +1 -0
- data/assets/icons/scan.svg +1 -0
- data/assets/icons/scissors.svg +1 -0
- data/assets/icons/screen-share-off.svg +1 -0
- data/assets/icons/screen-share.svg +1 -0
- data/assets/icons/scroll.svg +1 -0
- data/assets/icons/search.svg +1 -0
- data/assets/icons/send.svg +1 -0
- data/assets/icons/separator-horizontal.svg +1 -0
- data/assets/icons/separator-vertical.svg +1 -0
- data/assets/icons/server-cog.svg +1 -0
- data/assets/icons/server-crash.svg +1 -0
- data/assets/icons/server-off.svg +1 -0
- data/assets/icons/server.svg +1 -0
- data/assets/icons/settings-2.svg +1 -0
- data/assets/icons/settings.svg +1 -0
- data/assets/icons/share-2.svg +1 -0
- data/assets/icons/share.svg +1 -0
- data/assets/icons/sheet.svg +1 -0
- data/assets/icons/shield-alert.svg +1 -0
- data/assets/icons/shield-check.svg +1 -0
- data/assets/icons/shield-close.svg +1 -0
- data/assets/icons/shield-off.svg +1 -0
- data/assets/icons/shield.svg +1 -0
- data/assets/icons/ship.svg +1 -0
- data/assets/icons/shirt.svg +1 -0
- data/assets/icons/shopping-bag.svg +1 -0
- data/assets/icons/shopping-cart.svg +1 -0
- data/assets/icons/shovel.svg +1 -0
- data/assets/icons/shower-head.svg +1 -0
- data/assets/icons/shrink.svg +1 -0
- data/assets/icons/shrub.svg +1 -0
- data/assets/icons/shuffle.svg +1 -0
- data/assets/icons/sidebar-close.svg +1 -0
- data/assets/icons/sidebar-open.svg +1 -0
- data/assets/icons/sidebar.svg +1 -0
- data/assets/icons/sigma.svg +1 -0
- data/assets/icons/signal-high.svg +1 -0
- data/assets/icons/signal-low.svg +1 -0
- data/assets/icons/signal-medium.svg +1 -0
- data/assets/icons/signal-zero.svg +1 -0
- data/assets/icons/signal.svg +1 -0
- data/assets/icons/siren.svg +1 -0
- data/assets/icons/skip-back.svg +1 -0
- data/assets/icons/skip-forward.svg +1 -0
- data/assets/icons/skull.svg +1 -0
- data/assets/icons/slack.svg +1 -0
- data/assets/icons/slash.svg +1 -0
- data/assets/icons/slice.svg +1 -0
- data/assets/icons/sliders-horizontal.svg +1 -0
- data/assets/icons/sliders.svg +1 -0
- data/assets/icons/smartphone-charging.svg +1 -0
- data/assets/icons/smartphone-nfc.svg +1 -0
- data/assets/icons/smartphone.svg +1 -0
- data/assets/icons/smile-plus.svg +1 -0
- data/assets/icons/smile.svg +1 -0
- data/assets/icons/snowflake.svg +1 -0
- data/assets/icons/sofa.svg +1 -0
- data/assets/icons/sort-asc.svg +1 -0
- data/assets/icons/sort-desc.svg +1 -0
- data/assets/icons/soup.svg +1 -0
- data/assets/icons/speaker.svg +1 -0
- data/assets/icons/spline.svg +1 -0
- data/assets/icons/split-square-horizontal.svg +1 -0
- data/assets/icons/split-square-vertical.svg +1 -0
- data/assets/icons/sprout.svg +1 -0
- data/assets/icons/square.svg +1 -0
- data/assets/icons/stamp.svg +1 -0
- data/assets/icons/star-half.svg +1 -0
- data/assets/icons/star-off.svg +1 -0
- data/assets/icons/star.svg +1 -0
- data/assets/icons/stethoscope.svg +1 -0
- data/assets/icons/sticker.svg +1 -0
- data/assets/icons/sticky-note.svg +1 -0
- data/assets/icons/stop-circle.svg +1 -0
- data/assets/icons/stretch-horizontal.svg +1 -0
- data/assets/icons/stretch-vertical.svg +1 -0
- data/assets/icons/strikethrough.svg +1 -0
- data/assets/icons/subscript.svg +1 -0
- data/assets/icons/subtitles.svg +1 -0
- data/assets/icons/sun-dim.svg +1 -0
- data/assets/icons/sun-medium.svg +1 -0
- data/assets/icons/sun-moon.svg +1 -0
- data/assets/icons/sun-snow.svg +1 -0
- data/assets/icons/sun.svg +1 -0
- data/assets/icons/sunrise.svg +1 -0
- data/assets/icons/sunset.svg +1 -0
- data/assets/icons/superscript.svg +1 -0
- data/assets/icons/swiss-franc.svg +1 -0
- data/assets/icons/switch-camera.svg +1 -0
- data/assets/icons/sword.svg +1 -0
- data/assets/icons/swords.svg +1 -0
- data/assets/icons/syringe.svg +1 -0
- data/assets/icons/table-2.svg +1 -0
- data/assets/icons/table.svg +1 -0
- data/assets/icons/tablet.svg +1 -0
- data/assets/icons/tablets.svg +1 -0
- data/assets/icons/tag.svg +1 -0
- data/assets/icons/tags.svg +1 -0
- data/assets/icons/target.svg +1 -0
- data/assets/icons/tent.svg +1 -0
- data/assets/icons/terminal-square.svg +1 -0
- data/assets/icons/terminal.svg +1 -0
- data/assets/icons/text-cursor-input.svg +1 -0
- data/assets/icons/text-cursor.svg +1 -0
- data/assets/icons/thermometer-snowflake.svg +1 -0
- data/assets/icons/thermometer-sun.svg +1 -0
- data/assets/icons/thermometer.svg +1 -0
- data/assets/icons/thumbs-down.svg +1 -0
- data/assets/icons/thumbs-up.svg +1 -0
- data/assets/icons/ticket.svg +1 -0
- data/assets/icons/timer-off.svg +1 -0
- data/assets/icons/timer-reset.svg +1 -0
- data/assets/icons/timer.svg +1 -0
- data/assets/icons/toggle-left.svg +1 -0
- data/assets/icons/toggle-right.svg +1 -0
- data/assets/icons/tornado.svg +1 -0
- data/assets/icons/tower-control.svg +1 -0
- data/assets/icons/toy-brick.svg +1 -0
- data/assets/icons/train.svg +1 -0
- data/assets/icons/trash-2.svg +1 -0
- data/assets/icons/trash.svg +1 -0
- data/assets/icons/tree-deciduous.svg +1 -0
- data/assets/icons/tree-pine.svg +1 -0
- data/assets/icons/trees.svg +1 -0
- data/assets/icons/trello.svg +1 -0
- data/assets/icons/trending-down.svg +1 -0
- data/assets/icons/trending-up.svg +1 -0
- data/assets/icons/triangle.svg +1 -0
- data/assets/icons/trophy.svg +1 -0
- data/assets/icons/truck.svg +1 -0
- data/assets/icons/tv-2.svg +1 -0
- data/assets/icons/tv.svg +1 -0
- data/assets/icons/twitch.svg +1 -0
- data/assets/icons/twitter.svg +1 -0
- data/assets/icons/type.svg +1 -0
- data/assets/icons/umbrella.svg +1 -0
- data/assets/icons/underline.svg +1 -0
- data/assets/icons/undo-2.svg +1 -0
- data/assets/icons/undo.svg +1 -0
- data/assets/icons/unlink-2.svg +1 -0
- data/assets/icons/unlink.svg +1 -0
- data/assets/icons/unlock.svg +1 -0
- data/assets/icons/upload-cloud.svg +1 -0
- data/assets/icons/upload.svg +1 -0
- data/assets/icons/usb.svg +1 -0
- data/assets/icons/user-check.svg +1 -0
- data/assets/icons/user-cog.svg +1 -0
- data/assets/icons/user-minus.svg +1 -0
- data/assets/icons/user-plus.svg +1 -0
- data/assets/icons/user-x.svg +1 -0
- data/assets/icons/user.svg +1 -0
- data/assets/icons/users.svg +1 -0
- data/assets/icons/utensils-crossed.svg +1 -0
- data/assets/icons/utensils.svg +1 -0
- data/assets/icons/utility-pole.svg +1 -0
- data/assets/icons/vegan.svg +1 -0
- data/assets/icons/venetian-mask.svg +1 -0
- data/assets/icons/verified.svg +1 -0
- data/assets/icons/vibrate-off.svg +1 -0
- data/assets/icons/vibrate.svg +1 -0
- data/assets/icons/video-off.svg +1 -0
- data/assets/icons/video.svg +1 -0
- data/assets/icons/view.svg +1 -0
- data/assets/icons/voicemail.svg +1 -0
- data/assets/icons/volume-1.svg +1 -0
- data/assets/icons/volume-2.svg +1 -0
- data/assets/icons/volume-x.svg +1 -0
- data/assets/icons/volume.svg +1 -0
- data/assets/icons/vote.svg +1 -0
- data/assets/icons/wallet.svg +1 -0
- data/assets/icons/wand-2.svg +1 -0
- data/assets/icons/wand.svg +1 -0
- data/assets/icons/watch.svg +1 -0
- data/assets/icons/waves.svg +1 -0
- data/assets/icons/webcam.svg +1 -0
- data/assets/icons/webhook.svg +1 -0
- data/assets/icons/wheat-off.svg +1 -0
- data/assets/icons/wheat.svg +1 -0
- data/assets/icons/wifi-off.svg +1 -0
- data/assets/icons/wifi.svg +1 -0
- data/assets/icons/wind.svg +1 -0
- data/assets/icons/wine-off.svg +1 -0
- data/assets/icons/wine.svg +1 -0
- data/assets/icons/wrap-text.svg +1 -0
- data/assets/icons/wrench.svg +1 -0
- data/assets/icons/x-circle.svg +1 -0
- data/assets/icons/x-octagon.svg +1 -0
- data/assets/icons/x-square.svg +1 -0
- data/assets/icons/x.svg +1 -0
- data/assets/icons/youtube.svg +1 -0
- data/assets/icons/zap-off.svg +1 -0
- data/assets/icons/zap.svg +1 -0
- data/assets/icons/zoom-in.svg +1 -0
- data/assets/icons/zoom-out.svg +1 -0
- data/assets/img/favicon_dark.svg +1 -0
- data/assets/img/favicon_light.svg +1 -0
- data/{app/assets/lookbook → assets}/js/app.js +35 -8
- data/{app/assets/lookbook → assets}/js/helpers/dom.js +4 -7
- data/assets/js/helpers/request.js +14 -0
- data/{app/assets/lookbook → assets}/js/helpers/string.js +4 -11
- data/{app/assets/lookbook/js/lookbook.js → assets/js/index.js} +2 -2
- data/assets/js/lib/lookbook.js +125 -0
- data/{app/assets/lookbook → assets}/js/lib/tippy.js +1 -0
- data/assets/js/lookbook-core.js +1 -0
- data/assets/js/lookbook.js +2 -0
- data/config/app.yml +51 -18
- data/config/inputs.yml +2 -2
- data/config/panels.yml +23 -25
- data/config/routes.rb +7 -1
- data/config/tags.yml +10 -2
- data/lib/lookbook/cable/cable.rb +53 -0
- data/lib/lookbook/engine.rb +178 -86
- data/lib/lookbook/entities/collections/concerns/hierarchical_collection.rb +9 -4
- data/lib/lookbook/entities/collections/entity_collection.rb +11 -6
- data/lib/lookbook/entities/collections/page_collection.rb +35 -8
- data/lib/lookbook/entities/collections/preview_collection.rb +51 -17
- data/lib/lookbook/entities/collections/render_target_collection.rb +4 -0
- data/lib/lookbook/entities/collections/scenario_collection.rb +4 -0
- data/lib/lookbook/entities/concerns/annotatable_entity.rb +84 -0
- data/lib/lookbook/entities/concerns/{inspectable.rb → inspectable_entity.rb} +18 -2
- data/lib/lookbook/entities/concerns/locatable_entity.rb +116 -0
- data/lib/lookbook/entities/concerns/navigable_entity.rb +62 -0
- data/lib/lookbook/entities/entity.rb +40 -9
- data/lib/lookbook/entities/page_entity.rb +142 -0
- data/lib/lookbook/entities/{page_section.rb → page_section_entity.rb} +5 -1
- data/lib/lookbook/entities/preview_entity.rb +214 -0
- data/lib/lookbook/entities/renderable_entity.rb +101 -0
- data/lib/lookbook/entities/rendered_scenario_entity.rb +69 -0
- data/lib/lookbook/entities/scenario_entity.rb +182 -0
- data/lib/lookbook/entities/scenario_group_entity.rb +135 -0
- data/lib/lookbook/file_watcher.rb +13 -35
- data/lib/lookbook/helpers/class_names_helper.rb +28 -0
- data/lib/lookbook/helpers/page_helper.rb +43 -0
- data/{app/helpers/lookbook → lib/lookbook/helpers}/preview_helper.rb +3 -0
- data/lib/lookbook/helpers/ui_elements_helper.rb +91 -0
- data/lib/lookbook/param.rb +8 -2
- data/lib/lookbook/preview.rb +85 -0
- data/lib/lookbook/preview_after_render.rb +13 -0
- data/lib/lookbook/preview_controller_actions.rb +64 -0
- data/lib/lookbook/preview_parser.rb +4 -2
- data/lib/lookbook/reloaders.rb +75 -0
- data/lib/lookbook/runtime_context.rb +49 -0
- data/lib/lookbook/services/data/resolvers/data_resolver.rb +5 -7
- data/lib/lookbook/services/entities/page_tree_builder.rb +40 -0
- data/lib/lookbook/services/entities/preview_tree_builder.rb +34 -0
- data/lib/lookbook/services/list_resolver.rb +35 -0
- data/lib/lookbook/services/markdown_renderer.rb +10 -2
- data/lib/lookbook/services/priority_prefix_parser.rb +16 -0
- data/lib/lookbook/services/tags/tag_options_parser.rb +13 -4
- data/lib/lookbook/services/templates/action_view_config_handler.rb +50 -0
- data/lib/lookbook/services/urls/data_uri_encoder.rb +14 -0
- data/lib/lookbook/services/urls/file_data_uri_encoder.rb +24 -0
- data/lib/lookbook/services/urls/search_param_encoder.rb +16 -0
- data/lib/lookbook/services/urls/search_param_parser.rb +7 -6
- data/lib/lookbook/stores/config_store.rb +63 -26
- data/lib/lookbook/stores/hook_store.rb +0 -10
- data/lib/lookbook/stores/input_store.rb +8 -4
- data/lib/lookbook/stores/panel_store.rb +30 -49
- data/lib/lookbook/stores/tag_store.rb +6 -5
- data/lib/lookbook/support/deprecation.rb +5 -0
- data/lib/lookbook/support/errors/config_error.rb +2 -2
- data/lib/lookbook/support/errors/error.rb +64 -0
- data/lib/lookbook/support/errors/parser_error.rb +2 -2
- data/lib/lookbook/support/errors/preview_template_error.rb +7 -0
- data/lib/lookbook/support/errors/routing_error.rb +7 -0
- data/lib/lookbook/support/errors/template_error.rb +7 -0
- data/lib/lookbook/support/evented_file_update_checker.rb +69 -0
- data/lib/lookbook/support/null_websocket.rb +9 -0
- data/lib/lookbook/support/store.rb +10 -1
- data/lib/lookbook/support/tree_node.rb +7 -7
- data/lib/lookbook/support/utils/path_utils.rb +9 -3
- data/lib/lookbook/support/utils/utils.rb +9 -1
- data/lib/lookbook/support/utils/where.rb +49 -0
- data/lib/lookbook/tags/after_render_tag.rb +7 -0
- data/lib/lookbook/tags/param_tag.rb +14 -4
- data/lib/lookbook/tags/{position_tag.rb → priority_tag.rb} +4 -4
- data/lib/lookbook/tags/renders_tag.rb +4 -0
- data/lib/lookbook/tags/tag_provider.rb +3 -0
- data/lib/lookbook/tags/type_tag.rb +7 -0
- data/lib/lookbook/tags/yard_tag.rb +15 -11
- data/lib/lookbook/theme.rb +2 -6
- data/lib/lookbook/version.rb +1 -1
- data/lib/lookbook/websocket.rb +6 -53
- data/lib/lookbook.rb +180 -54
- data/public/lookbook-assets/Inter-italic.var.53a0de5f.woff2 +0 -0
- data/public/lookbook-assets/Inter-italic.var.69eb0fe1.woff2 +0 -0
- data/public/lookbook-assets/Inter-italic.var.736a7044.woff2 +0 -0
- data/public/lookbook-assets/Inter-roman.var.b695afbe.woff2 +0 -0
- data/public/lookbook-assets/Inter-roman.var.d4f9805a.woff2 +0 -0
- data/public/lookbook-assets/Inter-roman.var.fbdd51d0.woff2 +0 -0
- data/public/lookbook-assets/SourceCodeVariable-Italic.cad97b83.otf +0 -0
- data/public/lookbook-assets/SourceCodeVariable-Italic.ttf.09b4354a.woff2 +0 -0
- data/public/lookbook-assets/SourceCodeVariable-Italic.ttf.a93fa22f.woff2 +0 -0
- data/public/lookbook-assets/SourceCodeVariable-Italic.ttf.fcd7e9f4.woff2 +0 -0
- data/public/lookbook-assets/SourceCodeVariable-Roman.185ddb17.otf +0 -0
- data/public/lookbook-assets/SourceCodeVariable-Roman.ttf.118e9f22.woff2 +0 -0
- data/public/lookbook-assets/SourceCodeVariable-Roman.ttf.91043609.woff2 +0 -0
- data/public/lookbook-assets/SourceCodeVariable-Roman.ttf.f1c8fcce.woff2 +0 -0
- data/public/lookbook-assets/css/lookbook.css +1538 -717
- data/public/lookbook-assets/css/lookbook.css.map +1 -1
- data/public/lookbook-assets/css/themes/blue.css +14 -2
- data/public/lookbook-assets/css/themes/blue.css.map +1 -1
- data/public/lookbook-assets/css/themes/green.css +14 -2
- data/public/lookbook-assets/css/themes/green.css.map +1 -1
- data/public/lookbook-assets/css/themes/indigo.css +14 -2
- data/public/lookbook-assets/css/themes/indigo.css.map +1 -1
- data/public/lookbook-assets/css/themes/rose.css +14 -2
- data/public/lookbook-assets/css/themes/rose.css.map +1 -1
- data/public/lookbook-assets/css/themes/zinc.css +14 -2
- data/public/lookbook-assets/css/themes/zinc.css.map +1 -1
- data/public/lookbook-assets/img/lucide-sprite.svg +4960 -0
- data/public/lookbook-assets/js/{embed.js → iframe.js} +196 -195
- data/public/lookbook-assets/js/iframe.js.map +1 -0
- data/public/lookbook-assets/js/index.js +13739 -0
- data/public/lookbook-assets/js/index.js.map +1 -0
- data/public/lookbook-assets/js/lookbook-core.js +87 -0
- data/public/lookbook-assets/js/lookbook.js +248 -12835
- metadata +1057 -118
- data/app/assets/lookbook/js/helpers/request.js +0 -16
- data/app/components/lookbook/embed/component.js +0 -39
- data/app/components/lookbook/icon/component.js +0 -5
- data/app/helpers/lookbook/component_helper.rb +0 -84
- data/app/helpers/lookbook/output_helper.rb +0 -19
- data/app/helpers/lookbook/page_helper.rb +0 -34
- data/app/views/layouts/lookbook/inspector.html.erb +0 -7
- data/app/views/layouts/lookbook/page.html.erb +0 -53
- data/app/views/layouts/lookbook/shell.html.erb +0 -25
- data/app/views/layouts/lookbook/standalone.html.erb +0 -5
- data/app/views/lookbook/404.html.erb +0 -15
- data/app/views/lookbook/error.html.erb +0 -46
- data/app/views/lookbook/preview.html.erb +0 -14
- data/config/hooks.yml +0 -4
- data/lib/lookbook/entities/collections/component_collection.rb +0 -4
- data/lib/lookbook/entities/collections/preview_example_collection.rb +0 -4
- data/lib/lookbook/entities/component.rb +0 -31
- data/lib/lookbook/entities/concerns/annotatable.rb +0 -58
- data/lib/lookbook/entities/concerns/locatable.rb +0 -73
- data/lib/lookbook/entities/concerns/navigable.rb +0 -43
- data/lib/lookbook/entities/page.rb +0 -80
- data/lib/lookbook/entities/preview.rb +0 -87
- data/lib/lookbook/entities/preview_example.rb +0 -104
- data/lib/lookbook/entities/preview_group.rb +0 -52
- data/lib/lookbook/error.rb +0 -120
- data/lib/lookbook/features.rb +0 -24
- data/lib/lookbook/preview_actions.rb +0 -43
- data/lib/lookbook/process.rb +0 -21
- data/lib/lookbook/rendered_example.rb +0 -37
- data/lib/lookbook/services/entities/entity_tree_builder.rb +0 -45
- data/lib/lookbook/services/position_prefix_parser.rb +0 -16
- data/lib/lookbook/services/templates/action_view_annotations_handler.rb +0 -21
- data/lib/lookbook/services/urls/search_param_builder.rb +0 -13
- data/lib/lookbook/support/errors/lookbook_error.rb +0 -21
- data/lib/lookbook/tags/component_tag.rb +0 -13
- data/lib/tasks/lookbook_tasks.rake +0 -10
- data/public/lookbook-assets/css/app.css +0 -2341
- data/public/lookbook-assets/css/app.css.map +0 -11
- data/public/lookbook-assets/css/themes/zinc.css.map.91837.5 +0 -1
- data/public/lookbook-assets/feather-sprite.svg +0 -1
- data/public/lookbook-assets/js/app.js +0 -10862
- data/public/lookbook-assets/js/app.js.map +0 -2571
- data/public/lookbook-assets/js/embed.js.91837.6 +0 -0
- data/public/lookbook-assets/js/embed.js.map +0 -1
- data/public/lookbook-assets/js/lookbook.js.map +0 -1
- /data/{app/assets/lookbook → assets}/js/components/clipboard.js +0 -0
- /data/{app/assets/lookbook → assets}/js/components/params_input.js +0 -0
- /data/{app/assets/lookbook → assets}/js/components/tooltip.js +0 -0
- /data/{app/assets/lookbook → assets}/js/config.js +0 -0
- /data/{app/assets/lookbook → assets}/js/helpers/build.js +0 -0
- /data/{app/assets/lookbook → assets}/js/helpers/layout.js +0 -0
- /data/{app/assets/lookbook/js/embed.js → assets/js/iframe.js} +0 -0
- /data/{app/assets/lookbook → assets}/js/lib/socket.js +0 -0
- /data/{app/assets/lookbook → assets}/js/plugins/logger.js +0 -0
- /data/{app/assets/lookbook → assets}/js/stores/filter.js +0 -0
- /data/{app/assets/lookbook → assets}/js/stores/inspector.js +0 -0
- /data/{app/assets/lookbook → assets}/js/stores/layout.js +0 -0
- /data/{app/assets/lookbook → assets}/js/stores/nav.js +0 -0
- /data/{app/assets/lookbook → assets}/js/stores/pages.js +0 -0
- /data/{app/assets/lookbook → assets}/js/stores/settings.js +0 -0
- /data/{app/assets/lookbook → assets}/js/stores/workbench.js +0 -0
- /data/{app/channels/lookbook → lib/lookbook/cable}/connection.rb +0 -0
- /data/{app/channels/lookbook → lib/lookbook/cable}/reload_channel.rb +0 -0
@@ -10,24 +10,24 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
10
10
|
*
|
11
11
|
*/ // eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names
|
12
12
|
(function(undefined) {
|
13
|
-
if (typeof window ===
|
14
|
-
var autoResize = true, base = 10, bodyBackground =
|
13
|
+
if (typeof window === 'undefined') return; // don't run for server side render
|
14
|
+
var autoResize = true, base = 10, bodyBackground = '', bodyMargin = 0, bodyMarginStr = '', bodyObserver = null, bodyPadding = '', calculateWidth = false, doubleEventList = {
|
15
15
|
resize: 1,
|
16
16
|
click: 1
|
17
|
-
}, eventCancelTimer = 128, firstRun = true, height = 1, heightCalcModeDefault =
|
17
|
+
}, eventCancelTimer = 128, firstRun = true, height = 1, heightCalcModeDefault = 'bodyOffset', heightCalcMode = heightCalcModeDefault, initLock = true, initMsg = '', inPageLinks = {}, interval = 32, intervalTimer = null, logging = false, mouseEvents = false, msgID = '[iFrameSizer]', msgIdLen = msgID.length, myID = '', resetRequiredMethods = {
|
18
18
|
max: 1,
|
19
19
|
min: 1,
|
20
20
|
bodyScroll: 1,
|
21
21
|
documentElementScroll: 1
|
22
|
-
}, resizeFrom =
|
23
|
-
warn(
|
22
|
+
}, resizeFrom = 'child', sendPermit = true, target = window.parent, targetOriginDefault = '*', tolerance = 0, triggerLocked = false, triggerLockedTimer = null, throttledTimer = 16, width = 1, widthCalcModeDefault = 'scroll', widthCalcMode = widthCalcModeDefault, win = window, onMessage = function() {
|
23
|
+
warn('onMessage function not defined');
|
24
24
|
}, onReady = function() {}, onPageInfo = function() {}, customCalcMethods = {
|
25
25
|
height: function() {
|
26
|
-
warn(
|
26
|
+
warn('Custom height calculation function not defined');
|
27
27
|
return document.documentElement.offsetHeight;
|
28
28
|
},
|
29
29
|
width: function() {
|
30
|
-
warn(
|
30
|
+
warn('Custom width calculation function not defined');
|
31
31
|
return document.body.scrollWidth;
|
32
32
|
}
|
33
33
|
}, eventHandlersByName = {}, passiveSupported = false;
|
@@ -35,13 +35,14 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
35
35
|
try {
|
36
36
|
var options = Object.create({}, {
|
37
37
|
passive: {
|
38
|
+
// eslint-disable-next-line getter-return
|
38
39
|
get: function() {
|
39
40
|
passiveSupported = true;
|
40
41
|
}
|
41
42
|
}
|
42
43
|
});
|
43
|
-
window.addEventListener(
|
44
|
-
window.removeEventListener(
|
44
|
+
window.addEventListener('test', noop, options);
|
45
|
+
window.removeEventListener('test', noop, options);
|
45
46
|
} catch (error) {
|
46
47
|
/* */ }
|
47
48
|
function addEventListener(el, evt, func, options) {
|
@@ -82,23 +83,23 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
82
83
|
};
|
83
84
|
}
|
84
85
|
function formatLogMsg(msg) {
|
85
|
-
return msgID +
|
86
|
+
return msgID + '[' + myID + '] ' + msg;
|
86
87
|
}
|
87
88
|
function log(msg) {
|
88
|
-
if (logging &&
|
89
|
+
if (logging && 'object' === typeof window.console) // eslint-disable-next-line no-console
|
89
90
|
console.log(formatLogMsg(msg));
|
90
91
|
}
|
91
92
|
function warn(msg) {
|
92
|
-
if (
|
93
|
+
if ('object' === typeof window.console) // eslint-disable-next-line no-console
|
93
94
|
console.warn(formatLogMsg(msg));
|
94
95
|
}
|
95
96
|
function init() {
|
96
97
|
readDataFromParent();
|
97
|
-
log(
|
98
|
+
log('Initialising iFrame (' + window.location.href + ')');
|
98
99
|
readDataFromPage();
|
99
100
|
setMargin();
|
100
|
-
setBodyStyle(
|
101
|
-
setBodyStyle(
|
101
|
+
setBodyStyle('background', bodyBackground);
|
102
|
+
setBodyStyle('padding', bodyPadding);
|
102
103
|
injectClearFixIntoBodyElement();
|
103
104
|
checkHeightMode();
|
104
105
|
checkWidthMode();
|
@@ -107,14 +108,14 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
107
108
|
setupMouseEvents();
|
108
109
|
startEventListeners();
|
109
110
|
inPageLinks = setupInPageLinks();
|
110
|
-
sendSize(
|
111
|
+
sendSize('init', 'Init message from host page');
|
111
112
|
onReady();
|
112
113
|
}
|
113
114
|
function readDataFromParent() {
|
114
115
|
function strBool(str) {
|
115
|
-
return
|
116
|
+
return 'true' === str;
|
116
117
|
}
|
117
|
-
var data = initMsg.slice(msgIdLen).split(
|
118
|
+
var data = initMsg.slice(msgIdLen).split(':');
|
118
119
|
myID = data[0];
|
119
120
|
bodyMargin = undefined === data[1] ? bodyMargin : Number(data[1]) // For V1 compatibility
|
120
121
|
;
|
@@ -130,12 +131,12 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
130
131
|
inPageLinks.enable = undefined === data[12] ? false : strBool(data[12]);
|
131
132
|
resizeFrom = undefined === data[13] ? resizeFrom : data[13];
|
132
133
|
widthCalcMode = undefined === data[14] ? widthCalcMode : data[14];
|
133
|
-
mouseEvents = undefined === data[15] ? mouseEvents :
|
134
|
+
mouseEvents = undefined === data[15] ? mouseEvents : strBool(data[15]);
|
134
135
|
}
|
135
136
|
function depricate(key) {
|
136
|
-
var splitName = key.split(
|
137
|
+
var splitName = key.split('Callback');
|
137
138
|
if (splitName.length === 2) {
|
138
|
-
var name =
|
139
|
+
var name = 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1);
|
139
140
|
this[name] = this[key];
|
140
141
|
delete this[key];
|
141
142
|
warn("Deprecated: '" + key + "' has been renamed '" + name + "'. The old method will be removed in the next major version.");
|
@@ -144,50 +145,50 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
144
145
|
function readDataFromPage() {
|
145
146
|
function readData() {
|
146
147
|
var data = window.iFrameResizer;
|
147
|
-
log(
|
148
|
+
log('Reading data from page: ' + JSON.stringify(data));
|
148
149
|
Object.keys(data).forEach(depricate, data);
|
149
|
-
onMessage =
|
150
|
-
onReady =
|
151
|
-
targetOriginDefault =
|
152
|
-
heightCalcMode =
|
153
|
-
widthCalcMode =
|
150
|
+
onMessage = 'onMessage' in data ? data.onMessage : onMessage;
|
151
|
+
onReady = 'onReady' in data ? data.onReady : onReady;
|
152
|
+
targetOriginDefault = 'targetOrigin' in data ? data.targetOrigin : targetOriginDefault;
|
153
|
+
heightCalcMode = 'heightCalculationMethod' in data ? data.heightCalculationMethod : heightCalcMode;
|
154
|
+
widthCalcMode = 'widthCalculationMethod' in data ? data.widthCalculationMethod : widthCalcMode;
|
154
155
|
}
|
155
156
|
function setupCustomCalcMethods(calcMode, calcFunc) {
|
156
|
-
if (
|
157
|
-
log(
|
157
|
+
if ('function' === typeof calcMode) {
|
158
|
+
log('Setup custom ' + calcFunc + 'CalcMethod');
|
158
159
|
customCalcMethods[calcFunc] = calcMode;
|
159
|
-
calcMode =
|
160
|
+
calcMode = 'custom';
|
160
161
|
}
|
161
162
|
return calcMode;
|
162
163
|
}
|
163
|
-
if (
|
164
|
+
if ('iFrameResizer' in window && Object === window.iFrameResizer.constructor) {
|
164
165
|
readData();
|
165
|
-
heightCalcMode = setupCustomCalcMethods(heightCalcMode,
|
166
|
-
widthCalcMode = setupCustomCalcMethods(widthCalcMode,
|
166
|
+
heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height');
|
167
|
+
widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width');
|
167
168
|
}
|
168
|
-
log(
|
169
|
+
log('TargetOrigin for parent set to: ' + targetOriginDefault);
|
169
170
|
}
|
170
171
|
function chkCSS(attr, value) {
|
171
|
-
if (-1 !== value.indexOf(
|
172
|
-
warn(
|
173
|
-
value =
|
172
|
+
if (-1 !== value.indexOf('-')) {
|
173
|
+
warn('Negative CSS value ignored for ' + attr);
|
174
|
+
value = '';
|
174
175
|
}
|
175
176
|
return value;
|
176
177
|
}
|
177
178
|
function setBodyStyle(attr, value) {
|
178
|
-
if (undefined !== value &&
|
179
|
+
if (undefined !== value && '' !== value && 'null' !== value) {
|
179
180
|
document.body.style[attr] = value;
|
180
|
-
log(
|
181
|
+
log('Body ' + attr + ' set to "' + value + '"');
|
181
182
|
}
|
182
183
|
}
|
183
184
|
function setMargin() {
|
184
185
|
// If called via V1 script, convert bodyMargin from int to str
|
185
|
-
if (undefined === bodyMarginStr) bodyMarginStr = bodyMargin +
|
186
|
-
setBodyStyle(
|
186
|
+
if (undefined === bodyMarginStr) bodyMarginStr = bodyMargin + 'px';
|
187
|
+
setBodyStyle('margin', chkCSS('margin', bodyMarginStr));
|
187
188
|
}
|
188
189
|
function stopInfiniteResizingOfIFrame() {
|
189
|
-
document.documentElement.style.height =
|
190
|
-
document.body.style.height =
|
190
|
+
document.documentElement.style.height = '';
|
191
|
+
document.body.style.height = '';
|
191
192
|
log('HTML & body height set to "auto"');
|
192
193
|
}
|
193
194
|
function manageTriggerEvent(options) {
|
@@ -211,124 +212,124 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
211
212
|
options.eventName = options.eventNames[0];
|
212
213
|
options.eventNames.map(listener[options.method]);
|
213
214
|
} else listener[options.method](options.eventName);
|
214
|
-
log(capitalizeFirstLetter(options.method) +
|
215
|
+
log(capitalizeFirstLetter(options.method) + ' event listener: ' + options.eventType);
|
215
216
|
}
|
216
217
|
function manageEventListeners(method) {
|
217
218
|
manageTriggerEvent({
|
218
219
|
method: method,
|
219
|
-
eventType:
|
220
|
+
eventType: 'Animation Start',
|
220
221
|
eventNames: [
|
221
|
-
|
222
|
-
|
222
|
+
'animationstart',
|
223
|
+
'webkitAnimationStart'
|
223
224
|
]
|
224
225
|
});
|
225
226
|
manageTriggerEvent({
|
226
227
|
method: method,
|
227
|
-
eventType:
|
228
|
+
eventType: 'Animation Iteration',
|
228
229
|
eventNames: [
|
229
|
-
|
230
|
-
|
230
|
+
'animationiteration',
|
231
|
+
'webkitAnimationIteration'
|
231
232
|
]
|
232
233
|
});
|
233
234
|
manageTriggerEvent({
|
234
235
|
method: method,
|
235
|
-
eventType:
|
236
|
+
eventType: 'Animation End',
|
236
237
|
eventNames: [
|
237
|
-
|
238
|
-
|
238
|
+
'animationend',
|
239
|
+
'webkitAnimationEnd'
|
239
240
|
]
|
240
241
|
});
|
241
242
|
manageTriggerEvent({
|
242
243
|
method: method,
|
243
|
-
eventType:
|
244
|
-
eventName:
|
244
|
+
eventType: 'Input',
|
245
|
+
eventName: 'input'
|
245
246
|
});
|
246
247
|
manageTriggerEvent({
|
247
248
|
method: method,
|
248
|
-
eventType:
|
249
|
-
eventName:
|
249
|
+
eventType: 'Mouse Up',
|
250
|
+
eventName: 'mouseup'
|
250
251
|
});
|
251
252
|
manageTriggerEvent({
|
252
253
|
method: method,
|
253
|
-
eventType:
|
254
|
-
eventName:
|
254
|
+
eventType: 'Mouse Down',
|
255
|
+
eventName: 'mousedown'
|
255
256
|
});
|
256
257
|
manageTriggerEvent({
|
257
258
|
method: method,
|
258
|
-
eventType:
|
259
|
-
eventName:
|
259
|
+
eventType: 'Orientation Change',
|
260
|
+
eventName: 'orientationchange'
|
260
261
|
});
|
261
262
|
manageTriggerEvent({
|
262
263
|
method: method,
|
263
|
-
eventType:
|
264
|
+
eventType: 'Print',
|
264
265
|
eventNames: [
|
265
|
-
|
266
|
-
|
266
|
+
'afterprint',
|
267
|
+
'beforeprint'
|
267
268
|
]
|
268
269
|
});
|
269
270
|
manageTriggerEvent({
|
270
271
|
method: method,
|
271
|
-
eventType:
|
272
|
-
eventName:
|
272
|
+
eventType: 'Ready State Change',
|
273
|
+
eventName: 'readystatechange'
|
273
274
|
});
|
274
275
|
manageTriggerEvent({
|
275
276
|
method: method,
|
276
|
-
eventType:
|
277
|
-
eventName:
|
277
|
+
eventType: 'Touch Start',
|
278
|
+
eventName: 'touchstart'
|
278
279
|
});
|
279
280
|
manageTriggerEvent({
|
280
281
|
method: method,
|
281
|
-
eventType:
|
282
|
-
eventName:
|
282
|
+
eventType: 'Touch End',
|
283
|
+
eventName: 'touchend'
|
283
284
|
});
|
284
285
|
manageTriggerEvent({
|
285
286
|
method: method,
|
286
|
-
eventType:
|
287
|
-
eventName:
|
287
|
+
eventType: 'Touch Cancel',
|
288
|
+
eventName: 'touchcancel'
|
288
289
|
});
|
289
290
|
manageTriggerEvent({
|
290
291
|
method: method,
|
291
|
-
eventType:
|
292
|
+
eventType: 'Transition Start',
|
292
293
|
eventNames: [
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
294
|
+
'transitionstart',
|
295
|
+
'webkitTransitionStart',
|
296
|
+
'MSTransitionStart',
|
297
|
+
'oTransitionStart',
|
298
|
+
'otransitionstart'
|
298
299
|
]
|
299
300
|
});
|
300
301
|
manageTriggerEvent({
|
301
302
|
method: method,
|
302
|
-
eventType:
|
303
|
+
eventType: 'Transition Iteration',
|
303
304
|
eventNames: [
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
305
|
+
'transitioniteration',
|
306
|
+
'webkitTransitionIteration',
|
307
|
+
'MSTransitionIteration',
|
308
|
+
'oTransitionIteration',
|
309
|
+
'otransitioniteration'
|
309
310
|
]
|
310
311
|
});
|
311
312
|
manageTriggerEvent({
|
312
313
|
method: method,
|
313
|
-
eventType:
|
314
|
+
eventType: 'Transition End',
|
314
315
|
eventNames: [
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
316
|
+
'transitionend',
|
317
|
+
'webkitTransitionEnd',
|
318
|
+
'MSTransitionEnd',
|
319
|
+
'oTransitionEnd',
|
320
|
+
'otransitionend'
|
320
321
|
]
|
321
322
|
});
|
322
|
-
if (
|
323
|
+
if ('child' === resizeFrom) manageTriggerEvent({
|
323
324
|
method: method,
|
324
|
-
eventType:
|
325
|
-
eventName:
|
325
|
+
eventType: 'IFrame Resized',
|
326
|
+
eventName: 'resize'
|
326
327
|
});
|
327
328
|
}
|
328
329
|
function checkCalcMode(calcMode, calcModeDefault, modes, type) {
|
329
330
|
if (calcModeDefault !== calcMode) {
|
330
331
|
if (!(calcMode in modes)) {
|
331
|
-
warn(calcMode +
|
332
|
+
warn(calcMode + ' is not a valid option for ' + type + 'CalculationMethod.');
|
332
333
|
calcMode = calcModeDefault;
|
333
334
|
}
|
334
335
|
log(type + ' calculation method set to "' + calcMode + '"');
|
@@ -336,16 +337,16 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
336
337
|
return calcMode;
|
337
338
|
}
|
338
339
|
function checkHeightMode() {
|
339
|
-
heightCalcMode = checkCalcMode(heightCalcMode, heightCalcModeDefault, getHeight,
|
340
|
+
heightCalcMode = checkCalcMode(heightCalcMode, heightCalcModeDefault, getHeight, 'height');
|
340
341
|
}
|
341
342
|
function checkWidthMode() {
|
342
|
-
widthCalcMode = checkCalcMode(widthCalcMode, widthCalcModeDefault, getWidth,
|
343
|
+
widthCalcMode = checkCalcMode(widthCalcMode, widthCalcModeDefault, getWidth, 'width');
|
343
344
|
}
|
344
345
|
function startEventListeners() {
|
345
346
|
if (true === autoResize) {
|
346
|
-
manageEventListeners(
|
347
|
+
manageEventListeners('add');
|
347
348
|
setupMutationObserver();
|
348
|
-
} else log(
|
349
|
+
} else log('Auto Resize disabled');
|
349
350
|
}
|
350
351
|
// function stopMsgsToParent() {
|
351
352
|
// log('Disable outgoing messages')
|
@@ -360,7 +361,7 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
360
361
|
bodyObserver.disconnect();
|
361
362
|
}
|
362
363
|
function stopEventListeners() {
|
363
|
-
manageEventListeners(
|
364
|
+
manageEventListeners('remove');
|
364
365
|
disconnectMutationObserver();
|
365
366
|
clearInterval(intervalTimer);
|
366
367
|
}
|
@@ -370,11 +371,11 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
370
371
|
// if (true === autoResize) stopEventListeners()
|
371
372
|
// }
|
372
373
|
function injectClearFixIntoBodyElement() {
|
373
|
-
var clearFix = document.createElement(
|
374
|
-
clearFix.style.clear =
|
374
|
+
var clearFix = document.createElement('div');
|
375
|
+
clearFix.style.clear = 'both';
|
375
376
|
// Guard against the following having been globally redefined in CSS.
|
376
|
-
clearFix.style.display =
|
377
|
-
clearFix.style.height =
|
377
|
+
clearFix.style.display = 'block';
|
378
|
+
clearFix.style.height = '0';
|
378
379
|
document.body.appendChild(clearFix);
|
379
380
|
}
|
380
381
|
function setupInPageLinks() {
|
@@ -394,33 +395,33 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
394
395
|
function findTarget(location) {
|
395
396
|
function jumpToTarget(target) {
|
396
397
|
var jumpPosition = getElementPosition(target);
|
397
|
-
log(
|
398
|
-
sendMsg(jumpPosition.y, jumpPosition.x,
|
398
|
+
log('Moving to in page link (#' + hash + ') at x: ' + jumpPosition.x + ' y: ' + jumpPosition.y);
|
399
|
+
sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width
|
399
400
|
;
|
400
401
|
}
|
401
|
-
var hash = location.split(
|
402
|
+
var hash = location.split('#')[1] || location, hashData = decodeURIComponent(hash), target = document.getElementById(hashData) || document.getElementsByName(hashData)[0];
|
402
403
|
if (undefined === target) {
|
403
|
-
log(
|
404
|
-
sendMsg(0, 0,
|
404
|
+
log('In page link (#' + hash + ') not found in iFrame, so sending to parent');
|
405
|
+
sendMsg(0, 0, 'inPageLink', '#' + hash);
|
405
406
|
} else jumpToTarget(target);
|
406
407
|
}
|
407
408
|
function checkLocationHash() {
|
408
409
|
var hash = window.location.hash;
|
409
410
|
var href = window.location.href;
|
410
|
-
if (
|
411
|
+
if ('' !== hash && '#' !== hash) findTarget(href);
|
411
412
|
}
|
412
413
|
function bindAnchors() {
|
413
414
|
function setupLink(el) {
|
414
415
|
function linkClicked(e) {
|
415
416
|
e.preventDefault();
|
416
|
-
/* jshint validthis:true */ findTarget(this.getAttribute(
|
417
|
+
/* jshint validthis:true */ findTarget(this.getAttribute('href'));
|
417
418
|
}
|
418
|
-
if (
|
419
|
+
if ('#' !== el.getAttribute('href')) addEventListener(el, 'click', linkClicked);
|
419
420
|
}
|
420
421
|
Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'), setupLink);
|
421
422
|
}
|
422
423
|
function bindLocationHash() {
|
423
|
-
addEventListener(window,
|
424
|
+
addEventListener(window, 'hashchange', checkLocationHash);
|
424
425
|
}
|
425
426
|
function initCheck() {
|
426
427
|
// Check if page loaded with location hash after init resize
|
@@ -429,14 +430,14 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
429
430
|
function enableInPageLinks() {
|
430
431
|
/* istanbul ignore else */ // Not testable in phantonJS
|
431
432
|
if (Array.prototype.forEach && document.querySelectorAll) {
|
432
|
-
log(
|
433
|
+
log('Setting up location.hash handlers');
|
433
434
|
bindAnchors();
|
434
435
|
bindLocationHash();
|
435
436
|
initCheck();
|
436
|
-
} else warn(
|
437
|
+
} else warn('In page linking not fully supported in this browser! (See README.md for IE8 workaround)');
|
437
438
|
}
|
438
439
|
if (inPageLinks.enable) enableInPageLinks();
|
439
|
-
else log(
|
440
|
+
else log('In page linking not enabled');
|
440
441
|
return {
|
441
442
|
findTarget: findTarget
|
442
443
|
};
|
@@ -444,17 +445,17 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
444
445
|
function setupMouseEvents() {
|
445
446
|
if (mouseEvents !== true) return;
|
446
447
|
function sendMouse(e) {
|
447
|
-
sendMsg(0, 0, e.type, e.screenY +
|
448
|
+
sendMsg(0, 0, e.type, e.screenY + ':' + e.screenX);
|
448
449
|
}
|
449
450
|
function addMouseListener(evt, name) {
|
450
|
-
log(
|
451
|
+
log('Add event listener: ' + name);
|
451
452
|
addEventListener(window.document, evt, sendMouse);
|
452
453
|
}
|
453
|
-
addMouseListener(
|
454
|
-
addMouseListener(
|
454
|
+
addMouseListener('mouseenter', 'Mouse Enter');
|
455
|
+
addMouseListener('mouseleave', 'Mouse Leave');
|
455
456
|
}
|
456
457
|
function setupPublicMethods() {
|
457
|
-
log(
|
458
|
+
log('Enable public methods');
|
458
459
|
win.parentIFrame = {
|
459
460
|
autoResize: function autoResizeF(resize) {
|
460
461
|
if (true === resize && false === autoResize) {
|
@@ -464,41 +465,41 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
464
465
|
autoResize = false;
|
465
466
|
stopEventListeners();
|
466
467
|
}
|
467
|
-
sendMsg(0, 0,
|
468
|
+
sendMsg(0, 0, 'autoResize', JSON.stringify(autoResize));
|
468
469
|
return autoResize;
|
469
470
|
},
|
470
471
|
close: function closeF() {
|
471
|
-
sendMsg(0, 0,
|
472
|
+
sendMsg(0, 0, 'close');
|
472
473
|
// teardown()
|
473
474
|
},
|
474
475
|
getId: function getIdF() {
|
475
476
|
return myID;
|
476
477
|
},
|
477
478
|
getPageInfo: function getPageInfoF(callback) {
|
478
|
-
if (
|
479
|
+
if ('function' === typeof callback) {
|
479
480
|
onPageInfo = callback;
|
480
|
-
sendMsg(0, 0,
|
481
|
+
sendMsg(0, 0, 'pageInfo');
|
481
482
|
} else {
|
482
483
|
onPageInfo = function() {};
|
483
|
-
sendMsg(0, 0,
|
484
|
+
sendMsg(0, 0, 'pageInfoStop');
|
484
485
|
}
|
485
486
|
},
|
486
487
|
moveToAnchor: function moveToAnchorF(hash) {
|
487
488
|
inPageLinks.findTarget(hash);
|
488
489
|
},
|
489
490
|
reset: function resetF() {
|
490
|
-
resetIFrame(
|
491
|
+
resetIFrame('parentIFrame.reset');
|
491
492
|
},
|
492
493
|
scrollTo: function scrollToF(x, y) {
|
493
|
-
sendMsg(y, x,
|
494
|
+
sendMsg(y, x, 'scrollTo') // X&Y reversed at sendMsg uses height/width
|
494
495
|
;
|
495
496
|
},
|
496
497
|
scrollToOffset: function scrollToF(x, y) {
|
497
|
-
sendMsg(y, x,
|
498
|
+
sendMsg(y, x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width
|
498
499
|
;
|
499
500
|
},
|
500
501
|
sendMessage: function sendMessageF(msg, targetOrigin) {
|
501
|
-
sendMsg(0, 0,
|
502
|
+
sendMsg(0, 0, 'message', JSON.stringify(msg), targetOrigin);
|
502
503
|
},
|
503
504
|
setHeightCalculationMethod: function setHeightCalculationMethodF(heightCalculationMethod) {
|
504
505
|
heightCalcMode = heightCalculationMethod;
|
@@ -509,20 +510,20 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
509
510
|
checkWidthMode();
|
510
511
|
},
|
511
512
|
setTargetOrigin: function setTargetOriginF(targetOrigin) {
|
512
|
-
log(
|
513
|
+
log('Set targetOrigin: ' + targetOrigin);
|
513
514
|
targetOriginDefault = targetOrigin;
|
514
515
|
},
|
515
516
|
size: function sizeF(customHeight, customWidth) {
|
516
|
-
var valString =
|
517
|
-
sendSize(
|
517
|
+
var valString = '' + (customHeight || '') + (customWidth ? ',' + customWidth : '');
|
518
|
+
sendSize('size', 'parentIFrame.size(' + valString + ')', customHeight, customWidth);
|
518
519
|
}
|
519
520
|
};
|
520
521
|
}
|
521
522
|
function initInterval() {
|
522
523
|
if (0 !== interval) {
|
523
|
-
log(
|
524
|
+
log('setInterval: ' + interval + 'ms');
|
524
525
|
intervalTimer = setInterval(function() {
|
525
|
-
sendSize(
|
526
|
+
sendSize('interval', 'setInterval: ' + interval);
|
526
527
|
}, Math.abs(interval));
|
527
528
|
}
|
528
529
|
}
|
@@ -531,41 +532,41 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
531
532
|
function addImageLoadListners(mutation) {
|
532
533
|
function addImageLoadListener(element) {
|
533
534
|
if (false === element.complete) {
|
534
|
-
log(
|
535
|
-
element.addEventListener(
|
536
|
-
element.addEventListener(
|
535
|
+
log('Attach listeners to ' + element.src);
|
536
|
+
element.addEventListener('load', imageLoaded, false);
|
537
|
+
element.addEventListener('error', imageError, false);
|
537
538
|
elements.push(element);
|
538
539
|
}
|
539
540
|
}
|
540
|
-
if (mutation.type ===
|
541
|
-
else if (mutation.type ===
|
541
|
+
if (mutation.type === 'attributes' && mutation.attributeName === 'src') addImageLoadListener(mutation.target);
|
542
|
+
else if (mutation.type === 'childList') Array.prototype.forEach.call(mutation.target.querySelectorAll('img'), addImageLoadListener);
|
542
543
|
}
|
543
544
|
function removeFromArray(element) {
|
544
545
|
elements.splice(elements.indexOf(element), 1);
|
545
546
|
}
|
546
547
|
function removeImageLoadListener(element) {
|
547
|
-
log(
|
548
|
-
element.removeEventListener(
|
549
|
-
element.removeEventListener(
|
548
|
+
log('Remove listeners from ' + element.src);
|
549
|
+
element.removeEventListener('load', imageLoaded, false);
|
550
|
+
element.removeEventListener('error', imageError, false);
|
550
551
|
removeFromArray(element);
|
551
552
|
}
|
552
553
|
function imageEventTriggered(event, type, typeDesc) {
|
553
554
|
removeImageLoadListener(event.target);
|
554
|
-
sendSize(type, typeDesc +
|
555
|
+
sendSize(type, typeDesc + ': ' + event.target.src);
|
555
556
|
}
|
556
557
|
function imageLoaded(event) {
|
557
|
-
imageEventTriggered(event,
|
558
|
+
imageEventTriggered(event, 'imageLoad', 'Image loaded');
|
558
559
|
}
|
559
560
|
function imageError(event) {
|
560
|
-
imageEventTriggered(event,
|
561
|
+
imageEventTriggered(event, 'imageLoadFailed', 'Image load failed');
|
561
562
|
}
|
562
563
|
function mutationObserved(mutations) {
|
563
|
-
sendSize(
|
564
|
+
sendSize('mutationObserver', 'mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type);
|
564
565
|
// Deal with WebKit / Blink asyncing image loading when tags are injected into the page
|
565
566
|
mutations.forEach(addImageLoadListners);
|
566
567
|
}
|
567
568
|
function createMutationObserver() {
|
568
|
-
var target = document.querySelector(
|
569
|
+
var target = document.querySelector('body'), config = {
|
569
570
|
attributes: true,
|
570
571
|
attributeOldValue: false,
|
571
572
|
characterData: true,
|
@@ -574,15 +575,15 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
574
575
|
subtree: true
|
575
576
|
};
|
576
577
|
observer = new MutationObserver(mutationObserved);
|
577
|
-
log(
|
578
|
+
log('Create body MutationObserver');
|
578
579
|
observer.observe(target, config);
|
579
580
|
return observer;
|
580
581
|
}
|
581
582
|
var elements = [], MutationObserver = window.MutationObserver || window.WebKitMutationObserver, observer = createMutationObserver();
|
582
583
|
return {
|
583
584
|
disconnect: function() {
|
584
|
-
if (
|
585
|
-
log(
|
585
|
+
if ('disconnect' in observer) {
|
586
|
+
log('Disconnect body MutationObserver');
|
586
587
|
observer.disconnect();
|
587
588
|
elements.forEach(removeImageLoadListener);
|
588
589
|
}
|
@@ -596,7 +597,7 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
596
597
|
if (forceIntervalTimer) initInterval();
|
597
598
|
else bodyObserver = setupBodyMutationObserver();
|
598
599
|
} else {
|
599
|
-
log(
|
600
|
+
log('MutationObserver not supported in this browser!');
|
600
601
|
initInterval();
|
601
602
|
}
|
602
603
|
}
|
@@ -613,19 +614,19 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
613
614
|
function chkEventThottle(timer) {
|
614
615
|
if (timer > throttledTimer / 2) {
|
615
616
|
throttledTimer = 2 * timer;
|
616
|
-
log(
|
617
|
+
log('Event throttle increased to ' + throttledTimer + 'ms');
|
617
618
|
}
|
618
619
|
}
|
619
620
|
// Idea from https://github.com/guardian/iframe-messenger
|
620
621
|
function getMaxElement(side, elements) {
|
621
622
|
var elementsLength = elements.length, elVal = 0, maxVal = 0, Side = capitalizeFirstLetter(side), timer = Date.now();
|
622
623
|
for(var i = 0; i < elementsLength; i++){
|
623
|
-
elVal = elements[i].getBoundingClientRect()[side] + getComputedStyle(
|
624
|
+
elVal = elements[i].getBoundingClientRect()[side] + getComputedStyle('margin' + Side, elements[i]);
|
624
625
|
if (elVal > maxVal) maxVal = elVal;
|
625
626
|
}
|
626
627
|
timer = Date.now() - timer;
|
627
|
-
log(
|
628
|
-
log(
|
628
|
+
log('Parsed ' + elementsLength + ' HTML elements');
|
629
|
+
log('Element position calculated in ' + timer + 'ms');
|
629
630
|
chkEventThottle(timer);
|
630
631
|
return maxVal;
|
631
632
|
}
|
@@ -639,19 +640,19 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
639
640
|
}
|
640
641
|
function getTaggedElements(side, tag) {
|
641
642
|
function noTaggedElementsFound() {
|
642
|
-
warn(
|
643
|
-
return document.querySelectorAll(
|
643
|
+
warn('No tagged elements (' + tag + ') found on page');
|
644
|
+
return document.querySelectorAll('body *');
|
644
645
|
}
|
645
|
-
var elements = document.querySelectorAll(
|
646
|
+
var elements = document.querySelectorAll('[' + tag + ']');
|
646
647
|
if (elements.length === 0) noTaggedElementsFound();
|
647
648
|
return getMaxElement(side, elements);
|
648
649
|
}
|
649
650
|
function getAllElements() {
|
650
|
-
return document.querySelectorAll(
|
651
|
+
return document.querySelectorAll('body *');
|
651
652
|
}
|
652
653
|
var getHeight = {
|
653
654
|
bodyOffset: function getBodyOffsetHeight() {
|
654
|
-
return document.body.offsetHeight + getComputedStyle(
|
655
|
+
return document.body.offsetHeight + getComputedStyle('marginTop') + getComputedStyle('marginBottom');
|
655
656
|
},
|
656
657
|
offset: function() {
|
657
658
|
return getHeight.bodyOffset() // Backwards compatibility
|
@@ -680,10 +681,10 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
680
681
|
;
|
681
682
|
},
|
682
683
|
lowestElement: function getBestHeight() {
|
683
|
-
return Math.max(getHeight.bodyOffset() || getHeight.documentElementOffset(), getMaxElement(
|
684
|
+
return Math.max(getHeight.bodyOffset() || getHeight.documentElementOffset(), getMaxElement('bottom', getAllElements()));
|
684
685
|
},
|
685
686
|
taggedElement: function getTaggedElementsHeight() {
|
686
|
-
return getTaggedElements(
|
687
|
+
return getTaggedElements('bottom', 'data-iframe-height');
|
687
688
|
}
|
688
689
|
}, getWidth = {
|
689
690
|
bodyScroll: function getBodyScrollWidth() {
|
@@ -711,10 +712,10 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
711
712
|
return Math.min.apply(null, getAllMeasurements(getWidth));
|
712
713
|
},
|
713
714
|
rightMostElement: function rightMostElement() {
|
714
|
-
return getMaxElement(
|
715
|
+
return getMaxElement('right', getAllElements());
|
715
716
|
},
|
716
717
|
taggedElement: function getTaggedElementsWidth() {
|
717
|
-
return getTaggedElements(
|
718
|
+
return getTaggedElements('right', 'data-iframe-width');
|
718
719
|
}
|
719
720
|
};
|
720
721
|
function sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth) {
|
@@ -743,7 +744,7 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
743
744
|
return heightCalcMode in resetRequiredMethods || calculateWidth && widthCalcMode in resetRequiredMethods;
|
744
745
|
}
|
745
746
|
function logIgnored() {
|
746
|
-
log(
|
747
|
+
log('No change in size detected');
|
747
748
|
}
|
748
749
|
function checkDownSizing() {
|
749
750
|
if (isForceResizableEvent() && isForceResizableCalcMode()) resetIFrame(triggerEventDesc);
|
@@ -752,7 +753,7 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
752
753
|
})) logIgnored();
|
753
754
|
}
|
754
755
|
var currentHeight, currentWidth;
|
755
|
-
if (isSizeChangeDetected() ||
|
756
|
+
if (isSizeChangeDetected() || 'init' === triggerEvent) {
|
756
757
|
lockTrigger();
|
757
758
|
resizeIFrame();
|
758
759
|
} else checkDownSizing();
|
@@ -764,28 +765,28 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
764
765
|
reset: 1,
|
765
766
|
resetPage: 1,
|
766
767
|
init: 1
|
767
|
-
})) log(
|
768
|
+
})) log('Trigger event: ' + triggerEventDesc);
|
768
769
|
}
|
769
770
|
function isDoubleFiredEvent() {
|
770
771
|
return triggerLocked && triggerEvent in doubleEventList;
|
771
772
|
}
|
772
|
-
if (isDoubleFiredEvent()) log(
|
773
|
+
if (isDoubleFiredEvent()) log('Trigger event cancelled: ' + triggerEvent);
|
773
774
|
else {
|
774
775
|
recordTrigger();
|
775
|
-
if (triggerEvent ===
|
776
|
+
if (triggerEvent === 'init') sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth);
|
776
777
|
else sizeIFrameThrottled(triggerEvent, triggerEventDesc, customHeight, customWidth);
|
777
778
|
}
|
778
779
|
}
|
779
780
|
function lockTrigger() {
|
780
781
|
if (!triggerLocked) {
|
781
782
|
triggerLocked = true;
|
782
|
-
log(
|
783
|
+
log('Trigger event lock on');
|
783
784
|
}
|
784
785
|
clearTimeout(triggerLockedTimer);
|
785
786
|
triggerLockedTimer = setTimeout(function() {
|
786
787
|
triggerLocked = false;
|
787
|
-
log(
|
788
|
-
log(
|
788
|
+
log('Trigger event lock off');
|
789
|
+
log('--');
|
789
790
|
}, eventCancelTimer);
|
790
791
|
}
|
791
792
|
function triggerReset(triggerEvent) {
|
@@ -796,19 +797,19 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
796
797
|
function resetIFrame(triggerEventDesc) {
|
797
798
|
var hcm = heightCalcMode;
|
798
799
|
heightCalcMode = heightCalcModeDefault;
|
799
|
-
log(
|
800
|
+
log('Reset trigger event: ' + triggerEventDesc);
|
800
801
|
lockTrigger();
|
801
|
-
triggerReset(
|
802
|
+
triggerReset('reset');
|
802
803
|
heightCalcMode = hcm;
|
803
804
|
}
|
804
805
|
function sendMsg(height, width, triggerEvent, msg, targetOrigin) {
|
805
806
|
function setTargetOrigin() {
|
806
807
|
if (undefined === targetOrigin) targetOrigin = targetOriginDefault;
|
807
|
-
else log(
|
808
|
+
else log('Message targetOrigin: ' + targetOrigin);
|
808
809
|
}
|
809
810
|
function sendToParent() {
|
810
|
-
var size = height +
|
811
|
-
log(
|
811
|
+
var size = height + ':' + width, message = myID + ':' + size + ':' + triggerEvent + (undefined === msg ? '' : ':' + msg);
|
812
|
+
log('Sending message to host page (' + message + ')');
|
812
813
|
target.postMessage(msgID + message, targetOrigin);
|
813
814
|
}
|
814
815
|
if (true === sendPermit) {
|
@@ -828,14 +829,14 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
828
829
|
}, eventCancelTimer);
|
829
830
|
},
|
830
831
|
reset: function resetFromParent() {
|
831
|
-
if (initLock) log(
|
832
|
+
if (initLock) log('Page reset ignored by init');
|
832
833
|
else {
|
833
|
-
log(
|
834
|
-
triggerReset(
|
834
|
+
log('Page size reset by host page');
|
835
|
+
triggerReset('resetPage');
|
835
836
|
}
|
836
837
|
},
|
837
838
|
resize: function resizeFromParent() {
|
838
|
-
sendSize(
|
839
|
+
sendSize('resizeParent', 'Parent window requested size check');
|
839
840
|
},
|
840
841
|
moveToAnchor: function moveToAnchorF() {
|
841
842
|
inPageLinks.findTarget(getData());
|
@@ -845,35 +846,35 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
845
846
|
},
|
846
847
|
pageInfo: function pageInfoFromParent() {
|
847
848
|
var msgBody = getData();
|
848
|
-
log(
|
849
|
+
log('PageInfoFromParent called from parent: ' + msgBody);
|
849
850
|
onPageInfo(JSON.parse(msgBody));
|
850
|
-
log(
|
851
|
+
log(' --');
|
851
852
|
},
|
852
853
|
message: function messageFromParent() {
|
853
854
|
var msgBody = getData();
|
854
|
-
log(
|
855
|
+
log('onMessage called from parent: ' + msgBody);
|
855
856
|
// eslint-disable-next-line sonarjs/no-extra-arguments
|
856
857
|
onMessage(JSON.parse(msgBody));
|
857
|
-
log(
|
858
|
+
log(' --');
|
858
859
|
}
|
859
860
|
};
|
860
861
|
function isMessageForUs() {
|
861
|
-
return msgID === (
|
862
|
+
return msgID === ('' + event.data).slice(0, msgIdLen) // ''+ Protects against non-string messages
|
862
863
|
;
|
863
864
|
}
|
864
865
|
function getMessageType() {
|
865
|
-
return event.data.split(
|
866
|
+
return event.data.split(']')[1].split(':')[0];
|
866
867
|
}
|
867
868
|
function getData() {
|
868
|
-
return event.data.slice(event.data.indexOf(
|
869
|
+
return event.data.slice(event.data.indexOf(':') + 1);
|
869
870
|
}
|
870
871
|
function isMiddleTier() {
|
871
|
-
return !(0, $b2e1fd3e30ab1f5c$exports) &&
|
872
|
+
return !(0, $b2e1fd3e30ab1f5c$exports) && 'iFrameResize' in window || window.jQuery !== undefined && 'iFrameResize' in window.jQuery.prototype;
|
872
873
|
}
|
873
874
|
function isInitMsg() {
|
874
875
|
// Test if this message is from a child below us. This is an ugly test, however, updating
|
875
876
|
// the message format would break backwards compatibility.
|
876
|
-
return event.data.split(
|
877
|
+
return event.data.split(':')[2] in {
|
877
878
|
true: 1,
|
878
879
|
false: 1
|
879
880
|
};
|
@@ -881,7 +882,7 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
881
882
|
function callFromParent() {
|
882
883
|
var messageType = getMessageType();
|
883
884
|
if (messageType in processRequestFromParent) processRequestFromParent[messageType]();
|
884
|
-
else if (!isMiddleTier() && !isInitMsg()) warn(
|
885
|
+
else if (!isMiddleTier() && !isInitMsg()) warn('Unexpected message (' + event.data + ')');
|
885
886
|
}
|
886
887
|
function processMessage() {
|
887
888
|
if (false === firstRun) callFromParent();
|
@@ -893,14 +894,14 @@ var $b2e1fd3e30ab1f5c$exports = {};
|
|
893
894
|
// Normally the parent kicks things off when it detects the iFrame has loaded.
|
894
895
|
// If this script is async-loaded, then tell parent page to retry init.
|
895
896
|
function chkLateLoaded() {
|
896
|
-
if (
|
897
|
+
if ('loading' !== document.readyState) window.parent.postMessage('[iFrameResizerChild]Ready', '*');
|
897
898
|
}
|
898
|
-
addEventListener(window,
|
899
|
-
addEventListener(window,
|
899
|
+
addEventListener(window, 'message', receiver);
|
900
|
+
addEventListener(window, 'readystatechange', chkLateLoaded);
|
900
901
|
chkLateLoaded();
|
901
902
|
})();
|
902
903
|
|
903
904
|
|
904
905
|
|
905
906
|
})();
|
906
|
-
//# sourceMappingURL=
|
907
|
+
//# sourceMappingURL=iframe.js.map
|