playbook_ui 14.12.0 → 14.13.0.pre.rc.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +3 -3
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +3 -1
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.html.erb +33 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading_rails.md +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_loading.md → _advanced_table_loading_react.md} +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.html.erb +38 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +17 -3
- data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +15 -11
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +14 -3
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +9 -1
- data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +9 -0
- data/app/pb_kits/playbook/pb_avatar/_avatar.scss +5 -0
- data/app/pb_kits/playbook/pb_card/card.html.erb +21 -2
- data/app/pb_kits/playbook/pb_card/card.rb +7 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_rails.html.erb +1 -3
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_rails.md +7 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx +12 -8
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.html.erb +52 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.md +0 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.html.erb +52 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.md +3 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.html.erb +80 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.md +1 -0
- data/app/pb_kits/playbook/pb_table/docs/example.yml +3 -0
- data/app/pb_kits/playbook/pb_table/table_row.rb +1 -1
- data/dist/chunks/{_weekday_stacked-DE8qVYG2.js → _weekday_stacked-zyBCd1s8.js} +1 -1
- data/dist/chunks/lazysizes-B7xYodB-.js +1 -0
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/pb_forms_global_props_helper.rb +136 -0
- data/lib/playbook/pb_forms_helper.rb +13 -4
- data/lib/playbook/version.rb +2 -2
- metadata +15 -5
- data/dist/chunks/lazysizes-DHz07jlL.js +0 -1
@@ -0,0 +1,136 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Playbook
|
4
|
+
module PbFormsGlobalPropsHelper
|
5
|
+
private
|
6
|
+
|
7
|
+
def generate_prop_classes(props)
|
8
|
+
classes = []
|
9
|
+
|
10
|
+
props.each do |prop, value|
|
11
|
+
next if value.nil?
|
12
|
+
|
13
|
+
classes << case prop
|
14
|
+
when :padding
|
15
|
+
"p_#{value}"
|
16
|
+
when :padding_top
|
17
|
+
"pt_#{value}"
|
18
|
+
when :padding_bottom
|
19
|
+
"pb_#{value}"
|
20
|
+
when :padding_left
|
21
|
+
"pl_#{value}"
|
22
|
+
when :padding_right
|
23
|
+
"pr_#{value}"
|
24
|
+
when :padding_x
|
25
|
+
"px_#{value}"
|
26
|
+
when :padding_y
|
27
|
+
"py_#{value}"
|
28
|
+
when :margin
|
29
|
+
"m_#{value}"
|
30
|
+
when :margin_top
|
31
|
+
"mt_#{value}"
|
32
|
+
when :margin_bottom
|
33
|
+
"mb_#{value}"
|
34
|
+
when :margin_left
|
35
|
+
"ml_#{value}"
|
36
|
+
when :margin_right
|
37
|
+
"mr_#{value}"
|
38
|
+
when :margin_x
|
39
|
+
"mx_#{value}"
|
40
|
+
when :margin_y
|
41
|
+
"my_#{value}"
|
42
|
+
when :shadow
|
43
|
+
"shadow_#{value}"
|
44
|
+
when :width
|
45
|
+
value.to_s.end_with?("%") ? "width_#{value.to_i}_percent" : "width_#{value.downcase}"
|
46
|
+
when :min_width
|
47
|
+
value.to_s.end_with?("%") ? "min_width_#{value.to_i}_percent" : "min_width_#{value.downcase}"
|
48
|
+
when :max_width
|
49
|
+
value.to_s.end_with?("%") ? "max_width_#{value.to_i}_percent" : "max_width_#{value.downcase}"
|
50
|
+
when :height
|
51
|
+
"height_#{value.downcase}"
|
52
|
+
when :min_height
|
53
|
+
"min_height_#{value.downcase}"
|
54
|
+
when :max_height
|
55
|
+
"max_height_#{value.downcase}"
|
56
|
+
when :position
|
57
|
+
"position_#{value}"
|
58
|
+
when :vertical_alignment
|
59
|
+
"vertical_align_#{value}"
|
60
|
+
when :z_index
|
61
|
+
"z_index_#{value}"
|
62
|
+
when :line_height
|
63
|
+
"line_height_#{value}"
|
64
|
+
when :number_spacing
|
65
|
+
"ns_#{value}"
|
66
|
+
when :border_radius
|
67
|
+
"border_radius_#{value}"
|
68
|
+
when :text_size
|
69
|
+
"text_#{value}"
|
70
|
+
when :letter_spacing
|
71
|
+
"ls_#{value}"
|
72
|
+
when :display
|
73
|
+
"display_#{value}"
|
74
|
+
when :cursor
|
75
|
+
"cursor_#{value}"
|
76
|
+
when :hover
|
77
|
+
if value.is_a?(Hash)
|
78
|
+
value.map do |hover_prop, hover_value|
|
79
|
+
case hover_prop
|
80
|
+
when :shadow
|
81
|
+
"hover_shadow_#{hover_value}"
|
82
|
+
when :scale
|
83
|
+
"hover_scale_#{hover_value}"
|
84
|
+
when :underline
|
85
|
+
hover_value == true ? "hover_underline" : nil
|
86
|
+
when :color
|
87
|
+
"hover_color_#{hover_value}"
|
88
|
+
when :background
|
89
|
+
"hover_background_#{hover_value}"
|
90
|
+
end
|
91
|
+
end
|
92
|
+
else
|
93
|
+
"hover_#{value}"
|
94
|
+
end
|
95
|
+
when :text_align
|
96
|
+
"text_align_#{value}"
|
97
|
+
when :overflow
|
98
|
+
"overflow_#{value}"
|
99
|
+
when :overflow_x
|
100
|
+
"overflow_x_#{value}"
|
101
|
+
when :overflow_y
|
102
|
+
"overflow_y_#{value}"
|
103
|
+
when :truncate
|
104
|
+
"truncate_#{value}"
|
105
|
+
when :group_hover
|
106
|
+
value ? "group_hover" : nil
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
classes.flatten.compact
|
111
|
+
end
|
112
|
+
|
113
|
+
def extract_all_props(options)
|
114
|
+
global_props = %i[
|
115
|
+
padding padding_top padding_bottom padding_left padding_right padding_x padding_y
|
116
|
+
margin margin_top margin_bottom margin_left margin_right margin_x margin_y
|
117
|
+
shadow width min_width max_width height min_height max_height
|
118
|
+
position vertical_alignment z_index line_height number_spacing
|
119
|
+
border_radius text_size letter_spacing display cursor hover
|
120
|
+
text_align overflow overflow_x overflow_y truncate group_hover
|
121
|
+
]
|
122
|
+
|
123
|
+
props = {}
|
124
|
+
form_opts = options.dup
|
125
|
+
|
126
|
+
global_props.each { |prop| props[prop] = form_opts.delete(prop) if form_opts.key?(prop) }
|
127
|
+
|
128
|
+
if form_opts[:props].is_a?(Hash)
|
129
|
+
nested_props = form_opts.delete(:props)
|
130
|
+
props.merge!(nested_props.slice(*global_props))
|
131
|
+
end
|
132
|
+
|
133
|
+
[props, form_opts]
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
@@ -1,7 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "pb_forms_global_props_helper"
|
4
|
+
|
3
5
|
module Playbook
|
4
6
|
module PbFormsHelper
|
7
|
+
include Playbook::PbFormsGlobalPropsHelper
|
5
8
|
# Renders a pb form with ::Playbook::Forms::Builder, that can render
|
6
9
|
# Playbook kits in the most railsie way.
|
7
10
|
#
|
@@ -23,11 +26,17 @@ module Playbook
|
|
23
26
|
# @param validate [Boolean] whether validation should be triggered or not
|
24
27
|
# @see [#form_with] for other options
|
25
28
|
def pb_form_with(data: {}, validate: false, loading: false, **kwargs, &block)
|
29
|
+
global_props, form_options = extract_all_props(kwargs)
|
30
|
+
|
31
|
+
classnames = ["pb-form"]
|
32
|
+
classnames << form_options[:class] if form_options[:class].present?
|
33
|
+
classnames << "pb_form_loading" if loading
|
34
|
+
classnames.concat(generate_prop_classes(global_props))
|
35
|
+
|
26
36
|
data = data.merge("pb-form-validation" => validate)
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
class: classname,
|
37
|
+
|
38
|
+
options = form_options.merge(
|
39
|
+
class: classnames.compact.join(" "),
|
31
40
|
data: data,
|
32
41
|
builder: ::Playbook::Forms::Builder
|
33
42
|
)
|
data/lib/playbook/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playbook_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 14.
|
4
|
+
version: 14.13.0.pre.rc.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Power UX
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2025-01-
|
12
|
+
date: 2025-01-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -300,13 +300,16 @@ files:
|
|
300
300
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.md
|
301
301
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx
|
302
302
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md
|
303
|
+
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.html.erb
|
303
304
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx
|
304
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/
|
305
|
+
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading_rails.md
|
306
|
+
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading_react.md
|
305
307
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_no_subrows.jsx
|
306
308
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.jsx
|
307
309
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.md
|
308
310
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx
|
309
311
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.md
|
312
|
+
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.html.erb
|
310
313
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.jsx
|
311
314
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.md
|
312
315
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.jsx
|
@@ -2720,10 +2723,16 @@ files:
|
|
2720
2723
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.md
|
2721
2724
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx
|
2722
2725
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.md
|
2726
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.html.erb
|
2727
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.md
|
2723
2728
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.jsx
|
2724
2729
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.md
|
2730
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.html.erb
|
2731
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.md
|
2725
2732
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.jsx
|
2726
2733
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.md
|
2734
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.html.erb
|
2735
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.md
|
2727
2736
|
- app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.jsx
|
2728
2737
|
- app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.md
|
2729
2738
|
- app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents_as_divs.html.erb
|
@@ -3293,8 +3302,8 @@ files:
|
|
3293
3302
|
- app/pb_kits/playbook/utilities/text.ts
|
3294
3303
|
- app/pb_kits/playbook/utilities/validEmojiChecker.ts
|
3295
3304
|
- dist/chunks/_typeahead-BWwaAo_0.js
|
3296
|
-
- dist/chunks/_weekday_stacked-
|
3297
|
-
- dist/chunks/lazysizes-
|
3305
|
+
- dist/chunks/_weekday_stacked-zyBCd1s8.js
|
3306
|
+
- dist/chunks/lazysizes-B7xYodB-.js
|
3298
3307
|
- dist/chunks/lib-kMuhBuU7.js
|
3299
3308
|
- dist/chunks/pb_form_validation-DBJ0wZuS.js
|
3300
3309
|
- dist/chunks/vendor.js
|
@@ -3348,6 +3357,7 @@ files:
|
|
3348
3357
|
- lib/playbook/overflow.rb
|
3349
3358
|
- lib/playbook/pagination_renderer.rb
|
3350
3359
|
- lib/playbook/pb_doc_helper.rb
|
3360
|
+
- lib/playbook/pb_forms_global_props_helper.rb
|
3351
3361
|
- lib/playbook/pb_forms_helper.rb
|
3352
3362
|
- lib/playbook/pb_kit_helper.rb
|
3353
3363
|
- lib/playbook/position.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
var lazysizes={exports:{}};(function(module){(function(window2,factory){var lazySizes=factory(window2,window2.document,Date);window2.lazySizes=lazySizes;if(module.exports){module.exports=lazySizes}})(typeof window!="undefined"?window:{},(function l(window2,document,Date2){var lazysizes2,lazySizesCfg;(function(){var prop;var lazySizesDefaults={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",fastLoadedClass:"ls-is-cached",iframeLoadMode:0,srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};lazySizesCfg=window2.lazySizesConfig||window2.lazysizesConfig||{};for(prop in lazySizesDefaults){if(!(prop in lazySizesCfg)){lazySizesCfg[prop]=lazySizesDefaults[prop]}}})();if(!document||!document.getElementsByClassName){return{init:function(){},cfg:lazySizesCfg,noSupport:true}}var docElem=document.documentElement;var supportPicture=window2.HTMLPictureElement;var _addEventListener="addEventListener";var _getAttribute="getAttribute";var addEventListener=window2[_addEventListener].bind(window2);var setTimeout=window2.setTimeout;var requestAnimationFrame=window2.requestAnimationFrame||setTimeout;var requestIdleCallback=window2.requestIdleCallback;var regPicture=/^picture$/i;var loadEvents=["load","error","lazyincluded","_lazyloaded"];var regClassCache={};var forEach=Array.prototype.forEach;var hasClass=function(ele,cls){if(!regClassCache[cls]){regClassCache[cls]=new RegExp("(\\s|^)"+cls+"(\\s|$)")}return regClassCache[cls].test(ele[_getAttribute]("class")||"")&®ClassCache[cls]};var addClass=function(ele,cls){if(!hasClass(ele,cls)){ele.setAttribute("class",(ele[_getAttribute]("class")||"").trim()+" "+cls)}};var removeClass=function(ele,cls){var reg;if(reg=hasClass(ele,cls)){ele.setAttribute("class",(ele[_getAttribute]("class")||"").replace(reg," "))}};var addRemoveLoadEvents=function(dom,fn,add){var action=add?_addEventListener:"removeEventListener";if(add){addRemoveLoadEvents(dom,fn)}loadEvents.forEach((function(evt){dom[action](evt,fn)}))};var triggerEvent=function(elem,name,detail,noBubbles,noCancelable){var event=document.createEvent("Event");if(!detail){detail={}}detail.instance=lazysizes2;event.initEvent(name,!noBubbles,!noCancelable);event.detail=detail;elem.dispatchEvent(event);return event};var updatePolyfill=function(el,full){var polyfill;if(!supportPicture&&(polyfill=window2.picturefill||lazySizesCfg.pf)){if(full&&full.src&&!el[_getAttribute]("srcset")){el.setAttribute("srcset",full.src)}polyfill({reevaluate:true,elements:[el]})}else if(full&&full.src){el.src=full.src}};var getCSS=function(elem,style){return(getComputedStyle(elem,null)||{})[style]};var getWidth=function(elem,parent,width){width=width||elem.offsetWidth;while(width<lazySizesCfg.minSize&&parent&&!elem._lazysizesWidth){width=parent.offsetWidth;parent=parent.parentNode}return width};var rAF=function(){var running,waiting;var firstFns=[];var secondFns=[];var fns=firstFns;var run=function(){var runFns=fns;fns=firstFns.length?secondFns:firstFns;running=true;waiting=false;while(runFns.length){runFns.shift()()}running=false};var rafBatch=function(fn,queue){if(running&&!queue){fn.apply(this,arguments)}else{fns.push(fn);if(!waiting){waiting=true;(document.hidden?setTimeout:requestAnimationFrame)(run)}}};rafBatch._lsFlush=run;return rafBatch}();var rAFIt=function(fn,simple){return simple?function(){rAF(fn)}:function(){var that=this;var args=arguments;rAF((function(){fn.apply(that,args)}))}};var throttle=function(fn){var running;var lastTime=0;var gDelay=lazySizesCfg.throttleDelay;var rICTimeout=lazySizesCfg.ricTimeout;var run=function(){running=false;lastTime=Date2.now();fn()};var idleCallback=requestIdleCallback&&rICTimeout>49?function(){requestIdleCallback(run,{timeout:rICTimeout});if(rICTimeout!==lazySizesCfg.ricTimeout){rICTimeout=lazySizesCfg.ricTimeout}}:rAFIt((function(){setTimeout(run)}),true);return function(isPriority){var delay;if(isPriority=isPriority===true){rICTimeout=33}if(running){return}running=true;delay=gDelay-(Date2.now()-lastTime);if(delay<0){delay=0}if(isPriority||delay<9){idleCallback()}else{setTimeout(idleCallback,delay)}}};var debounce=function(func){var timeout,timestamp;var wait=99;var run=function(){timeout=null;func()};var later=function(){var last=Date2.now()-timestamp;if(last<wait){setTimeout(later,wait-last)}else{(requestIdleCallback||run)(run)}};return function(){timestamp=Date2.now();if(!timeout){timeout=setTimeout(later,wait)}}};var loader=function(){var preloadElems,isCompleted,resetPreloadingTimer,loadMode,started;var eLvW,elvH,eLtop,eLleft,eLright,eLbottom,isBodyHidden;var regImg=/^img$/i;var regIframe=/^iframe$/i;var supportScroll="onscroll"in window2&&!/(gle|ing)bot/.test(navigator.userAgent);var shrinkExpand=0;var currentExpand=0;var isLoading=0;var lowRuns=-1;var resetPreloading=function(e){isLoading--;if(!e||isLoading<0||!e.target){isLoading=0}};var isVisible=function(elem){if(isBodyHidden==null){isBodyHidden=getCSS(document.body,"visibility")=="hidden"}return isBodyHidden||!(getCSS(elem.parentNode,"visibility")=="hidden"&&getCSS(elem,"visibility")=="hidden")};var isNestedVisible=function(elem,elemExpand){var outerRect;var parent=elem;var visible=isVisible(elem);eLtop-=elemExpand;eLbottom+=elemExpand;eLleft-=elemExpand;eLright+=elemExpand;while(visible&&(parent=parent.offsetParent)&&parent!=document.body&&parent!=docElem){visible=(getCSS(parent,"opacity")||1)>0;if(visible&&getCSS(parent,"overflow")!="visible"){outerRect=parent.getBoundingClientRect();visible=eLright>outerRect.left&&eLleft<outerRect.right&&eLbottom>outerRect.top-1&&eLtop<outerRect.bottom+1}}return visible};var checkElements=function(){var eLlen,i,rect,autoLoadElem,loadedSomething,elemExpand,elemNegativeExpand,elemExpandVal,beforeExpandVal,defaultExpand,preloadExpand,hFac;var lazyloadElems=lazysizes2.elements;if((loadMode=lazySizesCfg.loadMode)&&isLoading<8&&(eLlen=lazyloadElems.length)){i=0;lowRuns++;for(;i<eLlen;i++){if(!lazyloadElems[i]||lazyloadElems[i]._lazyRace){continue}if(!supportScroll||lazysizes2.prematureUnveil&&lazysizes2.prematureUnveil(lazyloadElems[i])){unveilElement(lazyloadElems[i]);continue}if(!(elemExpandVal=lazyloadElems[i][_getAttribute]("data-expand"))||!(elemExpand=elemExpandVal*1)){elemExpand=currentExpand}if(!defaultExpand){defaultExpand=!lazySizesCfg.expand||lazySizesCfg.expand<1?docElem.clientHeight>500&&docElem.clientWidth>500?500:370:lazySizesCfg.expand;lazysizes2._defEx=defaultExpand;preloadExpand=defaultExpand*lazySizesCfg.expFactor;hFac=lazySizesCfg.hFac;isBodyHidden=null;if(currentExpand<preloadExpand&&isLoading<1&&lowRuns>2&&loadMode>2&&!document.hidden){currentExpand=preloadExpand;lowRuns=0}else if(loadMode>1&&lowRuns>1&&isLoading<6){currentExpand=defaultExpand}else{currentExpand=shrinkExpand}}if(beforeExpandVal!==elemExpand){eLvW=innerWidth+elemExpand*hFac;elvH=innerHeight+elemExpand;elemNegativeExpand=elemExpand*-1;beforeExpandVal=elemExpand}rect=lazyloadElems[i].getBoundingClientRect();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))){unveilElement(lazyloadElems[i]);loadedSomething=true;if(isLoading>9){break}}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"))){autoLoadElem=preloadElems[0]||lazyloadElems[i]}}if(autoLoadElem&&!loadedSomething){unveilElement(autoLoadElem)}}};var throttledCheckElements=throttle(checkElements);var switchLoadingClass=function(e){var elem=e.target;if(elem._lazyCache){delete elem._lazyCache;return}resetPreloading(e);addClass(elem,lazySizesCfg.loadedClass);removeClass(elem,lazySizesCfg.loadingClass);addRemoveLoadEvents(elem,rafSwitchLoadingClass);triggerEvent(elem,"lazyloaded")};var rafedSwitchLoadingClass=rAFIt(switchLoadingClass);var rafSwitchLoadingClass=function(e){rafedSwitchLoadingClass({target:e.target})};var changeIframeSrc=function(elem,src){var loadMode2=elem.getAttribute("data-load-mode")||lazySizesCfg.iframeLoadMode;if(loadMode2==0){elem.contentWindow.location.replace(src)}else if(loadMode2==1){elem.src=src}};var handleSources=function(source){var customMedia;var sourceSrcset=source[_getAttribute](lazySizesCfg.srcsetAttr);if(customMedia=lazySizesCfg.customMedia[source[_getAttribute]("data-media")||source[_getAttribute]("media")]){source.setAttribute("media",customMedia)}if(sourceSrcset){source.setAttribute("srcset",sourceSrcset)}};var lazyUnveil=rAFIt((function(elem,detail,isAuto,sizes,isImg){var src,srcset,parent,isPicture,event,firesLoad;if(!(event=triggerEvent(elem,"lazybeforeunveil",detail)).defaultPrevented){if(sizes){if(isAuto){addClass(elem,lazySizesCfg.autosizesClass)}else{elem.setAttribute("sizes",sizes)}}srcset=elem[_getAttribute](lazySizesCfg.srcsetAttr);src=elem[_getAttribute](lazySizesCfg.srcAttr);if(isImg){parent=elem.parentNode;isPicture=parent&®Picture.test(parent.nodeName||"")}firesLoad=detail.firesLoad||"src"in elem&&(srcset||src||isPicture);event={target:elem};addClass(elem,lazySizesCfg.loadingClass);if(firesLoad){clearTimeout(resetPreloadingTimer);resetPreloadingTimer=setTimeout(resetPreloading,2500);addRemoveLoadEvents(elem,rafSwitchLoadingClass,true)}if(isPicture){forEach.call(parent.getElementsByTagName("source"),handleSources)}if(srcset){elem.setAttribute("srcset",srcset)}else if(src&&!isPicture){if(regIframe.test(elem.nodeName)){changeIframeSrc(elem,src)}else{elem.src=src}}if(isImg&&(srcset||isPicture)){updatePolyfill(elem,{src:src})}}if(elem._lazyRace){delete elem._lazyRace}removeClass(elem,lazySizesCfg.lazyClass);rAF((function(){var isLoaded=elem.complete&&elem.naturalWidth>1;if(!firesLoad||isLoaded){if(isLoaded){addClass(elem,lazySizesCfg.fastLoadedClass)}switchLoadingClass(event);elem._lazyCache=true;setTimeout((function(){if("_lazyCache"in elem){delete elem._lazyCache}}),9)}if(elem.loading=="lazy"){isLoading--}}),true)}));var unveilElement=function(elem){if(elem._lazyRace){return}var detail;var isImg=regImg.test(elem.nodeName);var sizes=isImg&&(elem[_getAttribute](lazySizesCfg.sizesAttr)||elem[_getAttribute]("sizes"));var isAuto=sizes=="auto";if((isAuto||!isCompleted)&&isImg&&(elem[_getAttribute]("src")||elem.srcset)&&!elem.complete&&!hasClass(elem,lazySizesCfg.errorClass)&&hasClass(elem,lazySizesCfg.lazyClass)){return}detail=triggerEvent(elem,"lazyunveilread").detail;if(isAuto){autoSizer.updateElem(elem,true,elem.offsetWidth)}elem._lazyRace=true;isLoading++;lazyUnveil(elem,detail,isAuto,sizes,isImg)};var afterScroll=debounce((function(){lazySizesCfg.loadMode=3;throttledCheckElements()}));var altLoadmodeScrollListner=function(){if(lazySizesCfg.loadMode==3){lazySizesCfg.loadMode=2}afterScroll()};var onload=function(){if(isCompleted){return}if(Date2.now()-started<999){setTimeout(onload,999);return}isCompleted=true;lazySizesCfg.loadMode=3;throttledCheckElements();addEventListener("scroll",altLoadmodeScrollListner,true)};return{_:function(){started=Date2.now();lazysizes2.elements=document.getElementsByClassName(lazySizesCfg.lazyClass);preloadElems=document.getElementsByClassName(lazySizesCfg.lazyClass+" "+lazySizesCfg.preloadClass);addEventListener("scroll",throttledCheckElements,true);addEventListener("resize",throttledCheckElements,true);addEventListener("pageshow",(function(e){if(e.persisted){var loadingElements=document.querySelectorAll("."+lazySizesCfg.loadingClass);if(loadingElements.length&&loadingElements.forEach){requestAnimationFrame((function(){loadingElements.forEach((function(img){if(img.complete){unveilElement(img)}}))}))}}}));if(window2.MutationObserver){new MutationObserver(throttledCheckElements).observe(docElem,{childList:true,subtree:true,attributes:true})}else{docElem[_addEventListener]("DOMNodeInserted",throttledCheckElements,true);docElem[_addEventListener]("DOMAttrModified",throttledCheckElements,true);setInterval(throttledCheckElements,999)}addEventListener("hashchange",throttledCheckElements,true);["focus","mouseover","click","load","transitionend","animationend"].forEach((function(name){document[_addEventListener](name,throttledCheckElements,true)}));if(/d$|^c/.test(document.readyState)){onload()}else{addEventListener("load",onload);document[_addEventListener]("DOMContentLoaded",throttledCheckElements);setTimeout(onload,2e4)}if(lazysizes2.elements.length){checkElements();rAF._lsFlush()}else{throttledCheckElements()}},checkElems:throttledCheckElements,unveil:unveilElement,_aLSL:altLoadmodeScrollListner}}();var autoSizer=function(){var autosizesElems;var sizeElement=rAFIt((function(elem,parent,event,width){var sources,i,len;elem._lazysizesWidth=width;width+="px";elem.setAttribute("sizes",width);if(regPicture.test(parent.nodeName||"")){sources=parent.getElementsByTagName("source");for(i=0,len=sources.length;i<len;i++){sources[i].setAttribute("sizes",width)}}if(!event.detail.dataAttr){updatePolyfill(elem,event.detail)}}));var getSizeElement=function(elem,dataAttr,width){var event;var parent=elem.parentNode;if(parent){width=getWidth(elem,parent,width);event=triggerEvent(elem,"lazybeforesizes",{width:width,dataAttr:!!dataAttr});if(!event.defaultPrevented){width=event.detail.width;if(width&&width!==elem._lazysizesWidth){sizeElement(elem,parent,event,width)}}}};var updateElementsSizes=function(){var i;var len=autosizesElems.length;if(len){i=0;for(;i<len;i++){getSizeElement(autosizesElems[i])}}};var debouncedUpdateElementsSizes=debounce(updateElementsSizes);return{_:function(){autosizesElems=document.getElementsByClassName(lazySizesCfg.autosizesClass);addEventListener("resize",debouncedUpdateElementsSizes)},checkElems:debouncedUpdateElementsSizes,updateElem:getSizeElement}}();var init=function(){if(!init.i&&document.getElementsByClassName){init.i=true;autoSizer._();loader._()}};setTimeout((function(){if(lazySizesCfg.init){init()}}));lazysizes2={cfg:lazySizesCfg,autoSizer:autoSizer,loader:loader,init:init,uP:updatePolyfill,aC:addClass,rC:removeClass,hC:hasClass,fire:triggerEvent,gW:getWidth,rAF:rAF};return lazysizes2}))})(lazysizes);var lazysizesExports=lazysizes.exports;export{lazysizesExports as l};
|