fomantic-ui 2.9.1-beta.23 → 2.9.1-beta.25
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.
- package/.eslint/eqeqeq-rule.js +18 -0
- package/.eslint/index.js +26 -0
- package/.eslint/no-extra-parens-rule.js +17 -0
- package/.eslint/package.json +11 -0
- package/.eslintrc.js +7 -13
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +24 -24
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +2 -2
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +58 -58
- package/dist/components/api.min.js +2 -2
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +1 -1
- package/dist/components/button.min.css +1 -1
- package/dist/components/calendar.css +1 -1
- package/dist/components/calendar.js +84 -72
- package/dist/components/calendar.min.css +1 -1
- package/dist/components/calendar.min.js +2 -2
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -1
- package/dist/components/checkbox.js +17 -17
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +2 -2
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +1 -1
- package/dist/components/container.min.css +1 -1
- package/dist/components/dimmer.css +1 -1
- package/dist/components/dimmer.js +18 -18
- package/dist/components/dimmer.min.css +1 -1
- package/dist/components/dimmer.min.js +2 -2
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +1 -1
- package/dist/components/dropdown.js +264 -254
- package/dist/components/dropdown.min.css +1 -1
- package/dist/components/dropdown.min.js +2 -2
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +19 -19
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +2 -2
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +1 -1
- package/dist/components/flag.min.css +1 -1
- package/dist/components/flyout.css +1 -1
- package/dist/components/flyout.js +29 -25
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +1 -1
- package/dist/components/form.js +158 -141
- package/dist/components/form.min.css +1 -1
- package/dist/components/form.min.js +2 -2
- package/dist/components/grid.css +1 -1
- package/dist/components/grid.min.css +1 -1
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +1 -1
- package/dist/components/icon.min.css +1 -1
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +1 -1
- package/dist/components/input.min.css +1 -1
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +1 -1
- package/dist/components/label.min.css +1 -1
- package/dist/components/list.css +1 -1
- package/dist/components/list.min.css +1 -1
- package/dist/components/loader.css +1 -1
- package/dist/components/loader.min.css +1 -1
- package/dist/components/message.css +1 -1
- package/dist/components/message.min.css +1 -1
- package/dist/components/modal.css +1 -1
- package/dist/components/modal.js +32 -28
- package/dist/components/modal.min.css +1 -1
- package/dist/components/modal.min.js +2 -2
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +10 -10
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +2 -2
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +1 -1
- package/dist/components/popup.js +79 -71
- package/dist/components/popup.min.css +1 -1
- package/dist/components/popup.min.js +2 -2
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +40 -42
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +2 -2
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +13 -13
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +2 -2
- package/dist/components/reset.css +1 -1
- package/dist/components/reset.min.css +1 -1
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +1 -1
- package/dist/components/search.js +42 -42
- package/dist/components/search.min.css +1 -1
- package/dist/components/search.min.js +2 -2
- package/dist/components/segment.css +1 -1
- package/dist/components/segment.min.css +1 -1
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +36 -36
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +2 -2
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +29 -29
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +2 -2
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +16 -16
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +2 -2
- package/dist/components/slider.js +79 -58
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +14 -14
- package/dist/components/state.min.js +2 -2
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +1 -1
- package/dist/components/step.min.css +1 -1
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +25 -25
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +2 -2
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +34 -34
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- package/dist/components/table.css +1 -1
- package/dist/components/table.min.css +1 -1
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +1 -1
- package/dist/components/toast.js +43 -19
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +2 -2
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +26 -26
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +2 -2
- package/dist/components/visibility.js +29 -29
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +50 -50
- package/dist/semantic.js +1218 -1120
- package/dist/semantic.min.css +1 -1
- package/dist/semantic.min.js +2 -2
- package/gulpfile.js +1 -1
- package/package.json +2 -1
- package/scripts/nightly-version.js +3 -1
- package/src/definitions/behaviors/api.js +57 -57
- package/src/definitions/behaviors/form.js +157 -140
- package/src/definitions/behaviors/state.js +13 -13
- package/src/definitions/behaviors/visibility.js +28 -28
- package/src/definitions/globals/site.js +15 -15
- package/src/definitions/modules/accordion.js +23 -23
- package/src/definitions/modules/calendar.js +83 -71
- package/src/definitions/modules/checkbox.js +16 -16
- package/src/definitions/modules/dimmer.js +17 -17
- package/src/definitions/modules/dropdown.js +263 -253
- package/src/definitions/modules/embed.js +18 -18
- package/src/definitions/modules/flyout.js +28 -24
- package/src/definitions/modules/modal.js +31 -27
- package/src/definitions/modules/nag.js +9 -9
- package/src/definitions/modules/popup.js +78 -70
- package/src/definitions/modules/progress.js +39 -41
- package/src/definitions/modules/rating.js +12 -12
- package/src/definitions/modules/search.js +41 -41
- package/src/definitions/modules/shape.js +35 -35
- package/src/definitions/modules/sidebar.js +28 -28
- package/src/definitions/modules/slider.js +78 -57
- package/src/definitions/modules/sticky.js +24 -24
- package/src/definitions/modules/tab.js +33 -33
- package/src/definitions/modules/toast.js +42 -18
- package/src/definitions/modules/transition.js +25 -25
- package/tasks/admin/components/create.js +1 -1
- package/tasks/admin/components/init.js +2 -2
- package/tasks/admin/components/update.js +4 -4
- package/tasks/admin/distributions/create.js +6 -7
- package/tasks/admin/distributions/init.js +2 -2
- package/tasks/admin/distributions/update.js +4 -4
- package/tasks/admin/publish.js +1 -3
- package/tasks/admin/register.js +5 -5
- package/tasks/admin/release.js +1 -3
- package/tasks/build/assets.js +1 -1
- package/tasks/build.js +1 -1
- package/tasks/check-install.js +1 -1
- package/tasks/clean.js +1 -1
- package/tasks/collections/admin.js +1 -1
- package/tasks/collections/rtl.js +1 -1
- package/tasks/config/admin/github.js +3 -4
- package/tasks/config/npm/gulpfile.js +1 -1
- package/tasks/config/project/config.js +10 -8
- package/tasks/config/project/install.js +14 -14
- package/tasks/config/project/release.js +3 -2
- package/tasks/config/tasks.js +4 -4
- package/tasks/config/user.js +5 -3
- package/tasks/docs/build.js +1 -1
- package/tasks/docs/metadata.js +2 -2
- package/tasks/docs/serve.js +2 -1
- package/tasks/install.js +3 -3
- package/tasks/rtl/build.js +1 -3
- package/tasks/rtl/watch.js +1 -3
- package/tasks/version.js +1 -3
- package/tasks/watch.js +1 -1
- package/test/modules/module.spec.js +1 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* # Fomantic UI - 2.9.1-beta.
|
2
|
+
* # Fomantic UI - 2.9.1-beta.25+bbe4e58
|
3
3
|
* https://github.com/fomantic/Fomantic-UI
|
4
4
|
* https://fomantic-ui.com/
|
5
5
|
*
|
@@ -8,4 +8,4 @@
|
|
8
8
|
* https://opensource.org/licenses/MIT
|
9
9
|
*
|
10
10
|
*/
|
11
|
-
!function(w,C,A,P){"use strict";C=C!==P&&C.Math===Math?C:globalThis,w.fn.state=function(v){var g,b=w(this),x=b.selector||"",p=Date.now(),h=[],m=v,T="string"==typeof m,y=[].slice.call(arguments,1);return b.each(function(){var i=w.isPlainObject(v)?w.extend(!0,{},w.fn.state.settings,v):w.extend({},w.fn.state.settings),r=i.error,n=i.metadata,t=i.className,e=i.namespace,a=i.states,o=i.text,s="."+e,c=e+"-module",l=w(this),u=this,d=l.data(c),f={initialize:function(){f.verbose("Initializing module"),i.automatic&&f.add.defaults(),i.context&&""!==x?([C,A].indexOf(i.context)<0?w(A).find(i.context):w(i.context)).on(x,"mouseenter"+s,f.change.text).on(x,"mouseleave"+s,f.reset.text).on(x,"click"+s,f.toggle.state):l.on("mouseenter"+s,f.change.text).on("mouseleave"+s,f.reset.text).on("click"+s,f.toggle.state),f.instantiate()},instantiate:function(){f.verbose("Storing instance of module",f),d=f,l.data(c,f)},destroy:function(){f.verbose("Destroying previous module",d),l.off(s).removeData(c)},refresh:function(){f.verbose("Refreshing selector cache"),l=w(u)},add:{defaults:function(){var n=v&&w.isPlainObject(v.states)?v.states:{};w.each(i.defaults,function(e,t){f.is[e]!==P&&f.is[e]()&&(f.verbose("Adding default states",e,u),w.extend(i.states,t,n))})}},is:{active:function(){return l.hasClass(t.active)},loading:function(){return l.hasClass(t.loading)},inactive:function(){return!l.hasClass(t.active)},state:function(e){return t[e]!==P&&l.hasClass(t[e])},enabled:function(){return!l.is(i.filter.active)},disabled:function(){return l.is(i.filter.active)},textEnabled:function(){return!l.is(i.filter.text)},button:function(){return l.is(".button:not(a, .submit)")},input:function(){return l.is("input")},progress:function(){return l.is(".ui.progress")}},allow:function(e){f.debug("Now allowing state",e),a[e]=!0},disallow:function(e){f.debug("No longer allowing",e),a[e]=!1},allows:function(e){return a[e]||!1},enable:function(){l.removeClass(t.disabled)},disable:function(){l.addClass(t.disabled)},setState:function(e){f.allows(e)&&l.addClass(t[e])},removeState:function(e){f.allows(e)&&l.removeClass(t[e])},toggle:{state:function(){var e;if(f.allows("active")&&f.is.enabled()){if(f.refresh(),w.fn.api!==P)if(e=l.api("get request"),l.api("was cancelled"))f.debug("API Request cancelled by beforesend"),i.activateTest=function(){return!1},i.deactivateTest=function(){return!1};else if(e)return void f.listenTo(e);f.change.state()}}},listenTo:function(e){f.debug("API request detected, waiting for state signal",e),e&&(o.loading&&f.update.text(o.loading),w.when(e).then(function(){"resolved"
|
11
|
+
!function(w,C,A,P){"use strict";C=C!==P&&C.Math===Math?C:globalThis,w.fn.state=function(v){var g,b=w(this),x=b.selector||"",p=Date.now(),h=[],m=v,T="string"==typeof m,y=[].slice.call(arguments,1);return b.each(function(){var i=w.isPlainObject(v)?w.extend(!0,{},w.fn.state.settings,v):w.extend({},w.fn.state.settings),r=i.error,n=i.metadata,t=i.className,e=i.namespace,a=i.states,o=i.text,s="."+e,c=e+"-module",l=w(this),u=this,d=l.data(c),f={initialize:function(){f.verbose("Initializing module"),i.automatic&&f.add.defaults(),i.context&&""!==x?([C,A].indexOf(i.context)<0?w(A).find(i.context):w(i.context)).on(x,"mouseenter"+s,f.change.text).on(x,"mouseleave"+s,f.reset.text).on(x,"click"+s,f.toggle.state):l.on("mouseenter"+s,f.change.text).on("mouseleave"+s,f.reset.text).on("click"+s,f.toggle.state),f.instantiate()},instantiate:function(){f.verbose("Storing instance of module",f),d=f,l.data(c,f)},destroy:function(){f.verbose("Destroying previous module",d),l.off(s).removeData(c)},refresh:function(){f.verbose("Refreshing selector cache"),l=w(u)},add:{defaults:function(){var n=v&&w.isPlainObject(v.states)?v.states:{};w.each(i.defaults,function(e,t){f.is[e]!==P&&f.is[e]()&&(f.verbose("Adding default states",e,u),w.extend(i.states,t,n))})}},is:{active:function(){return l.hasClass(t.active)},loading:function(){return l.hasClass(t.loading)},inactive:function(){return!l.hasClass(t.active)},state:function(e){return t[e]!==P&&l.hasClass(t[e])},enabled:function(){return!l.is(i.filter.active)},disabled:function(){return l.is(i.filter.active)},textEnabled:function(){return!l.is(i.filter.text)},button:function(){return l.is(".button:not(a, .submit)")},input:function(){return l.is("input")},progress:function(){return l.is(".ui.progress")}},allow:function(e){f.debug("Now allowing state",e),a[e]=!0},disallow:function(e){f.debug("No longer allowing",e),a[e]=!1},allows:function(e){return a[e]||!1},enable:function(){l.removeClass(t.disabled)},disable:function(){l.addClass(t.disabled)},setState:function(e){f.allows(e)&&l.addClass(t[e])},removeState:function(e){f.allows(e)&&l.removeClass(t[e])},toggle:{state:function(){var e;if(f.allows("active")&&f.is.enabled()){if(f.refresh(),w.fn.api!==P)if(e=l.api("get request"),l.api("was cancelled"))f.debug("API Request cancelled by beforesend"),i.activateTest=function(){return!1},i.deactivateTest=function(){return!1};else if(e)return void f.listenTo(e);f.change.state()}}},listenTo:function(e){f.debug("API request detected, waiting for state signal",e),e&&(o.loading&&f.update.text(o.loading),w.when(e).then(function(){"resolved"===e.state()?(f.debug("API request succeeded"),i.activateTest=function(){return!0},i.deactivateTest=function(){return!0}):(f.debug("API request failed"),i.activateTest=function(){return!1},i.deactivateTest=function(){return!1}),f.change.state()}))},change:{state:function(){f.debug("Determining state change direction"),f.is.inactive()?f.activate():f.deactivate(),i.sync&&f.sync(),i.onChange.call(u)},text:function(){f.is.textEnabled()&&(f.is.disabled()?(f.verbose("Changing text to disabled text",o.hover),f.update.text(o.disabled)):f.is.active()?o.hover?(f.verbose("Changing text to hover text",o.hover),f.update.text(o.hover)):o.deactivate&&(f.verbose("Changing text to deactivating text",o.deactivate),f.update.text(o.deactivate)):o.hover?(f.verbose("Changing text to hover text",o.hover),f.update.text(o.hover)):o.activate&&(f.verbose("Changing text to activating text",o.activate),f.update.text(o.activate)))}},activate:function(){i.activateTest.call(u)&&(f.debug("Setting state to active"),l.addClass(t.active),f.update.text(o.active),i.onActivate.call(u))},deactivate:function(){i.deactivateTest.call(u)&&(f.debug("Setting state to inactive"),l.removeClass(t.active),f.update.text(o.inactive),i.onDeactivate.call(u))},sync:function(){f.verbose("Syncing other buttons to current state"),f.is.active()?b.not(l).state("activate"):b.not(l).state("deactivate")},get:{text:function(){return i.selector.text?l.find(i.selector.text).text():l.html()},textFor:function(e){return o[e]||!1}},flash:{text:function(e,t,n){var a=f.get.text();f.debug("Flashing text message",e,t),e=e||i.text.flash,t=t||i.flashDuration,n=n||function(){},f.update.text(e),setTimeout(function(){f.update.text(a),n.call(u)},t)}},reset:{text:function(){var e=o.active||l.data(n.storedText),t=o.inactive||l.data(n.storedText);f.is.textEnabled()&&(f.is.active()&&e?(f.verbose("Resetting active text",e),f.update.text(e)):t&&(f.verbose("Resetting inactive text",e),f.update.text(t)))}},update:{text:function(e){var t=f.get.text();e&&e!==t?(f.debug("Updating text",e),i.selector.text?l.data(n.storedText,e).find(i.selector.text).text(e):l.data(n.storedText,e).html(e)):f.debug("Text is already set, ignoring update",e)}},setting:function(e,t){if(f.debug("Changing setting",e,t),w.isPlainObject(e))w.extend(!0,i,e);else{if(t===P)return i[e];w.isPlainObject(i[e])?w.extend(!0,i[e],t):i[e]=t}},internal:function(e,t){if(w.isPlainObject(e))w.extend(!0,f,e);else{if(t===P)return f[e];f[e]=t}},debug:function(){!i.silent&&i.debug&&(i.performance?f.performance.log(arguments):(f.debug=Function.prototype.bind.call(console.info,console,i.name+":"),f.debug.apply(console,arguments)))},verbose:function(){!i.silent&&i.verbose&&i.debug&&(i.performance?f.performance.log(arguments):(f.verbose=Function.prototype.bind.call(console.info,console,i.name+":"),f.verbose.apply(console,arguments)))},error:function(){i.silent||(f.error=Function.prototype.bind.call(console.error,console,i.name+":"),f.error.apply(console,arguments))},performance:{log:function(e){var t,n;i.performance&&(n=(t=Date.now())-(p||t),p=t,h.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:u,"Execution Time":n})),clearTimeout(f.performance.timer),f.performance.timer=setTimeout(f.performance.display,500)},display:function(){var e=i.name+":",n=0;p=!1,clearTimeout(f.performance.timer),w.each(h,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",x&&(e+=" '"+x+"'"),(console.group!==P||console.table!==P)&&0<h.length&&(console.groupCollapsed(e),console.table?console.table(h):w.each(h,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),h=[]}},invoke:function(a,e,t){var i,o,n,s,c=d;return e=e||y,t=t||u,"string"==typeof a&&c!==P&&(a=a.split(/[ .]/),i=a.length-1,w.each(a,function(e,t){var n=e!==i?t+a[e+1].charAt(0).toUpperCase()+a[e+1].slice(1):a;if(w.isPlainObject(c[n])&&e!==i)c=c[n];else{if(c[n]!==P)return o=c[n],!1;{if(!w.isPlainObject(c[t])||e===i)return c[t]!==P?o=c[t]:f.error(r.method,a),!1;c=c[t]}}})),"function"==typeof(s=o)&&"number"!=typeof s.nodeType?n=o.apply(t,e):o!==P&&(n=o),Array.isArray(g)?g.push(n):g!==P?g=[g,n]:n!==P&&(g=n),o}};T?(d===P&&f.initialize(),f.invoke(m)):(d!==P&&d.invoke("destroy"),f.initialize())}),g!==P?g:this},w.fn.state.settings={name:"State",debug:!1,verbose:!1,namespace:"state",performance:!0,onActivate:function(){},onDeactivate:function(){},onChange:function(){},activateTest:function(){return!0},deactivateTest:function(){return!0},automatic:!0,sync:!1,flashDuration:1e3,filter:{text:".loading, .disabled",active:".disabled"},context:!1,error:{beforeSend:"The before send function has cancelled state change",method:"The method you called is not defined."},metadata:{promise:"promise",storedText:"stored-text"},className:{active:"active",disabled:"disabled",error:"error",loading:"loading",success:"success",warning:"warning"},selector:{text:!1},defaults:{input:{disabled:!0,loading:!0,active:!0},button:{disabled:!0,loading:!0,active:!0},progress:{active:!0,success:!0,warning:!0,error:!0}},states:{active:!0,disabled:!0,error:!0,loading:!0,success:!0,warning:!0},text:{disabled:!1,flash:!1,hover:!1,active:!1,inactive:!1,activate:!1,deactivate:!1}}}(jQuery,window,document);
|
package/dist/components/step.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.1-beta.
|
2
|
+
* # Fomantic-UI 2.9.1-beta.25+bbe4e58 - Sticky
|
3
3
|
* https://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -15,7 +15,7 @@
|
|
15
15
|
return typeof obj === 'function' && typeof obj.nodeType !== 'number';
|
16
16
|
}
|
17
17
|
|
18
|
-
window =
|
18
|
+
window = window !== undefined && window.Math === Math
|
19
19
|
? window
|
20
20
|
: globalThis;
|
21
21
|
|
@@ -29,14 +29,14 @@
|
|
29
29
|
performance = [],
|
30
30
|
|
31
31
|
query = arguments[0],
|
32
|
-
methodInvoked =
|
32
|
+
methodInvoked = typeof query === 'string',
|
33
33
|
queryArguments = [].slice.call(arguments, 1),
|
34
34
|
returnedValue
|
35
35
|
;
|
36
36
|
|
37
37
|
$allModules.each(function () {
|
38
38
|
var
|
39
|
-
settings =
|
39
|
+
settings = $.isPlainObject(parameters)
|
40
40
|
? $.extend(true, {}, $.fn.sticky.settings, parameters)
|
41
41
|
: $.extend({}, $.fn.sticky.settings),
|
42
42
|
|
@@ -190,7 +190,7 @@
|
|
190
190
|
[].forEach.call(mutations, function (mutation) {
|
191
191
|
if (mutation.removedNodes) {
|
192
192
|
[].forEach.call(mutation.removedNodes, function (node) {
|
193
|
-
if (node
|
193
|
+
if (node === element || $(node).find(element).length > 0) {
|
194
194
|
module.debug('Element removed from DOM, tearing down events');
|
195
195
|
module.destroy();
|
196
196
|
}
|
@@ -237,7 +237,7 @@
|
|
237
237
|
;
|
238
238
|
$element.addClass(className.supported);
|
239
239
|
|
240
|
-
return
|
240
|
+
return $element.css('position').match('sticky');
|
241
241
|
},
|
242
242
|
},
|
243
243
|
|
@@ -279,8 +279,8 @@
|
|
279
279
|
context.offset.left += scrollContext.left;
|
280
280
|
}
|
281
281
|
module.cache = {
|
282
|
-
fits: (
|
283
|
-
sameHeight:
|
282
|
+
fits: (element.height + settings.offset) <= scrollContext.height,
|
283
|
+
sameHeight: element.height === context.height,
|
284
284
|
scrollContext: {
|
285
285
|
height: scrollContext.height,
|
286
286
|
},
|
@@ -320,8 +320,8 @@
|
|
320
320
|
scrollChange: function (scroll) {
|
321
321
|
scroll = scroll || $scroll.scrollTop();
|
322
322
|
|
323
|
-
return
|
324
|
-
?
|
323
|
+
return module.lastScroll
|
324
|
+
? scroll - module.lastScroll
|
325
325
|
: 0;
|
326
326
|
},
|
327
327
|
currentElementScroll: function () {
|
@@ -329,7 +329,7 @@
|
|
329
329
|
return module.elementScroll;
|
330
330
|
}
|
331
331
|
|
332
|
-
return
|
332
|
+
return module.is.top()
|
333
333
|
? Math.abs(parseInt($module.css('top'), 10)) || 0
|
334
334
|
: Math.abs(parseInt($module.css('bottom'), 10)) || 0;
|
335
335
|
},
|
@@ -340,9 +340,9 @@
|
|
340
340
|
element = module.cache.element,
|
341
341
|
scrollContext = module.cache.scrollContext,
|
342
342
|
delta = module.get.scrollChange(scroll),
|
343
|
-
maxScroll =
|
343
|
+
maxScroll = element.height - scrollContext.height + settings.offset,
|
344
344
|
elementScroll = module.get.currentElementScroll(),
|
345
|
-
possibleScroll =
|
345
|
+
possibleScroll = elementScroll + delta
|
346
346
|
;
|
347
347
|
if (module.cache.fits || possibleScroll < 0) {
|
348
348
|
elementScroll = 0;
|
@@ -418,13 +418,13 @@
|
|
418
418
|
},
|
419
419
|
scroll: function (scroll) {
|
420
420
|
module.debug('Setting scroll on element', scroll);
|
421
|
-
if (module.elementScroll
|
421
|
+
if (module.elementScroll === scroll) {
|
422
422
|
return;
|
423
423
|
}
|
424
424
|
if (module.is.top()) {
|
425
425
|
$module
|
426
426
|
.css('bottom', '')
|
427
|
-
.css('top',
|
427
|
+
.css('top', -scroll + 'px')
|
428
428
|
;
|
429
429
|
}
|
430
430
|
if (module.is.bottom()) {
|
@@ -444,7 +444,7 @@
|
|
444
444
|
|
445
445
|
is: {
|
446
446
|
standardScroll: function () {
|
447
|
-
return
|
447
|
+
return $scroll[0] === window;
|
448
448
|
},
|
449
449
|
top: function () {
|
450
450
|
return $module.hasClass(className.top);
|
@@ -453,10 +453,10 @@
|
|
453
453
|
return $module.hasClass(className.bottom);
|
454
454
|
},
|
455
455
|
initialPosition: function () {
|
456
|
-
return
|
456
|
+
return !module.is.fixed() && !module.is.bound();
|
457
457
|
},
|
458
458
|
hidden: function () {
|
459
|
-
return
|
459
|
+
return !$module.is(':visible');
|
460
460
|
},
|
461
461
|
bound: function () {
|
462
462
|
return $module.hasClass(className.bound);
|
@@ -475,20 +475,20 @@
|
|
475
475
|
element = cache.element,
|
476
476
|
scrollContext = cache.scrollContext,
|
477
477
|
context = cache.context,
|
478
|
-
offset =
|
478
|
+
offset = module.is.bottom() && settings.pushing
|
479
479
|
? settings.bottomOffset
|
480
480
|
: settings.offset,
|
481
481
|
scroll = {
|
482
482
|
top: cachedPosition + offset,
|
483
483
|
bottom: cachedPosition + offset + scrollContext.height,
|
484
484
|
},
|
485
|
-
elementScroll =
|
485
|
+
elementScroll = fits
|
486
486
|
? 0
|
487
487
|
: module.get.elementScroll(scroll.top),
|
488
488
|
|
489
489
|
// shorthand
|
490
490
|
doesntFit = !fits,
|
491
|
-
elementVisible =
|
491
|
+
elementVisible = element.height !== 0
|
492
492
|
;
|
493
493
|
if (elementVisible && !sameHeight) {
|
494
494
|
if (module.is.initialPosition()) {
|
@@ -795,17 +795,17 @@
|
|
795
795
|
query = query.split(/[ .]/);
|
796
796
|
maxDepth = query.length - 1;
|
797
797
|
$.each(query, function (depth, value) {
|
798
|
-
var camelCaseValue =
|
798
|
+
var camelCaseValue = depth !== maxDepth
|
799
799
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
800
800
|
: query
|
801
801
|
;
|
802
|
-
if ($.isPlainObject(object[camelCaseValue]) && (depth
|
802
|
+
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
803
803
|
object = object[camelCaseValue];
|
804
804
|
} else if (object[camelCaseValue] !== undefined) {
|
805
805
|
found = object[camelCaseValue];
|
806
806
|
|
807
807
|
return false;
|
808
|
-
} else if ($.isPlainObject(object[value]) && (depth
|
808
|
+
} else if ($.isPlainObject(object[value]) && (depth !== maxDepth)) {
|
809
809
|
object = object[value];
|
810
810
|
} else if (object[value] !== undefined) {
|
811
811
|
found = object[value];
|
@@ -846,7 +846,7 @@
|
|
846
846
|
}
|
847
847
|
});
|
848
848
|
|
849
|
-
return
|
849
|
+
return returnedValue !== undefined
|
850
850
|
? returnedValue
|
851
851
|
: this;
|
852
852
|
};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* # Fomantic UI - 2.9.1-beta.
|
2
|
+
* # Fomantic UI - 2.9.1-beta.25+bbe4e58
|
3
3
|
* https://github.com/fomantic/Fomantic-UI
|
4
4
|
* https://fomantic-ui.com/
|
5
5
|
*
|
@@ -8,4 +8,4 @@
|
|
8
8
|
* https://opensource.org/licenses/MIT
|
9
9
|
*
|
10
10
|
*/
|
11
|
-
!function(w,B,O,P){"use strict";B=B!==P&&B.Math===Math?B:globalThis,w.fn.sticky=function(b){var v,e=w(this),x=w(O),C=e.selector||"",S=Date.now(),y=[],k=b,z="string"==typeof k,T=[].slice.call(arguments,1);return e.each(function(){var t,n,e,o,c=w.isPlainObject(b)?w.extend(!0,{},w.fn.sticky.settings,b):w.extend({},w.fn.sticky.settings),i=c.className,s=c.namespace,r=c.error,l="."+s,a="module-"+s,f=w(this),m=w(B),u=[B,O].indexOf(c.scrollContext)<0?x.find(c.scrollContext):w(c.scrollContext),d=f.data(a),h=B.requestAnimationFrame||B.mozRequestAnimationFrame||B.webkitRequestAnimationFrame||B.msRequestAnimationFrame||function(e){setTimeout(e,0)},g=this,p={initialize:function(){p.determineContainer(),p.determineContext(),p.verbose("Initializing sticky",c,t),p.save.positions(),p.checkErrors(),p.bind.events(),c.observeChanges&&p.observeChanges(),p.instantiate()},instantiate:function(){p.verbose("Storing instance of module",p),d=p,f.data(a,p)},destroy:function(){p.verbose("Destroying previous instance"),p.reset(),e&&e.disconnect(),o&&o.disconnect(),m.off("load"+l,p.event.load).off("resize"+l,p.event.resize),u.off("scrollchange"+l,p.event.scrollchange),f.removeData(a)},observeChanges:function(){"MutationObserver"in B&&(e=new MutationObserver(p.event.documentChanged),o=new MutationObserver(p.event.changed),e.observe(O,{childList:!0,subtree:!0}),o.observe(g,{childList:!0,subtree:!0}),o.observe(n[0],{childList:!0,subtree:!0}),p.debug("Setting up mutation observer",o))},determineContainer:function(){t=c.container?[B,O].indexOf(c.container)<0?x.find(c.container):w(c.container):f.offsetParent()},determineContext:function(){0===(n=c.context?[B,O].indexOf(c.context)<0?x.find(c.context):w(c.context):t).length&&p.error(r.invalidContext,c.context,f)},checkErrors:function(){p.is.hidden()&&p.error(r.visible,f),p.cache.element.height>p.cache.context.height&&(p.reset(),p.error(r.elementSize,f))},bind:{events:function(){m.on("load"+l,p.event.load).on("resize"+l,p.event.resize),u.off("scroll"+l).on("scroll"+l,p.event.scroll).on("scrollchange"+l,p.event.scrollchange)}},event:{changed:function(e){clearTimeout(p.timer),p.timer=setTimeout(function(){p.verbose("DOM tree modified, updating sticky menu",e),p.refresh()},100)},documentChanged:function(e){[].forEach.call(e,function(e){e.removedNodes&&[].forEach.call(e.removedNodes,function(e){(e==g||0<w(e).find(g).length)&&(p.debug("Element removed from DOM, tearing down events"),p.destroy())})})},load:function(){p.verbose("Page contents finished loading"),h(p.refresh)},resize:function(){p.verbose("Window resized"),h(p.refresh)},scroll:function(){h(function(){u.triggerHandler("scrollchange"+l,u.scrollTop())})},scrollchange:function(e,t){p.stick(t),c.onScroll.call(g)}},refresh:function(e){p.reset(),c.context||p.determineContext(),e&&p.determineContainer(),p.save.positions(),p.stick(),c.onReposition.call(g)},supports:{sticky:function(){var e=w("<div/>");return e.addClass(i.supported),e.css("position").match("sticky")}},save:{lastScroll:function(e){p.lastScroll=e},elementScroll:function(e){p.elementScroll=e},positions:function(){var e={height:u.height()},t={margin:{top:parseInt(f.css("margin-top"),10),bottom:parseInt(f.css("margin-bottom"),10)},offset:f.offset(),width:f.outerWidth(),height:f.outerHeight()},o={offset:n.offset(),height:n.outerHeight()};p.is.standardScroll()||(p.debug("Non-standard scroll. Removing scroll offset from element offset"),e.top=u.scrollTop(),e.left=u.scrollLeft(),t.offset.top+=e.top,o.offset.top+=e.top,t.offset.left+=e.left,o.offset.left+=e.left),p.cache={fits:t.height+c.offset<=e.height,sameHeight:t.height==o.height,scrollContext:{height:e.height},element:{margin:t.margin,top:t.offset.top-t.margin.top,left:t.offset.left,width:t.width,height:t.height,bottom:t.offset.top+t.height},context:{top:o.offset.top,height:o.height,bottom:o.offset.top+o.height}},p.set.containerSize(),p.stick(),p.debug("Caching element positions",p.cache)}},get:{direction:function(e){var t="down";return e=e||u.scrollTop(),t=p.lastScroll&&p.lastScroll>e?"up":t},scrollChange:function(e){return e=e||u.scrollTop(),p.lastScroll?e-p.lastScroll:0},currentElementScroll:function(){return p.elementScroll||(p.is.top()?Math.abs(parseInt(f.css("top"),10))||0:Math.abs(parseInt(f.css("bottom"),10))||0)},elementScroll:function(e){e=e||u.scrollTop();var t=p.cache.element,o=p.cache.scrollContext,e=p.get.scrollChange(e),t=t.height-o.height+c.offset,o=p.get.currentElementScroll(),e=o+e;return o=p.cache.fits||e<0?0:t<e?t:e}},remove:{lastScroll:function(){delete p.lastScroll},elementScroll:function(){delete p.elementScroll},minimumSize:function(){t.css("min-height","")},offset:function(){f.css("margin-top","")}},set:{offset:function(){p.verbose("Setting offset on element",c.offset),f.css("margin-top",c.offset)},containerSize:function(){var e=t[0].tagName;"HTML"===e||"body"===e?p.determineContainer():((e=Math.max(p.cache.context.height,p.cache.element.height))-t.outerHeight()>c.jitter?(p.debug("Context is taller than container. Specifying exact height for container",p.cache.context.height),t.css({height:e})):t.css({height:""}),Math.abs(t.outerHeight()-p.cache.context.height)>c.jitter&&(p.debug("Context has padding, specifying exact height for container",p.cache.context.height),t.css({height:p.cache.context.height})))},minimumSize:function(){var e=p.cache.element;t.css("min-height",e.height)},scroll:function(e){p.debug("Setting scroll on element",e),p.elementScroll!=e&&(p.is.top()&&f.css("bottom","").css("top",-e+"px"),p.is.bottom()&&f.css("top","").css("bottom",e+"px"))},size:function(){0!==p.cache.element.height&&0!==p.cache.element.width&&(g.style.setProperty("width",p.cache.element.width+"px","important"),g.style.setProperty("height",p.cache.element.height+"px","important"))}},is:{standardScroll:function(){return u[0]==B},top:function(){return f.hasClass(i.top)},bottom:function(){return f.hasClass(i.bottom)},initialPosition:function(){return!p.is.fixed()&&!p.is.bound()},hidden:function(){return!f.is(":visible")},bound:function(){return f.hasClass(i.bound)},fixed:function(){return f.hasClass(i.fixed)}},stick:function(e){var e=e||u.scrollTop(),t=p.cache,o=t.fits,n=t.sameHeight,i=t.element,s=t.scrollContext,t=t.context,r=p.is.bottom()&&c.pushing?c.bottomOffset:c.offset,e={top:e+r,bottom:e+r+s.height},r=o?0:p.get.elementScroll(e.top),s=!o;0===i.height||n||(p.is.initialPosition()?e.top>=t.bottom?(p.debug("Initial element position is bottom of container"),p.bindBottom()):e.top>i.top&&(i.height+e.top-r>=t.bottom&&i.height<t.height?(p.debug("Initial element position is bottom of container"),p.bindBottom()):(p.debug("Initial element position is fixed"),p.fixTop())):p.is.fixed()?p.is.top()?e.top<=i.top?(p.debug("Fixed element reached top of container"),p.setInitialPosition()):i.height+e.top-r>=t.bottom?(p.debug("Fixed element reached bottom of container"),p.bindBottom()):s&&(p.set.scroll(r),p.save.lastScroll(e.top),p.save.elementScroll(r)):p.is.bottom()&&(e.bottom-i.height<=i.top?(p.debug("Bottom fixed rail has reached top of container"),p.setInitialPosition()):e.bottom>=t.bottom?(p.debug("Bottom fixed rail has reached bottom of container"),p.bindBottom()):s&&(p.set.scroll(r),p.save.lastScroll(e.top),p.save.elementScroll(r))):p.is.bottom()&&(e.top<=i.top?(p.debug("Jumped from bottom fixed to top fixed, most likely used home/end button"),p.setInitialPosition()):c.pushing?p.is.bound()&&e.bottom<=t.bottom&&(p.debug("Fixing bottom attached element to bottom of browser."),p.fixBottom()):p.is.bound()&&e.top<=t.bottom-i.height&&(p.debug("Fixing bottom attached element to top of browser."),p.fixTop())))},bindTop:function(){p.debug("Binding element to top of parent container"),p.remove.offset(),c.setSize&&p.set.size(),f.css({left:"",top:"",marginBottom:""}).removeClass(i.fixed).removeClass(i.bottom).addClass(i.bound).addClass(i.top),c.onTop.call(g),c.onUnstick.call(g)},bindBottom:function(){p.debug("Binding element to bottom of parent container"),p.remove.offset(),c.setSize&&p.set.size(),f.css({left:"",top:""}).removeClass(i.fixed).removeClass(i.top).addClass(i.bound).addClass(i.bottom),c.onBottom.call(g),c.onUnstick.call(g)},setInitialPosition:function(){p.debug("Returning to initial position"),p.unfix(),p.unbind()},fixTop:function(){p.debug("Fixing element to top of page"),c.setSize&&p.set.size(),p.set.minimumSize(),p.set.offset(),f.css({left:p.cache.element.left,bottom:"",marginBottom:""}).removeClass(i.bound).removeClass(i.bottom).addClass(i.fixed).addClass(i.top),c.onStick.call(g)},fixBottom:function(){p.debug("Sticking element to bottom of page"),c.setSize&&p.set.size(),p.set.minimumSize(),p.set.offset(),f.css({left:p.cache.element.left,bottom:"",marginBottom:""}).removeClass(i.bound).removeClass(i.top).addClass(i.fixed).addClass(i.bottom),c.onStick.call(g)},unbind:function(){p.is.bound()&&(p.debug("Removing container bound position on element"),p.remove.offset(),f.removeClass(i.bound).removeClass(i.top).removeClass(i.bottom))},unfix:function(){p.is.fixed()&&(p.debug("Removing fixed position on element"),p.remove.minimumSize(),p.remove.offset(),f.removeClass(i.fixed).removeClass(i.top).removeClass(i.bottom),c.onUnstick.call(g))},reset:function(){p.debug("Resetting elements position"),p.unbind(),p.unfix(),p.resetCSS(),p.remove.offset(),p.remove.lastScroll()},resetCSS:function(){f.css({width:"",height:""}),t.css({height:""})},setting:function(e,t){if(w.isPlainObject(e))w.extend(!0,c,e);else{if(t===P)return c[e];c[e]=t}},internal:function(e,t){if(w.isPlainObject(e))w.extend(!0,p,e);else{if(t===P)return p[e];p[e]=t}},debug:function(){!c.silent&&c.debug&&(c.performance?p.performance.log(arguments):(p.debug=Function.prototype.bind.call(console.info,console,c.name+":"),p.debug.apply(console,arguments)))},verbose:function(){!c.silent&&c.verbose&&c.debug&&(c.performance?p.performance.log(arguments):(p.verbose=Function.prototype.bind.call(console.info,console,c.name+":"),p.verbose.apply(console,arguments)))},error:function(){c.silent||(p.error=Function.prototype.bind.call(console.error,console,c.name+":"),p.error.apply(console,arguments))},performance:{log:function(e){var t,o;c.performance&&(o=(t=Date.now())-(S||t),S=t,y.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:g,"Execution Time":o})),clearTimeout(p.performance.timer),p.performance.timer=setTimeout(p.performance.display,0)},display:function(){var e=c.name+":",o=0;S=!1,clearTimeout(p.performance.timer),w.each(y,function(e,t){o+=t["Execution Time"]}),e+=" "+o+"ms",C&&(e+=" '"+C+"'"),(console.group!==P||console.table!==P)&&0<y.length&&(console.groupCollapsed(e),console.table?console.table(y):w.each(y,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),y=[]}},invoke:function(n,e,t){var i,s,o,r,c=d;return e=e||T,t=t||g,"string"==typeof n&&c!==P&&(n=n.split(/[ .]/),i=n.length-1,w.each(n,function(e,t){var o=e!=i?t+n[e+1].charAt(0).toUpperCase()+n[e+1].slice(1):n;if(w.isPlainObject(c[o])&&e!=i)c=c[o];else{if(c[o]!==P)return s=c[o],!1;{if(!w.isPlainObject(c[t])||e==i)return c[t]!==P&&(s=c[t]),!1;c=c[t]}}})),"function"==typeof(r=s)&&"number"!=typeof r.nodeType?o=s.apply(t,e):s!==P&&(o=s),Array.isArray(v)?v.push(o):v!==P?v=[v,o]:o!==P&&(v=o),s}};z?(d===P&&p.initialize(),p.invoke(k)):(d!==P&&d.invoke("destroy"),p.initialize())}),v!==P?v:this},w.fn.sticky.settings={name:"Sticky",namespace:"sticky",silent:!1,debug:!1,verbose:!0,performance:!0,pushing:!1,context:!1,container:!1,scrollContext:B,offset:0,bottomOffset:0,jitter:5,setSize:!0,observeChanges:!1,onReposition:function(){},onScroll:function(){},onStick:function(){},onUnstick:function(){},onTop:function(){},onBottom:function(){},error:{container:"Sticky element must be inside a relative container",visible:"Element is hidden, you must call refresh after element becomes visible. Use silent setting to suppress this warning in production.",method:"The method you called is not defined.",invalidContext:"Context specified does not exist",elementSize:"Sticky element is larger than its container, cannot create sticky."},className:{bound:"bound",fixed:"fixed",supported:"native",top:"top",bottom:"bottom"}}}(jQuery,window,document);
|
11
|
+
!function(w,B,O,P){"use strict";B=B!==P&&B.Math===Math?B:globalThis,w.fn.sticky=function(b){var v,e=w(this),x=w(O),C=e.selector||"",S=Date.now(),y=[],k=b,z="string"==typeof k,T=[].slice.call(arguments,1);return e.each(function(){var t,n,e,o,c=w.isPlainObject(b)?w.extend(!0,{},w.fn.sticky.settings,b):w.extend({},w.fn.sticky.settings),i=c.className,s=c.namespace,r=c.error,l="."+s,a="module-"+s,f=w(this),m=w(B),u=[B,O].indexOf(c.scrollContext)<0?x.find(c.scrollContext):w(c.scrollContext),d=f.data(a),h=B.requestAnimationFrame||B.mozRequestAnimationFrame||B.webkitRequestAnimationFrame||B.msRequestAnimationFrame||function(e){setTimeout(e,0)},g=this,p={initialize:function(){p.determineContainer(),p.determineContext(),p.verbose("Initializing sticky",c,t),p.save.positions(),p.checkErrors(),p.bind.events(),c.observeChanges&&p.observeChanges(),p.instantiate()},instantiate:function(){p.verbose("Storing instance of module",p),d=p,f.data(a,p)},destroy:function(){p.verbose("Destroying previous instance"),p.reset(),e&&e.disconnect(),o&&o.disconnect(),m.off("load"+l,p.event.load).off("resize"+l,p.event.resize),u.off("scrollchange"+l,p.event.scrollchange),f.removeData(a)},observeChanges:function(){"MutationObserver"in B&&(e=new MutationObserver(p.event.documentChanged),o=new MutationObserver(p.event.changed),e.observe(O,{childList:!0,subtree:!0}),o.observe(g,{childList:!0,subtree:!0}),o.observe(n[0],{childList:!0,subtree:!0}),p.debug("Setting up mutation observer",o))},determineContainer:function(){t=c.container?[B,O].indexOf(c.container)<0?x.find(c.container):w(c.container):f.offsetParent()},determineContext:function(){0===(n=c.context?[B,O].indexOf(c.context)<0?x.find(c.context):w(c.context):t).length&&p.error(r.invalidContext,c.context,f)},checkErrors:function(){p.is.hidden()&&p.error(r.visible,f),p.cache.element.height>p.cache.context.height&&(p.reset(),p.error(r.elementSize,f))},bind:{events:function(){m.on("load"+l,p.event.load).on("resize"+l,p.event.resize),u.off("scroll"+l).on("scroll"+l,p.event.scroll).on("scrollchange"+l,p.event.scrollchange)}},event:{changed:function(e){clearTimeout(p.timer),p.timer=setTimeout(function(){p.verbose("DOM tree modified, updating sticky menu",e),p.refresh()},100)},documentChanged:function(e){[].forEach.call(e,function(e){e.removedNodes&&[].forEach.call(e.removedNodes,function(e){(e===g||0<w(e).find(g).length)&&(p.debug("Element removed from DOM, tearing down events"),p.destroy())})})},load:function(){p.verbose("Page contents finished loading"),h(p.refresh)},resize:function(){p.verbose("Window resized"),h(p.refresh)},scroll:function(){h(function(){u.triggerHandler("scrollchange"+l,u.scrollTop())})},scrollchange:function(e,t){p.stick(t),c.onScroll.call(g)}},refresh:function(e){p.reset(),c.context||p.determineContext(),e&&p.determineContainer(),p.save.positions(),p.stick(),c.onReposition.call(g)},supports:{sticky:function(){var e=w("<div/>");return e.addClass(i.supported),e.css("position").match("sticky")}},save:{lastScroll:function(e){p.lastScroll=e},elementScroll:function(e){p.elementScroll=e},positions:function(){var e={height:u.height()},t={margin:{top:parseInt(f.css("margin-top"),10),bottom:parseInt(f.css("margin-bottom"),10)},offset:f.offset(),width:f.outerWidth(),height:f.outerHeight()},o={offset:n.offset(),height:n.outerHeight()};p.is.standardScroll()||(p.debug("Non-standard scroll. Removing scroll offset from element offset"),e.top=u.scrollTop(),e.left=u.scrollLeft(),t.offset.top+=e.top,o.offset.top+=e.top,t.offset.left+=e.left,o.offset.left+=e.left),p.cache={fits:t.height+c.offset<=e.height,sameHeight:t.height===o.height,scrollContext:{height:e.height},element:{margin:t.margin,top:t.offset.top-t.margin.top,left:t.offset.left,width:t.width,height:t.height,bottom:t.offset.top+t.height},context:{top:o.offset.top,height:o.height,bottom:o.offset.top+o.height}},p.set.containerSize(),p.stick(),p.debug("Caching element positions",p.cache)}},get:{direction:function(e){var t="down";return e=e||u.scrollTop(),t=p.lastScroll&&p.lastScroll>e?"up":t},scrollChange:function(e){return e=e||u.scrollTop(),p.lastScroll?e-p.lastScroll:0},currentElementScroll:function(){return p.elementScroll||(p.is.top()?Math.abs(parseInt(f.css("top"),10))||0:Math.abs(parseInt(f.css("bottom"),10))||0)},elementScroll:function(e){e=e||u.scrollTop();var t=p.cache.element,o=p.cache.scrollContext,e=p.get.scrollChange(e),t=t.height-o.height+c.offset,o=p.get.currentElementScroll(),e=o+e;return o=p.cache.fits||e<0?0:t<e?t:e}},remove:{lastScroll:function(){delete p.lastScroll},elementScroll:function(){delete p.elementScroll},minimumSize:function(){t.css("min-height","")},offset:function(){f.css("margin-top","")}},set:{offset:function(){p.verbose("Setting offset on element",c.offset),f.css("margin-top",c.offset)},containerSize:function(){var e=t[0].tagName;"HTML"===e||"body"===e?p.determineContainer():((e=Math.max(p.cache.context.height,p.cache.element.height))-t.outerHeight()>c.jitter?(p.debug("Context is taller than container. Specifying exact height for container",p.cache.context.height),t.css({height:e})):t.css({height:""}),Math.abs(t.outerHeight()-p.cache.context.height)>c.jitter&&(p.debug("Context has padding, specifying exact height for container",p.cache.context.height),t.css({height:p.cache.context.height})))},minimumSize:function(){var e=p.cache.element;t.css("min-height",e.height)},scroll:function(e){p.debug("Setting scroll on element",e),p.elementScroll!==e&&(p.is.top()&&f.css("bottom","").css("top",-e+"px"),p.is.bottom()&&f.css("top","").css("bottom",e+"px"))},size:function(){0!==p.cache.element.height&&0!==p.cache.element.width&&(g.style.setProperty("width",p.cache.element.width+"px","important"),g.style.setProperty("height",p.cache.element.height+"px","important"))}},is:{standardScroll:function(){return u[0]===B},top:function(){return f.hasClass(i.top)},bottom:function(){return f.hasClass(i.bottom)},initialPosition:function(){return!p.is.fixed()&&!p.is.bound()},hidden:function(){return!f.is(":visible")},bound:function(){return f.hasClass(i.bound)},fixed:function(){return f.hasClass(i.fixed)}},stick:function(e){var e=e||u.scrollTop(),t=p.cache,o=t.fits,n=t.sameHeight,i=t.element,s=t.scrollContext,t=t.context,r=p.is.bottom()&&c.pushing?c.bottomOffset:c.offset,e={top:e+r,bottom:e+r+s.height},r=o?0:p.get.elementScroll(e.top),s=!o;0===i.height||n||(p.is.initialPosition()?e.top>=t.bottom?(p.debug("Initial element position is bottom of container"),p.bindBottom()):e.top>i.top&&(i.height+e.top-r>=t.bottom&&i.height<t.height?(p.debug("Initial element position is bottom of container"),p.bindBottom()):(p.debug("Initial element position is fixed"),p.fixTop())):p.is.fixed()?p.is.top()?e.top<=i.top?(p.debug("Fixed element reached top of container"),p.setInitialPosition()):i.height+e.top-r>=t.bottom?(p.debug("Fixed element reached bottom of container"),p.bindBottom()):s&&(p.set.scroll(r),p.save.lastScroll(e.top),p.save.elementScroll(r)):p.is.bottom()&&(e.bottom-i.height<=i.top?(p.debug("Bottom fixed rail has reached top of container"),p.setInitialPosition()):e.bottom>=t.bottom?(p.debug("Bottom fixed rail has reached bottom of container"),p.bindBottom()):s&&(p.set.scroll(r),p.save.lastScroll(e.top),p.save.elementScroll(r))):p.is.bottom()&&(e.top<=i.top?(p.debug("Jumped from bottom fixed to top fixed, most likely used home/end button"),p.setInitialPosition()):c.pushing?p.is.bound()&&e.bottom<=t.bottom&&(p.debug("Fixing bottom attached element to bottom of browser."),p.fixBottom()):p.is.bound()&&e.top<=t.bottom-i.height&&(p.debug("Fixing bottom attached element to top of browser."),p.fixTop())))},bindTop:function(){p.debug("Binding element to top of parent container"),p.remove.offset(),c.setSize&&p.set.size(),f.css({left:"",top:"",marginBottom:""}).removeClass(i.fixed).removeClass(i.bottom).addClass(i.bound).addClass(i.top),c.onTop.call(g),c.onUnstick.call(g)},bindBottom:function(){p.debug("Binding element to bottom of parent container"),p.remove.offset(),c.setSize&&p.set.size(),f.css({left:"",top:""}).removeClass(i.fixed).removeClass(i.top).addClass(i.bound).addClass(i.bottom),c.onBottom.call(g),c.onUnstick.call(g)},setInitialPosition:function(){p.debug("Returning to initial position"),p.unfix(),p.unbind()},fixTop:function(){p.debug("Fixing element to top of page"),c.setSize&&p.set.size(),p.set.minimumSize(),p.set.offset(),f.css({left:p.cache.element.left,bottom:"",marginBottom:""}).removeClass(i.bound).removeClass(i.bottom).addClass(i.fixed).addClass(i.top),c.onStick.call(g)},fixBottom:function(){p.debug("Sticking element to bottom of page"),c.setSize&&p.set.size(),p.set.minimumSize(),p.set.offset(),f.css({left:p.cache.element.left,bottom:"",marginBottom:""}).removeClass(i.bound).removeClass(i.top).addClass(i.fixed).addClass(i.bottom),c.onStick.call(g)},unbind:function(){p.is.bound()&&(p.debug("Removing container bound position on element"),p.remove.offset(),f.removeClass(i.bound).removeClass(i.top).removeClass(i.bottom))},unfix:function(){p.is.fixed()&&(p.debug("Removing fixed position on element"),p.remove.minimumSize(),p.remove.offset(),f.removeClass(i.fixed).removeClass(i.top).removeClass(i.bottom),c.onUnstick.call(g))},reset:function(){p.debug("Resetting elements position"),p.unbind(),p.unfix(),p.resetCSS(),p.remove.offset(),p.remove.lastScroll()},resetCSS:function(){f.css({width:"",height:""}),t.css({height:""})},setting:function(e,t){if(w.isPlainObject(e))w.extend(!0,c,e);else{if(t===P)return c[e];c[e]=t}},internal:function(e,t){if(w.isPlainObject(e))w.extend(!0,p,e);else{if(t===P)return p[e];p[e]=t}},debug:function(){!c.silent&&c.debug&&(c.performance?p.performance.log(arguments):(p.debug=Function.prototype.bind.call(console.info,console,c.name+":"),p.debug.apply(console,arguments)))},verbose:function(){!c.silent&&c.verbose&&c.debug&&(c.performance?p.performance.log(arguments):(p.verbose=Function.prototype.bind.call(console.info,console,c.name+":"),p.verbose.apply(console,arguments)))},error:function(){c.silent||(p.error=Function.prototype.bind.call(console.error,console,c.name+":"),p.error.apply(console,arguments))},performance:{log:function(e){var t,o;c.performance&&(o=(t=Date.now())-(S||t),S=t,y.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:g,"Execution Time":o})),clearTimeout(p.performance.timer),p.performance.timer=setTimeout(p.performance.display,0)},display:function(){var e=c.name+":",o=0;S=!1,clearTimeout(p.performance.timer),w.each(y,function(e,t){o+=t["Execution Time"]}),e+=" "+o+"ms",C&&(e+=" '"+C+"'"),(console.group!==P||console.table!==P)&&0<y.length&&(console.groupCollapsed(e),console.table?console.table(y):w.each(y,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),y=[]}},invoke:function(n,e,t){var i,s,o,r,c=d;return e=e||T,t=t||g,"string"==typeof n&&c!==P&&(n=n.split(/[ .]/),i=n.length-1,w.each(n,function(e,t){var o=e!==i?t+n[e+1].charAt(0).toUpperCase()+n[e+1].slice(1):n;if(w.isPlainObject(c[o])&&e!==i)c=c[o];else{if(c[o]!==P)return s=c[o],!1;{if(!w.isPlainObject(c[t])||e===i)return c[t]!==P&&(s=c[t]),!1;c=c[t]}}})),"function"==typeof(r=s)&&"number"!=typeof r.nodeType?o=s.apply(t,e):s!==P&&(o=s),Array.isArray(v)?v.push(o):v!==P?v=[v,o]:o!==P&&(v=o),s}};z?(d===P&&p.initialize(),p.invoke(k)):(d!==P&&d.invoke("destroy"),p.initialize())}),v!==P?v:this},w.fn.sticky.settings={name:"Sticky",namespace:"sticky",silent:!1,debug:!1,verbose:!0,performance:!0,pushing:!1,context:!1,container:!1,scrollContext:B,offset:0,bottomOffset:0,jitter:5,setSize:!0,observeChanges:!1,onReposition:function(){},onScroll:function(){},onStick:function(){},onUnstick:function(){},onTop:function(){},onBottom:function(){},error:{container:"Sticky element must be inside a relative container",visible:"Element is hidden, you must call refresh after element becomes visible. Use silent setting to suppress this warning in production.",method:"The method you called is not defined.",invalidContext:"Context specified does not exist",elementSize:"Sticky element is larger than its container, cannot create sticky."},className:{bound:"bound",fixed:"fixed",supported:"native",top:"top",bottom:"bottom"}}}(jQuery,window,document);
|
package/dist/components/tab.css
CHANGED
package/dist/components/tab.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.1-beta.
|
2
|
+
* # Fomantic-UI 2.9.1-beta.25+bbe4e58 - Tab
|
3
3
|
* https://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -12,14 +12,14 @@
|
|
12
12
|
'use strict';
|
13
13
|
|
14
14
|
function isWindow(obj) {
|
15
|
-
return obj
|
15
|
+
return obj !== null && obj === obj.window;
|
16
16
|
}
|
17
17
|
|
18
18
|
function isFunction(obj) {
|
19
19
|
return typeof obj === 'function' && typeof obj.nodeType !== 'number';
|
20
20
|
}
|
21
21
|
|
22
|
-
window =
|
22
|
+
window = window !== undefined && window.Math === Math
|
23
23
|
? window
|
24
24
|
: globalThis;
|
25
25
|
|
@@ -35,7 +35,7 @@
|
|
35
35
|
performance = [],
|
36
36
|
|
37
37
|
query = arguments[0],
|
38
|
-
methodInvoked =
|
38
|
+
methodInvoked = typeof query === 'string',
|
39
39
|
queryArguments = [].slice.call(arguments, 1),
|
40
40
|
|
41
41
|
initializedHistory = false,
|
@@ -44,7 +44,7 @@
|
|
44
44
|
|
45
45
|
$allModules.each(function () {
|
46
46
|
var
|
47
|
-
settings =
|
47
|
+
settings = $.isPlainObject(parameters)
|
48
48
|
? $.extend(true, {}, $.fn.tab.settings, parameters)
|
49
49
|
: $.extend({}, $.fn.tab.settings),
|
50
50
|
|
@@ -94,12 +94,12 @@
|
|
94
94
|
}
|
95
95
|
|
96
96
|
var activeTab = module.determine.activeTab();
|
97
|
-
if (settings.autoTabActivation && instance === undefined && activeTab
|
97
|
+
if (settings.autoTabActivation && instance === undefined && activeTab === null) {
|
98
98
|
activeTab = settings.autoTabActivation === true ? module.get.initialPath() : settings.autoTabActivation;
|
99
99
|
module.debug('No active tab detected, setting tab active', activeTab);
|
100
100
|
module.changeTab(activeTab);
|
101
101
|
}
|
102
|
-
if (activeTab
|
102
|
+
if (activeTab !== null && settings.history) {
|
103
103
|
var autoUpdate = $.address.autoUpdate();
|
104
104
|
$.address.autoUpdate(false);
|
105
105
|
$.address.value(activeTab);
|
@@ -193,7 +193,7 @@
|
|
193
193
|
|
194
194
|
return false;
|
195
195
|
}
|
196
|
-
if (settings.historyType
|
196
|
+
if (settings.historyType === 'state') {
|
197
197
|
module.debug('Using HTML5 to manage state');
|
198
198
|
if (settings.path !== false) {
|
199
199
|
$.address
|
@@ -259,7 +259,7 @@
|
|
259
259
|
cache: {
|
260
260
|
|
261
261
|
read: function (cacheKey) {
|
262
|
-
return
|
262
|
+
return cacheKey !== undefined
|
263
263
|
? cache[cacheKey]
|
264
264
|
: false;
|
265
265
|
},
|
@@ -286,7 +286,7 @@
|
|
286
286
|
set: {
|
287
287
|
auto: function () {
|
288
288
|
var
|
289
|
-
url =
|
289
|
+
url = typeof settings.path === 'string'
|
290
290
|
? settings.path.replace(/\/$/, '') + '/{$tab}'
|
291
291
|
: '/{$tab}'
|
292
292
|
;
|
@@ -323,11 +323,11 @@
|
|
323
323
|
|
324
324
|
changeTab: function (tabPath) {
|
325
325
|
var
|
326
|
-
pushStateAvailable =
|
327
|
-
shouldIgnoreLoad =
|
328
|
-
remoteContent =
|
326
|
+
pushStateAvailable = window.history && window.history.pushState,
|
327
|
+
shouldIgnoreLoad = pushStateAvailable && settings.ignoreFirstLoad && firstLoad,
|
328
|
+
remoteContent = settings.auto || $.isPlainObject(settings.apiSettings),
|
329
329
|
// only add default path if not remote content
|
330
|
-
pathArray =
|
330
|
+
pathArray = remoteContent && !shouldIgnoreLoad
|
331
331
|
? module.utilities.pathToArray(tabPath)
|
332
332
|
: module.get.defaultPathArray(tabPath)
|
333
333
|
;
|
@@ -338,7 +338,7 @@
|
|
338
338
|
currentPath = module.utilities.arrayToPath(currentPathArray),
|
339
339
|
|
340
340
|
isTab = module.is.tab(currentPath),
|
341
|
-
isLastIndex =
|
341
|
+
isLastIndex = index + 1 === pathArray.length,
|
342
342
|
|
343
343
|
$tab = module.get.tabElement(currentPath),
|
344
344
|
$anchor,
|
@@ -358,7 +358,7 @@
|
|
358
358
|
} else {
|
359
359
|
nextPathArray = pathArray.slice(0, index + 2);
|
360
360
|
nextPath = module.utilities.arrayToPath(nextPathArray);
|
361
|
-
isLastTab =
|
361
|
+
isLastTab = !module.is.tab(nextPath);
|
362
362
|
if (isLastTab) {
|
363
363
|
module.verbose('Tab parameters found', nextPathArray);
|
364
364
|
}
|
@@ -392,7 +392,7 @@
|
|
392
392
|
settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);
|
393
393
|
}
|
394
394
|
settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);
|
395
|
-
} else if (tabPath.search('/')
|
395
|
+
} else if (tabPath.search('/') === -1 && tabPath !== '') {
|
396
396
|
// look for in page anchor
|
397
397
|
tabPath = module.escape.string(tabPath);
|
398
398
|
$anchor = $('#' + tabPath + ', a[name="' + tabPath + '"]');
|
@@ -431,7 +431,7 @@
|
|
431
431
|
|
432
432
|
scrollTo: function ($element) {
|
433
433
|
var
|
434
|
-
scrollOffset =
|
434
|
+
scrollOffset = $element && $element.length > 0
|
435
435
|
? $element.offset().top
|
436
436
|
: false
|
437
437
|
;
|
@@ -447,10 +447,10 @@
|
|
447
447
|
$tab = module.get.tabElement(tabPath),
|
448
448
|
tab = $tab[0]
|
449
449
|
;
|
450
|
-
evaluateScripts =
|
450
|
+
evaluateScripts = evaluateScripts !== undefined
|
451
451
|
? evaluateScripts
|
452
452
|
: settings.evaluateScripts;
|
453
|
-
if (typeof settings.cacheType === 'string' && settings.cacheType.toLowerCase()
|
453
|
+
if (typeof settings.cacheType === 'string' && settings.cacheType.toLowerCase() === 'dom' && typeof html !== 'string') {
|
454
454
|
$tab
|
455
455
|
.empty()
|
456
456
|
.append($(html).clone(true))
|
@@ -481,7 +481,7 @@
|
|
481
481
|
'X-Remote': true,
|
482
482
|
},
|
483
483
|
onSuccess: function (response) {
|
484
|
-
if (settings.cacheType
|
484
|
+
if (settings.cacheType === 'response') {
|
485
485
|
module.cache.add(fullTabPath, response);
|
486
486
|
}
|
487
487
|
module.update.content(tabPath, response);
|
@@ -496,7 +496,7 @@
|
|
496
496
|
|
497
497
|
if (settings.loadOnce) {
|
498
498
|
module.cache.add(fullTabPath, true);
|
499
|
-
} else if (typeof settings.cacheType === 'string' && settings.cacheType.toLowerCase()
|
499
|
+
} else if (typeof settings.cacheType === 'string' && settings.cacheType.toLowerCase() === 'dom' && $tab.children().length > 0) {
|
500
500
|
setTimeout(function () {
|
501
501
|
var
|
502
502
|
$clone = $tab.children().clone(true)
|
@@ -513,7 +513,7 @@
|
|
513
513
|
},
|
514
514
|
},
|
515
515
|
request = $tab.api('get request') || false,
|
516
|
-
existingRequest =
|
516
|
+
existingRequest = request && request.state() === 'pending',
|
517
517
|
requestSettings,
|
518
518
|
cachedContent
|
519
519
|
;
|
@@ -525,7 +525,7 @@
|
|
525
525
|
module.activate.tab(tabPath);
|
526
526
|
module.debug('Adding cached content', fullTabPath);
|
527
527
|
if (!settings.loadOnce) {
|
528
|
-
if (settings.evaluateScripts
|
528
|
+
if (settings.evaluateScripts === 'once') {
|
529
529
|
module.update.content(tabPath, cachedContent, false);
|
530
530
|
} else {
|
531
531
|
module.update.content(tabPath, cachedContent);
|
@@ -554,7 +554,7 @@
|
|
554
554
|
tab: function (tabPath) {
|
555
555
|
var
|
556
556
|
$tab = module.get.tabElement(tabPath),
|
557
|
-
$deactiveTabs =
|
557
|
+
$deactiveTabs = settings.deactivate === 'siblings'
|
558
558
|
? $tab.siblings($tabs)
|
559
559
|
: $tabs.not($tab),
|
560
560
|
isActive = $tab.hasClass(className.active)
|
@@ -575,7 +575,7 @@
|
|
575
575
|
navigation: function (tabPath) {
|
576
576
|
var
|
577
577
|
$navigation = module.get.navElement(tabPath),
|
578
|
-
$deactiveNavigation =
|
578
|
+
$deactiveNavigation = settings.deactivate === 'siblings'
|
579
579
|
? $navigation.siblings($allModules)
|
580
580
|
: $allModules.not($navigation),
|
581
581
|
isActive = $navigation.hasClass(className.active)
|
@@ -611,8 +611,8 @@
|
|
611
611
|
|
612
612
|
is: {
|
613
613
|
tab: function (tabName) {
|
614
|
-
return
|
615
|
-
?
|
614
|
+
return tabName !== undefined
|
615
|
+
? module.get.tabElement(tabName).length > 0
|
616
616
|
: false;
|
617
617
|
},
|
618
618
|
},
|
@@ -666,7 +666,7 @@
|
|
666
666
|
$fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + module.escape.string(tabPath) + '"]');
|
667
667
|
$simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + module.escape.string(lastTab) + '"]');
|
668
668
|
|
669
|
-
return
|
669
|
+
return $fullPathTab.length > 0
|
670
670
|
? $fullPathTab
|
671
671
|
: $simplePathTab;
|
672
672
|
},
|
@@ -701,7 +701,7 @@
|
|
701
701
|
utilities: {
|
702
702
|
filterArray: function (keepArray, removeArray) {
|
703
703
|
return $.grep(keepArray, function (keepValue) {
|
704
|
-
return
|
704
|
+
return $.inArray(keepValue, removeArray) === -1;
|
705
705
|
});
|
706
706
|
},
|
707
707
|
last: function (array) {
|
@@ -837,17 +837,17 @@
|
|
837
837
|
query = query.split(/[ .]/);
|
838
838
|
maxDepth = query.length - 1;
|
839
839
|
$.each(query, function (depth, value) {
|
840
|
-
var camelCaseValue =
|
840
|
+
var camelCaseValue = depth !== maxDepth
|
841
841
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
842
842
|
: query
|
843
843
|
;
|
844
|
-
if ($.isPlainObject(object[camelCaseValue]) && (depth
|
844
|
+
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
845
845
|
object = object[camelCaseValue];
|
846
846
|
} else if (object[camelCaseValue] !== undefined) {
|
847
847
|
found = object[camelCaseValue];
|
848
848
|
|
849
849
|
return false;
|
850
|
-
} else if ($.isPlainObject(object[value]) && (depth
|
850
|
+
} else if ($.isPlainObject(object[value]) && (depth !== maxDepth)) {
|
851
851
|
object = object[value];
|
852
852
|
} else if (object[value] !== undefined) {
|
853
853
|
found = object[value];
|
@@ -889,7 +889,7 @@
|
|
889
889
|
}
|
890
890
|
});
|
891
891
|
|
892
|
-
return
|
892
|
+
return returnedValue !== undefined
|
893
893
|
? returnedValue
|
894
894
|
: this;
|
895
895
|
};
|