playbook_ui 14.25.0.pre.alpha.testingcss9700 → 14.25.0.pre.alpha.testingcss9751

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +6 -6
  4. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -1
  5. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +60 -65
  6. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +1 -1
  7. data/app/pb_kits/playbook/pb_background/_background.scss +3 -3
  8. data/app/pb_kits/playbook/pb_badge/_badge.scss +135 -29
  9. data/app/pb_kits/playbook/pb_body/_body.scss +108 -35
  10. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
  11. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +17 -30
  12. data/app/pb_kits/playbook/pb_button/_button.scss +39 -31
  13. data/app/pb_kits/playbook/pb_button/_button.tsx +12 -12
  14. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -1
  15. data/app/pb_kits/playbook/pb_button/button.rb +11 -18
  16. data/app/pb_kits/playbook/pb_button/button.test.js +3 -3
  17. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +82 -73
  18. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +32 -33
  19. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +1 -1
  20. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +2 -2
  21. data/app/pb_kits/playbook/pb_caption/_caption.scss +100 -17
  22. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -8
  23. data/app/pb_kits/playbook/pb_card/_card.scss +79 -68
  24. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +4 -4
  25. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +11 -2
  26. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +7 -7
  27. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
  28. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -1
  29. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +4 -4
  30. data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +19 -19
  31. data/app/pb_kits/playbook/pb_currency/_currency.scss +124 -39
  32. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +16 -6
  33. data/app/pb_kits/playbook/pb_date/_date.scss +16 -18
  34. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -1
  35. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +19 -0
  36. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +1 -0
  37. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
  38. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
  39. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +5 -5
  40. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +29 -23
  41. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  42. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.scss +1 -1
  43. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  44. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
  45. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  46. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +8 -15
  47. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +6 -7
  48. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
  49. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  50. data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
  51. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +330 -123
  52. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
  53. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
  54. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  55. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  56. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  57. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
  58. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  59. data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
  60. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
  61. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -2
  62. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
  63. data/app/pb_kits/playbook/pb_flex/_flex.scss +106 -100
  64. data/app/pb_kits/playbook/pb_flex/_flex.tsx +38 -28
  65. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +146 -51
  66. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +19 -8
  67. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +12 -1
  68. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +26 -1
  69. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_rails.md +11 -0
  70. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_react.md +11 -0
  71. data/app/pb_kits/playbook/pb_flex/flex.rb +73 -39
  72. data/app/pb_kits/playbook/pb_flex/flex_item.rb +51 -6
  73. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
  74. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
  75. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  76. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
  77. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
  78. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
  79. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
  80. data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
  81. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  82. data/app/pb_kits/playbook/pb_icon/_icon.scss +4 -0
  83. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  84. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
  85. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  86. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  87. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
  88. data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
  89. data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
  90. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
  91. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  92. data/app/pb_kits/playbook/pb_layout/_layout.scss +330 -305
  93. data/app/pb_kits/playbook/pb_layout/_layout.tsx +14 -11
  94. data/app/pb_kits/playbook/pb_layout/body.rb +1 -1
  95. data/app/pb_kits/playbook/pb_layout/footer.rb +1 -1
  96. data/app/pb_kits/playbook/pb_layout/header.rb +1 -1
  97. data/app/pb_kits/playbook/pb_layout/item.rb +1 -7
  98. data/app/pb_kits/playbook/pb_layout/layout.rb +16 -25
  99. data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
  100. data/app/pb_kits/playbook/pb_layout/sidebar.rb +1 -1
  101. data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
  102. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  103. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  104. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  105. data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
  106. data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
  107. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
  108. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  109. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  110. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  111. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  112. data/app/pb_kits/playbook/pb_message/_message.scss +21 -16
  113. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
  114. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
  115. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  116. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +6 -3
  117. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
  118. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
  119. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
  120. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  121. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
  122. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  123. data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
  124. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  125. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  126. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  127. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
  128. data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
  129. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  130. data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
  131. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +15 -13
  132. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +108 -33
  133. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
  134. data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
  135. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  136. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
  137. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
  138. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +81 -70
  139. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
  140. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  141. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
  142. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
  143. data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
  144. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
  145. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +17 -8
  146. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
  147. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
  148. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
  149. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +24 -25
  150. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  151. data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
  152. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
  153. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  154. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +2 -2
  155. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
  156. data/app/pb_kits/playbook/pb_text_input/text_input.rb +15 -0
  157. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
  158. data/app/pb_kits/playbook/pb_time/_time.scss +44 -17
  159. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +1 -1
  160. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
  161. data/app/pb_kits/playbook/pb_title/_title.scss +42 -39
  162. data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
  163. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  164. data/app/pb_kits/playbook/pb_title/title.rb +20 -10
  165. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  166. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
  167. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
  168. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  169. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  170. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
  171. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  172. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  173. data/app/pb_kits/playbook/utilities/_gap.scss +12 -24
  174. data/app/pb_kits/playbook/utilities/globalPropNames.mjs +2 -0
  175. data/app/pb_kits/playbook/utilities/globalProps.ts +28 -4
  176. data/dist/chunks/_line_graph-Dv_ODxW3.js +1 -0
  177. data/dist/chunks/_typeahead-CD5RAaaP.js +6 -0
  178. data/dist/chunks/_weekday_stacked-Bv6tOPKC.js +37 -0
  179. data/dist/chunks/lazysizes-B7xYodB-.js +1 -0
  180. data/dist/chunks/lib-CY5ZPzic.js +29 -0
  181. data/dist/chunks/pb_form_validation-D3b0JKHH.js +1 -0
  182. data/dist/chunks/vendor.js +1 -11
  183. data/dist/menu.yml +0 -6
  184. data/dist/playbook-doc.js +3 -67243
  185. data/dist/playbook-rails-react-bindings.js +1 -112
  186. data/dist/playbook-rails.js +1 -2464
  187. data/dist/playbook.css +2 -92354
  188. data/dist/reset.css +1 -89
  189. data/lib/playbook/classnames.rb +2 -0
  190. data/lib/playbook/spacing.rb +53 -1
  191. data/lib/playbook/version.rb +1 -1
  192. metadata +10 -38
  193. data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +0 -25
  194. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +0 -381
  195. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +0 -231
  196. data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +0 -3
  197. data/app/pb_kits/playbook/pb_drawer/context.ts +0 -11
  198. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +0 -8
  199. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +0 -41
  200. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +0 -33
  201. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +0 -78
  202. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +0 -3
  203. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +0 -26
  204. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +0 -20
  205. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +0 -59
  206. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +0 -24
  207. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +0 -61
  208. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +0 -24
  209. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +0 -21
  210. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +0 -54
  211. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +0 -1
  212. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +0 -49
  213. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +0 -99
  214. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -20
  215. data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -7
  216. data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +0 -20
  217. data/app/pb_kits/playbook/pb_drawer/drawer.rb +0 -56
  218. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +0 -81
  219. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +0 -60
  220. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +0 -21
  221. data/app/pb_kits/playbook/pb_drawer/index.js +0 -257
  222. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +0 -9
  223. data/dist/chunks/_line_graph-DPTwfQR-.js +0 -544
  224. data/dist/chunks/_typeahead-CEqlHw0H.js +0 -30978
  225. data/dist/chunks/_weekday_stacked-D3dG14OB.js +0 -20894
  226. data/dist/chunks/lazysizes-BUUj27EF.js +0 -611
  227. data/dist/chunks/lib-CIetbXpr.js +0 -9609
  228. data/dist/chunks/pb_form_validation-D_g9rOE9.js +0 -60
@@ -1,611 +0,0 @@
1
- var lazysizes = { exports: {} };
2
- var hasRequiredLazysizes;
3
- function requireLazysizes() {
4
- if (hasRequiredLazysizes) return lazysizes.exports;
5
- hasRequiredLazysizes = 1;
6
- (function(module) {
7
- (function(window2, factory) {
8
- var lazySizes = factory(window2, window2.document, Date);
9
- window2.lazySizes = lazySizes;
10
- if (module.exports) {
11
- module.exports = lazySizes;
12
- }
13
- })(
14
- typeof window != "undefined" ? window : {},
15
- /**
16
- * import("./types/global")
17
- * @typedef { import("./types/lazysizes-config").LazySizesConfigPartial } LazySizesConfigPartial
18
- */
19
- function l(window2, document, Date2) {
20
- var lazysizes2, lazySizesCfg;
21
- (function() {
22
- var prop;
23
- var lazySizesDefaults = {
24
- lazyClass: "lazyload",
25
- loadedClass: "lazyloaded",
26
- loadingClass: "lazyloading",
27
- preloadClass: "lazypreload",
28
- errorClass: "lazyerror",
29
- //strictClass: 'lazystrict',
30
- autosizesClass: "lazyautosizes",
31
- fastLoadedClass: "ls-is-cached",
32
- iframeLoadMode: 0,
33
- srcAttr: "data-src",
34
- srcsetAttr: "data-srcset",
35
- sizesAttr: "data-sizes",
36
- //preloadAfterLoad: false,
37
- minSize: 40,
38
- customMedia: {},
39
- init: true,
40
- expFactor: 1.5,
41
- hFac: 0.8,
42
- loadMode: 2,
43
- loadHidden: true,
44
- ricTimeout: 0,
45
- throttleDelay: 125
46
- };
47
- lazySizesCfg = window2.lazySizesConfig || window2.lazysizesConfig || {};
48
- for (prop in lazySizesDefaults) {
49
- if (!(prop in lazySizesCfg)) {
50
- lazySizesCfg[prop] = lazySizesDefaults[prop];
51
- }
52
- }
53
- })();
54
- if (!document || !document.getElementsByClassName) {
55
- return {
56
- init: function() {
57
- },
58
- /**
59
- * @type { LazySizesConfigPartial }
60
- */
61
- cfg: lazySizesCfg,
62
- /**
63
- * @type { true }
64
- */
65
- noSupport: true
66
- };
67
- }
68
- var docElem = document.documentElement;
69
- var supportPicture = window2.HTMLPictureElement;
70
- var _addEventListener = "addEventListener";
71
- var _getAttribute = "getAttribute";
72
- var addEventListener = window2[_addEventListener].bind(window2);
73
- var setTimeout = window2.setTimeout;
74
- var requestAnimationFrame = window2.requestAnimationFrame || setTimeout;
75
- var requestIdleCallback = window2.requestIdleCallback;
76
- var regPicture = /^picture$/i;
77
- var loadEvents = ["load", "error", "lazyincluded", "_lazyloaded"];
78
- var regClassCache = {};
79
- var forEach = Array.prototype.forEach;
80
- var hasClass = function(ele, cls) {
81
- if (!regClassCache[cls]) {
82
- regClassCache[cls] = new RegExp("(\\s|^)" + cls + "(\\s|$)");
83
- }
84
- return regClassCache[cls].test(ele[_getAttribute]("class") || "") && regClassCache[cls];
85
- };
86
- var addClass = function(ele, cls) {
87
- if (!hasClass(ele, cls)) {
88
- ele.setAttribute("class", (ele[_getAttribute]("class") || "").trim() + " " + cls);
89
- }
90
- };
91
- var removeClass = function(ele, cls) {
92
- var reg;
93
- if (reg = hasClass(ele, cls)) {
94
- ele.setAttribute("class", (ele[_getAttribute]("class") || "").replace(reg, " "));
95
- }
96
- };
97
- var addRemoveLoadEvents = function(dom, fn, add) {
98
- var action = add ? _addEventListener : "removeEventListener";
99
- if (add) {
100
- addRemoveLoadEvents(dom, fn);
101
- }
102
- loadEvents.forEach(function(evt) {
103
- dom[action](evt, fn);
104
- });
105
- };
106
- var triggerEvent = function(elem, name, detail, noBubbles, noCancelable) {
107
- var event = document.createEvent("Event");
108
- if (!detail) {
109
- detail = {};
110
- }
111
- detail.instance = lazysizes2;
112
- event.initEvent(name, !noBubbles, !noCancelable);
113
- event.detail = detail;
114
- elem.dispatchEvent(event);
115
- return event;
116
- };
117
- var updatePolyfill = function(el, full) {
118
- var polyfill;
119
- if (!supportPicture && (polyfill = window2.picturefill || lazySizesCfg.pf)) {
120
- if (full && full.src && !el[_getAttribute]("srcset")) {
121
- el.setAttribute("srcset", full.src);
122
- }
123
- polyfill({ reevaluate: true, elements: [el] });
124
- } else if (full && full.src) {
125
- el.src = full.src;
126
- }
127
- };
128
- var getCSS = function(elem, style) {
129
- return (getComputedStyle(elem, null) || {})[style];
130
- };
131
- var getWidth = function(elem, parent, width) {
132
- width = width || elem.offsetWidth;
133
- while (width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth) {
134
- width = parent.offsetWidth;
135
- parent = parent.parentNode;
136
- }
137
- return width;
138
- };
139
- var rAF = function() {
140
- var running, waiting;
141
- var firstFns = [];
142
- var secondFns = [];
143
- var fns = firstFns;
144
- var run = function() {
145
- var runFns = fns;
146
- fns = firstFns.length ? secondFns : firstFns;
147
- running = true;
148
- waiting = false;
149
- while (runFns.length) {
150
- runFns.shift()();
151
- }
152
- running = false;
153
- };
154
- var rafBatch = function(fn, queue) {
155
- if (running && !queue) {
156
- fn.apply(this, arguments);
157
- } else {
158
- fns.push(fn);
159
- if (!waiting) {
160
- waiting = true;
161
- (document.hidden ? setTimeout : requestAnimationFrame)(run);
162
- }
163
- }
164
- };
165
- rafBatch._lsFlush = run;
166
- return rafBatch;
167
- }();
168
- var rAFIt = function(fn, simple) {
169
- return simple ? function() {
170
- rAF(fn);
171
- } : function() {
172
- var that = this;
173
- var args = arguments;
174
- rAF(function() {
175
- fn.apply(that, args);
176
- });
177
- };
178
- };
179
- var throttle = function(fn) {
180
- var running;
181
- var lastTime = 0;
182
- var gDelay = lazySizesCfg.throttleDelay;
183
- var rICTimeout = lazySizesCfg.ricTimeout;
184
- var run = function() {
185
- running = false;
186
- lastTime = Date2.now();
187
- fn();
188
- };
189
- var idleCallback = requestIdleCallback && rICTimeout > 49 ? function() {
190
- requestIdleCallback(run, { timeout: rICTimeout });
191
- if (rICTimeout !== lazySizesCfg.ricTimeout) {
192
- rICTimeout = lazySizesCfg.ricTimeout;
193
- }
194
- } : rAFIt(function() {
195
- setTimeout(run);
196
- }, true);
197
- return function(isPriority) {
198
- var delay;
199
- if (isPriority = isPriority === true) {
200
- rICTimeout = 33;
201
- }
202
- if (running) {
203
- return;
204
- }
205
- running = true;
206
- delay = gDelay - (Date2.now() - lastTime);
207
- if (delay < 0) {
208
- delay = 0;
209
- }
210
- if (isPriority || delay < 9) {
211
- idleCallback();
212
- } else {
213
- setTimeout(idleCallback, delay);
214
- }
215
- };
216
- };
217
- var debounce = function(func) {
218
- var timeout, timestamp;
219
- var wait = 99;
220
- var run = function() {
221
- timeout = null;
222
- func();
223
- };
224
- var later = function() {
225
- var last = Date2.now() - timestamp;
226
- if (last < wait) {
227
- setTimeout(later, wait - last);
228
- } else {
229
- (requestIdleCallback || run)(run);
230
- }
231
- };
232
- return function() {
233
- timestamp = Date2.now();
234
- if (!timeout) {
235
- timeout = setTimeout(later, wait);
236
- }
237
- };
238
- };
239
- var loader = function() {
240
- var preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;
241
- var eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;
242
- var regImg = /^img$/i;
243
- var regIframe = /^iframe$/i;
244
- var supportScroll = "onscroll" in window2 && !/(gle|ing)bot/.test(navigator.userAgent);
245
- var shrinkExpand = 0;
246
- var currentExpand = 0;
247
- var isLoading = 0;
248
- var lowRuns = -1;
249
- var resetPreloading = function(e) {
250
- isLoading--;
251
- if (!e || isLoading < 0 || !e.target) {
252
- isLoading = 0;
253
- }
254
- };
255
- var isVisible = function(elem) {
256
- if (isBodyHidden == null) {
257
- isBodyHidden = getCSS(document.body, "visibility") == "hidden";
258
- }
259
- return isBodyHidden || !(getCSS(elem.parentNode, "visibility") == "hidden" && getCSS(elem, "visibility") == "hidden");
260
- };
261
- var isNestedVisible = function(elem, elemExpand) {
262
- var outerRect;
263
- var parent = elem;
264
- var visible = isVisible(elem);
265
- eLtop -= elemExpand;
266
- eLbottom += elemExpand;
267
- eLleft -= elemExpand;
268
- eLright += elemExpand;
269
- while (visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem) {
270
- visible = (getCSS(parent, "opacity") || 1) > 0;
271
- if (visible && getCSS(parent, "overflow") != "visible") {
272
- outerRect = parent.getBoundingClientRect();
273
- visible = eLright > outerRect.left && eLleft < outerRect.right && eLbottom > outerRect.top - 1 && eLtop < outerRect.bottom + 1;
274
- }
275
- }
276
- return visible;
277
- };
278
- var checkElements = function() {
279
- var eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal, beforeExpandVal, defaultExpand, preloadExpand, hFac;
280
- var lazyloadElems = lazysizes2.elements;
281
- if ((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)) {
282
- i = 0;
283
- lowRuns++;
284
- for (; i < eLlen; i++) {
285
- if (!lazyloadElems[i] || lazyloadElems[i]._lazyRace) {
286
- continue;
287
- }
288
- if (!supportScroll || lazysizes2.prematureUnveil && lazysizes2.prematureUnveil(lazyloadElems[i])) {
289
- unveilElement(lazyloadElems[i]);
290
- continue;
291
- }
292
- if (!(elemExpandVal = lazyloadElems[i][_getAttribute]("data-expand")) || !(elemExpand = elemExpandVal * 1)) {
293
- elemExpand = currentExpand;
294
- }
295
- if (!defaultExpand) {
296
- defaultExpand = !lazySizesCfg.expand || lazySizesCfg.expand < 1 ? docElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 : lazySizesCfg.expand;
297
- lazysizes2._defEx = defaultExpand;
298
- preloadExpand = defaultExpand * lazySizesCfg.expFactor;
299
- hFac = lazySizesCfg.hFac;
300
- isBodyHidden = null;
301
- if (currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden) {
302
- currentExpand = preloadExpand;
303
- lowRuns = 0;
304
- } else if (loadMode > 1 && lowRuns > 1 && isLoading < 6) {
305
- currentExpand = defaultExpand;
306
- } else {
307
- currentExpand = shrinkExpand;
308
- }
309
- }
310
- if (beforeExpandVal !== elemExpand) {
311
- eLvW = innerWidth + elemExpand * hFac;
312
- elvH = innerHeight + elemExpand;
313
- elemNegativeExpand = elemExpand * -1;
314
- beforeExpandVal = elemExpand;
315
- }
316
- rect = lazyloadElems[i].getBoundingClientRect();
317
- if ((eLbottom = rect.bottom) >= elemNegativeExpand && (eLtop = rect.top) <= elvH && (eLright = rect.right) >= elemNegativeExpand * hFac && (eLleft = rect.left) <= eLvW && (eLbottom || eLright || eLleft || eLtop) && (lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) && (isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4) || isNestedVisible(lazyloadElems[i], elemExpand))) {
318
- unveilElement(lazyloadElems[i]);
319
- loadedSomething = true;
320
- if (isLoading > 9) {
321
- break;
322
- }
323
- } else if (!loadedSomething && isCompleted && !autoLoadElem && isLoading < 4 && lowRuns < 4 && loadMode > 2 && (preloadElems[0] || lazySizesCfg.preloadAfterLoad) && (preloadElems[0] || !elemExpandVal && (eLbottom || eLright || eLleft || eLtop || lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) != "auto"))) {
324
- autoLoadElem = preloadElems[0] || lazyloadElems[i];
325
- }
326
- }
327
- if (autoLoadElem && !loadedSomething) {
328
- unveilElement(autoLoadElem);
329
- }
330
- }
331
- };
332
- var throttledCheckElements = throttle(checkElements);
333
- var switchLoadingClass = function(e) {
334
- var elem = e.target;
335
- if (elem._lazyCache) {
336
- delete elem._lazyCache;
337
- return;
338
- }
339
- resetPreloading(e);
340
- addClass(elem, lazySizesCfg.loadedClass);
341
- removeClass(elem, lazySizesCfg.loadingClass);
342
- addRemoveLoadEvents(elem, rafSwitchLoadingClass);
343
- triggerEvent(elem, "lazyloaded");
344
- };
345
- var rafedSwitchLoadingClass = rAFIt(switchLoadingClass);
346
- var rafSwitchLoadingClass = function(e) {
347
- rafedSwitchLoadingClass({ target: e.target });
348
- };
349
- var changeIframeSrc = function(elem, src) {
350
- var loadMode2 = elem.getAttribute("data-load-mode") || lazySizesCfg.iframeLoadMode;
351
- if (loadMode2 == 0) {
352
- elem.contentWindow.location.replace(src);
353
- } else if (loadMode2 == 1) {
354
- elem.src = src;
355
- }
356
- };
357
- var handleSources = function(source) {
358
- var customMedia;
359
- var sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);
360
- if (customMedia = lazySizesCfg.customMedia[source[_getAttribute]("data-media") || source[_getAttribute]("media")]) {
361
- source.setAttribute("media", customMedia);
362
- }
363
- if (sourceSrcset) {
364
- source.setAttribute("srcset", sourceSrcset);
365
- }
366
- };
367
- var lazyUnveil = rAFIt(function(elem, detail, isAuto, sizes, isImg) {
368
- var src, srcset, parent, isPicture, event, firesLoad;
369
- if (!(event = triggerEvent(elem, "lazybeforeunveil", detail)).defaultPrevented) {
370
- if (sizes) {
371
- if (isAuto) {
372
- addClass(elem, lazySizesCfg.autosizesClass);
373
- } else {
374
- elem.setAttribute("sizes", sizes);
375
- }
376
- }
377
- srcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);
378
- src = elem[_getAttribute](lazySizesCfg.srcAttr);
379
- if (isImg) {
380
- parent = elem.parentNode;
381
- isPicture = parent && regPicture.test(parent.nodeName || "");
382
- }
383
- firesLoad = detail.firesLoad || "src" in elem && (srcset || src || isPicture);
384
- event = { target: elem };
385
- addClass(elem, lazySizesCfg.loadingClass);
386
- if (firesLoad) {
387
- clearTimeout(resetPreloadingTimer);
388
- resetPreloadingTimer = setTimeout(resetPreloading, 2500);
389
- addRemoveLoadEvents(elem, rafSwitchLoadingClass, true);
390
- }
391
- if (isPicture) {
392
- forEach.call(parent.getElementsByTagName("source"), handleSources);
393
- }
394
- if (srcset) {
395
- elem.setAttribute("srcset", srcset);
396
- } else if (src && !isPicture) {
397
- if (regIframe.test(elem.nodeName)) {
398
- changeIframeSrc(elem, src);
399
- } else {
400
- elem.src = src;
401
- }
402
- }
403
- if (isImg && (srcset || isPicture)) {
404
- updatePolyfill(elem, { src });
405
- }
406
- }
407
- if (elem._lazyRace) {
408
- delete elem._lazyRace;
409
- }
410
- removeClass(elem, lazySizesCfg.lazyClass);
411
- rAF(function() {
412
- var isLoaded = elem.complete && elem.naturalWidth > 1;
413
- if (!firesLoad || isLoaded) {
414
- if (isLoaded) {
415
- addClass(elem, lazySizesCfg.fastLoadedClass);
416
- }
417
- switchLoadingClass(event);
418
- elem._lazyCache = true;
419
- setTimeout(function() {
420
- if ("_lazyCache" in elem) {
421
- delete elem._lazyCache;
422
- }
423
- }, 9);
424
- }
425
- if (elem.loading == "lazy") {
426
- isLoading--;
427
- }
428
- }, true);
429
- });
430
- var unveilElement = function(elem) {
431
- if (elem._lazyRace) {
432
- return;
433
- }
434
- var detail;
435
- var isImg = regImg.test(elem.nodeName);
436
- var sizes = isImg && (elem[_getAttribute](lazySizesCfg.sizesAttr) || elem[_getAttribute]("sizes"));
437
- var isAuto = sizes == "auto";
438
- if ((isAuto || !isCompleted) && isImg && (elem[_getAttribute]("src") || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.lazyClass)) {
439
- return;
440
- }
441
- detail = triggerEvent(elem, "lazyunveilread").detail;
442
- if (isAuto) {
443
- autoSizer.updateElem(elem, true, elem.offsetWidth);
444
- }
445
- elem._lazyRace = true;
446
- isLoading++;
447
- lazyUnveil(elem, detail, isAuto, sizes, isImg);
448
- };
449
- var afterScroll = debounce(function() {
450
- lazySizesCfg.loadMode = 3;
451
- throttledCheckElements();
452
- });
453
- var altLoadmodeScrollListner = function() {
454
- if (lazySizesCfg.loadMode == 3) {
455
- lazySizesCfg.loadMode = 2;
456
- }
457
- afterScroll();
458
- };
459
- var onload = function() {
460
- if (isCompleted) {
461
- return;
462
- }
463
- if (Date2.now() - started < 999) {
464
- setTimeout(onload, 999);
465
- return;
466
- }
467
- isCompleted = true;
468
- lazySizesCfg.loadMode = 3;
469
- throttledCheckElements();
470
- addEventListener("scroll", altLoadmodeScrollListner, true);
471
- };
472
- return {
473
- _: function() {
474
- started = Date2.now();
475
- lazysizes2.elements = document.getElementsByClassName(lazySizesCfg.lazyClass);
476
- preloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + " " + lazySizesCfg.preloadClass);
477
- addEventListener("scroll", throttledCheckElements, true);
478
- addEventListener("resize", throttledCheckElements, true);
479
- addEventListener("pageshow", function(e) {
480
- if (e.persisted) {
481
- var loadingElements = document.querySelectorAll("." + lazySizesCfg.loadingClass);
482
- if (loadingElements.length && loadingElements.forEach) {
483
- requestAnimationFrame(function() {
484
- loadingElements.forEach(function(img) {
485
- if (img.complete) {
486
- unveilElement(img);
487
- }
488
- });
489
- });
490
- }
491
- }
492
- });
493
- if (window2.MutationObserver) {
494
- new MutationObserver(throttledCheckElements).observe(docElem, { childList: true, subtree: true, attributes: true });
495
- } else {
496
- docElem[_addEventListener]("DOMNodeInserted", throttledCheckElements, true);
497
- docElem[_addEventListener]("DOMAttrModified", throttledCheckElements, true);
498
- setInterval(throttledCheckElements, 999);
499
- }
500
- addEventListener("hashchange", throttledCheckElements, true);
501
- ["focus", "mouseover", "click", "load", "transitionend", "animationend"].forEach(function(name) {
502
- document[_addEventListener](name, throttledCheckElements, true);
503
- });
504
- if (/d$|^c/.test(document.readyState)) {
505
- onload();
506
- } else {
507
- addEventListener("load", onload);
508
- document[_addEventListener]("DOMContentLoaded", throttledCheckElements);
509
- setTimeout(onload, 2e4);
510
- }
511
- if (lazysizes2.elements.length) {
512
- checkElements();
513
- rAF._lsFlush();
514
- } else {
515
- throttledCheckElements();
516
- }
517
- },
518
- checkElems: throttledCheckElements,
519
- unveil: unveilElement,
520
- _aLSL: altLoadmodeScrollListner
521
- };
522
- }();
523
- var autoSizer = function() {
524
- var autosizesElems;
525
- var sizeElement = rAFIt(function(elem, parent, event, width) {
526
- var sources, i, len;
527
- elem._lazysizesWidth = width;
528
- width += "px";
529
- elem.setAttribute("sizes", width);
530
- if (regPicture.test(parent.nodeName || "")) {
531
- sources = parent.getElementsByTagName("source");
532
- for (i = 0, len = sources.length; i < len; i++) {
533
- sources[i].setAttribute("sizes", width);
534
- }
535
- }
536
- if (!event.detail.dataAttr) {
537
- updatePolyfill(elem, event.detail);
538
- }
539
- });
540
- var getSizeElement = function(elem, dataAttr, width) {
541
- var event;
542
- var parent = elem.parentNode;
543
- if (parent) {
544
- width = getWidth(elem, parent, width);
545
- event = triggerEvent(elem, "lazybeforesizes", { width, dataAttr: !!dataAttr });
546
- if (!event.defaultPrevented) {
547
- width = event.detail.width;
548
- if (width && width !== elem._lazysizesWidth) {
549
- sizeElement(elem, parent, event, width);
550
- }
551
- }
552
- }
553
- };
554
- var updateElementsSizes = function() {
555
- var i;
556
- var len = autosizesElems.length;
557
- if (len) {
558
- i = 0;
559
- for (; i < len; i++) {
560
- getSizeElement(autosizesElems[i]);
561
- }
562
- }
563
- };
564
- var debouncedUpdateElementsSizes = debounce(updateElementsSizes);
565
- return {
566
- _: function() {
567
- autosizesElems = document.getElementsByClassName(lazySizesCfg.autosizesClass);
568
- addEventListener("resize", debouncedUpdateElementsSizes);
569
- },
570
- checkElems: debouncedUpdateElementsSizes,
571
- updateElem: getSizeElement
572
- };
573
- }();
574
- var init = function() {
575
- if (!init.i && document.getElementsByClassName) {
576
- init.i = true;
577
- autoSizer._();
578
- loader._();
579
- }
580
- };
581
- setTimeout(function() {
582
- if (lazySizesCfg.init) {
583
- init();
584
- }
585
- });
586
- lazysizes2 = {
587
- /**
588
- * @type { LazySizesConfigPartial }
589
- */
590
- cfg: lazySizesCfg,
591
- autoSizer,
592
- loader,
593
- init,
594
- uP: updatePolyfill,
595
- aC: addClass,
596
- rC: removeClass,
597
- hC: hasClass,
598
- fire: triggerEvent,
599
- gW: getWidth,
600
- rAF
601
- };
602
- return lazysizes2;
603
- }
604
- );
605
- })(lazysizes);
606
- return lazysizes.exports;
607
- }
608
- requireLazysizes();
609
- export {
610
- requireLazysizes as r
611
- };