Changeset 3181596
- Timestamp:
- 11/04/2024 03:46:27 PM (17 months ago)
- Location:
- r2b2-monetization
- Files:
-
- 371 added
- 9 edited
-
. (modified) (1 prop)
-
tags/1.1.1 (added)
-
tags/1.1.1/LICENCE (added)
-
tags/1.1.1/constants.php (added)
-
tags/1.1.1/css (added)
-
tags/1.1.1/css/r2b2-admin.css (added)
-
tags/1.1.1/css/r2b2-styles.css (added)
-
tags/1.1.1/fonts (added)
-
tags/1.1.1/fonts/HelveticaNowDisplay-Regular.otf (added)
-
tags/1.1.1/fonts/HelveticaNowDisplay-XBd.otf (added)
-
tags/1.1.1/img (added)
-
tags/1.1.1/img/logo-black-negative.png (added)
-
tags/1.1.1/img/logo-black-negative.svg (added)
-
tags/1.1.1/img/logo-black-positive.png (added)
-
tags/1.1.1/img/logo-black-positive.svg (added)
-
tags/1.1.1/img/logo-color-negative.png (added)
-
tags/1.1.1/img/logo-color-negative.svg (added)
-
tags/1.1.1/img/logo-color-positive.png (added)
-
tags/1.1.1/img/logo-color-positive.svg (added)
-
tags/1.1.1/img/logo-white-positive-icon.png (added)
-
tags/1.1.1/img/logo-white-positive.svg (added)
-
tags/1.1.1/img/r2b2-logo-long.svg (added)
-
tags/1.1.1/index.php (added)
-
tags/1.1.1/migrations.php (added)
-
tags/1.1.1/options.php (added)
-
tags/1.1.1/plugin-uninstall.php (added)
-
tags/1.1.1/r2b2-options.js (added)
-
tags/1.1.1/r2b2-ui (added)
-
tags/1.1.1/r2b2-ui/dist (added)
-
tags/1.1.1/r2b2-ui/dist/assets (added)
-
tags/1.1.1/r2b2-ui/dist/assets/buttons (added)
-
tags/1.1.1/r2b2-ui/dist/assets/buttons/button.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/buttons/button_placeholder_black.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/buttons/button_placeholder_white.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/chips (added)
-
tags/1.1.1/r2b2-ui/dist/assets/chips/check_circle_filled.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/datepickers (added)
-
tags/1.1.1/r2b2-ui/dist/assets/datepickers/connection.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/datepickers/cursor.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/datepickers/dot_grey.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/datepickers/dot_orange.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/datepickers/dot_white.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/__icon-copy-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/__icon-copy-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/__icon-copy-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/__icon-copy-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/__icon-copy-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/__icon-copy-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/__icon-copy.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/__icon-copy.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/__icon-copy@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-account.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-account.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-add-gray.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-add-gray.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-adreq.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-default.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-default.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-down-solid.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-down-solid.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-down.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-down.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-down@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-left-long.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-left-long.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-left.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-left.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-right.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-right.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-sort.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-stats.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-stats.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-up-solid.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-arrow-up-solid.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-aym-logo.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-aym-logo.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-basket-2.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-basket-2.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-basket.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-basket.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar-datepicker.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar-datepicker.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-calendar@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-check-neutral.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-check-orange.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-check-radio-neutral.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-check-radio-orange.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-checkmark.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clear-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clear-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clear-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clear-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clear-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clear-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clear.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clear.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clear@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clock-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clock-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clock-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clock-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clock-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clock-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clock.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clock.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-clock@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-copy-to-clipboard.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-copy.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-copy.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-copy@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-credentials.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-circle.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-circle.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-white.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross-white.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-cross@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-delete-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-delete-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-delete-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-delete-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-delete-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-delete-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-delete.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-delete.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-delete@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-dimension-connector.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-dislike.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-dislike.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-dispReq.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-dispReq.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-dispReq@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-dmp.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-dmp.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-doublearrow-left.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-doublearrow-left.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-doublearrow-right.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-doublearrow-right.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-doublecheck.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-doublecheck.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-download-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-download-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-download-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-download-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-download-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-download-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-download.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-download.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-download@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-drag.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-edit-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-edit-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-edit-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-edit-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-edit-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-edit-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-edit.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-edit.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-edit@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-expand-down.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-expand-down.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-expand-up.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-expand-up.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-eye-disabled.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-eye-disabled.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-eye-price.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-eye-price.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-eye-total.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-eye-total.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-eye.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-eye.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-fill.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-fill.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-fill@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-filter-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-filter-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-filter-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-filter-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-filter-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-filter-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-filter.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-filter.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-filter@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-firefox.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-google-chrome.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-info-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-info-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-info-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-info-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-info-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-info-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-info.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-info.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-info@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-key.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-like.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-like.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-lines.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-lines.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-link.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-merge.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-minus-gray.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-minus-gray.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-ms-edge.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-next.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-pencil.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-pencil.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-plus-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-plus-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-plus-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-plus-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-plus-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-plus-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-plus.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-plus.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-plus@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-previous.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-rcpm.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-rcpm.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-rcpm@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-redesign-grafic.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-redesign-grafic.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reqLoss.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reset-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reset-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reset-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reset-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reset-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reset-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reset.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reset.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-reset@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-save.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-save.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-save@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-search-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-search-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-search-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-search-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-search-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-search-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-search.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-search.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-search@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-select-all.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-select-none.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-selectall.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-selectall.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-selectall@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-selectnone.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-selectnone.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-selectnone@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings-wrench.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings-wrench.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-settings@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-showall.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-showall.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-showall@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-showselected.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-showselected.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-showselected@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-sort-asc.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-sort-asc.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-sort-desc.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-sort-desc.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-source.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-star.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-star.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-stats.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-stats.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-style.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success-full.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success-full.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success-full@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-success@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-switch-turn-off.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-switch-turn-on.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-switch.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-switch.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-synchronize-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-synchronize-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-synchronize-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-synchronize-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-synchronize-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-synchronize-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-synchronize.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-synchronize.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-synchronize@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-to-bottom.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-to-top.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-total.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-total.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-triangle-down.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-triangle-right.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-upload-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-upload-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-upload-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-upload-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-upload-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-upload-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-upload.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-upload.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-upload@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-color.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-color.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-color@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-full.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-full.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-full@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-invert.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-invert.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-invert@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-sign.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning-sign.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/icon-warning@2x.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/logo.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/icons/user.png (added)
-
tags/1.1.1/r2b2-ui/dist/assets/logos (added)
-
tags/1.1.1/r2b2-ui/dist/assets/logos/logo.svg (added)
-
tags/1.1.1/r2b2-ui/dist/assets/logos/logo_stats.svg (added)
-
tags/1.1.1/r2b2-ui/dist/css (added)
-
tags/1.1.1/r2b2-ui/dist/css/styles.css (added)
-
tags/1.1.1/r2b2-ui/dist/fonts (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/HelveticaNowDisplay-Bold.woff (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/HelveticaNowDisplay-Bold.woff2 (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/HelveticaNowDisplay-ExtraBold.woff (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/HelveticaNowDisplay-ExtraBold.woff2 (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/HelveticaNowDisplay-Regular.woff (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/HelveticaNowDisplay-Regular.woff2 (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/Roboto-Bold.woff (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/Roboto-Bold.woff2 (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/Roboto-Italic.woff (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/Roboto-Italic.woff2 (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/Roboto-Regular.woff (added)
-
tags/1.1.1/r2b2-ui/dist/fonts/Roboto-Regular.woff2 (added)
-
tags/1.1.1/readme.txt (added)
-
tags/1.1.1/utils.php (added)
-
trunk/constants.php (modified) (3 diffs)
-
trunk/css/r2b2-admin.css (modified) (3 diffs)
-
trunk/index.php (modified) (6 diffs)
-
trunk/migrations.php (added)
-
trunk/options.php (modified) (5 diffs)
-
trunk/r2b2-options.js (modified) (11 diffs)
-
trunk/r2b2-ui/dist/css/styles.css (modified) (163 diffs)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/utils.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
r2b2-monetization
-
Property
svn:ignore
set to
*.idea
-
Property
svn:ignore
set to
-
r2b2-monetization/trunk/constants.php
r3109328 r3181596 1 1 <?php 2 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly 2 if ( ! defined( 'ABSPATH' ) ) { 3 exit; 4 } // Exit if accessed directly 5 6 define( "R2B2_PLUGIN_VERSION", '1.1.1' ); 3 7 4 8 define( "R2B2_OPTIONS", 'r2b2-settings' ); … … 7 11 define( "R2B2_OPTION_PLACEMENT_LIST_DEMO", 'r2b2_settings_list_demo' ); 8 12 define( "R2B2_OPTION_PLACEMENT_LIST_DELIVERY", 'r2b2_settings_list_delivery' ); 13 define( "R2B2_OPTION_PLACEMENT_LIST_DATA", 'r2b2_settings_list_data' ); 9 14 10 15 define( "R2B2_DELIVERY_DOMAIN", '//delivery.r2b2.io/' ); … … 26 31 R2B2_FORMAT_INMEDIA 27 32 ] ); 33 34 define( "R2B2_PL_DATA_DGPM", 'dgpm' ); 35 define( "R2B2_PL_DATA_DELIVERY", 'delivery_enabled' ); 36 define( "R2B2_PL_DATA_PARAGRAPH_INDEX", 'paragraph_index' ); 37 define( "R2B2_PL_DATA_TABLE_INDEX", 'table_index' ); 38 define( "R2B2_PL_DATA_DEMO", 'demo' ); -
r2b2-monetization/trunk/css/r2b2-admin.css
r3109328 r3181596 6 6 } 7 7 8 .r2b2-options {8 .r2b2-options { 9 9 margin-top: 1em; 10 10 } … … 66 66 } 67 67 68 #r2b2-placement-table .r2b2-pltab-paragraph{ 69 max-width: 5em; 70 text-align: center; 71 } 72 68 73 #r2b2-placement-table thead tr { 69 74 background: #F1F1F1; … … 92 97 max-width: 60em; 93 98 } 99 94 100 #r2b2-placement-table th, #r2b2-placement-table td { 95 101 padding: 0.5em 2em; 96 102 font-size: larger; 97 103 } 104 98 105 .r2b2-popup-foreground { 99 106 top: 14em; -
r2b2-monetization/trunk/index.php
r3110442 r3181596 3 3 * Plugin Name: R2B2 Monetization 4 4 * Description: Maximize your profits today with programmatic advertising. 5 * Version: 1. 0.35 * Version: 1.1.1 6 6 * Requires at least: 5.2 7 7 * Requires PHP: 7.2 … … 12 12 * Domain Path: /languages 13 13 */ 14 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly 14 if ( ! defined( 'ABSPATH' ) ) { 15 exit; 16 } // Exit if accessed directly 15 17 16 18 require_once __DIR__ . '/constants.php'; 17 19 require_once __DIR__ . '/utils.php'; 18 20 require_once __DIR__ . '/options.php'; 21 require_once __DIR__ . '/migrations.php'; 19 22 require_once __DIR__ . '/plugin-uninstall.php'; 20 23 … … 28 31 */ 29 32 function r2b2_enqueue_script() { 30 wp_enqueue_style( 'r2b2-styles', plugins_url( '/css/r2b2-styles.css', __FILE__ ), false, r2b2_get_plugin_version() ); 31 32 $options = get_option( R2B2_OPTIONS ); 33 $listDelivery = $options[ R2B2_OPTION_PLACEMENT_LIST_DELIVERY ] ?? ''; 34 $listDemo = $options[ R2B2_OPTION_PLACEMENT_LIST_DEMO ] ?? ''; 35 $placementsDelivery = explode( "\n", $listDelivery ) ?? []; 36 $placementsDemo = explode( "\n", $listDemo ) ?? []; 33 wp_enqueue_style( 'r2b2-styles', plugins_url( '/css/r2b2-styles.css', __FILE__ ), false, R2B2_PLUGIN_VERSION ); 34 $placements = r2b2_get_placement_data(); 37 35 38 36 $deviceIsMobile = wp_is_mobile(); 39 37 40 foreach ( $placementsDelivery as $placement ) { 41 if ( in_array( r2b2_get_mediatype( $placement ), R2B2_FORMATS_WITHOUT_CONTAINER ) ) { 42 if ( $deviceIsMobile === r2b2_is_placement_mobile( $placement ) ) { 43 $showDemo = in_array( $placement, $placementsDemo ) && current_user_can( 'administrator' ); 44 r2b2_enqueue_placement( $placement, $showDemo ); 38 foreach ( $placements as $placement ) { 39 if ( ! $placement[ R2B2_PL_DATA_DELIVERY ] ) { 40 continue; 41 } 42 if ( in_array( r2b2_get_mediatype( $placement[ R2B2_PL_DATA_DGPM ]['p'] ), R2B2_FORMATS_WITHOUT_CONTAINER ) ) { 43 if ( ! ! $deviceIsMobile === ! ! $placement[ R2B2_PL_DATA_DGPM ]['m'] ) { 44 $showDemo = $placement[ R2B2_PL_DATA_DEMO ] && current_user_can( 'administrator' ); 45 r2b2_enqueue_placement( $placement[ R2B2_PL_DATA_DGPM ], $showDemo ); 45 46 } 46 47 } … … 49 50 50 51 add_action( 'wp_enqueue_scripts', 'r2b2_enqueue_script' ); 51 52 /**53 * Shortcode insertion of specific placements.54 * Insert `[r2b2 placement='domain.example/group/position/mobile']` in the page editor to an exact position where you want the ad.55 */56 function r2b2_shortcode_handler( $atts ) {57 58 // Attributes59 $atts = shortcode_atts(60 array(61 'placement' => '',62 'demo' => false,63 ),64 $atts65 );66 67 if ( ! empty( $atts['placement'] ) ) {68 $placementDiv = 'r2b2-ad--' . str_replace( '/', '_', $atts['placement'] );69 $placementUrl = $atts['placement'];70 if ( ! empty( $atts['demo'] ) && current_user_can( 'administrator' ) ) {71 return r2b2_selfpromo_html( $placementUrl );72 } else {73 return r2b2_placement_html( r2b2_delivery_url( $placementUrl ), $placementDiv );74 }75 }76 77 return '';78 }79 80 function r2b2_shortcodes_init() {81 add_shortcode( 'r2b2', 'r2b2_shortcode_handler' );82 }83 84 add_action( 'init', 'r2b2_shortcodes_init' );85 52 86 53 /** … … 92 59 function r2b2_insert_into_posts( $content ) { 93 60 if ( ! empty( $content ) ) { 94 $options = get_option( R2B2_OPTIONS ); 95 $listDelivery = $options[ R2B2_OPTION_PLACEMENT_LIST_DELIVERY ] ?? ''; 96 $listDemo = $options[ R2B2_OPTION_PLACEMENT_LIST_DEMO ] ?? ''; 97 $placementsDelivery = explode( "\n", $listDelivery ) ?? []; 98 $placementsDemo = explode( "\n", $listDemo ) ?? []; 61 $placements = r2b2_get_placement_data(); 62 $placementsToInsert = []; 99 63 100 64 $deviceIsMobile = wp_is_mobile(); 101 $placements = [];102 65 103 foreach ( $placementsDelivery as $placement ) { 104 if ( ! in_array( r2b2_get_mediatype( $placement ), R2B2_FORMATS_WITHOUT_CONTAINER ) ) { 105 if ( $deviceIsMobile === r2b2_is_placement_mobile( $placement ) ) { 106 $placements[] = $placement; 66 foreach ( $placements as $placement ) { 67 if ( ! $placement[ R2B2_PL_DATA_DELIVERY ] ) { 68 continue; 69 } 70 if ( ! in_array( r2b2_get_mediatype( $placement[ R2B2_PL_DATA_DGPM ]['p'] ), R2B2_FORMATS_WITHOUT_CONTAINER ) ) { 71 if ( ! ! $deviceIsMobile === ! ! $placement[ R2B2_PL_DATA_DGPM ]['m'] ) { 72 if ( is_numeric( $placement[ R2B2_PL_DATA_PARAGRAPH_INDEX ] ) ) { 73 $placementsToInsert[ $placement[ R2B2_PL_DATA_PARAGRAPH_INDEX ] ] = $placementsToInsert[ $placement[ R2B2_PL_DATA_PARAGRAPH_INDEX ] ] ?? []; 74 $placementsToInsert[ $placement[ R2B2_PL_DATA_PARAGRAPH_INDEX ] ][] = $placement; 75 } 107 76 } 108 77 } … … 115 84 $content .= "</p>"; 116 85 117 if ( ( $index + 1 ) % R2B2_FREQUENCY_IN_POST === 0 ) { 118 $placementIndex = round( ( $index ) / R2B2_FREQUENCY_IN_POST ) - 1; 119 if ( ! empty( $placements[ $placementIndex ] ) ) { 120 $placements[ $placementIndex ] = preg_replace( '/[\x00-\x1F\x80-\xFF]/', '', $placements[ $placementIndex ] ); 121 $placementDiv = 'r2b2-ad--' . str_replace( [ 122 '/', 123 '.' 124 ], '_', $placements[ $placementIndex ] ); 125 if ( in_array( $placements[ $placementIndex ], $placementsDemo ) && current_user_can( 'administrator' ) ) { 126 $content .= r2b2_selfpromo_html( $placements[ $placementIndex ] ); 127 } else { 128 $content .= r2b2_placement_html( r2b2_delivery_url( $placements[ $placementIndex ] ), $placementDiv ); 129 } 86 if ( ! empty( $placementsToInsert[ $index + 1 ] ) ) { 87 $pls = $placementsToInsert[ $index + 1 ]; 88 foreach ( $pls as $pl ) { 89 $placementDiv = 'r2b2-ad--' . preg_replace( '/[\x00-\x1F\x80-\xFF\/\.]/', '', join( '_', $pl[ R2B2_PL_DATA_DGPM ] ) ); 90 $selfpromo = $pl[ R2B2_PL_DATA_DEMO ] && current_user_can( 'administrator' ); 91 $content .= r2b2_placement_html( r2b2_delivery_url( $pl[ R2B2_PL_DATA_DGPM ], $selfpromo, $placementDiv ), $placementDiv ); 130 92 } 131 93 } -
r2b2-monetization/trunk/options.php
r3109328 r3181596 10 10 add_action( 'admin_enqueue_scripts', 'r2b2_admin_styles' ); 11 11 function r2b2_admin_styles() { 12 $pluginVersion = r2b2_get_plugin_version();12 $pluginVersion = R2B2_PLUGIN_VERSION; 13 13 $screenId = get_current_screen()->id; 14 14 if ( $screenId === 'settings_page_r2b2' || $screenId === 'toplevel_page_r2b2' ) { … … 63 63 <thead> 64 64 <tr> 65 <th>Name</th> 66 <th>Media type</th> 67 <th>Status</th> 68 <th title="To validate functionality of a specific ad space you can switch on the demo ad. The demo ad will be displayed to the website administrators and doesn’t yield any profit."> 65 <th class="r2b2-pltab-name">Name</th> 66 <th class="r2b2-pltab-mt">Media type</th> 67 <th class="r2b2-pltab-status">Status</th> 68 <th class="r2b2-pltab-paragraph">Article paragraph</th> 69 <th class="r2b2-pltab-demo" title="To validate functionality of a specific ad space you can switch on the demo ad. The demo ad will be displayed to the website administrators and doesn’t yield any profit."> 69 70 Demo ad 70 71 </th> 72 <th class="r2b2-pltab-action">Action</th> 71 73 </tr> 72 74 </thead> … … 92 94 93 95 add_settings_section( 'r2b2_section_all', '', 'r2b2_section_all_text', 'r2b2' ); 94 add_settings_field( R2B2_OPTION_PLACEMENT_LIST, 'Placement list', 'r2b2_settings_list_setup', 'r2b2', 'r2b2_section_all' ); 95 add_settings_field( R2B2_OPTION_PLACEMENT_LIST_DELIVERY, 'Placements for delivery', 'r2b2_settings_list_delivery_setup', 'r2b2', 'r2b2_section_all' ); 96 add_settings_field( R2B2_OPTION_PLACEMENT_LIST_DEMO, 'Demo placements', 'r2b2_settings_list_demo_setup', 'r2b2', 'r2b2_section_all' ); 96 add_settings_field( R2B2_OPTION_PLACEMENT_LIST, 'Placement list (DEPRECATED)', 'r2b2_settings_list_setup', 'r2b2', 'r2b2_section_all' ); 97 add_settings_field( R2B2_OPTION_PLACEMENT_LIST_DELIVERY, 'Placements for delivery (DEPRECATED)', 'r2b2_settings_list_delivery_setup', 'r2b2', 'r2b2_section_all' );/** @deprecated */ 98 add_settings_field( R2B2_OPTION_PLACEMENT_LIST_DATA, 'Placements for delivery on mobile', 'r2b2_settings_list_data_setup', 'r2b2', 'r2b2_section_all' ); 99 add_settings_field( R2B2_OPTION_PLACEMENT_LIST_DEMO, 'Demo placements (DEPRECATED)', 'r2b2_settings_list_demo_setup', 'r2b2', 'r2b2_section_all' ); 97 100 98 101 } … … 103 106 } 104 107 108 /** @deprecated */ 105 109 function r2b2_settings_list_delivery_setup() { 106 110 r2b2_textarea_render( R2B2_OPTION_PLACEMENT_LIST_DELIVERY ); 107 111 } 108 112 function r2b2_settings_list_data_setup() { 113 r2b2_textarea_render( R2B2_OPTION_PLACEMENT_LIST_DATA ); 114 } 109 115 function r2b2_settings_list_demo_setup() { 110 116 r2b2_textarea_render( R2B2_OPTION_PLACEMENT_LIST_DEMO ); … … 138 144 */ 139 145 function r2b2_options_validate( $input ) { 140 $valid = [];146 $valid = []; 141 147 $lists = [ 142 R2B2_OPTION_PLACEMENT_LIST, 143 R2B2_OPTION_PLACEMENT_LIST_DEMO, 144 R2B2_OPTION_PLACEMENT_LIST_DELIVERY 148 R2B2_OPTION_PLACEMENT_LIST_DATA, 145 149 ]; 146 $regex = '/^[a-z 0-9\.\-_\/]+$/';150 $regex = '/^[a-zA-Z0-9\,\.\:\-_\/\ \{\}\'\"\[\]]+$/'; 147 151 foreach ( $lists as $listKey ) { 148 152 $validPlacements = []; 149 153 if ( ! empty( $input[ $listKey ] ) ) { 150 154 $list = explode( "\n", $input[ $listKey ] ); 151 foreach ( $list as $placement ) {152 if ( empty( $placement ) ) {155 foreach ( $list as $placementData ) { 156 if ( empty( $placementData ) ) { 153 157 continue; 154 158 } 155 $placement = trim( $placement);156 if ( ! preg_match( $regex, $placement ) ) {159 $placementData = trim( $placementData ); 160 if ( ! preg_match( $regex, $placementData ) ) { 157 161 continue; 158 162 } 159 if ( ! in_array( substr_count( $placement, '/' ), [ 2, 3 ] ) ) { 160 continue; 161 } 162 $validPlacements[] = $placement; 163 $validPlacements[] = $placementData; 163 164 } 164 165 } -
r2b2-monetization/trunk/r2b2-options.js
r3109328 r3181596 1 1 (function (win, doc) { 2 let cAdminPage, c Form, cPlacementTable, cPlacementTableBody, cPopupAddPlacements, cInputList, cInputListDemo,3 cInputListDelivery;2 let cAdminPage, cPlacementTable, cPlacementTableBody, cPopup; 3 let cInputListData; 4 4 5 5 … … 13 13 cAdminPage = doc.querySelector('.r2b2-options'); 14 14 cPlacementTable = doc.querySelector('#r2b2-placement-table'); 15 cInputList = doc.querySelector('#r2b2_settings_list'); 16 cInputListDemo = doc.querySelector('#r2b2_settings_list_demo'); 17 cInputListDelivery = doc.querySelector('#r2b2_settings_list_delivery'); 15 cInputListData = doc.querySelector('#r2b2_settings_list_data'); 18 16 19 17 if (!isElement(cPlacementTable) || 20 !isElement(cInputList) || 21 !isElement(cInputListDemo) || 22 !isElement(cInputListDelivery)) { 18 !isElement(cInputListData)) { 23 19 setTimeout(init, 3000); 24 20 console.warn('[R2B2] Essential elements not found. Next try in 3 seconds. Contact R2B2 support in case of problems.'); … … 44 40 cPlacementTable.appendChild(cPlacementTableBody); 45 41 46 const placements = getPlacement sFromList(cInputList);42 const placements = getPlacementData(); 47 43 if (placements.length === 0) { 48 44 for (let i = 0; i < 3; i++) { … … 52 48 let td3 = doc.createElement('td'); 53 49 let td4 = doc.createElement('td'); 50 let td5 = doc.createElement('td'); 51 let td6 = doc.createElement('td'); 54 52 tr.appendChild(td1); 55 53 tr.appendChild(td2); 56 54 tr.appendChild(td3); 57 55 tr.appendChild(td4); 56 tr.appendChild(td5); 57 tr.appendChild(td6); 58 58 cPlacementTableBody.appendChild(tr); 59 59 } 60 60 } else { 61 for (const placement of placements) {61 for (const placementData of placements) { 62 62 let tr = doc.createElement('tr'); 63 63 let tdName = doc.createElement('td'); 64 64 let tdType = doc.createElement('td'); 65 65 let tdState = doc.createElement('td'); 66 let tdParagraphIndex = doc.createElement('td'); 66 67 let tdDemo = doc.createElement('td'); 67 68 tdName.textContent = getAYMPlacementName(placement); 69 if (placement.indexOf('sticky') !== -1 || placement.indexOf('fixed') !== -1) { 70 tdType.textContent = 'Sticky'; 71 } else if (placement.indexOf('vignette') !== -1) { 72 tdType.textContent = 'Vignette'; 73 } else { 74 tdType.textContent = '-'; 68 let tdAction = doc.createElement('td'); 69 70 tdName.className = 'r2b2-pltab-name'; 71 tdType.className = 'r2b2-pltab-mt'; 72 tdState.className = 'r2b2-pltab-status'; 73 tdParagraphIndex.className = 'r2b2-pltab-paragraph'; 74 tdDemo.className = 'r2b2-pltab-demo'; 75 tdAction.className = 'r2b2-pltab-action'; 76 77 tdName.textContent = getAYMPlacementName(placementData.dgpm); 78 tdType.textContent = getMediaType(placementData.dgpm.p); 79 const randomText = Math.round(Math.random() * 1000); 80 tdState.appendChild(createToggle('delivery-' + randomText, 'delivery-' + randomText, placementData.delivery_enabled, createCheckboxListenerDelivery(placementData.dgpm))); 81 tdDemo.appendChild(createToggle('demo-' + randomText, 'demo-' + randomText, placementData.demo, createCheckboxListenerDemo(placementData.dgpm))); 82 83 const textParagraphIndex = doc.createElement('span'); 84 textParagraphIndex.textContent = placementData.paragraph_index ?? '-'; 85 tdParagraphIndex.appendChild(textParagraphIndex); 86 87 const buttonEditPlacement = createButton('Edit'); 88 if (!isPlacementWithContainer(placementData.dgpm)) { 89 buttonEditPlacement.classList.add('button-disabled'); 90 buttonEditPlacement.disabled = true; 75 91 } 76 const plNameClean = placement.replaceAll(/[ \.\/\-]/gi, '_'); 77 tdState.appendChild(createToggle('delivery-' + plNameClean, 'delivery-' + plNameClean, isPlacementInList(placement, cInputListDelivery), createCheckboxListenerDelivery(placement))); 78 tdDemo.appendChild(createToggle('demo-' + plNameClean, 'demo-' + plNameClean, isPlacementInList(placement, cInputListDemo), createCheckboxListenerDemo(placement))); 92 buttonEditPlacement.addEventListener('click', () => displayPopupEditPlacement(placementData.dgpm)); 93 tdAction.appendChild(buttonEditPlacement); 79 94 80 95 tr.appendChild(tdName); 81 96 tr.appendChild(tdType); 82 97 tr.appendChild(tdState); 98 tr.appendChild(tdParagraphIndex); 83 99 tr.appendChild(tdDemo); 100 tr.appendChild(tdAction); 84 101 cPlacementTableBody.appendChild(tr); 85 102 } … … 88 105 89 106 function displayPopupAddPlacements() { 90 // if (cPopupAddPlacements) throw new Error('Popup already rendered'); 91 if (cPopupAddPlacements) closePopupAddPlacements(); 92 93 cPopupAddPlacements = doc.createElement('div'); 107 if (cPopup) closePopup(); 108 109 cPopup = doc.createElement('div'); 94 110 const cBack = doc.createElement('div'); 95 111 const cFront = doc.createElement('div'); … … 99 115 const cText2 = doc.createElement('p'); 100 116 const cTextArea = doc.createElement('textarea'); 117 const cButtonContainer = doc.createElement('div'); 101 118 const cSave = doc.createElement('button'); 102 119 103 cPopup AddPlacements.className = 'r2b2-popup';120 cPopup.className = 'r2b2-popup'; 104 121 cFront.className = 'r2b2-popup-foreground'; 105 122 cBack.className = 'r2b2-popup-background'; 106 cBack.addEventListener('click', closePopup AddPlacements);123 cBack.addEventListener('click', closePopup); 107 124 108 125 cCloser.className = 'r2b2-popup-closer'; 109 126 cCloser.textContent = '⨯'; 110 127 cCloser.title = 'Close popup'; 111 cCloser.addEventListener('click', closePopup AddPlacements);128 cCloser.addEventListener('click', closePopup); 112 129 cCloser.focus(); 113 130 … … 118 135 cTextArea.style.width = '100%'; 119 136 cTextArea.setAttribute('rows', '8'); 137 138 cButtonContainer.style.textAlign = 'right'; 120 139 121 140 cSave.className = 'button button__primary button--sm'; … … 129 148 cFront.appendChild(cText2); 130 149 cFront.appendChild(cTextArea); 131 cFront.appendChild(cSave); 132 cPopupAddPlacements.appendChild(cFront); 133 cPopupAddPlacements.appendChild(cBack); 134 cAdminPage.appendChild(cPopupAddPlacements); 150 cButtonContainer.appendChild(cSave); 151 cFront.appendChild(cButtonContainer); 152 cPopup.appendChild(cFront); 153 cPopup.appendChild(cBack); 154 cAdminPage.appendChild(cPopup); 135 155 cTextArea.focus(); 136 156 } 137 157 138 function closePopupAddPlacements() { 139 if (typeof cPopupAddPlacements === "object" && typeof cPopupAddPlacements.remove === "function") { 140 cPopupAddPlacements.remove(); 141 cPopupAddPlacements = null; 158 function displayPopupEditPlacement(dgpm, callbackAfterSave) { 159 if (cPopup) closePopup(); 160 let plData = getPlacementDataSingle(dgpm); 161 162 cPopup = doc.createElement('div'); 163 const cBack = doc.createElement('div'); 164 const cFront = doc.createElement('div'); 165 const cCloser = doc.createElement('button'); 166 const cForm = doc.createElement('form'); 167 const cPlName = doc.createElement('h1'); 168 const cHeadline = doc.createElement('h2'); 169 const cText1 = doc.createElement('p'); 170 const cText2 = doc.createElement('span'); 171 const cInputParagraph = doc.createElement('input'); 172 const cButtonContainer = doc.createElement('div'); 173 const cSave = doc.createElement('button'); 174 175 cPopup.className = 'r2b2-popup'; 176 cFront.className = 'r2b2-popup-foreground'; 177 cBack.className = 'r2b2-popup-background'; 178 cBack.addEventListener('click', closePopup); 179 180 cCloser.className = 'r2b2-popup-closer'; 181 cCloser.textContent = '⨯'; 182 cCloser.title = 'Close popup'; 183 cCloser.addEventListener('click', closePopup); 184 cCloser.focus(); 185 186 cPlName.textContent = getAYMPlacementName(dgpm); 187 cHeadline.textContent = 'Settings for banner placement in the articles'; 188 cText1.innerHTML = 'The banner will be displayed in the article after the selected paragraph.'; 189 cText2.textContent = 'Article paragraph: '; 190 191 cInputParagraph.type = 'number'; 192 cInputParagraph.min = '1'; 193 cInputParagraph.max = '50'; 194 cInputParagraph.required = true; 195 cInputParagraph.value = plData.paragraph_index; 196 197 cButtonContainer.style.textAlign = 'right'; 198 199 cSave.type = "submit"; 200 cSave.className = 'button button__primary button--sm'; 201 cSave.innerHTML = '<span class="text-block text-block--bold text-block--md">Save</span>'; 202 203 cForm.addEventListener('submit', function (ev) { 204 ev.preventDefault(); 205 206 updatePlacementData(dgpm, {paragraph_index: cInputParagraph.value}); 207 closePopup(); 208 if (callbackAfterSave && typeof callbackAfterSave === "function"){ 209 callbackAfterSave(); 210 } 211 displayPlacementTable(); 212 }) 213 214 cFront.appendChild(cForm); 215 cForm.appendChild(cCloser); 216 cForm.appendChild(cPlName); 217 cForm.appendChild(cHeadline); 218 cForm.appendChild(cText1); 219 cForm.appendChild(cText2); 220 cForm.appendChild(cInputParagraph); 221 cButtonContainer.appendChild(cSave); 222 cForm.appendChild(cButtonContainer); 223 cPopup.appendChild(cFront); 224 cPopup.appendChild(cBack); 225 cAdminPage.appendChild(cPopup); 226 cInputParagraph.focus(); 227 } 228 229 function closePopup() { 230 if (typeof cPopup === "object" && typeof cPopup.remove === "function") { 231 cPopup.remove(); 232 cPopup = null; 142 233 } 143 234 displayPlacementTable(); 144 235 } 145 236 237 238 function createButton(text) { 239 const button = doc.createElement('button'); 240 const content = doc.createElement('span'); 241 242 button.setAttribute('class', 'button button__primary button--sm'); 243 button.style.verticalAlign = 'middle'; 244 content.setAttribute('class', 'text-block text-block--bold text-block--md'); 245 content.textContent = text; 246 247 button.appendChild(content); 248 return button; 249 } 146 250 147 251 function createToggle(id, name, checked, eventListener) { … … 165 269 } 166 270 167 function createCheckboxListenerDelivery( placement) {271 function createCheckboxListenerDelivery(dgpm) { 168 272 return function () { 169 if (this.checked) { 170 addPlacementToList(placement, cInputListDelivery); 171 } else { 172 removePlacementFromList(placement, cInputListDelivery); 173 } 174 } 175 } 176 177 function createCheckboxListenerDemo(placement) { 273 if (isPlacementWithContainer(dgpm)){ 274 const pl = getPlacementDataSingle(dgpm); 275 if (!pl.paragraph_index && this.checked){ 276 displayPopupEditPlacement(dgpm, function () { 277 updatePlacementData(dgpm, {delivery_enabled: true}) 278 }.bind(this)); 279 return; 280 } 281 } 282 updatePlacementData(dgpm, {delivery_enabled: this.checked}); 283 } 284 } 285 286 function createCheckboxListenerDemo(dgpm) { 178 287 return function () { 179 if (this.checked) { 180 addPlacementToList(placement, cInputListDemo); 181 } else { 182 removePlacementFromList(placement, cInputListDemo); 183 } 288 updatePlacementData(dgpm, {demo: this.checked}); 184 289 } 185 290 } 186 291 187 292 /* Processing */ 293 188 294 function processPopupAddPlacements(newPlacements) { 189 295 if (typeof newPlacements !== "string") throw new Error('Invalid data in new placements'); … … 193 299 const srcUrl = match[2]; 194 300 const urlParts = srcUrl.match(regexUrl); 195 let placement = [ 196 urlParts[2], 197 urlParts[3], 198 urlParts[4] 199 ].join('/'); 200 if (urlParts[5] && !['desktop', 'classic', '0'].includes(urlParts[5])) { 201 placement += '/mobile'; 202 } 203 if (addPlacementToList(placement, cInputList)) { 204 addPlacementToList(placement, cInputListDelivery); 205 } 206 } 207 208 closePopupAddPlacements(); 209 } 210 211 function getPlacementsFromList(listElement) { 212 if (!isElement(listElement)) throw new Error('List is not an Element'); 213 const value = listElement.value; 214 if (value === '') { 215 return []; 216 } else { 217 return value.split('\n'); 218 } 301 const dgpm = { 302 d: urlParts[2], 303 g: urlParts[3], 304 p: urlParts[4], 305 m: !['desktop', 'classic', '0'].includes(urlParts[5]), 306 }; 307 addPlacementData(createPlacementObj(dgpm, !isPlacementWithContainer(dgpm))); 308 } 309 closePopup(); 219 310 } 220 311 221 312 /** 222 313 * 223 * @param placement 224 * @param listElement 225 * @returns {boolean} True = Placement added. 226 * False = Placement not added. 314 * @returns {string[]|[]} 227 315 */ 228 function addPlacementToList(placement, listElement) { 229 if (!isElement(listElement)) throw new Error('List is not an Element'); 230 if (isPlacementInList(placement, listElement)) return false; 231 let placements = getPlacementsFromList(listElement); 232 placements.push(placement); 233 listElement.value = placements.join('\n'); 316 function getPlacementData() { 317 if (!isElement(cInputListData)) throw new Error('List is not an Element'); 318 const value = cInputListData.value; 319 let placementsData = []; 320 if (value !== '') { 321 const placementsDataRaw = value.split('\n'); 322 for (const placementData of placementsDataRaw) { 323 if (placementData.trim() === '') continue; 324 const data = JSON.parse(placementData); 325 placementsData.push(createPlacementObj(data.dgpm, data.delivery_enabled, data.demo, data.paragraph_index)); 326 } 327 } 328 return placementsData; 329 } 330 331 function getPlacementDataSingle(dgpm) { 332 if (!isElement(cInputListData)) throw new Error('List is not an Element'); 333 const value = cInputListData.value; 334 let placementsData = []; 335 if (value !== '') { 336 const placementsDataRaw = value.split('\n'); 337 for (const placementData of placementsDataRaw) { 338 if (placementData.trim() === '') continue; 339 const pl = JSON.parse(placementData); 340 if (pl.dgpm.d === dgpm.d && pl.dgpm.g === dgpm.g && pl.dgpm.p === dgpm.p && pl.dgpm.m === dgpm.m) { 341 return createPlacementObj(pl.dgpm, pl.delivery_enabled, pl.demo, pl.paragraph_index); 342 } 343 } 344 } 345 return placementsData; 346 } 347 348 function overwritePlacementData(data) { 349 if (!isElement(cInputListData)) throw new Error('List is not an Element'); 350 let result = []; 351 for (const placementData of data) { 352 result.push(JSON.stringify(placementData)); 353 } 354 cInputListData.value = result.join("\n"); 234 355 warnBeforeExit(); 235 return true; 236 } 237 238 function removePlacementFromList(placement, listElement) { 239 if (!isElement(listElement)) throw new Error('List is not an Element'); 240 let placements = getPlacementsFromList(listElement); 241 for (var i = 0; i < placements.length; i++) { 242 if (placement === placements[i]) { 243 placements.splice(i, 1); 244 } 245 } 246 listElement.value = placements.join('\n'); 356 } 357 358 function addPlacementData(data) { 359 if (!isElement(cInputListData)) throw new Error('List is not an Element'); 360 cInputListData.value += "\n" + JSON.stringify(data); 247 361 warnBeforeExit(); 248 362 } 249 363 250 function isPlacementInList(placement, listElement) { 251 if (!isElement(listElement)) throw new Error('List is not an Element'); 252 const placements = getPlacementsFromList(listElement); 253 for (var i = 0; i < placements.length; i++) { 254 if (placement === placements[i]) { 255 return true; 256 } 257 } 258 return false; 364 function createPlacementObj(dgpm, delivery = true, demo = false, paragraphIndex = null) { 365 return { 366 'dgpm': { 367 'd': dgpm.d, 368 'g': dgpm.g, 369 'p': dgpm.p, 370 'm': dgpm.m, 371 }, 372 'delivery_enabled': delivery, 373 'paragraph_index': paragraphIndex, 374 'demo': demo, 375 }; 376 } 377 378 function updatePlacementData(dgpm, newData) { 379 if (!isElement(cInputListData)) throw new Error('List is not an Element'); 380 381 let data = getPlacementData(); 382 for (let i = 0; i < data.length; i++) { 383 const pl = data[i]; 384 if (pl.dgpm.d === dgpm.d && pl.dgpm.g === dgpm.g && pl.dgpm.p === dgpm.p && pl.dgpm.m === dgpm.m) { 385 for (const newDataKey in newData) { 386 data[i][newDataKey] = newData[newDataKey]; 387 } 388 } 389 } 390 overwritePlacementData(data); 259 391 } 260 392 … … 263 395 } 264 396 265 function getAYMPlacementName(name) { 266 let parts = name.split('/'); 267 if (parts.length === 3 || parts.length === 4) { 268 const d = parts[0]; 269 const g = parts[1]; 270 const p = parts[2]; 271 const m = parts[3]; 272 273 return `${g} ${p} ${m === 'mobile' ? 'mobile ' : ''}(${d})`; 274 } 275 doError('Unknown name format'); 276 return '?'; 397 function isPlacementWithContainer(dgpm) { 398 return ['Interscroller', 'Outstream', 'Native', 'Banner'].includes(getMediaType(dgpm.p)); 399 } 400 401 function getAYMPlacementName(dgpm) { 402 const isMobile = dgpm.m === 'mobile' || dgpm.m === true; 403 return `${dgpm.g} ${dgpm.p} ${isMobile ? 'mobile ' : ''}(${dgpm.d})`; 404 } 405 406 function getMediaType(position) { 407 if (position.indexOf('sticky') !== -1 || position.indexOf('fixed') !== -1) { 408 return 'Sticky'; 409 } else if (position.indexOf('vignette') !== -1) { 410 return 'Vignette'; 411 } else if (position.indexOf('interscroll') !== -1) { 412 return 'Interscroller'; 413 } else if (position.indexOf('inmedia') !== -1) { 414 return 'In-Media'; 415 } else if (position.indexOf('outstream') !== -1) { 416 return 'Outstream'; 417 } else if (position.indexOf('native') !== -1) { 418 return 'Native'; 419 } else if (position.indexOf('branding') !== -1) { 420 return 'Branding'; 421 } else { 422 return 'Banner'; 423 } 277 424 } 278 425 -
r2b2-monetization/trunk/r2b2-ui/dist/css/styles.css
r3109328 r3181596 1 :root {1 .r2b2-options :root { 2 2 --font-family: HelveticaNowDisplay, arial, helvetica, sans-serif; 3 3 --color-primary: #FEF3C7; … … 31 31 } 32 32 33 . shadow {33 .r2b2-options .shadow { 34 34 border-radius: 1.5rem; 35 35 border: 1px solid #f5f5f4; … … 37 37 } 38 38 39 . shadow-small {39 .r2b2-options .shadow-small { 40 40 box-shadow: 0px 1px 2px 0px rgba(41, 37, 36, .06) 41 41 } 42 42 43 . shadow-medium {43 .r2b2-options .shadow-medium { 44 44 box-shadow: 0px 1px 2px 0px rgba(41, 37, 36, .06), 0px 1px 3px 0px rgba(41, 37, 36, .09) 45 45 } 46 46 47 . shadow-large {47 .r2b2-options .shadow-large { 48 48 box-shadow: 0px 2px 2px 0px rgba(41, 37, 36, .06), 0px 3px 8px 0px rgba(41, 37, 36, .09) 49 49 } 50 50 51 . shadow-elevation-small {51 .r2b2-options .shadow-elevation-small { 52 52 box-shadow: 0px 4px 6px -2px rgba(41, 37, 36, .03), 0px 12px 16px -4px rgba(41, 37, 36, .09) 53 53 } 54 54 55 . shadow-elevation-large {55 .r2b2-options .shadow-elevation-large { 56 56 box-shadow: 0px 8px 8px -4px rgba(41, 37, 36, .03), 0px 20px 24px -4px rgba(41, 37, 36, .09) 57 57 } 58 58 59 . shadow-focus-primary {59 .r2b2-options .shadow-focus-primary { 60 60 box-shadow: 0px 0px 0px 4px #fdb, 0px 1px 2px 0px rgba(41, 37, 36, .06) 61 61 } 62 62 63 . shadow-focus-secondary {63 .r2b2-options .shadow-focus-secondary { 64 64 box-shadow: 0px 0px 0px 4px #f5f5f4, 0px 1px 2px 0px rgba(41, 37, 36, .06) 65 65 } 66 66 67 . shadow-focus-error {67 .r2b2-options .shadow-focus-error { 68 68 box-shadow: 0px 0px 0px 4px #fee2e2, 0px 1px 2px 0px rgba(41, 37, 36, .06) 69 69 } 70 70 71 . heading {71 .r2b2-options .heading { 72 72 color: #000; 73 73 font-feature-settings: "clig" off, "liga" off; … … 78 78 } 79 79 80 . heading-1 {80 .r2b2-options .heading-1 { 81 81 font-size: 2.375rem; 82 82 letter-spacing: -0.0475rem 83 83 } 84 84 85 . heading-2 {85 .r2b2-options .heading-2 { 86 86 font-size: 1.875rem; 87 87 letter-spacing: -0.01875rem 88 88 } 89 89 90 . heading-3 {90 .r2b2-options .heading-3 { 91 91 font-size: 1.5rem; 92 92 letter-spacing: -0.0075rem 93 93 } 94 94 95 . heading-4 {95 .r2b2-options .heading-4 { 96 96 font-size: 1.25rem; 97 97 letter-spacing: -0.00313rem 98 98 } 99 99 100 . heading-5 {100 .r2b2-options .heading-5 { 101 101 font-size: 1rem 102 102 } 103 103 104 . text-block {104 .r2b2-options .text-block { 105 105 align-self: stretch; 106 106 font-feature-settings: "clig" off, "liga" off; … … 110 110 } 111 111 112 . text-block--regular {112 .r2b2-options .text-block--regular { 113 113 font-weight: 400 114 114 } 115 115 116 . text-block--bold {116 .r2b2-options .text-block--bold { 117 117 font-weight: 700 118 118 } 119 119 120 . text-block--sm {120 .r2b2-options .text-block--sm { 121 121 font-size: .75rem 122 122 } 123 123 124 . text-block--md {124 .r2b2-options .text-block--md { 125 125 font-size: .875rem 126 126 } 127 127 128 . text-block--lg {128 .r2b2-options .text-block--lg { 129 129 font-size: 1rem 130 130 } 131 131 132 . text-block--xl {132 .r2b2-options .text-block--xl { 133 133 font-size: 1.25rem 134 134 } 135 135 136 . icon,.superselect__clear {136 .r2b2-options .icon.r2b2-options .superselect__clear { 137 137 outline: none; 138 138 border: none; … … 149 149 } 150 150 151 . icon:hover,.superselect__clear:hover {151 .r2b2-options .icon:hover.r2b2-options .superselect__clear:hover { 152 152 color: rgba(0, 0, 0, 0) !important 153 153 } 154 154 155 . icon--rounded-bg {155 .r2b2-options .icon--rounded-bg { 156 156 background-size: 16px 12px; 157 157 background-color: #7a7874; … … 160 160 } 161 161 162 . icon--size-large {162 .r2b2-options .icon--size-large { 163 163 width: 3em; 164 164 height: 3em 165 165 } 166 166 167 . icon--style-color {167 .r2b2-options .icon--style-color { 168 168 background-color: #fef3c7; 169 169 mix-blend-mode: darken 170 170 } 171 171 172 . icon--no-margin {172 .r2b2-options .icon--no-margin { 173 173 margin: 0 174 174 } 175 175 176 . icon--cross,.icon--cross.icon--style-default {176 .r2b2-options .icon--cross.r2b2-options .icon--cross.icon--style-default { 177 177 background-image: url("/assets/img/icon-cross.png"); 178 178 background-image: url("/assets/img/icon-cross.svg"), none 179 179 } 180 180 181 . icon--cross.icon--style-invert {181 .r2b2-options .icon--cross.icon--style-invert { 182 182 background-image: url("/assets/img/icon-cross-invert.png"); 183 183 background-image: url("/assets/img/icon-cross-invert.svg"), none 184 184 } 185 185 186 . icon--cross.icon--style-color {186 .r2b2-options .icon--cross.icon--style-color { 187 187 background-image: url("/assets/img/icon-cross-color.png"); 188 188 background-image: url("/assets/img/icon-cross-color.svg"), none 189 189 } 190 190 191 . icon--cross-white,.icon--cross-white.icon--style-default {191 .r2b2-options .icon--cross-white.r2b2-options .icon--cross-white.icon--style-default { 192 192 background-image: url("/assets/img/icon-cross-white.png"); 193 193 background-image: url("/assets/img/icon-cross-white.svg"), none 194 194 } 195 195 196 . icon--checkmark, .icon--checkmark.icon--style-default, .icon--success,.icon--success.icon--style-default {196 .r2b2-options .icon--checkmark.r2b2-options .icon--checkmark.icon--style-default, .r2b2-options .icon--success, .r2b2-options .icon--success.icon--style-default { 197 197 background-image: url("/assets/img/icon-success.png"); 198 198 background-image: url("/assets/img/icon-success.svg"), none 199 199 } 200 200 201 . icon--checkmark.icon--style-invert,.icon--success.icon--style-invert {201 .r2b2-options .icon--checkmark.icon--style-invert.r2b2-options .icon--success.icon--style-invert { 202 202 background-image: url("/assets/img/icon-success-invert.png"); 203 203 background-image: url("/assets/img/icon-success-invert.svg"), none 204 204 } 205 205 206 . icon--checkmark.icon--style-color,.icon--success.icon--style-color {206 .r2b2-options .icon--checkmark.icon--style-color.r2b2-options .icon--success.icon--style-color { 207 207 background-image: url("/assets/img/icon-success-color.png"); 208 208 background-image: url("/assets/img/icon-success-color.svg"), none 209 209 } 210 210 211 . icon--checkmark.icon--style-full,.icon--success.icon--style-full {211 .r2b2-options .icon--checkmark.icon--style-full.r2b2-options .icon--success.icon--style-full { 212 212 background-image: url("/assets/img/icon-success-full.png"); 213 213 background-image: url("/assets/img/icon-success-full.svg"), none 214 214 } 215 215 216 . icon--calendar,.icon--calendar.icon--style-default {216 .r2b2-options .icon--calendar.r2b2-options .icon--calendar.icon--style-default { 217 217 background-image: url("/assets/img/icon-calendar.png"); 218 218 background-image: url("/assets/img/icon-calendar.svg"), none 219 219 } 220 220 221 . icon--calendar.icon--style-invert {221 .r2b2-options .icon--calendar.icon--style-invert { 222 222 background-image: url("/assets/img/icon-calendar-invert.png"); 223 223 background-image: url("/assets/img/icon-calendar-invert.svg"), none 224 224 } 225 225 226 . icon--calendar.icon--style-color {226 .r2b2-options .icon--calendar.icon--style-color { 227 227 background-image: url("/assets/img/icon-calendar-color.png"); 228 228 background-image: url("/assets/img/icon-calendar-color.svg"), none 229 229 } 230 230 231 . icon--clock,.icon--clock.icon--style-default {231 .r2b2-options .icon--clock.r2b2-options .icon--clock.icon--style-default { 232 232 background-image: url("/assets/img/icon-clock.png"); 233 233 background-image: url("/assets/img/icon-clock.svg"), none 234 234 } 235 235 236 . icon--clock.icon--style-invert {236 .r2b2-options .icon--clock.icon--style-invert { 237 237 background-image: url("/assets/img/icon-clock-invert.png"); 238 238 background-image: url("/assets/img/icon-clock-invert.svg"), none 239 239 } 240 240 241 . icon--clock.icon--style-color {241 .r2b2-options .icon--clock.icon--style-color { 242 242 background-image: url("/assets/img/icon-clock-color.png"); 243 243 background-image: url("/assets/img/icon-clock-color.svg"), none 244 244 } 245 245 246 . icon--delete,.icon--delete.icon--style-default {246 .r2b2-options .icon--delete.r2b2-options .icon--delete.icon--style-default { 247 247 background-image: url("/assets/img/icon-delete.png"); 248 248 background-image: url("/assets/img/icon-delete.svg"), none 249 249 } 250 250 251 . icon--delete.icon--style-invert {251 .r2b2-options .icon--delete.icon--style-invert { 252 252 background-image: url("/assets/img/icon-delete-invert.png"); 253 253 background-image: url("/assets/img/icon-delete-invert.svg"), none 254 254 } 255 255 256 . icon--delete.icon--style-color {256 .r2b2-options .icon--delete.icon--style-color { 257 257 background-image: url("/assets/img/icon-delete-color.png"); 258 258 background-image: url("/assets/img/icon-delete-color.svg"), none 259 259 } 260 260 261 . icon--clear, .superselect__clear,.icon--clear.icon--style-default {261 .r2b2-options .icon--clear.r2b2-options .superselect__clear, .r2b2-options .icon--clear.icon--style-default { 262 262 background-image: url("/assets/img/icon-clear.png"); 263 263 background-image: url("/assets/img/icon-clear.svg"), none 264 264 } 265 265 266 . icon--clear.icon--style-invert,.icon--style-invert.superselect__clear {266 .r2b2-options .icon--clear.icon--style-invert.r2b2-options .icon--style-invert.superselect__clear { 267 267 background-image: url("/assets/img/icon-clear-invert.png"); 268 268 background-image: url("/assets/img/icon-clear-invert.svg"), none 269 269 } 270 270 271 . icon--clear.icon--style-color,.icon--style-color.superselect__clear {271 .r2b2-options .icon--clear.icon--style-color.r2b2-options .icon--style-color.superselect__clear { 272 272 background-image: url("/assets/img/icon-clear-color.png"); 273 273 background-image: url("/assets/img/icon-clear-color.svg"), none 274 274 } 275 275 276 . icon--selectall,.icon--selectall.icon--style-default {276 .r2b2-options .icon--selectall.r2b2-options .icon--selectall.icon--style-default { 277 277 background-image: url("/assets/img/icon-selectall.png"); 278 278 background-image: url("/assets/img/icon-selectall.svg"), none 279 279 } 280 280 281 . icon--selectnone,.icon--selectnone.icon--style-default {281 .r2b2-options .icon--selectnone.r2b2-options .icon--selectnone.icon--style-default { 282 282 background-image: url("/assets/img/icon-selectnone.png"); 283 283 background-image: url("/assets/img/icon-selectnone.svg"), none 284 284 } 285 285 286 . icon--showall,.icon--showall.icon--style-default {286 .r2b2-options .icon--showall.r2b2-options .icon--showall.icon--style-default { 287 287 background-image: url("/assets/img/icon-showall.png"); 288 288 background-image: url("/assets/img/icon-showall.svg"), none 289 289 } 290 290 291 . icon--showselected,.icon--showselected.icon--style-default {291 .r2b2-options .icon--showselected.r2b2-options .icon--showselected.icon--style-default { 292 292 background-image: url("/assets/img/icon-showselected.png"); 293 293 background-image: url("/assets/img/icon-showselected.svg"), none 294 294 } 295 295 296 . icon--filter,.icon--filter.icon--style-default {296 .r2b2-options .icon--filter.r2b2-options .icon--filter.icon--style-default { 297 297 background-image: url("/assets/img/icon-filter.png"); 298 298 background-image: url("/assets/img/icon-filter.svg"), none 299 299 } 300 300 301 . icon--filter.icon--style-invert {301 .r2b2-options .icon--filter.icon--style-invert { 302 302 background-image: url("/assets/img/icon-filter-invert.png"); 303 303 background-image: url("/assets/img/icon-filter-invert.svg"), none 304 304 } 305 305 306 . icon--filter.icon--style-color {306 .r2b2-options .icon--filter.icon--style-color { 307 307 background-image: url("/assets/img/icon-filter-color.png"); 308 308 background-image: url("/assets/img/icon-filter-color.svg"), none 309 309 } 310 310 311 . icon--settings,.icon--settings.icon--style-default {311 .r2b2-options .icon--settings.r2b2-options .icon--settings.icon--style-default { 312 312 background-image: url("/assets/img/icon-settings.png"); 313 313 background-image: url("/assets/img/icon-settings.svg"), none 314 314 } 315 315 316 . icon--settings.icon--style-invert {316 .r2b2-options .icon--settings.icon--style-invert { 317 317 background-image: url("/assets/img/icon-settings-invert.png"); 318 318 background-image: url("/assets/img/icon-settings-invert.svg"), none 319 319 } 320 320 321 . icon--settings.icon--style-color {321 .r2b2-options .icon--settings.icon--style-color { 322 322 background-image: url("/assets/img/icon-settings-color.png"); 323 323 background-image: url("/assets/img/icon-settings-color.svg"), none 324 324 } 325 325 326 . icon--edit,.icon--edit.icon--style-default {326 .r2b2-options .icon--edit.r2b2-options .icon--edit.icon--style-default { 327 327 background-image: url("/assets/img/icon-edit.png"); 328 328 background-image: url("/assets/img/icon-edit.svg"), none 329 329 } 330 330 331 . icon--edit.icon--style-invert {331 .r2b2-options .icon--edit.icon--style-invert { 332 332 background-image: url("/assets/img/icon-edit-invert.png"); 333 333 background-image: url("/assets/img/icon-edit-invert.svg"), none 334 334 } 335 335 336 . icon--edit.icon--style-color {336 .r2b2-options .icon--edit.icon--style-color { 337 337 background-image: url("/assets/img/icon-edit-color.png"); 338 338 background-image: url("/assets/img/icon-edit-color.svg"), none 339 339 } 340 340 341 . icon--search,.icon--search.icon--style-default {341 .r2b2-options .icon--search.r2b2-options .icon--search.icon--style-default { 342 342 background-image: url("/assets/img/icon-search.png"); 343 343 background-image: url("/assets/img/icon-search.svg"), none 344 344 } 345 345 346 . icon--search.icon--style-invert {346 .r2b2-options .icon--search.icon--style-invert { 347 347 background-image: url("/assets/img/icon-search-invert.png"); 348 348 background-image: url("/assets/img/icon-search-invert.svg"), none 349 349 } 350 350 351 . icon--search.icon--style-color {351 .r2b2-options .icon--search.icon--style-color { 352 352 background-image: url("/assets/img/icon-search-color.png"); 353 353 background-image: url("/assets/img/icon-search-color.svg"), none 354 354 } 355 355 356 . icon--plus, .icon--plus.icon--style-default, .icon--add,.icon--add.icon--style-default {356 .r2b2-options .icon--plus.r2b2-options .icon--plus.icon--style-default, .r2b2-options .icon--add, .r2b2-options .icon--add.icon--style-default { 357 357 background-image: url("/assets/img/icon-plus.png"); 358 358 background-image: url("/assets/img/icon-plus.svg"), none 359 359 } 360 360 361 . icon--plus.icon--style-invert,.icon--add.icon--style-invert {361 .r2b2-options .icon--plus.icon--style-invert.r2b2-options .icon--add.icon--style-invert { 362 362 background-image: url("/assets/img/icon-plus-invert.png"); 363 363 background-image: url("/assets/img/icon-plus-invert.svg"), none 364 364 } 365 365 366 . icon--plus.icon--style-color,.icon--add.icon--style-color {366 .r2b2-options .icon--plus.icon--style-color.r2b2-options .icon--add.icon--style-color { 367 367 background-image: url("/assets/img/icon-plus-color.png"); 368 368 background-image: url("/assets/img/icon-plus-color.svg"), none 369 369 } 370 370 371 . icon--plus-gray, .icon--plus-gray.icon--style-default, .icon--add-gray,.icon--add-gray.icon--style-default {371 .r2b2-options .icon--plus-gray.r2b2-options .icon--plus-gray.icon--style-default, .r2b2-options .icon--add-gray, .r2b2-options .icon--add-gray.icon--style-default { 372 372 background-image: url("/assets/img/icon-add-gray.png"); 373 373 background-image: url("/assets/img/icon-add-gray.svg"), none 374 374 } 375 375 376 . icon--minus-gray,.icon--minus-gray.icon--style-default {376 .r2b2-options .icon--minus-gray.r2b2-options .icon--minus-gray.icon--style-default { 377 377 background-image: url("/assets/img/icon-minus-gray.png"); 378 378 background-image: url("/assets/img/icon-minus-gray.svg"), none 379 379 } 380 380 381 . icon--copy {381 .r2b2-options .icon--copy { 382 382 background-size: 80% 383 383 } 384 384 385 . icon--copy,.icon--copy.icon--style-default {385 .r2b2-options .icon--copy.r2b2-options .icon--copy.icon--style-default { 386 386 background-image: url("/assets/img/icon-copy.png"); 387 387 background-image: url("/assets/img/icon-copy.svg"), none 388 388 } 389 389 390 . icon--synchronize,.icon--synchronize.icon--style-default {390 .r2b2-options .icon--synchronize.r2b2-options .icon--synchronize.icon--style-default { 391 391 background-image: url("/assets/img/icon-synchronize.png"); 392 392 background-image: url("/assets/img/icon-synchronize.svg"), none 393 393 } 394 394 395 . icon--synchronize.icon--style-invert {395 .r2b2-options .icon--synchronize.icon--style-invert { 396 396 background-image: url("/assets/img/icon-synchronize-invert.png"); 397 397 background-image: url("/assets/img/icon-synchronize-invert.svg"), none 398 398 } 399 399 400 . icon--synchronize.icon--style-color {400 .r2b2-options .icon--synchronize.icon--style-color { 401 401 background-image: url("/assets/img/icon-synchronize-color.png"); 402 402 background-image: url("/assets/img/icon-synchronize-color.svg"), none 403 403 } 404 404 405 . icon--reset,.icon--reset.icon--style-default {405 .r2b2-options .icon--reset.r2b2-options .icon--reset.icon--style-default { 406 406 background-image: url("/assets/img/icon-reset.png"); 407 407 background-image: url("/assets/img/icon-reset.svg"), none 408 408 } 409 409 410 . icon--reset.icon--style-invert {410 .r2b2-options .icon--reset.icon--style-invert { 411 411 background-image: url("/assets/img/icon-reset-invert.png"); 412 412 background-image: url("/assets/img/icon-reset-invert.svg"), none 413 413 } 414 414 415 . icon--reset.icon--style-color {415 .r2b2-options .icon--reset.icon--style-color { 416 416 background-image: url("/assets/img/icon-reset-color.png"); 417 417 background-image: url("/assets/img/icon-reset-color.svg"), none 418 418 } 419 419 420 . icon--info,.icon--info.icon--style-default {420 .r2b2-options .icon--info.r2b2-options .icon--info.icon--style-default { 421 421 background-image: url("/assets/img/icon-info.png"); 422 422 background-image: url("/assets/img/icon-info.svg"), none 423 423 } 424 424 425 . icon--info.icon--style-invert {425 .r2b2-options .icon--info.icon--style-invert { 426 426 background-image: url("/assets/img/icon-info-invert.png"); 427 427 background-image: url("/assets/img/icon-info-invert.svg"), none 428 428 } 429 429 430 . icon--info.icon--style-color {430 .r2b2-options .icon--info.icon--style-color { 431 431 background-image: url("/assets/img/icon-info-color.png"); 432 432 background-image: url("/assets/img/icon-info-color.svg"), none 433 433 } 434 434 435 . icon--warning,.icon--warning.icon--style-default {435 .r2b2-options .icon--warning.r2b2-options .icon--warning.icon--style-default { 436 436 background-image: url("/assets/img/icon-warning.png"); 437 437 background-image: url("/assets/img/icon-warning.svg"), none 438 438 } 439 439 440 . icon--warning.icon--style-invert {440 .r2b2-options .icon--warning.icon--style-invert { 441 441 background-image: url("/assets/img/icon-warning-invert.png"); 442 442 background-image: url("/assets/img/icon-warning-invert.svg"), none 443 443 } 444 444 445 . icon--warning.icon--style-color {445 .r2b2-options .icon--warning.icon--style-color { 446 446 background-image: url("/assets/img/icon-warning-color.png"); 447 447 background-image: url("/assets/img/icon-warning-color.svg"), none 448 448 } 449 449 450 . icon--warning.icon--style-full {450 .r2b2-options .icon--warning.icon--style-full { 451 451 background-image: url("/assets/img/icon-warning-full.png"); 452 452 background-image: url("/assets/img/icon-warning-full.svg"), none 453 453 } 454 454 455 . icon--upload,.icon--upload.icon--style-default {455 .r2b2-options .icon--upload.r2b2-options .icon--upload.icon--style-default { 456 456 background-image: url("/assets/img/icon-upload.png"); 457 457 background-image: url("/assets/img/icon-upload.svg"), none 458 458 } 459 459 460 . icon--upload.icon--style-invert {460 .r2b2-options .icon--upload.icon--style-invert { 461 461 background-image: url("/assets/img/icon-upload-invert.png"); 462 462 background-image: url("/assets/img/icon-upload-invert.svg"), none 463 463 } 464 464 465 . icon--upload.icon--style-color {465 .r2b2-options .icon--upload.icon--style-color { 466 466 background-image: url("/assets/img/icon-upload-color.png"); 467 467 background-image: url("/assets/img/icon-upload-color.svg"), none 468 468 } 469 469 470 . icon--download,.icon--download.icon--style-default {470 .r2b2-options .icon--download.r2b2-options .icon--download.icon--style-default { 471 471 background-image: url("/assets/img/icon-download.png"); 472 472 background-image: url("/assets/img/icon-download.svg"), none 473 473 } 474 474 475 . icon--download.icon--style-invert {475 .r2b2-options .icon--download.icon--style-invert { 476 476 background-image: url("/assets/img/icon-download-invert.png"); 477 477 background-image: url("/assets/img/icon-download-invert.svg"), none 478 478 } 479 479 480 . icon--download.icon--style-color {480 .r2b2-options .icon--download.icon--style-color { 481 481 background-image: url("/assets/img/icon-download-color.png"); 482 482 background-image: url("/assets/img/icon-download-color.svg"), none 483 483 } 484 484 485 . icon--save {485 .r2b2-options .icon--save { 486 486 background-size: 80% 487 487 } 488 488 489 . icon--save,.icon--save.icon--style-default {489 .r2b2-options .icon--save.r2b2-options .icon--save.icon--style-default { 490 490 background-image: url("/assets/img/icon-save.png"); 491 491 background-image: url("/assets/img/icon-save.svg"), none 492 492 } 493 493 494 . icon--state-disabled {494 .r2b2-options .icon--state-disabled { 495 495 opacity: .25; 496 496 cursor: not-allowed 497 497 } 498 498 499 . icon--arrow-down,.icon--arrow-down.icon--style-default {499 .r2b2-options .icon--arrow-down.r2b2-options .icon--arrow-down.icon--style-default { 500 500 background-image: url("/assets/img/icon-arrow-down.png"); 501 501 background-image: url("/assets/img/icon-arrow-down.svg"), none 502 502 } 503 503 504 . icon--arrow-down-solid,.icon--arrow-down-solid.icon--style-default {504 .r2b2-options .icon--arrow-down-solid.r2b2-options .icon--arrow-down-solid.icon--style-default { 505 505 background-image: url("/assets/img/icon-arrow-down-solid.png"); 506 506 background-image: url("/assets/img/icon-arrow-down-solid.svg"), none 507 507 } 508 508 509 . icon--arrow-up-solid,.icon--arrow-up-solid.icon--style-default {509 .r2b2-options .icon--arrow-up-solid.r2b2-options .icon--arrow-up-solid.icon--style-default { 510 510 background-image: url("/assets/img/icon-arrow-up-solid.png"); 511 511 background-image: url("/assets/img/icon-arrow-up-solid.svg"), none 512 512 } 513 513 514 . icon--arrow-left-long,.icon--arrow-left-long.icon--style-default {514 .r2b2-options .icon--arrow-left-long.r2b2-options .icon--arrow-left-long.icon--style-default { 515 515 background-image: url("/assets/img/icon-arrow-left-long.png"); 516 516 background-image: url("/assets/img/icon-arrow-left-long.svg"), none 517 517 } 518 518 519 . icon--aym-logo {519 .r2b2-options .icon--aym-logo { 520 520 width: 2rem; 521 521 height: 2rem 522 522 } 523 523 524 . icon--aym-logo,.icon--aym-logo.icon--style-default {524 .r2b2-options .icon--aym-logo.r2b2-options .icon--aym-logo.icon--style-default { 525 525 background-image: url("/assets/img/icon-aym-logo.png"); 526 526 background-image: url("/assets/img/icon-aym-logo.svg"), none 527 527 } 528 528 529 . icon--account,.icon--account.icon--style-default {529 .r2b2-options .icon--account.r2b2-options .icon--account.icon--style-default { 530 530 background-image: url("/assets/img/icon-account.png"); 531 531 background-image: url("/assets/img/icon-account.svg"), none 532 532 } 533 533 534 . icon--like,.icon--like.icon--style-default {534 .r2b2-options .icon--like.r2b2-options .icon--like.icon--style-default { 535 535 background-image: url("/assets/img/icon-like.png"); 536 536 background-image: url("/assets/img/icon-like.svg"), none 537 537 } 538 538 539 . icon--star,.icon--star.icon--style-default {539 .r2b2-options .icon--star.r2b2-options .icon--star.icon--style-default { 540 540 background-image: url("/assets/img/icon-star.png"); 541 541 background-image: url("/assets/img/icon-star.svg"), none 542 542 } 543 543 544 . icon--stats,.icon--stats.icon--style-default {544 .r2b2-options .icon--stats.r2b2-options .icon--stats.icon--style-default { 545 545 background-image: url("/assets/img/icon-stats.png"); 546 546 background-image: url("/assets/img/icon-stats.svg"), none 547 547 } 548 548 549 . icon--settings-wrench,.icon--settings-wrench.icon--style-default {549 .r2b2-options .icon--settings-wrench.r2b2-options .icon--settings-wrench.icon--style-default { 550 550 background-image: url("/assets/img/icon-settings-wrench.png"); 551 551 background-image: url("/assets/img/icon-settings-wrench.svg"), none 552 552 } 553 553 554 . icon--doublearrow-right,.icon--doublearrow-right.icon--style-default {554 .r2b2-options .icon--doublearrow-right.r2b2-options .icon--doublearrow-right.icon--style-default { 555 555 background-image: url("/assets/img/icon-doublearrow-right.png"); 556 556 background-image: url("/assets/img/icon-doublearrow-right.svg"), none 557 557 } 558 558 559 . icon--doublearrow-left,.icon--doublearrow-left.icon--style-default {559 .r2b2-options .icon--doublearrow-left.r2b2-options .icon--doublearrow-left.icon--style-default { 560 560 background-image: url("/assets/img/icon-doublearrow-left.png"); 561 561 background-image: url("/assets/img/icon-doublearrow-left.svg"), none 562 562 } 563 563 564 . icon--dmp,.icon--dmp.icon--style-default {564 .r2b2-options .icon--dmp.r2b2-options .icon--dmp.icon--style-default { 565 565 background-image: url("/assets/img/icon-dmp.png"); 566 566 background-image: url("/assets/img/icon-dmp.svg"), none 567 567 } 568 568 569 . icon--dislike,.icon--dislike.icon--style-default {569 .r2b2-options .icon--dislike.r2b2-options .icon--dislike.icon--style-default { 570 570 background-image: url("/assets/img/icon-dislike.png"); 571 571 background-image: url("/assets/img/icon-dislike.svg"), none 572 572 } 573 573 574 . icon--arrow-right,.icon--arrow-right.icon--style-default {574 .r2b2-options .icon--arrow-right.r2b2-options .icon--arrow-right.icon--style-default { 575 575 background-image: url("/assets/img/icon-arrow-right.png"); 576 576 background-image: url("/assets/img/icon-arrow-right.svg"), none 577 577 } 578 578 579 . icon--arrow-left,.icon--arrow-left.icon--style-default {579 .r2b2-options .icon--arrow-left.r2b2-options .icon--arrow-left.icon--style-default { 580 580 background-image: url("/assets/img/icon-arrow-left.png"); 581 581 background-image: url("/assets/img/icon-arrow-left.svg"), none 582 582 } 583 583 584 . icon--arrow-default,.icon--arrow-default.icon--style-default {584 .r2b2-options .icon--arrow-default.r2b2-options .icon--arrow-default.icon--style-default { 585 585 background-image: url("/assets/img/icon-arrow-default.png"); 586 586 background-image: url("/assets/img/icon-arrow-default.svg"), none 587 587 } 588 588 589 . icon--arrow-stats,.icon--arrow-stats.icon--style-default {589 .r2b2-options .icon--arrow-stats.r2b2-options .icon--arrow-stats.icon--style-default { 590 590 background-image: url("/assets/img/icon-arrow-stats.png"); 591 591 background-image: url("/assets/img/icon-arrow-stats.svg"), none 592 592 } 593 593 594 . icon--eye-total,.icon--eye-total.icon--style-default {594 .r2b2-options .icon--eye-total.r2b2-options .icon--eye-total.icon--style-default { 595 595 background-image: url("/assets/img/icon-eye-total.png"); 596 596 background-image: url("/assets/img/icon-eye-total.svg"), none 597 597 } 598 598 599 . icon--eye-price,.icon--eye-price.icon--style-default {599 .r2b2-options .icon--eye-price.r2b2-options .icon--eye-price.icon--style-default { 600 600 background-image: url("/assets/img/icon-eye-price.png"); 601 601 background-image: url("/assets/img/icon-eye-price.svg"), none 602 602 } 603 603 604 . icon--total,.icon--total.icon--style-default {604 .r2b2-options .icon--total.r2b2-options .icon--total.icon--style-default { 605 605 background-image: url("/assets/img/icon-total.png"); 606 606 background-image: url("/assets/img/icon-total.svg"), none 607 607 } 608 608 609 . icon--sort-asc,.icon--sort-asc.icon--style-default {609 .r2b2-options .icon--sort-asc.r2b2-options .icon--sort-asc.icon--style-default { 610 610 background-image: url("/assets/img/icon-sort-asc.png"); 611 611 background-image: url("/assets/img/icon-sort-asc.svg"), none 612 612 } 613 613 614 . icon--sort-desc,.icon--sort-desc.icon--style-default {614 .r2b2-options .icon--sort-desc.r2b2-options .icon--sort-desc.icon--style-default { 615 615 background-image: url("/assets/img/icon-sort-desc.png"); 616 616 background-image: url("/assets/img/icon-sort-desc.svg"), none 617 617 } 618 618 619 . icon--eye,.icon--eye.icon--style-default {619 .r2b2-options .icon--eye.r2b2-options .icon--eye.icon--style-default { 620 620 background-image: url("/assets/img/icon-eye.png"); 621 621 background-image: url("/assets/img/icon-eye.svg"), none 622 622 } 623 623 624 . icon--eye-disabled,.icon--eye-disabled.icon--style-default {624 .r2b2-options .icon--eye-disabled.r2b2-options .icon--eye-disabled.icon--style-default { 625 625 background-image: url("/assets/img/icon-eye-disabled.png"); 626 626 background-image: url("/assets/img/icon-eye-disabled.svg"), none 627 627 } 628 628 629 . icon--basket,.icon--basket.icon--style-default {629 .r2b2-options .icon--basket.r2b2-options .icon--basket.icon--style-default { 630 630 background-image: url("/assets/img/icon-basket.png"); 631 631 background-image: url("/assets/img/icon-basket.svg"), none 632 632 } 633 633 634 . icon--basket-2,.icon--basket-2.icon--style-default {634 .r2b2-options .icon--basket-2.r2b2-options .icon--basket-2.icon--style-default { 635 635 background-image: url("/assets/img/icon-basket.png"); 636 636 background-image: url("/assets/img/icon-basket.svg"), none 637 637 } 638 638 639 . icon--lines,.icon--lines.icon--style-default {639 .r2b2-options .icon--lines.r2b2-options .icon--lines.icon--style-default { 640 640 background-image: url("/assets/img/icon-lines.png"); 641 641 background-image: url("/assets/img/icon-lines.svg"), none 642 642 } 643 643 644 . icon--pencil,.icon--pencil.icon--style-default {644 .r2b2-options .icon--pencil.r2b2-options .icon--pencil.icon--style-default { 645 645 background-image: url("/assets/img/icon-pencil.png"); 646 646 background-image: url("/assets/img/icon-pencil.svg"), none 647 647 } 648 648 649 . icon--calendar-datepicker,.icon--calendar-datepicker.icon--style-default {649 .r2b2-options .icon--calendar-datepicker.r2b2-options .icon--calendar-datepicker.icon--style-default { 650 650 background-image: url("/assets/img/icon-calendar-datepicker.png"); 651 651 background-image: url("/assets/img/icon-calendar-datepicker.svg"), none 652 652 } 653 653 654 . icon--warning-sign,.icon--warning-sign.icon--style-default {654 .r2b2-options .icon--warning-sign.r2b2-options .icon--warning-sign.icon--style-default { 655 655 background-image: url("/assets/img/icon-warning-sign.png"); 656 656 background-image: url("/assets/img/icon-warning-sign.svg"), none 657 657 } 658 658 659 . icon--expand-up,.icon--expand-up.icon--style-default {659 .r2b2-options .icon--expand-up.r2b2-options .icon--expand-up.icon--style-default { 660 660 background-image: url("/assets/img/icon-expand-up.png"); 661 661 background-image: url("/assets/img/icon-expand-up.svg"), none 662 662 } 663 663 664 . icon--expand-down,.icon--expand-down.icon--style-default {664 .r2b2-options .icon--expand-down.r2b2-options .icon--expand-down.icon--style-default { 665 665 background-image: url("/assets/img/icon-expand-down.png"); 666 666 background-image: url("/assets/img/icon-expand-down.svg"), none 667 667 } 668 668 669 . svg-icon {669 .r2b2-options .svg-icon { 670 670 height: 1rem; 671 671 width: 1rem; … … 673 673 } 674 674 675 . svg-icon svg {675 .r2b2-options .svg-icon svg { 676 676 pointer-events: none; 677 677 width: 100%; … … 679 679 } 680 680 681 . button {681 .r2b2-options .button { 682 682 display: inline-flex; 683 683 padding: .5rem .875rem; … … 689 689 } 690 690 691 . button__primary {691 .r2b2-options .button__primary { 692 692 border: 1px solid #e57300; 693 693 background: #e57300; … … 696 696 } 697 697 698 . button__primary:hover {698 .r2b2-options .button__primary:hover { 699 699 border: 1px solid #b36b24; 700 background: #b36b24 701 } 702 703 .button__primary:focus { 700 background: #b36b24; 701 color: #fff; 702 } 703 704 .r2b2-options .button__primary:focus { 704 705 border: 1px solid #f93; 705 706 background: #f93; 707 color: #fff; 706 708 box-shadow: 0px 0px 0px 2px #fdb, 0px 1px 2px 0px rgba(41, 37, 36, .06) 707 709 } 708 710 709 . button__primary:disabled {711 .r2b2-options .button__primary:disabled { 710 712 border: 1px solid #fdb; 711 713 background: #fdb 712 714 } 713 715 714 . button__primary--destructive {716 .r2b2-options .button__primary--destructive { 715 717 border-radius: .5rem; 716 718 border: 1px solid #dc2626; … … 720 722 } 721 723 722 . button__primary--destructive:hover {724 .r2b2-options .button__primary--destructive:hover { 723 725 border: 1px solid #b91c1c; 724 726 background: #b91c1c 725 727 } 726 728 727 . button__primary--destructive:focus {729 .r2b2-options .button__primary--destructive:focus { 728 730 border: 1px solid #dc2626; 729 731 background: #dc2626; … … 731 733 } 732 734 733 . button__primary--destructive:disabled {735 .r2b2-options .button__primary--destructive:disabled { 734 736 border: 1px solid #fecaca; 735 737 background: #fecaca 736 738 } 737 739 738 . button__secondary {740 .r2b2-options .button__secondary { 739 741 border: 1px solid #fdb; 740 742 background: #fff7ed; … … 743 745 } 744 746 745 . button__secondary:hover {747 .r2b2-options .button__secondary:hover { 746 748 background: #fed; 747 749 color: #804d1a 748 750 } 749 751 750 . button__secondary:focus {752 .r2b2-options .button__secondary:focus { 751 753 box-shadow: 0px 0px 0px 2px #fdb, 0px 1px 2px 0px rgba(41, 37, 36, .06) 752 754 } 753 755 754 . button__secondary:disabled {756 .r2b2-options .button__secondary:disabled { 755 757 border: 1px solid #fff7ed; 756 758 background: #fff7ed; … … 758 760 } 759 761 760 . button__secondary--gray {762 .r2b2-options .button__secondary--gray { 761 763 border: 1px solid #d6d3d1; 762 764 background: #fff; … … 765 767 } 766 768 767 . button__secondary--gray:hover {769 .r2b2-options .button__secondary--gray:hover { 768 770 background: #fafaf9; 769 771 color: #292524 770 772 } 771 773 772 . button__secondary--gray:focus {774 .r2b2-options .button__secondary--gray:focus { 773 775 box-shadow: 0px 0px 0px 2px #f5f5f4, 0px 1px 2px 0px rgba(41, 37, 36, .06) 774 776 } 775 777 776 . button__secondary--gray:disabled {778 .r2b2-options .button__secondary--gray:disabled { 777 779 border: 1px solid #e7e5e4; 778 780 color: #d6d3d1 779 781 } 780 782 781 . button--sm {783 .r2b2-options .button--sm { 782 784 padding: .5rem .875rem; 783 785 font-size: .875rem 784 786 } 785 787 786 . button--md {788 .r2b2-options .button--md { 787 789 padding: .63rem 1rem; 788 790 font-size: .875rem 789 791 } 790 792 791 . button--lg {793 .r2b2-options .button--lg { 792 794 padding: .63rem 1.13rem; 793 795 font-size: 1rem 794 796 } 795 797 796 . button--xl {798 .r2b2-options .button--xl { 797 799 padding: .75rem 1.25rem; 798 800 font-size: 1rem 799 801 } 800 802 801 . button--2xl {803 .r2b2-options .button--2xl { 802 804 padding: 1rem 1.75rem; 803 805 font-size: 1rem 804 806 } 805 807 806 . tabButton {808 .r2b2-options .tabButton { 807 809 display: inline-flex; 808 810 padding: .5rem .75rem; … … 815 817 } 816 818 817 . tabButton:hover {819 .r2b2-options .tabButton:hover { 818 820 background: #fff; 819 821 color: #44403c; … … 821 823 } 822 824 823 . tabButton:focus {825 .r2b2-options .tabButton:focus { 824 826 box-shadow: 0px 0px 0px 2px #f5f5f4, 0px 1px 2px 0px rgba(41, 37, 36, .06) 825 827 } 826 828 827 . tabButton--sm {829 .r2b2-options .tabButton--sm { 828 830 padding: .5rem .75rem; 829 831 align-self: stretch; … … 836 838 } 837 839 838 . tabButton--md {840 .r2b2-options .tabButton--md { 839 841 padding: .625rem .875rem; 840 842 align-self: stretch; … … 847 849 } 848 850 849 . tabButton--current {851 .r2b2-options .tabButton--current { 850 852 background: #fff; 851 853 color: #44403c; … … 853 855 } 854 856 855 . tabButton--current:focus {857 .r2b2-options .tabButton--current:focus { 856 858 box-shadow: 0px 0px 0px 2px #f5f5f4, 0px 1px 2px 0px rgba(41, 37, 36, .06) 857 859 } 858 860 859 . tabButton--badge {861 .r2b2-options .tabButton--badge { 860 862 padding: .4375rem .75rem 861 863 } 862 864 863 . icon-button {865 .r2b2-options .icon-button { 864 866 display: flex; 865 867 width: 2rem; … … 872 874 } 873 875 874 . icon-button:hover {876 .r2b2-options .icon-button:hover { 875 877 background: rgba(0, 0, 0, .12) 876 878 } 877 879 878 . button-v9 .button {880 .r2b2-options .button-v9 .button { 879 881 display: inline-flex; 880 882 align-items: center; … … 897 899 } 898 900 899 . button-v9 .button:hover {901 .r2b2-options .button-v9 .button:hover { 900 902 background-color: hoverColor(rgb(45, 125, 206)); 901 903 border-color: hoverColor(rgb(45, 125, 206)); … … 903 905 } 904 906 905 . button-v9 .button.button--style-outline {907 .r2b2-options .button-v9 .button.button--style-outline { 906 908 background-color: #fff; 907 909 color: #2d7dce; … … 909 911 } 910 912 911 . button-v9 .button.button--style-outline svg g {913 .r2b2-options .button-v9 .button.button--style-outline svg g { 912 914 fill: #2d7dce 913 915 } 914 916 915 . button-v9 .button.button--style-outline svg g path,.button-v9 .button.button--style-outline svg g rect {917 .r2b2-options .button-v9 .button.button--style-outline svg g path.r2b2-options .button-v9 .button.button--style-outline svg g rect { 916 918 stroke: #2d7dce !important 917 919 } 918 920 919 . button-v9 .button.button--style-outline:not(:hover) .icon,.button-v9 .button.button--style-outline:not(:hover) .superselect__clear {921 .r2b2-options .button-v9 .button.button--style-outline:not(:hover) .icon.r2b2-options .button-v9 .button.button--style-outline:not(:hover) .superselect__clear { 920 922 background-color: #2d7dce 921 923 } 922 924 923 . button-v9 .button.button--style-outline:hover {925 .r2b2-options .button-v9 .button.button--style-outline:hover { 924 926 background-color: #2d7dce; 925 927 border-color: #2d7dce; … … 928 930 } 929 931 930 . button-v9 .button.button--style-outline:hover g path,.button-v9 .button.button--style-outline:hover g rect {932 .r2b2-options .button-v9 .button.button--style-outline:hover g path.r2b2-options .button-v9 .button.button--style-outline:hover g rect { 931 933 stroke: #fff !important 932 934 } 933 935 934 . button-v9 .button__icon {936 .r2b2-options .button-v9 .button__icon { 935 937 display: flex; 936 938 align-items: center; … … 940 942 } 941 943 942 . button-v9 .button.button--big {944 .r2b2-options .button-v9 .button.button--big { 943 945 height: 48px 944 946 } 945 947 946 . button-v9 .button.button--style-secondary {948 .r2b2-options .button-v9 .button.button--style-secondary { 947 949 background-color: #ff0565; 948 950 border-color: #ff0565; … … 951 953 } 952 954 953 . button-v9 .button.button--style-secondary:hover {955 .r2b2-options .button-v9 .button.button--style-secondary:hover { 954 956 background-color: hoverColor(rgb(255, 5, 101)); 955 957 border-color: hoverColor(rgb(255, 5, 101)); … … 957 959 } 958 960 959 . button-v9 .button.button--style-secondary.button--style-outline {961 .r2b2-options .button-v9 .button.button--style-secondary.button--style-outline { 960 962 background-color: #fff; 961 963 color: #ff0565; … … 963 965 } 964 966 965 . button-v9 .button.button--style-secondary.button--style-outline svg g {967 .r2b2-options .button-v9 .button.button--style-secondary.button--style-outline svg g { 966 968 fill: #ff0565 967 969 } 968 970 969 . button-v9 .button.button--style-secondary.button--style-outline svg g path,.button-v9 .button.button--style-secondary.button--style-outline svg g rect {971 .r2b2-options .button-v9 .button.button--style-secondary.button--style-outline svg g path.r2b2-options .button-v9 .button.button--style-secondary.button--style-outline svg g rect { 970 972 stroke: #ff0565 !important 971 973 } 972 974 973 . button-v9 .button.button--style-secondary.button--style-outline:not(:hover) .icon,.button-v9 .button.button--style-secondary.button--style-outline:not(:hover) .superselect__clear {975 .r2b2-options .button-v9 .button.button--style-secondary.button--style-outline:not(:hover) .icon.r2b2-options .button-v9 .button.button--style-secondary.button--style-outline:not(:hover) .superselect__clear { 974 976 background-color: #ff0565 975 977 } 976 978 977 . button-v9 .button.button--style-secondary.button--style-outline:hover {979 .r2b2-options .button-v9 .button.button--style-secondary.button--style-outline:hover { 978 980 background-color: #ff0565; 979 981 border-color: #ff0565; … … 982 984 } 983 985 984 . button-v9 .button.button--style-secondary.button--style-outline:hover g path,.button-v9 .button.button--style-secondary.button--style-outline:hover g rect {986 .r2b2-options .button-v9 .button.button--style-secondary.button--style-outline:hover g path.r2b2-options .button-v9 .button.button--style-secondary.button--style-outline:hover g rect { 985 987 stroke: #fff !important 986 988 } 987 989 988 . button-v9 .button.button--style-info {990 .r2b2-options .button-v9 .button.button--style-info { 989 991 background-color: #2d7dce; 990 992 border-color: #2d7dce; … … 993 995 } 994 996 995 . button-v9 .button.button--style-info:hover {997 .r2b2-options .button-v9 .button.button--style-info:hover { 996 998 background-color: hoverColor(rgb(45, 125, 206)); 997 999 border-color: hoverColor(rgb(45, 125, 206)); … … 999 1001 } 1000 1002 1001 . button-v9 .button.button--style-info.button--style-outline {1003 .r2b2-options .button-v9 .button.button--style-info.button--style-outline { 1002 1004 background-color: #fff; 1003 1005 color: #2d7dce; … … 1005 1007 } 1006 1008 1007 . button-v9 .button.button--style-info.button--style-outline svg g {1009 .r2b2-options .button-v9 .button.button--style-info.button--style-outline svg g { 1008 1010 fill: #2d7dce 1009 1011 } 1010 1012 1011 . button-v9 .button.button--style-info.button--style-outline svg g path,.button-v9 .button.button--style-info.button--style-outline svg g rect {1013 .r2b2-options .button-v9 .button.button--style-info.button--style-outline svg g path.r2b2-options .button-v9 .button.button--style-info.button--style-outline svg g rect { 1012 1014 stroke: #2d7dce !important 1013 1015 } 1014 1016 1015 . button-v9 .button.button--style-info.button--style-outline:not(:hover) .icon,.button-v9 .button.button--style-info.button--style-outline:not(:hover) .superselect__clear {1017 .r2b2-options .button-v9 .button.button--style-info.button--style-outline:not(:hover) .icon.r2b2-options .button-v9 .button.button--style-info.button--style-outline:not(:hover) .superselect__clear { 1016 1018 background-color: #2d7dce 1017 1019 } 1018 1020 1019 . button-v9 .button.button--style-info.button--style-outline:hover {1021 .r2b2-options .button-v9 .button.button--style-info.button--style-outline:hover { 1020 1022 background-color: #2d7dce; 1021 1023 border-color: #2d7dce; … … 1024 1026 } 1025 1027 1026 . button-v9 .button.button--style-info.button--style-outline:hover g path,.button-v9 .button.button--style-info.button--style-outline:hover g rect {1028 .r2b2-options .button-v9 .button.button--style-info.button--style-outline:hover g path.r2b2-options .button-v9 .button.button--style-info.button--style-outline:hover g rect { 1027 1029 stroke: #fff !important 1028 1030 } 1029 1031 1030 . button-v9 .button.button--style-success {1032 .r2b2-options .button-v9 .button.button--style-success { 1031 1033 background-color: #3dbe6b; 1032 1034 border-color: #3dbe6b; … … 1035 1037 } 1036 1038 1037 . button-v9 .button.button--style-success:hover {1039 .r2b2-options .button-v9 .button.button--style-success:hover { 1038 1040 background-color: hoverColor(rgb(61, 190, 107)); 1039 1041 border-color: hoverColor(rgb(61, 190, 107)); … … 1041 1043 } 1042 1044 1043 . button-v9 .button.button--style-success.button--style-outline {1045 .r2b2-options .button-v9 .button.button--style-success.button--style-outline { 1044 1046 background-color: #fff; 1045 1047 color: #3dbe6b; … … 1047 1049 } 1048 1050 1049 . button-v9 .button.button--style-success.button--style-outline svg g {1051 .r2b2-options .button-v9 .button.button--style-success.button--style-outline svg g { 1050 1052 fill: #3dbe6b 1051 1053 } 1052 1054 1053 . button-v9 .button.button--style-success.button--style-outline svg g path,.button-v9 .button.button--style-success.button--style-outline svg g rect {1055 .r2b2-options .button-v9 .button.button--style-success.button--style-outline svg g path.r2b2-options .button-v9 .button.button--style-success.button--style-outline svg g rect { 1054 1056 stroke: #3dbe6b !important 1055 1057 } 1056 1058 1057 . button-v9 .button.button--style-success.button--style-outline:not(:hover) .icon,.button-v9 .button.button--style-success.button--style-outline:not(:hover) .superselect__clear {1059 .r2b2-options .button-v9 .button.button--style-success.button--style-outline:not(:hover) .icon.r2b2-options .button-v9 .button.button--style-success.button--style-outline:not(:hover) .superselect__clear { 1058 1060 background-color: #3dbe6b 1059 1061 } 1060 1062 1061 . button-v9 .button.button--style-success.button--style-outline:hover {1063 .r2b2-options .button-v9 .button.button--style-success.button--style-outline:hover { 1062 1064 background-color: #3dbe6b; 1063 1065 border-color: #3dbe6b; … … 1066 1068 } 1067 1069 1068 . button-v9 .button.button--style-success.button--style-outline:hover g path,.button-v9 .button.button--style-success.button--style-outline:hover g rect {1070 .r2b2-options .button-v9 .button.button--style-success.button--style-outline:hover g path.r2b2-options .button-v9 .button.button--style-success.button--style-outline:hover g rect { 1069 1071 stroke: #fff !important 1070 1072 } 1071 1073 1072 . button-v9 .button.button--style-warning {1074 .r2b2-options .button-v9 .button.button--style-warning { 1073 1075 background-color: #faa045; 1074 1076 border-color: #faa045; … … 1077 1079 } 1078 1080 1079 . button-v9 .button.button--style-warning:hover {1081 .r2b2-options .button-v9 .button.button--style-warning:hover { 1080 1082 background-color: hoverColor(rgb(250, 160, 69)); 1081 1083 border-color: hoverColor(rgb(250, 160, 69)); … … 1083 1085 } 1084 1086 1085 . button-v9 .button.button--style-warning.button--style-outline {1087 .r2b2-options .button-v9 .button.button--style-warning.button--style-outline { 1086 1088 background-color: #fff; 1087 1089 color: #faa045; … … 1089 1091 } 1090 1092 1091 . button-v9 .button.button--style-warning.button--style-outline svg g {1093 .r2b2-options .button-v9 .button.button--style-warning.button--style-outline svg g { 1092 1094 fill: #faa045 1093 1095 } 1094 1096 1095 . button-v9 .button.button--style-warning.button--style-outline svg g path,.button-v9 .button.button--style-warning.button--style-outline svg g rect {1097 .r2b2-options .button-v9 .button.button--style-warning.button--style-outline svg g path.r2b2-options .button-v9 .button.button--style-warning.button--style-outline svg g rect { 1096 1098 stroke: #faa045 !important 1097 1099 } 1098 1100 1099 . button-v9 .button.button--style-warning.button--style-outline:not(:hover) .icon,.button-v9 .button.button--style-warning.button--style-outline:not(:hover) .superselect__clear {1101 .r2b2-options .button-v9 .button.button--style-warning.button--style-outline:not(:hover) .icon.r2b2-options .button-v9 .button.button--style-warning.button--style-outline:not(:hover) .superselect__clear { 1100 1102 background-color: #faa045 1101 1103 } 1102 1104 1103 . button-v9 .button.button--style-warning.button--style-outline:hover {1105 .r2b2-options .button-v9 .button.button--style-warning.button--style-outline:hover { 1104 1106 background-color: #faa045; 1105 1107 border-color: #faa045; … … 1108 1110 } 1109 1111 1110 . button-v9 .button.button--style-warning.button--style-outline:hover g path,.button-v9 .button.button--style-warning.button--style-outline:hover g rect {1112 .r2b2-options .button-v9 .button.button--style-warning.button--style-outline:hover g path.r2b2-options .button-v9 .button.button--style-warning.button--style-outline:hover g rect { 1111 1113 stroke: #fff !important 1112 1114 } 1113 1115 1114 . button-v9 .button.button--style-error {1116 .r2b2-options .button-v9 .button.button--style-error { 1115 1117 background-color: #ff052f; 1116 1118 border-color: #ff052f; … … 1119 1121 } 1120 1122 1121 . button-v9 .button.button--style-error:hover {1123 .r2b2-options .button-v9 .button.button--style-error:hover { 1122 1124 background-color: hoverColor(rgb(255, 5, 47)); 1123 1125 border-color: hoverColor(rgb(255, 5, 47)); … … 1125 1127 } 1126 1128 1127 . button-v9 .button.button--style-error.button--style-outline {1129 .r2b2-options .button-v9 .button.button--style-error.button--style-outline { 1128 1130 background-color: #fff; 1129 1131 color: #ff052f; … … 1131 1133 } 1132 1134 1133 . button-v9 .button.button--style-error.button--style-outline svg g {1135 .r2b2-options .button-v9 .button.button--style-error.button--style-outline svg g { 1134 1136 fill: #ff052f 1135 1137 } 1136 1138 1137 . button-v9 .button.button--style-error.button--style-outline svg g path,.button-v9 .button.button--style-error.button--style-outline svg g rect {1139 .r2b2-options .button-v9 .button.button--style-error.button--style-outline svg g path.r2b2-options .button-v9 .button.button--style-error.button--style-outline svg g rect { 1138 1140 stroke: #ff052f !important 1139 1141 } 1140 1142 1141 . button-v9 .button.button--style-error.button--style-outline:not(:hover) .icon,.button-v9 .button.button--style-error.button--style-outline:not(:hover) .superselect__clear {1143 .r2b2-options .button-v9 .button.button--style-error.button--style-outline:not(:hover) .icon.r2b2-options .button-v9 .button.button--style-error.button--style-outline:not(:hover) .superselect__clear { 1142 1144 background-color: #ff052f 1143 1145 } 1144 1146 1145 . button-v9 .button.button--style-error.button--style-outline:hover {1147 .r2b2-options .button-v9 .button.button--style-error.button--style-outline:hover { 1146 1148 background-color: #ff052f; 1147 1149 border-color: #ff052f; … … 1150 1152 } 1151 1153 1152 . button-v9 .button.button--style-error.button--style-outline:hover g path,.button-v9 .button.button--style-error.button--style-outline:hover g rect {1154 .r2b2-options .button-v9 .button.button--style-error.button--style-outline:hover g path.r2b2-options .button-v9 .button.button--style-error.button--style-outline:hover g rect { 1153 1155 stroke: #fff !important 1154 1156 } 1155 1157 1156 . button-v9 .button.button--style-no-style {1158 .r2b2-options .button-v9 .button.button--style-no-style { 1157 1159 border: none; 1158 1160 margin: 0; … … 1169 1171 } 1170 1172 1171 . button-v9 .button.button--style-no-style::-moz-focus-inner {1173 .r2b2-options .button-v9 .button.button--style-no-style::-moz-focus-inner { 1172 1174 border: 0; 1173 1175 padding: 0 1174 1176 } 1175 1177 1176 . button-v9 .button.button--type-action-circle {1178 .r2b2-options .button-v9 .button.button--type-action-circle { 1177 1179 justify-content: center; 1178 1180 width: 36px; … … 1184 1186 } 1185 1187 1186 . button-v9 .button.button--type-action-circle .button__icon {1188 .r2b2-options .button-v9 .button.button--type-action-circle .button__icon { 1187 1189 margin-right: 0 1188 1190 } 1189 1191 1190 . button-v9 .button--nomargin {1192 .r2b2-options .button-v9 .button--nomargin { 1191 1193 margin: 0 1192 1194 } 1193 1195 1194 . button-v9 .button--first {1196 .r2b2-options .button-v9 .button--first { 1195 1197 margin-left: 0 1196 1198 } 1197 1199 1198 . button-v9 .button--with-spinner {1200 .r2b2-options .button-v9 .button--with-spinner { 1199 1201 position: relative 1200 1202 } 1201 1203 1202 . button-v9 .button.icon, .button-v9 .button.superselect__clear, .button-v9 button.icon,.button-v9 button.superselect__clear {1204 .r2b2-options .button-v9 .button.icon.r2b2-options .button-v9 .button.superselect__clear, .r2b2-options .button-v9 button.icon, .r2b2-options .button-v9 button.superselect__clear { 1203 1205 width: 16px; 1204 1206 height: 16px; … … 1206 1208 } 1207 1209 1208 . button-v9 .button.disabled, .button-v9 .button--state-disabled, .button-v9 button.disabled,.button-v9 button--state-disabled {1210 .r2b2-options .button-v9 .button.disabled.r2b2-options .button-v9 .button--state-disabled, .r2b2-options .button-v9 button.disabled, .r2b2-options .button-v9 button--state-disabled { 1209 1211 text-decoration: line-through; 1210 1212 cursor: auto; … … 1214 1216 } 1215 1217 1216 . button-v9 .button.disabled:hover, .button-v9 .button--state-disabled:hover, .button-v9 button.disabled:hover,.button-v9 button--state-disabled:hover {1218 .r2b2-options .button-v9 .button.disabled:hover.r2b2-options .button-v9 .button--state-disabled:hover, .r2b2-options .button-v9 button.disabled:hover, .r2b2-options .button-v9 button--state-disabled:hover { 1217 1219 background-color: #bdbcba; 1218 1220 border-color: #bdbcba 1219 1221 } 1220 1222 1221 . badge {1223 .r2b2-options .badge { 1222 1224 display: flex; 1223 1225 padding: .125rem .375rem; … … 1228 1230 } 1229 1231 1230 . chip {1232 .r2b2-options .chip { 1231 1233 display: inline-flex; 1232 1234 padding: .375rem .625rem .375rem .375rem; … … 1239 1241 } 1240 1242 1241 . chip span {1243 .r2b2-options .chip span { 1242 1244 display: flex; 1243 1245 justify-content: center; … … 1245 1247 } 1246 1248 1247 . chip--checked {1249 .r2b2-options .chip--checked { 1248 1250 border-radius: 1.5rem; 1249 1251 border: 1px solid #57534e; … … 1252 1254 } 1253 1255 1254 . dimensions {1256 .r2b2-options .dimensions { 1255 1257 display: flex; 1256 1258 flex-direction: column; … … 1259 1261 } 1260 1262 1261 . dimensions__headline {1263 .r2b2-options .dimensions__headline { 1262 1264 display: flex; 1263 1265 justify-content: space-between; … … 1267 1269 } 1268 1270 1269 . dimensions__buttons {1271 .r2b2-options .dimensions__buttons { 1270 1272 display: flex; 1271 1273 align-items: center; … … 1273 1275 } 1274 1276 1275 . dimension {1277 .r2b2-options .dimension { 1276 1278 position: relative; 1277 1279 display: flex; … … 1287 1289 } 1288 1290 1289 . dimension__text {1291 .r2b2-options .dimension__text { 1290 1292 display: flex; 1291 1293 align-items: flex-start; … … 1294 1296 } 1295 1297 1296 . dimension__actions {1298 .r2b2-options .dimension__actions { 1297 1299 display: flex; 1298 1300 align-items: flex-start 1299 1301 } 1300 1302 1301 . dimension__connector {1303 .r2b2-options .dimension__connector { 1302 1304 display: flex; 1303 1305 padding: 0rem 1rem; … … 1306 1308 } 1307 1309 1308 . dimension--disabled {1310 .r2b2-options .dimension--disabled { 1309 1311 color: #d6d3d1 1310 1312 } 1311 1313 1312 . dimension--disabled svg {1314 .r2b2-options .dimension--disabled svg { 1313 1315 opacity: .2 1314 1316 } 1315 1317 1316 . dimension--draggable {1318 .r2b2-options .dimension--draggable { 1317 1319 padding-left: 0 1318 1320 } 1319 1321 1320 . dimension__drag-handle {1322 .r2b2-options .dimension__drag-handle { 1321 1323 cursor: grab 1322 1324 } 1323 1325 1324 . dimension__drag-handle.svg-icon {1326 .r2b2-options .dimension__drag-handle.svg-icon { 1325 1327 width: .75rem; 1326 1328 height: auto; … … 1328 1330 } 1329 1331 1330 . dimension__drag-handle--state-dragging {1332 .r2b2-options .dimension__drag-handle--state-dragging { 1331 1333 cursor: grabbing 1332 1334 } 1333 1335 1334 . overview-filter {1336 .r2b2-options .overview-filter { 1335 1337 display: flex; 1336 1338 width: 26.625rem; … … 1340 1342 } 1341 1343 1342 . overview-filter__divider {1344 .r2b2-options .overview-filter__divider { 1343 1345 width: 100%; 1344 1346 height: .0625rem; … … 1346 1348 } 1347 1349 1348 . overview-filter__actions {1350 .r2b2-options .overview-filter__actions { 1349 1351 display: flex; 1350 1352 align-items: flex-start; … … 1354 1356 } 1355 1357 1356 . overview-filter__actions .button {1358 .r2b2-options .overview-filter__actions .button { 1357 1359 flex: 1 0 0 1358 1360 } 1359 1361 1360 . trend {1362 .r2b2-options .trend { 1361 1363 display: inline-flex; 1362 1364 justify-content: center; … … 1365 1367 } 1366 1368 1367 . trend-positive {1369 .r2b2-options .trend-positive { 1368 1370 color: #15803d 1369 1371 } 1370 1372 1371 . trend-negative {1373 .r2b2-options .trend-negative { 1372 1374 color: #b91c1c 1373 1375 } 1374 1376 1375 . card {1377 .r2b2-options .card { 1376 1378 display: flex; 1377 1379 flex-direction: column; … … 1384 1386 } 1385 1387 1386 . card .overview-table {1388 .r2b2-options .card .overview-table { 1387 1389 width: 100% 1388 1390 } 1389 1391 1390 . card-header {1392 .r2b2-options .card-header { 1391 1393 display: flex; 1392 1394 align-items: center; … … 1400 1402 } 1401 1403 1402 . card-header__actions {1404 .r2b2-options .card-header__actions { 1403 1405 display: flex; 1404 1406 align-items: center; … … 1407 1409 } 1408 1410 1409 . card-header--bg-white {1411 .r2b2-options .card-header--bg-white { 1410 1412 background-color: #fff 1411 1413 } 1412 1414 1413 . card-body {1415 .r2b2-options .card-body { 1414 1416 display: flex; 1415 1417 padding: 1.25rem 1.5rem; … … 1420 1422 } 1421 1423 1422 . card-body__content {1424 .r2b2-options .card-body__content { 1423 1425 display: flex; 1424 1426 align-items: flex-start; … … 1427 1429 } 1428 1430 1429 . label {1431 .r2b2-options .label { 1430 1432 display: flex; 1431 1433 flex-direction: column; … … 1436 1438 } 1437 1439 1438 . input,.superselect__header {1440 .r2b2-options .input.r2b2-options .superselect__header { 1439 1441 position: relative; 1440 1442 display: flex; … … 1445 1447 } 1446 1448 1447 . input__field,.superselect__search {1449 .r2b2-options .input__field.r2b2-options .superselect__search { 1448 1450 display: flex; 1449 1451 flex-direction: row; … … 1458 1460 } 1459 1461 1460 . input__info {1462 .r2b2-options .input__info { 1461 1463 position: absolute; 1462 1464 right: 0px; … … 1467 1469 } 1468 1470 1469 .r adio input[type=radio] {1471 .r2b2-options .radio input[type=radio] { 1470 1472 -webkit-appearance: none; 1471 1473 appearance: none; … … 1480 1482 } 1481 1483 1482 .r adio input[type=radio]:checked {1484 .r2b2-options .radio input[type=radio]:checked { 1483 1485 background-image: url("/assets/img/icon-check-radio-orange.svg"); 1484 1486 background-position: center; … … 1487 1489 } 1488 1490 1489 .r adio input[type=radio]:checked:hover:enabled {1491 .r2b2-options .radio input[type=radio]:checked:hover:enabled { 1490 1492 background-image: url("/assets/img/icon-check-radio-orange.svg"); 1491 1493 background-position: center; … … 1493 1495 } 1494 1496 1495 .r adio input[type=radio]:checked:focus {1497 .r2b2-options .radio input[type=radio]:checked:focus { 1496 1498 border: 1px solid #e57300 1497 1499 } 1498 1500 1499 .r adio input[type=radio]:checked:disabled {1501 .r2b2-options .radio input[type=radio]:checked:disabled { 1500 1502 background-image: url("/assets/img/icon-check-radio-neutral.svg"); 1501 1503 background-position: center; … … 1503 1505 } 1504 1506 1505 .r adio input[type=radio]:hover:enabled {1507 .r2b2-options .radio input[type=radio]:hover:enabled { 1506 1508 border: 1px solid #e57300; 1507 1509 background: #fed 1508 1510 } 1509 1511 1510 .r adio input[type=radio]:focus {1512 .r2b2-options .radio input[type=radio]:focus { 1511 1513 border: 1px solid #fc9; 1512 1514 box-shadow: 0px 0px 0px 2px #fdb, 0px 1px 2px 0px rgba(41, 37, 36, .06) 1513 1515 } 1514 1516 1515 .r adio input[type=radio]:disabled {1517 .r2b2-options .radio input[type=radio]:disabled { 1516 1518 background: #f5f5f4; 1517 1519 border: 1px solid #d6d3d1 1518 1520 } 1519 1521 1520 . checkbox, .superselect__checkbox,.superselect__item {1522 .r2b2-options .checkbox.r2b2-options .superselect__checkbox, .r2b2-options .superselect__item { 1521 1523 display: flex; 1522 1524 align-items: center; … … 1525 1527 } 1526 1528 1527 . checkbox input[type=checkbox], .superselect__checkbox input[type=checkbox],.superselect__item input[type=checkbox] {1529 .r2b2-options .checkbox input[type=checkbox].r2b2-options .superselect__checkbox input[type=checkbox], .r2b2-options .superselect__item input[type=checkbox] { 1528 1530 -webkit-appearance: none; 1529 1531 appearance: none; … … 1538 1540 } 1539 1541 1540 . checkbox input[type=checkbox]:checked, .superselect__checkbox input[type=checkbox]:checked,.superselect__item input[type=checkbox]:checked {1542 .r2b2-options .checkbox input[type=checkbox]:checked.r2b2-options .superselect__checkbox input[type=checkbox]:checked, .r2b2-options .superselect__item input[type=checkbox]:checked { 1541 1543 background-image: url("/assets/img/icon-check-orange.svg"); 1542 1544 background-position: center; … … 1545 1547 } 1546 1548 1547 . checkbox input[type=checkbox]:checked:hover:enabled, .superselect__checkbox input[type=checkbox]:checked:hover:enabled,.superselect__item input[type=checkbox]:checked:hover:enabled {1549 .r2b2-options .checkbox input[type=checkbox]:checked:hover:enabled.r2b2-options .superselect__checkbox input[type=checkbox]:checked:hover:enabled, .r2b2-options .superselect__item input[type=checkbox]:checked:hover:enabled { 1548 1550 background-image: url("/assets/img/icon-check-orange.svg"); 1549 1551 background-position: center; … … 1551 1553 } 1552 1554 1553 . checkbox input[type=checkbox]:checked:focus, .superselect__checkbox input[type=checkbox]:checked:focus,.superselect__item input[type=checkbox]:checked:focus {1555 .r2b2-options .checkbox input[type=checkbox]:checked:focus.r2b2-options .superselect__checkbox input[type=checkbox]:checked:focus, .r2b2-options .superselect__item input[type=checkbox]:checked:focus { 1554 1556 border: 1px solid #e57300 1555 1557 } 1556 1558 1557 . checkbox input[type=checkbox]:checked:disabled, .superselect__checkbox input[type=checkbox]:checked:disabled,.superselect__item input[type=checkbox]:checked:disabled {1559 .r2b2-options .checkbox input[type=checkbox]:checked:disabled.r2b2-options .superselect__checkbox input[type=checkbox]:checked:disabled, .r2b2-options .superselect__item input[type=checkbox]:checked:disabled { 1558 1560 background-image: url("/assets/img/icon-check-neutral.svg"); 1559 1561 background-position: center; … … 1561 1563 } 1562 1564 1563 . checkbox input[type=checkbox]:hover:enabled, .superselect__checkbox input[type=checkbox]:hover:enabled,.superselect__item input[type=checkbox]:hover:enabled {1565 .r2b2-options .checkbox input[type=checkbox]:hover:enabled.r2b2-options .superselect__checkbox input[type=checkbox]:hover:enabled, .r2b2-options .superselect__item input[type=checkbox]:hover:enabled { 1564 1566 border: 1px solid #e57300; 1565 1567 background: #fed 1566 1568 } 1567 1569 1568 . checkbox input[type=checkbox]:focus, .superselect__checkbox input[type=checkbox]:focus,.superselect__item input[type=checkbox]:focus {1570 .r2b2-options .checkbox input[type=checkbox]:focus.r2b2-options .superselect__checkbox input[type=checkbox]:focus, .r2b2-options .superselect__item input[type=checkbox]:focus { 1569 1571 border: 1px solid #fc9; 1570 1572 box-shadow: 0px 0px 0px 2px #fdb, 0px 1px 2px 0px rgba(41, 37, 36, .06) 1571 1573 } 1572 1574 1573 . checkbox input[type=checkbox]:disabled, .superselect__checkbox input[type=checkbox]:disabled,.superselect__item input[type=checkbox]:disabled {1575 .r2b2-options .checkbox input[type=checkbox]:disabled.r2b2-options .superselect__checkbox input[type=checkbox]:disabled, .r2b2-options .superselect__item input[type=checkbox]:disabled { 1574 1576 background: #f5f5f4; 1575 1577 border: 1px solid #d6d3d1 1576 1578 } 1577 1579 1578 . switch {1580 .r2b2-options .switch { 1579 1581 position: relative; 1580 1582 display: flex; … … 1585 1587 } 1586 1588 1587 . switch__field {1589 .r2b2-options .switch__field { 1588 1590 position: relative; 1589 1591 display: inline-flex; … … 1598 1600 } 1599 1601 1600 . switch__field:hover {1602 .r2b2-options .switch__field:hover { 1601 1603 background: #d6d3d1 1602 1604 } 1603 1605 1604 . switch__field::before {1606 .r2b2-options .switch__field::before { 1605 1607 position: absolute; 1606 1608 content: ""; … … 1615 1617 } 1616 1618 1617 . switch__label {1619 .r2b2-options .switch__label { 1618 1620 margin-left: .5rem 1619 1621 } 1620 1622 1621 . switch input {1623 .r2b2-options .switch input { 1622 1624 opacity: 0; 1623 1625 width: 0; … … 1625 1627 } 1626 1628 1627 . switch input:checked + .switch__field {1629 .r2b2-options .switch input:checked + .switch__field { 1628 1630 background: #e57300 1629 1631 } 1630 1632 1631 . switch input:checked + .switch__field:hover {1633 .r2b2-options .switch input:checked + .switch__field:hover { 1632 1634 background: #b36b24 1633 1635 } 1634 1636 1635 . switch input:checked + .switch__field:focus {1637 .r2b2-options .switch input:checked + .switch__field:focus { 1636 1638 background: #e57300; 1637 1639 box-shadow: 0px 0px 0px 2px #fdb, 0px 1px 2px 0px rgba(41, 37, 36, .06) 1638 1640 } 1639 1641 1640 . switch input:disabled + .switch__field {1642 .r2b2-options .switch input:disabled + .switch__field { 1641 1643 background-color: #f5f5f4 1642 1644 } 1643 1645 1644 . switch input:focus + .switch__field {1646 .r2b2-options .switch input:focus + .switch__field { 1645 1647 box-shadow: 0px 0px 0px 2px #fdb, 0px 1px 2px 0px rgba(41, 37, 36, .06) 1646 1648 } 1647 1649 1648 . switch input:checked + .switch__field::before {1650 .r2b2-options .switch input:checked + .switch__field::before { 1649 1651 -webkit-transform: translateX(1rem); 1650 1652 -ms-transform: translateX(1rem); … … 1652 1654 } 1653 1655 1654 . dropdown-menu {1656 .r2b2-options .dropdown-menu { 1655 1657 display: flex; 1656 1658 padding: .25rem 0rem; … … 1664 1666 } 1665 1667 1666 . dropdown-item {1668 .r2b2-options .dropdown-item { 1667 1669 display: flex; 1668 1670 width: 15rem; … … 1672 1674 } 1673 1675 1674 . dropdown-item__content {1676 .r2b2-options .dropdown-item__content { 1675 1677 display: flex; 1676 1678 padding: .5625rem .625rem; … … 1680 1682 } 1681 1683 1682 . dropdown-item__content:hover:enabled {1684 .r2b2-options .dropdown-item__content:hover:enabled { 1683 1685 background: #fafaf9 1684 1686 } 1685 1687 1686 . dropdown-item__content:disabled {1688 .r2b2-options .dropdown-item__content:disabled { 1687 1689 color: #d6d3d1 1688 1690 } 1689 1691 1690 . select {1692 .r2b2-options .select { 1691 1693 position: relative; 1692 1694 display: flex; … … 1698 1700 } 1699 1701 1700 . select__label {1702 .r2b2-options .select__label { 1701 1703 color: #44403c 1702 1704 } 1703 1705 1704 . select__input {1706 .r2b2-options .select__input { 1705 1707 display: flex; 1706 1708 flex-direction: row; … … 1716 1718 } 1717 1719 1718 . select__input:focus {1720 .r2b2-options .select__input:focus { 1719 1721 border: none; 1720 1722 box-shadow: 0px 0px 0px 2px #fdb, 0px 1px 2px 0px rgba(41, 37, 36, .06) 1721 1723 } 1722 1724 1723 . superselect {1725 .r2b2-options .superselect { 1724 1726 position: relative 1725 1727 } 1726 1728 1727 . superselect__expander {1729 .r2b2-options .superselect__expander { 1728 1730 position: absolute; 1729 1731 width: 100%; … … 1732 1734 } 1733 1735 1734 . superselect__search {1736 .r2b2-options .superselect__search { 1735 1737 border-bottom-left-radius: 0; 1736 1738 border-bottom-right-radius: 0 1737 1739 } 1738 1740 1739 . superselect__items {1741 .r2b2-options .superselect__items { 1740 1742 display: flex; 1741 1743 border: 1px solid #e7e5e4; … … 1745 1747 } 1746 1748 1747 . superselect__items--state-empty {1749 .r2b2-options .superselect__items--state-empty { 1748 1750 align-items: center; 1749 1751 justify-content: center 1750 1752 } 1751 1753 1752 . superselect__item {1754 .r2b2-options .superselect__item { 1753 1755 position: relative; 1754 1756 display: block; … … 1758 1760 } 1759 1761 1760 . superselect__item:hover {1762 .r2b2-options .superselect__item:hover { 1761 1763 background-color: #fafaf9 1762 1764 } 1763 1765 1764 . superselect input[type=checkbox] {1766 .r2b2-options .superselect input[type=checkbox] { 1765 1767 position: absolute; 1766 1768 left: 0; … … 1769 1771 } 1770 1772 1771 . superselect__label {1773 .r2b2-options .superselect__label { 1772 1774 display: block; 1773 1775 margin-left: 1.5em 1774 1776 } 1775 1777 1776 . superselect__footer {1778 .r2b2-options .superselect__footer { 1777 1779 outline: none; 1778 1780 display: flex; … … 1784 1786 } 1785 1787 1786 . ReactTable .input__field,.ReactTable .superselect__search {1788 .r2b2-options .ReactTable .input__field.r2b2-options .ReactTable .superselect__search { 1787 1789 border-right: none; 1788 1790 border-top: none; … … 1791 1793 } 1792 1794 1793 . ReactTable {1795 .r2b2-options .ReactTable { 1794 1796 display: flex; 1795 1797 flex-direction: column; … … 1806 1808 } 1807 1809 1808 . ReactTable .rt-table {1810 .r2b2-options .ReactTable .rt-table { 1809 1811 display: flex; 1810 1812 width: 100%; … … 1817 1819 } 1818 1820 1819 . ReactTable .rt-thead {1821 .r2b2-options .ReactTable .rt-thead { 1820 1822 display: flex; 1821 1823 flex: 1 0 auto; … … 1823 1825 } 1824 1826 1825 . ReactTable .rt-thead .rt-tr {1827 .r2b2-options .ReactTable .rt-thead .rt-tr { 1826 1828 height: 48px 1827 1829 } 1828 1830 1829 . ReactTable .rt-thead.-filters {1831 .r2b2-options .ReactTable .rt-thead.-filters { 1830 1832 border-bottom: 1px solid #e7e5e4 1831 1833 } 1832 1834 1833 . ReactTable .rt-thead.-filters .rt-th {1835 .r2b2-options .ReactTable .rt-thead.-filters .rt-th { 1834 1836 box-sizing: border-box; 1835 1837 position: relative; … … 1838 1840 } 1839 1841 1840 . ReactTable .rt-thead.-filters .rt-th:first-child {1842 .r2b2-options .ReactTable .rt-thead.-filters .rt-th:first-child { 1841 1843 border-left: none 1842 1844 } 1843 1845 1844 . ReactTable .rt-thead.-filters .rt-th:last-child {1846 .r2b2-options .ReactTable .rt-thead.-filters .rt-th:last-child { 1845 1847 border-right: none 1846 1848 } 1847 1849 1848 . ReactTable .rt-thead.-filters .rt-th input {1850 .r2b2-options .ReactTable .rt-thead.-filters .rt-th input { 1849 1851 border: none 1850 1852 } 1851 1853 1852 . ReactTable .rt-thead.-filters-content {1854 .r2b2-options .ReactTable .rt-thead.-filters-content { 1853 1855 width: 100%; 1854 1856 display: flex; … … 1856 1858 } 1857 1859 1858 . ReactTable .rt-thead.-filters-content .meta--cellType-checkbox {1860 .r2b2-options .ReactTable .rt-thead.-filters-content .meta--cellType-checkbox { 1859 1861 display: flex; 1860 1862 justify-content: center 1861 1863 } 1862 1864 1863 . ReactTable .rt-thead.-filters-content:last-child {1865 .r2b2-options .ReactTable .rt-thead.-filters-content:last-child { 1864 1866 border-left: .5px solid #e7e5e4 1865 1867 } 1866 1868 1867 . ReactTable .rt-thead.-header {1869 .r2b2-options .ReactTable .rt-thead.-header { 1868 1870 border-top: 1px solid #e7e5e4 1869 1871 } 1870 1872 1871 . ReactTable .rt-thead.-header .rt-tr {1873 .r2b2-options .ReactTable .rt-thead.-header .rt-tr { 1872 1874 background-color: #fafaf9 1873 1875 } 1874 1876 1875 . ReactTable .rt-thead.-header .rt-th {1877 .r2b2-options .ReactTable .rt-thead.-header .rt-th { 1876 1878 box-sizing: border-box; 1877 1879 align-items: center; … … 1880 1882 } 1881 1883 1882 . ReactTable .rt-thead.-header .rt-th:first-child {1884 .r2b2-options .ReactTable .rt-thead.-header .rt-th:first-child { 1883 1885 border-left: none 1884 1886 } 1885 1887 1886 . ReactTable .rt-thead.-header .rt-th:last-child {1888 .r2b2-options .ReactTable .rt-thead.-header .rt-th:last-child { 1887 1889 border-right: none 1888 1890 } 1889 1891 1890 . ReactTable .rt-tr {1892 .r2b2-options .ReactTable .rt-tr { 1891 1893 display: inline-flex; 1892 1894 flex: 1 0 auto; … … 1896 1898 } 1897 1899 1898 . ReactTable .rt-tr-group {1900 .r2b2-options .ReactTable .rt-tr-group { 1899 1901 display: flex; 1900 1902 flex: 1 0 auto; … … 1904 1906 } 1905 1907 1906 . ReactTable .rt-td {1908 .r2b2-options .ReactTable .rt-td { 1907 1909 display: flex; 1908 1910 align-items: center; … … 1912 1914 } 1913 1915 1914 . ReactTable .rt-td-content {1916 .r2b2-options .ReactTable .rt-td-content { 1915 1917 width: 100%; 1916 1918 height: 100%; … … 1920 1922 } 1921 1923 1922 . ReactTable .rt-tbody {1924 .r2b2-options .ReactTable .rt-tbody { 1923 1925 flex: 99999 1 auto; 1924 1926 display: flex; … … 1927 1929 } 1928 1930 1929 . ReactTable .rt-resizable-header-content {1931 .r2b2-options .ReactTable .rt-resizable-header-content { 1930 1932 display: flex; 1931 1933 align-items: center 1932 1934 } 1933 1935 1934 . ReactTable .rt-th {1936 .r2b2-options .ReactTable .rt-th { 1935 1937 display: flex; 1936 1938 height: 48px; … … 1939 1941 } 1940 1942 1941 . ReactTable .rt-th.-cursor-pointer {1943 .r2b2-options .ReactTable .rt-th.-cursor-pointer { 1942 1944 cursor: pointer 1943 1945 } 1944 1946 1945 . ReactTable .rt-th-content {1947 .r2b2-options .ReactTable .rt-th-content { 1946 1948 display: flex; 1947 1949 align-items: center; … … 1949 1951 } 1950 1952 1951 . ReactTable .rt-th-sort-container {1953 .r2b2-options .ReactTable .rt-th-sort-container { 1952 1954 display: flex; 1953 1955 flex-direction: column; … … 1958 1960 } 1959 1961 1960 . ReactTable .rt-th-svg {1962 .r2b2-options .ReactTable .rt-th-svg { 1961 1963 display: flex 1962 1964 } 1963 1965 1964 . ReactTable .rt-th-svg--sort-asc {1966 .r2b2-options .ReactTable .rt-th-svg--sort-asc { 1965 1967 margin-bottom: 3px 1966 1968 } 1967 1969 1968 . ReactTable .rt-th-svg--sort-asc svg {1970 .r2b2-options .ReactTable .rt-th-svg--sort-asc svg { 1969 1971 width: 9px; 1970 1972 height: 6px 1971 1973 } 1972 1974 1973 . ReactTable .rt-th-svg--sort-desc {1975 .r2b2-options .ReactTable .rt-th-svg--sort-desc { 1974 1976 margin-top: 3px svg; 1975 1977 margin-top-width: 9px; … … 1977 1979 } 1978 1980 1979 . ReactTable .rt-th.-sort-asc .rt-th-svg--sort-asc svg g g g path {1981 .r2b2-options .ReactTable .rt-th.-sort-asc .rt-th-svg--sort-asc svg g g g path { 1980 1982 fill: #f93 !important 1981 1983 } 1982 1984 1983 . ReactTable .rt-th.-sort-desc .rt-th-svg--sort-desc svg g g g path {1985 .r2b2-options .ReactTable .rt-th.-sort-desc .rt-th-svg--sort-desc svg g g g path { 1984 1986 fill: #f93 !important 1985 1987 } 1986 1988 1987 . ReactTable .rt-resizer {1989 .r2b2-options .ReactTable .rt-resizer { 1988 1990 display: flex; 1989 1991 width: 12px; … … 1994 1996 } 1995 1997 1996 . ReactTable .rt-resizer:before {1998 .r2b2-options .ReactTable .rt-resizer:before { 1997 1999 content: ""; 1998 2000 display: block; … … 2005 2007 } 2006 2008 2007 . ReactTable .rt-noData {2009 .r2b2-options .ReactTable .rt-noData { 2008 2010 position: absolute 2009 2011 } 2010 2012 2011 . ReactTable .rt-pagination {2013 .r2b2-options .ReactTable .rt-pagination { 2012 2014 display: flex; 2013 2015 justify-content: space-between 2014 2016 } 2015 2017 2016 . ReactTable .rt-pagination-pages {2018 .r2b2-options .ReactTable .rt-pagination-pages { 2017 2019 display: flex; 2018 2020 align-items: center 2019 2021 } 2020 2022 2021 . ReactTable .rt-pagination-pages__page {2023 .r2b2-options .ReactTable .rt-pagination-pages__page { 2022 2024 display: flex; 2023 2025 align-items: center; … … 2031 2033 } 2032 2034 2033 . ReactTable .rt-pagination-pages__page svg {2035 .r2b2-options .ReactTable .rt-pagination-pages__page svg { 2034 2036 height: 12px 2035 2037 } 2036 2038 2037 . ReactTable .rt-pagination-pages__page--previous {2039 .r2b2-options .ReactTable .rt-pagination-pages__page--previous { 2038 2040 border-bottom-left-radius: 12px; 2039 2041 border-top-left-radius: 12px 2040 2042 } 2041 2043 2042 . ReactTable .rt-pagination-pages__page--next {2044 .r2b2-options .ReactTable .rt-pagination-pages__page--next { 2043 2045 border-bottom-right-radius: 12px; 2044 2046 border-top-right-radius: 12px 2045 2047 } 2046 2048 2047 . ReactTable .rt-pagination-pages__page--current {2049 .r2b2-options .ReactTable .rt-pagination-pages__page--current { 2048 2050 background: #fafaf9 2049 2051 } 2050 2052 2051 . ReactTable .rt-pagination-pages__page:disabled {2053 .r2b2-options .ReactTable .rt-pagination-pages__page:disabled { 2052 2054 cursor: not-allowed 2053 2055 } 2054 2056 2055 . ReactTable .rt-pagination-pages__page:not(.rt-pagination-pages__page--current):hover {2057 .r2b2-options .ReactTable .rt-pagination-pages__page:not(.rt-pagination-pages__page--current):hover { 2056 2058 background-color: #fafaf9 2057 2059 } 2058 2060 2059 . ReactTable .rt-pagination-size-options {2061 .r2b2-options .ReactTable .rt-pagination-size-options { 2060 2062 display: flex; 2061 2063 align-items: center 2062 2064 } 2063 2065 2064 . ReactTable .rt-pagination-size-options__label {2066 .r2b2-options .ReactTable .rt-pagination-size-options__label { 2065 2067 margin-right: 12px 2066 2068 } 2067 2069 2068 . ReactTable .rt-pagination-size-options__select {2070 .r2b2-options .ReactTable .rt-pagination-size-options__select { 2069 2071 width: 72px; 2070 2072 height: 48px; … … 2078 2080 } 2079 2081 2080 . ReactTable .pagination-bottom {2082 .r2b2-options .ReactTable .pagination-bottom { 2081 2083 width: 100%; 2082 2084 padding: 1rem; … … 2086 2088 } 2087 2089 2088 . ReactTable .input__field,.ReactTable .superselect__search {2090 .r2b2-options .ReactTable .input__field.r2b2-options .ReactTable .superselect__search { 2089 2091 height: 100%; 2090 2092 width: 100%; … … 2093 2095 } 2094 2096 2095 . ReactTable .meta--cellType-checkbox .checkbox__field {2097 .r2b2-options .ReactTable .meta--cellType-checkbox .checkbox__field { 2096 2098 position: static 2097 2099 } 2098 2100 2099 . ReactTable .meta--cellType-text {2101 .r2b2-options .ReactTable .meta--cellType-text { 2100 2102 justify-content: flex-start; 2101 2103 text-align: left 2102 2104 } 2103 2105 2104 . ReactTable .meta--cellType-text .rt-th-content {2106 .r2b2-options .ReactTable .meta--cellType-text .rt-th-content { 2105 2107 justify-content: flex-start; 2106 2108 text-align: left 2107 2109 } 2108 2110 2109 . ReactTable .meta--cellType-action {2111 .r2b2-options .ReactTable .meta--cellType-action { 2110 2112 justify-content: center; 2111 2113 text-align: center 2112 2114 } 2113 2115 2114 . ReactTable .meta--cellType-action .rt-th-content {2116 .r2b2-options .ReactTable .meta--cellType-action .rt-th-content { 2115 2117 justify-content: center; 2116 2118 text-align: center 2117 2119 } 2118 2120 2119 . ReactTable .meta--cellType-other {2121 .r2b2-options .ReactTable .meta--cellType-other { 2120 2122 justify-content: flex-end; 2121 2123 text-align: right 2122 2124 } 2123 2125 2124 . ReactTable .meta--cellType-other .rt-th-content {2126 .r2b2-options .ReactTable .meta--cellType-other .rt-th-content { 2125 2127 justify-content: flex-end; 2126 2128 text-align: right 2127 2129 } 2128 2130 2129 .r t-filter-opener {2131 .r2b2-options .rt-filter-opener { 2130 2132 display: flex; 2131 2133 width: 100%; … … 2136 2138 } 2137 2139 2138 . popup {2140 .r2b2-options .popup { 2139 2141 display: flex; 2140 2142 flex-flow: column nowrap; … … 2150 2152 } 2151 2153 2152 . popup__background {2154 .r2b2-options .popup__background { 2153 2155 position: absolute; 2154 2156 left: 0; … … 2161 2163 } 2162 2164 2163 . popup--active {2165 .r2b2-options .popup--active { 2164 2166 visibility: visible 2165 2167 } 2166 2168 2167 . popup-body {2169 .r2b2-options .popup-body { 2168 2170 display: inline-flex; 2169 2171 flex-direction: column; … … 2176 2178 } 2177 2179 2178 . popup-body__headline {2180 .r2b2-options .popup-body__headline { 2179 2181 display: flex; 2180 2182 justify-content: space-between; … … 2186 2188 } 2187 2189 2188 . popup-body__content {2190 .r2b2-options .popup-body__content { 2189 2191 display: flex; 2190 2192 width: 46.75rem; … … 2196 2198 } 2197 2199 2198 . popup-body__actions {2200 .r2b2-options .popup-body__actions { 2199 2201 display: flex; 2200 2202 width: 46.75rem; … … 2204 2206 } 2205 2207 2206 . metric {2208 .r2b2-options .metric { 2207 2209 display: flex; 2208 2210 padding: 1.25rem; … … 2218 2220 } 2219 2221 2220 . metric__heading {2222 .r2b2-options .metric__heading { 2221 2223 display: flex; 2222 2224 align-items: center; … … 2227 2229 } 2228 2230 2229 . metric__data {2231 .r2b2-options .metric__data { 2230 2232 display: flex; 2231 2233 flex-direction: column; … … 2235 2237 } 2236 2238 2237 . metric__number {2239 .r2b2-options .metric__number { 2238 2240 align-self: stretch; 2239 2241 color: #1c1917 2240 2242 } 2241 2243 2242 . metric__change {2244 .r2b2-options .metric__change { 2243 2245 display: flex; 2244 2246 align-items: center; … … 2248 2250 } 2249 2251 2250 . metrics {2252 .r2b2-options .metrics { 2251 2253 display: flex; 2252 2254 align-items: flex-start; … … 2256 2258 } 2257 2259 2258 . tooltip {2260 .r2b2-options .tooltip { 2259 2261 position: relative; 2260 2262 cursor: help; … … 2262 2264 } 2263 2265 2264 . tooltip__icon {2266 .r2b2-options .tooltip__icon { 2265 2267 margin: 0 2266 2268 } 2267 2269 2268 . tooltip__container {2270 .r2b2-options .tooltip__container { 2269 2271 z-index: 11; 2270 2272 position: absolute; … … 2280 2282 } 2281 2283 2282 . tooltip__container::before {2284 .r2b2-options .tooltip__container::before { 2283 2285 content: ""; 2284 2286 display: block; … … 2292 2294 } 2293 2295 2294 . tooltip__container--direction-bottom::before {2296 .r2b2-options .tooltip__container--direction-bottom::before { 2295 2297 bottom: unset; 2296 2298 top: -1em; … … 2299 2301 } 2300 2302 2301 . tooltip__container--direction-left::before, .tooltip__container--direction-right::before, .tooltip__container--direction-right-top::before, .tooltip__container--direction-left-top::before, .tooltip__container--direction-left-bottom::before,.tooltip__container--direction-right-bottom::before {2303 .r2b2-options .tooltip__container--direction-left::before.r2b2-options .tooltip__container--direction-right::before, .r2b2-options .tooltip__container--direction-right-top::before, .r2b2-options .tooltip__container--direction-left-top::before, .r2b2-options .tooltip__container--direction-left-bottom::before, .r2b2-options .tooltip__container--direction-right-bottom::before { 2302 2304 display: none 2303 2305 } 2304 2306 2305 . tooltip__content {2307 .r2b2-options .tooltip__content { 2306 2308 position: relative; 2307 2309 display: inline-block; … … 2315 2317 } 2316 2318 2317 . tooltip__content-container {2319 .r2b2-options .tooltip__content-container { 2318 2320 position: relative; 2319 2321 padding: .25em 0; … … 2321 2323 } 2322 2324 2323 . tooltip__content-container::before {2325 .r2b2-options .tooltip__content-container::before { 2324 2326 content: ""; 2325 2327 display: none; … … 2331 2333 } 2332 2334 2333 . tooltip__content-container[data-placement*=top]::before {2335 .r2b2-options .tooltip__content-container[data-placement*=top]::before { 2334 2336 display: block; 2335 2337 left: 50%; … … 2338 2340 } 2339 2341 2340 . tooltip__content-container[data-placement*=bottom]::before {2342 .r2b2-options .tooltip__content-container[data-placement*=bottom]::before { 2341 2343 display: block; 2342 2344 left: 50%; … … 2345 2347 } 2346 2348 2347 . tooltip--state-active .tooltip__container,.tooltip:hover .tooltip__container {2349 .r2b2-options .tooltip--state-active .tooltip__container.r2b2-options .tooltip:hover .tooltip__container { 2348 2350 visibility: visible; 2349 2351 opacity: 1; … … 2352 2354 } 2353 2355 2354 . navItem {2356 .r2b2-options .navItem { 2355 2357 display: inline-flex; 2356 2358 padding: .625rem 1rem; … … 2360 2362 } 2361 2363 2362 . navItem-default {2364 .r2b2-options .navItem-default { 2363 2365 border-radius: .375rem; 2364 2366 background: #fff 2365 2367 } 2366 2368 2367 . navItem-selected {2369 .r2b2-options .navItem-selected { 2368 2370 border-radius: .375rem; 2369 2371 background: #f5f5f4 2370 2372 } 2371 2373 2372 . nav-button {2374 .r2b2-options .nav-button { 2373 2375 display: inline-flex; 2374 2376 padding: .75rem; … … 2379 2381 } 2380 2382 2381 . nav-button--current {2383 .r2b2-options .nav-button--current { 2382 2384 border: 1px solid #57534e; 2383 2385 background: #44403c 2384 2386 } 2385 2387 2386 . sidebar-nav {2388 .r2b2-options .sidebar-nav { 2387 2389 position: fixed; 2388 2390 top: 0; … … 2395 2397 } 2396 2398 2397 . left-bar-nav {2399 .r2b2-options .left-bar-nav { 2398 2400 display: flex; 2399 2401 flex-direction: column; … … 2408 2410 } 2409 2411 2410 . left-bar-nav__content {2412 .r2b2-options .left-bar-nav__content { 2411 2413 display: flex; 2412 2414 flex-direction: column; … … 2419 2421 } 2420 2422 2421 . left-bar-nav__content--main {2423 .r2b2-options .left-bar-nav__content--main { 2422 2424 display: flex; 2423 2425 padding: 0rem 1rem; … … 2428 2430 } 2429 2431 2430 . left-bar-nav__content--footer {2432 .r2b2-options .left-bar-nav__content--footer { 2431 2433 display: flex; 2432 2434 padding: 0rem 1rem 1.25rem 1rem; … … 2437 2439 } 2438 2440 2439 . left-bar-nav__divider {2441 .r2b2-options .left-bar-nav__divider { 2440 2442 width: 3rem; 2441 2443 height: .0625rem; … … 2444 2446 } 2445 2447 2446 . left-bar-nav:hover ~ .menu {2448 .r2b2-options .left-bar-nav:hover ~ .menu { 2447 2449 visibility: visible; 2448 2450 width: 16.9375rem; … … 2450 2452 } 2451 2453 2452 . menu {2454 .r2b2-options .menu { 2453 2455 display: flex; 2454 2456 width: 0; … … 2462 2464 } 2463 2465 2464 . menu:hover {2466 .r2b2-options .menu:hover { 2465 2467 visibility: visible; 2466 2468 width: 16.9375rem; … … 2468 2470 } 2469 2471 2470 . menu__item {2472 .r2b2-options .menu__item { 2471 2473 display: flex; 2472 2474 padding: .625rem; … … 2479 2481 } 2480 2482 2481 . menu__item:hover {2483 .r2b2-options .menu__item:hover { 2482 2484 color: #fff 2483 2485 } 2484 2486 2485 . menu__item--active {2487 .r2b2-options .menu__item--active { 2486 2488 background: #44403c 2487 2489 } 2488 2490 2489 . menu__item--active a {2491 .r2b2-options .menu__item--active a { 2490 2492 color: #fff 2491 2493 } 2492 2494 2493 . menu__item--expanded {2495 .r2b2-options .menu__item--expanded { 2494 2496 flex-direction: column; 2495 2497 justify-content: center; … … 2497 2499 } 2498 2500 2499 . menu a {2501 .r2b2-options .menu a { 2500 2502 color: #a8a29e; 2501 2503 text-decoration: none 2502 2504 } 2503 2505 2504 . sub-menu {2506 .r2b2-options .sub-menu { 2505 2507 display: flex; 2506 2508 flex-direction: column; … … 2510 2512 } 2511 2513 2512 . sub-menu__item {2514 .r2b2-options .sub-menu__item { 2513 2515 position: relative; 2514 2516 display: flex; … … 2521 2523 } 2522 2524 2523 . sub-menu__item:hover {2525 .r2b2-options .sub-menu__item:hover { 2524 2526 color: #fff 2525 2527 } 2526 2528 2527 . sub-menu__item--active a {2529 .r2b2-options .sub-menu__item--active a { 2528 2530 color: #fff 2529 2531 } 2530 2532 2531 . page-header {2533 .r2b2-options .page-header { 2532 2534 display: flex; 2533 2535 align-items: flex-start; … … 2538 2540 } 2539 2541 2540 . page-header__text {2542 .r2b2-options .page-header__text { 2541 2543 display: flex; 2542 2544 flex-direction: column; … … 2548 2550 } 2549 2551 2550 . page-header__text--primary {2552 .r2b2-options .page-header__text--primary { 2551 2553 color: #1c1917 2552 2554 } 2553 2555 2554 . page-header__text--secondary {2556 .r2b2-options .page-header__text--secondary { 2555 2557 color: #57534e 2556 2558 } 2557 2559 2558 . page-header__actions {2560 .r2b2-options .page-header__actions { 2559 2561 display: flex; 2560 2562 align-items: center; … … 2563 2565 } 2564 2566 2565 . footer {2567 .r2b2-options .footer { 2566 2568 position: fixed; 2567 2569 left: 4.125rem; … … 2578 2580 } 2579 2581 2580 . footer__divider {2582 .r2b2-options .footer__divider { 2581 2583 width: .0625rem; 2582 2584 height: 1.25rem; … … 2584 2586 } 2585 2587 2586 . footer__link {2588 .r2b2-options .footer__link { 2587 2589 text-decoration: none; 2588 2590 color: #78716c 2589 2591 } 2590 2592 2591 . footer div {2593 .r2b2-options .footer div { 2592 2594 color: #78716c 2593 2595 } -
r2b2-monetization/trunk/readme.txt
r3110442 r3181596 5 5 Tested up to: 6.4.3 6 6 Requires PHP: 7.2 7 Stable tag: 1. 0.37 Stable tag: 1.1.1 8 8 License: GPL-3.0-only 9 9 -
r2b2-monetization/trunk/utils.php
r3109328 r3181596 1 1 <?php 2 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly 2 if ( ! defined( 'ABSPATH' ) ) { 3 exit; 4 } // Exit if accessed directly 3 5 4 6 require_once __DIR__ . '/constants.php'; 5 7 require_once __DIR__ . '/utils.php'; 6 8 require_once __DIR__ . '/options.php'; 7 8 function r2b2_get_plugin_version() {9 return '1.0.0';10 }11 9 12 10 function r2b2_placement_html( $script_src, $div_id = null ) { … … 30 28 } 31 29 32 function r2b2_delivery_url( $path ) { 33 return R2B2_DELIVERY_DOMAIN . 'get/' . $path; 30 function r2b2_delivery_url( $dgpm, $selfpromo = false, $divId = '' ) { 31 $url = R2B2_DELIVERY_DOMAIN . 'get/'; 32 $url .= join( '/', [ 33 $dgpm['d'], 34 $dgpm['g'], 35 $dgpm['p'], 36 ] 37 ); 38 if ( $dgpm['m'] ) { 39 $url .= '/mobile'; 40 } 41 $params = []; 42 if ( $selfpromo ) { 43 $params[] = 'selfpromo=true'; 44 } 45 if ( $divId ) { 46 $params[] = 'opt[dom][selector]=%23' . $divId; 47 } 48 $url .= '?' . join( '&', $params ); 49 50 return $url; 34 51 } 35 52 36 function r2b2_enqueue_placement( $ placement_path, $track_selfpromo = false ) {53 function r2b2_enqueue_placement( $dgpm, $track_selfpromo = false ) { 37 54 wp_enqueue_script( 38 'r2b2-placement-' . str_replace( '/', '-', $placement_path),39 r2b2_delivery_url( $ track_selfpromo ? $placement_path . '?selfpromo=true' : $placement_path),40 [], r2b2_get_plugin_version(), [ 'in_footer' => true ]55 'r2b2-placement-' . join( '-', $dgpm ), 56 r2b2_delivery_url( $dgpm, $track_selfpromo ), 57 [], R2B2_PLUGIN_VERSION, [ 'in_footer' => true ] 41 58 ); 59 } 60 61 function r2b2_get_placement_data() { 62 $options = get_option( R2B2_OPTIONS ); 63 $listData = $options[ R2B2_OPTION_PLACEMENT_LIST_DATA ] ?? ''; 64 $placements = explode( "\n", $listData ) ?? []; 65 foreach ( $placements as $index => $placement ) { 66 $placements[ $index ] = json_decode( $placement, true ); 67 } 68 69 return $placements; 42 70 } 43 71
Note: See TracChangeset
for help on using the changeset viewer.