playbook_ui 14.12.0 → 14.13.0.pre.rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/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};
|