fomantic-ui 2.10.0-beta.8 → 2.10.0-beta.81
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/.eslintrc.js +6 -23
- package/.github/workflows/ci.yml +9 -9
- package/.github/workflows/depsreview.yml +1 -1
- package/.github/workflows/nightly.yml +7 -5
- package/.github/workflows/release.yml +2 -2
- package/.stylelintrc.js +1 -15
- package/CHANGELOG.md +5289 -2325
- package/README.md +8 -4
- package/changelog-setup.js +32 -10
- package/changelog-template.hbs +256 -251
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +62 -73
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +3 -3
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +101 -161
- package/dist/components/api.min.js +3 -3
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +5 -6
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +3 -3
- package/dist/components/calendar.js +283 -332
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +3 -3
- 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 +58 -79
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +3 -3
- 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 +2 -2
- package/dist/components/dimmer.js +39 -52
- package/dist/components/dimmer.min.css +2 -2
- package/dist/components/dimmer.min.js +3 -3
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +21 -35
- package/dist/components/dropdown.js +435 -531
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +3 -3
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +55 -68
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +3 -3
- package/dist/components/emoji.css +3809 -7617
- package/dist/components/emoji.min.css +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 +149 -168
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +3 -3
- package/dist/components/form.css +3 -5
- package/dist/components/form.js +249 -269
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +3 -3
- package/dist/components/grid.css +2 -2
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +6 -6
- package/dist/components/header.min.css +2 -2
- package/dist/components/icon.css +10 -37
- package/dist/components/icon.min.css +2 -2
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +284 -12
- package/dist/components/input.min.css +2 -2
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +6 -14
- package/dist/components/label.min.css +2 -2
- package/dist/components/list.css +3 -3
- package/dist/components/list.min.css +2 -2
- package/dist/components/loader.css +53 -53
- package/dist/components/loader.min.css +2 -2
- package/dist/components/menu.css +45 -60
- package/dist/components/menu.min.css +2 -2
- package/dist/components/message.css +2 -2
- package/dist/components/message.min.css +2 -2
- package/dist/components/modal.css +5 -5
- package/dist/components/modal.js +161 -170
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +3 -3
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +74 -88
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +3 -3
- package/dist/components/placeholder.css +2 -2
- package/dist/components/placeholder.min.css +2 -2
- package/dist/components/popup.css +19 -73
- package/dist/components/popup.js +105 -138
- package/dist/components/popup.min.css +2 -2
- package/dist/components/popup.min.js +3 -3
- package/dist/components/progress.css +4 -13
- package/dist/components/progress.js +75 -97
- package/dist/components/progress.min.css +2 -2
- package/dist/components/progress.min.js +3 -3
- 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 +49 -61
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +3 -3
- package/dist/components/reset.css +48 -208
- package/dist/components/reset.min.css +2 -2
- package/dist/components/reveal.css +2 -5
- package/dist/components/reveal.min.css +2 -2
- package/dist/components/search.css +2 -3
- package/dist/components/search.js +178 -198
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +3 -3
- package/dist/components/segment.css +6 -6
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +59 -69
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +3 -3
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +81 -101
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +3 -3
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +37 -58
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +3 -3
- package/dist/components/slider.css +1 -1
- package/dist/components/slider.js +169 -183
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +3 -3
- package/dist/components/state.js +45 -59
- package/dist/components/state.min.js +3 -3
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +4 -4
- package/dist/components/step.min.css +2 -2
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +95 -117
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +3 -3
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +83 -115
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +3 -3
- package/dist/components/table.css +8 -8
- package/dist/components/table.min.css +2 -2
- 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 +64 -74
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +3 -3
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +61 -85
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +3 -3
- package/dist/components/visibility.js +120 -140
- package/dist/components/visibility.min.js +3 -3
- package/dist/semantic.css +4480 -8222
- package/dist/semantic.js +2886 -3485
- package/dist/semantic.min.css +3 -3
- package/dist/semantic.min.js +3 -3
- package/examples/attached.html +1 -1
- package/examples/components/menu.html +1 -1
- package/package.json +8 -5
- package/scripts/nightly-version.js +4 -4
- package/src/definitions/behaviors/api.js +100 -160
- package/src/definitions/behaviors/form.js +248 -268
- package/src/definitions/behaviors/state.js +44 -58
- package/src/definitions/behaviors/visibility.js +119 -139
- package/src/definitions/collections/breadcrumb.less +0 -1
- package/src/definitions/collections/form.less +3 -9
- package/src/definitions/collections/grid.less +1 -2
- package/src/definitions/collections/menu.less +106 -117
- package/src/definitions/collections/message.less +1 -2
- package/src/definitions/collections/table.less +7 -8
- package/src/definitions/elements/button.less +4 -6
- package/src/definitions/elements/container.less +0 -1
- package/src/definitions/elements/divider.less +1 -2
- package/src/definitions/elements/emoji.less +1 -1
- package/src/definitions/elements/flag.less +1 -1
- package/src/definitions/elements/header.less +4 -5
- package/src/definitions/elements/icon.less +10 -37
- package/src/definitions/elements/image.less +0 -1
- package/src/definitions/elements/input.less +4 -7
- package/src/definitions/elements/label.less +5 -14
- package/src/definitions/elements/list.less +2 -3
- package/src/definitions/elements/loader.less +10 -11
- package/src/definitions/elements/placeholder.less +1 -2
- package/src/definitions/elements/rail.less +0 -1
- package/src/definitions/elements/reveal.less +1 -5
- package/src/definitions/elements/segment.less +5 -6
- package/src/definitions/elements/step.less +3 -4
- package/src/definitions/elements/text.less +0 -1
- package/src/definitions/globals/reset.less +0 -1
- package/src/definitions/globals/site.js +36 -57
- package/src/definitions/globals/site.less +0 -1
- package/src/definitions/modules/accordion.js +61 -72
- package/src/definitions/modules/accordion.less +0 -1
- package/src/definitions/modules/calendar.js +282 -331
- package/src/definitions/modules/calendar.less +2 -3
- package/src/definitions/modules/checkbox.js +57 -78
- package/src/definitions/modules/checkbox.less +0 -1
- package/src/definitions/modules/dimmer.js +38 -51
- package/src/definitions/modules/dimmer.less +1 -2
- package/src/definitions/modules/dropdown.js +434 -530
- package/src/definitions/modules/dropdown.less +27 -38
- package/src/definitions/modules/embed.js +54 -67
- package/src/definitions/modules/embed.less +0 -1
- package/src/definitions/modules/flyout.js +148 -167
- package/src/definitions/modules/flyout.less +0 -1
- package/src/definitions/modules/modal.js +160 -169
- package/src/definitions/modules/modal.less +3 -4
- package/src/definitions/modules/nag.js +73 -87
- package/src/definitions/modules/nag.less +0 -1
- package/src/definitions/modules/popup.js +104 -137
- package/src/definitions/modules/popup.less +18 -73
- package/src/definitions/modules/progress.js +74 -96
- package/src/definitions/modules/progress.less +3 -13
- package/src/definitions/modules/rating.js +48 -60
- package/src/definitions/modules/rating.less +0 -1
- package/src/definitions/modules/search.js +177 -197
- package/src/definitions/modules/search.less +2 -4
- package/src/definitions/modules/shape.js +58 -68
- package/src/definitions/modules/shape.less +0 -1
- package/src/definitions/modules/sidebar.js +80 -100
- package/src/definitions/modules/sidebar.less +0 -1
- package/src/definitions/modules/slider.js +168 -182
- package/src/definitions/modules/slider.less +0 -1
- package/src/definitions/modules/sticky.js +94 -116
- package/src/definitions/modules/sticky.less +0 -1
- package/src/definitions/modules/tab.js +82 -114
- package/src/definitions/modules/tab.less +0 -1
- package/src/definitions/modules/toast.js +63 -73
- package/src/definitions/modules/toast.less +0 -1
- package/src/definitions/modules/transition.js +60 -84
- package/src/definitions/modules/transition.less +1 -2
- package/src/definitions/views/ad.less +0 -1
- package/src/definitions/views/card.less +0 -1
- package/src/definitions/views/comment.less +0 -1
- package/src/definitions/views/feed.less +0 -1
- package/src/definitions/views/item.less +0 -1
- package/src/definitions/views/statistic.less +0 -1
- package/src/semantic.less +1 -1
- package/src/themes/amazon/elements/button.overrides +1 -1
- package/src/themes/amazon/elements/button.variables +5 -6
- package/src/themes/amazon/globals/site.variables +2 -3
- package/src/themes/bookish/elements/header.variables +2 -2
- package/src/themes/bootstrap3/elements/button.variables +4 -5
- package/src/themes/chubby/collections/menu.variables +1 -1
- package/src/themes/chubby/elements/button.overrides +4 -4
- package/src/themes/chubby/modules/accordion.overrides +1 -1
- package/src/themes/chubby/views/comment.overrides +2 -2
- package/src/themes/chubby/views/comment.variables +2 -2
- package/src/themes/classic/collections/table.variables +2 -2
- package/src/themes/classic/elements/button.variables +11 -11
- package/src/themes/classic/modules/progress.variables +2 -2
- package/src/themes/classic/views/card.variables +2 -2
- package/src/themes/default/collections/form.variables +2 -3
- package/src/themes/default/collections/menu.variables +28 -28
- package/src/themes/default/collections/message.variables +1 -1
- package/src/themes/default/collections/table.variables +4 -4
- package/src/themes/default/elements/button.variables +9 -10
- package/src/themes/default/elements/divider.variables +1 -1
- package/src/themes/default/elements/icon.variables +2 -2
- package/src/themes/default/elements/image.variables +1 -1
- package/src/themes/default/elements/input.variables +2 -2
- package/src/themes/default/elements/label.variables +4 -4
- package/src/themes/default/elements/list.variables +1 -1
- package/src/themes/default/elements/placeholder.variables +6 -6
- package/src/themes/default/elements/segment.variables +8 -8
- package/src/themes/default/globals/reset.overrides +45 -201
- package/src/themes/default/globals/site.variables +50 -50
- package/src/themes/default/globals/variation.variables +3 -2
- package/src/themes/default/modules/accordion.variables +0 -1
- package/src/themes/default/modules/checkbox.variables +1 -1
- package/src/themes/default/modules/dimmer.variables +12 -12
- package/src/themes/default/modules/dropdown.variables +17 -16
- package/src/themes/default/modules/embed.variables +2 -2
- package/src/themes/default/modules/flyout.variables +3 -3
- package/src/themes/default/modules/modal.variables +14 -14
- package/src/themes/default/modules/nag.variables +1 -1
- package/src/themes/default/modules/rating.variables +1 -1
- package/src/themes/default/modules/search.variables +1 -1
- package/src/themes/default/modules/shape.variables +1 -1
- package/src/themes/default/modules/sidebar.variables +2 -2
- package/src/themes/default/modules/toast.variables +4 -4
- package/src/themes/default/views/card.variables +6 -7
- package/src/themes/default/views/feed.variables +4 -4
- package/src/themes/default/views/item.variables +2 -3
- package/src/themes/flat/collections/form.variables +1 -1
- package/src/themes/flat/globals/site.variables +9 -9
- package/src/themes/github/collections/form.overrides +3 -3
- package/src/themes/github/collections/form.variables +3 -3
- package/src/themes/github/collections/menu.overrides +1 -1
- package/src/themes/github/collections/menu.variables +10 -10
- package/src/themes/github/collections/message.variables +6 -6
- package/src/themes/github/elements/button.variables +17 -17
- package/src/themes/github/elements/input.variables +3 -3
- package/src/themes/github/elements/segment.variables +2 -2
- package/src/themes/github/elements/step.overrides +4 -4
- package/src/themes/github/elements/step.variables +3 -3
- package/src/themes/github/globals/site.variables +2 -2
- package/src/themes/github/modules/dropdown.variables +1 -3
- package/src/themes/gmail/collections/message.variables +2 -2
- package/src/themes/material/collections/menu.variables +1 -1
- package/src/themes/material/elements/button.overrides +4 -4
- package/src/themes/material/elements/button.variables +5 -5
- package/src/themes/material/modules/dropdown.variables +1 -1
- package/src/themes/material/modules/modal.variables +1 -1
- package/src/themes/raised/elements/button.variables +1 -1
- package/src/themes/round/elements/button.variables +12 -12
- package/src/themes/striped/modules/progress.overrides +3 -3
- package/src/themes/timeline/views/feed.variables +2 -2
- package/src/themes/twitter/elements/button.overrides +1 -1
- package/src/themes/twitter/elements/button.variables +4 -5
- package/tasks/admin/components/create.js +12 -15
- package/tasks/admin/components/init.js +11 -12
- package/tasks/admin/components/update.js +19 -20
- package/tasks/admin/distributions/create.js +30 -51
- package/tasks/admin/distributions/init.js +11 -12
- package/tasks/admin/distributions/update.js +18 -19
- package/tasks/admin/register.js +7 -7
- package/tasks/build/assets.js +1 -1
- package/tasks/build/css.js +5 -5
- package/tasks/build/javascript.js +1 -1
- package/tasks/config/admin/github.js +1 -1
- package/tasks/config/admin/templates/css-package.js +1 -1
- package/tasks/config/admin/templates/less-package.js +1 -1
- package/tasks/config/project/config.js +10 -10
- package/tasks/config/project/install.js +12 -12
- package/tasks/config/project/release.js +6 -12
- package/tasks/config/tasks.js +15 -11
- package/tasks/config/user.js +1 -4
- package/tasks/docs/metadata.js +18 -20
- package/tasks/install.js +14 -12
- package/test/meteor/assets.js +4 -4
- package/test/meteor/fonts.js +10 -11
- package/test/modules/module.spec.js +18 -18
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* # Fomantic UI - 2.10.0-beta.
|
|
2
|
+
* # Fomantic UI - 2.10.0-beta.81+4f706c2
|
|
3
3
|
* https://github.com/fomantic/Fomantic-UI
|
|
4
4
|
* https://fomantic-ui.com/
|
|
5
5
|
*
|
|
6
|
-
* Copyright
|
|
6
|
+
* Copyright 2026 Contributors
|
|
7
7
|
* Released under the MIT license
|
|
8
8
|
* https://opensource.org/licenses/MIT
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
11
|
-
!function(z,T,w){"use strict";T=void 0!==T&&T.Math===Math?T:globalThis,z.fn.sticky=function(p){let e=z(this);z(w);let b=Date.now(),v=[],x=p,C="string"==typeof x,S=[].slice.call(arguments,1),y=function(e,t){let o;return 0<=[T,w].indexOf(e)?o=z(e):0===(o=z(t.document).find(e)).length&&(o=t.frameElement?y(e,t.parent):T),o},k;return e.each(function(){let c=z.isPlainObject(p)?z.extend(!0,{},z.fn.sticky.settings,p):z.extend({},z.fn.sticky.settings),t=c.className;var e=c.namespace;let l=c.error,o="."+e,n="module-"+e,i=z(this),s=z(T),a=y(c.scrollContext,T),r,f,m=i.data(n),d=this,u,h,g;g={initialize:function(){g.determineContainer(),g.determineContext(),g.verbose("Initializing sticky",c,r),g.save.positions(),g.checkErrors(),g.bind.events(),c.observeChanges&&g.observeChanges(),g.instantiate()},instantiate:function(){g.verbose("Storing instance of module",g),m=g,i.data(n,g)},destroy:function(){g.verbose("Destroying previous instance"),g.reset(),u&&u.disconnect(),h&&h.disconnect(),s.off("load"+o,g.event.load).off("resize"+o,g.event.resize),a.off("scrollchange"+o,g.event.scrollchange),i.removeData(n)},observeChanges:function(){"MutationObserver"in T&&(u=new MutationObserver(g.event.documentChanged),h=new MutationObserver(g.event.changed),u.observe(w,{childList:!0,subtree:!0}),h.observe(d,{childList:!0,subtree:!0}),h.observe(f[0],{childList:!0,subtree:!0}),g.debug("Setting up mutation observer",h))},determineContainer:function(){r=c.container?y(c.container,T):i.offsetParent()},determineContext:function(){0===(f=c.context?y(c.context,T):r).length&&g.error(l.invalidContext,c.context,i)},checkErrors:function(){g.is.hidden()&&g.error(l.visible,i),g.cache.element.height>g.cache.context.height&&(g.reset(),g.error(l.elementSize,i))},bind:{events:function(){s.on("load"+o,g.event.load).on("resize"+o,g.event.resize),a.off("scroll"+o).on("scroll"+o,g.event.scroll).on("scrollchange"+o,g.event.scrollchange)}},event:{changed:function(e){clearTimeout(g.timer),g.timer=setTimeout(function(){g.verbose("DOM tree modified, updating sticky menu",e),g.refresh()},100)},documentChanged:function(e){[].forEach.call(e,function(e){e.removedNodes&&[].forEach.call(e.removedNodes,function(e){(e===d||0<z(e).find(d).length)&&(g.debug("Element removed from DOM, tearing down events"),g.destroy())})})},load:function(){g.verbose("Page contents finished loading"),requestAnimationFrame(g.refresh)},resize:function(){g.verbose("Window resized"),requestAnimationFrame(g.refresh)},scroll:function(){requestAnimationFrame(function(){a.triggerHandler("scrollchange"+o,a.scrollTop())})},scrollchange:function(e,t){g.stick(t),c.onScroll.call(d)}},refresh:function(e){g.reset(),c.context||g.determineContext(),e&&g.determineContainer(),g.save.positions(),g.stick(),c.onReposition.call(d)},supports:{sticky:function(){let e=z("<div/>");return e.addClass(t.supported),e.css("position").match("sticky")}},save:{lastScroll:function(e){g.lastScroll=e},elementScroll:function(e){g.elementScroll=e},positions:function(){let e={height:a.height()},t={margin:{top:parseInt(i.css("margin-top"),10),bottom:parseInt(i.css("margin-bottom"),10)},offset:i.offset(),width:i.outerWidth(),height:i.outerHeight()},o={offset:f.offset(),height:f.outerHeight()};g.is.standardScroll()||(g.debug("Non-standard scroll. Removing scroll offset from element offset"),e.top=a.scrollTop(),e.left=a.scrollLeft(),t.offset.top+=e.top,o.offset.top+=e.top,t.offset.left+=e.left,o.offset.left+=e.left),g.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}},g.set.containerSize(),g.stick(),g.debug("Caching element positions",g.cache)}},get:{direction:function(e){let t="down";return e=e||a.scrollTop(),t=g.lastScroll&&g.lastScroll>e?"up":t},scrollChange:function(e){return e=e||a.scrollTop(),g.lastScroll?e-g.lastScroll:0},currentElementScroll:function(){return g.elementScroll||(g.is.top()?Math.abs(parseInt(i.css("top"),10))||0:Math.abs(parseInt(i.css("bottom"),10))||0)},elementScroll:function(e){e=e||a.scrollTop();var t=g.cache.element,o=g.cache.scrollContext,e=g.get.scrollChange(e),t=t.height-o.height+c.offset;let n=g.get.currentElementScroll();o=n+e;return n=g.cache.fits||o<0?0:t<o?t:o}},remove:{lastScroll:function(){delete g.lastScroll},elementScroll:function(){delete g.elementScroll},minimumSize:function(){r.css("min-height","")},offset:function(){i.css("margin-top","")}},set:{offset:function(){g.verbose("Setting offset on element",c.offset),i.css("margin-top",c.offset)},containerSize:function(){var e=r[0].tagName;"HTML"===e||"body"===e?g.determineContainer():((e=Math.max(g.cache.context.height,g.cache.element.height))-r.outerHeight()>c.jitter?(g.debug("Context is taller than container. Specifying exact height for container",g.cache.context.height),r.css({height:e})):r.css({height:""}),Math.abs(r.outerHeight()-g.cache.context.height)>c.jitter&&(g.debug("Context has padding, specifying exact height for container",g.cache.context.height),r.css({height:g.cache.context.height})))},minimumSize:function(){var e=g.cache.element;r.css("min-height",e.height)},scroll:function(e){g.debug("Setting scroll on element",e),g.elementScroll!==e&&(g.is.top()&&i.css("bottom","").css("top",-e+"px"),g.is.bottom()&&i.css("top","").css("bottom",e+"px"))},size:function(){0!==g.cache.element.height&&0!==g.cache.element.width&&(d.style.setProperty("width",g.cache.element.width+"px","important"),d.style.setProperty("height",g.cache.element.height+"px","important"))}},is:{standardScroll:function(){return a[0]===T},top:function(){return i.hasClass(t.top)},bottom:function(){return i.hasClass(t.bottom)},initialPosition:function(){return!g.is.fixed()&&!g.is.bound()},hidden:function(){return!i.is(":visible")},bound:function(){return i.hasClass(t.bound)},fixed:function(){return i.hasClass(t.fixed)}},stick:function(e){var e=e||a.scrollTop(),t=g.cache,o=t.fits,n=t.sameHeight,i=t.element,s=t.scrollContext,t=t.context,r=g.is.bottom()&&c.pushing?c.bottomOffset:c.offset,e={top:e+r,bottom:e+r+s.height},r=o?0:g.get.elementScroll(e.top),s=!o;0===i.height||n||(g.is.initialPosition()?e.top>=t.bottom?(g.debug("Initial element position is bottom of container"),g.bindBottom()):e.top>i.top&&(i.height+e.top-r>=t.bottom&&i.height<t.height?(g.debug("Initial element position is bottom of container"),g.bindBottom()):(g.debug("Initial element position is fixed"),g.fixTop())):g.is.fixed()?g.is.top()?e.top<=i.top?(g.debug("Fixed element reached top of container"),g.setInitialPosition()):i.height+e.top-r>=t.bottom?(g.debug("Fixed element reached bottom of container"),g.bindBottom()):s&&(g.set.scroll(r),g.save.lastScroll(e.top),g.save.elementScroll(r)):g.is.bottom()&&(e.bottom-i.height<=i.top?(g.debug("Bottom fixed rail has reached top of container"),g.setInitialPosition()):e.bottom>=t.bottom?(g.debug("Bottom fixed rail has reached bottom of container"),g.bindBottom()):s&&(g.set.scroll(r),g.save.lastScroll(e.top),g.save.elementScroll(r))):g.is.bottom()&&(e.top<=i.top?(g.debug("Jumped from bottom fixed to top fixed, most likely used home/end button"),g.setInitialPosition()):c.pushing?g.is.bound()&&e.bottom<=t.bottom&&(g.debug("Fixing bottom attached element to bottom of browser."),g.fixBottom()):g.is.bound()&&e.top<=t.bottom-i.height&&(g.debug("Fixing bottom attached element to top of browser."),g.fixTop())))},bindTop:function(){g.debug("Binding element to top of parent container"),g.remove.offset(),c.setSize&&g.set.size(),i.css({left:"",top:"",marginBottom:""}).removeClass(t.fixed).removeClass(t.bottom).addClass(t.bound).addClass(t.top),c.onTop.call(d),c.onUnstick.call(d)},bindBottom:function(){g.debug("Binding element to bottom of parent container"),g.remove.offset(),c.setSize&&g.set.size(),i.css({left:"",top:""}).removeClass(t.fixed).removeClass(t.top).addClass(t.bound).addClass(t.bottom),c.onBottom.call(d),c.onUnstick.call(d)},setInitialPosition:function(){g.debug("Returning to initial position"),g.unfix(),g.unbind()},fixTop:function(){g.debug("Fixing element to top of page"),c.setSize&&g.set.size(),g.set.minimumSize(),g.set.offset(),i.css({left:g.cache.element.left,bottom:"",marginBottom:""}).removeClass(t.bound).removeClass(t.bottom).addClass(t.fixed).addClass(t.top),c.onStick.call(d)},fixBottom:function(){g.debug("Sticking element to bottom of page"),c.setSize&&g.set.size(),g.set.minimumSize(),g.set.offset(),i.css({left:g.cache.element.left,bottom:"",marginBottom:""}).removeClass(t.bound).removeClass(t.top).addClass(t.fixed).addClass(t.bottom),c.onStick.call(d)},unbind:function(){g.is.bound()&&(g.debug("Removing container bound position on element"),g.remove.offset(),i.removeClass(t.bound).removeClass(t.top).removeClass(t.bottom))},unfix:function(){g.is.fixed()&&(g.debug("Removing fixed position on element"),g.remove.minimumSize(),g.remove.offset(),i.removeClass(t.fixed).removeClass(t.top).removeClass(t.bottom),c.onUnstick.call(d))},reset:function(){g.debug("Resetting elements position"),g.unbind(),g.unfix(),g.resetCSS(),g.remove.offset(),g.remove.lastScroll()},resetCSS:function(){i.css({width:"",height:""}),r.css({height:""})},setting:function(e,t){if(z.isPlainObject(e))z.extend(!0,c,e);else{if(void 0===t)return c[e];c[e]=t}},internal:function(e,t){if(z.isPlainObject(e))z.extend(!0,g,e);else{if(void 0===t)return g[e];g[e]=t}},debug:function(){!c.silent&&c.debug&&(c.performance?g.performance.log(arguments):(g.debug=Function.prototype.bind.call(console.info,console,c.name+":"),g.debug.apply(console,arguments)))},verbose:function(){!c.silent&&c.verbose&&c.debug&&(c.performance?g.performance.log(arguments):(g.verbose=Function.prototype.bind.call(console.info,console,c.name+":"),g.verbose.apply(console,arguments)))},error:function(){c.silent||(g.error=Function.prototype.bind.call(console.error,console,c.name+":"),g.error.apply(console,arguments))},performance:{log:function(e){var t,o;c.performance&&(o=(t=Date.now())-(b||t),b=t,v.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:d,"Execution Time":o})),clearTimeout(g.performance.timer),g.performance.timer=setTimeout(function(){g.performance.display()},0)},display:function(){var e=c.name+":";let o=0;b=!1,clearTimeout(g.performance.timer),z.each(v,function(e,t){o+=t["Execution Time"]}),e+=" "+o+"ms",0<v.length&&(console.groupCollapsed(e),console.table?console.table(v):z.each(v,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),v=[]}},invoke:function(n,e,t){let i=m,s,r,o;var c;return e=e||S,t=t||d,"string"==typeof n&&void 0!==i&&(n=n.split(/[ .]/),s=n.length-1,z.each(n,function(e,t){var o=e!==s?t+n[e+1].charAt(0).toUpperCase()+n[e+1].slice(1):n;if(z.isPlainObject(i[o])&&e!==s)i=i[o];else{if(void 0!==i[o])return r=i[o],!1;{if(!z.isPlainObject(i[t])||e===s)return void 0!==i[t]?r=i[t]:g.error(l.method,n),!1;i=i[t]}}})),"function"==typeof(c=r)&&"number"!=typeof c.nodeType?o=r.apply(t,e):void 0!==r&&(o=r),Array.isArray(k)?k.push(o):void 0!==k?k=[k,o]:void 0!==o&&(k=o),r}},C?(void 0===m&&g.initialize(),g.invoke(x)):(void 0!==m&&m.invoke("destroy"),g.initialize())}),void 0!==k?k:this},z.fn.sticky.settings={name:"Sticky",namespace:"sticky",silent:!1,debug:!1,verbose:!0,performance:!0,pushing:!1,context:!1,container:!1,scrollContext:T,offset:0,bottomOffset:0,jitter:5,setSize:!0,observeChanges:!1,onReposition:function(){},onScroll:function(){},onStick:function(){},onUnstick:function(){},onTop:function(){},onBottom:function(){},error:{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(k,z,T){"use strict";z=void 0!==z&&z.Math===Math?z:globalThis,k.fn.sticky=function(...e){const t=k(this);k(T);let p=Date.now(),b=[];const v=e[0],x="string"==typeof v,C=e.slice(1),S=function(e,t){let o;return[z,T].includes(e)?o=k(e):0===(o=k(t.document).find(e)).length&&(o=t.frameElement?S(e,t.parent):z),o};let y;return t.each(function(){const c=k.isPlainObject(v)?k.extend(!0,{},k.fn.sticky.settings,v):k.extend({},k.fn.sticky.settings),t=c.className;var e=c.namespace;const l=c.error,o="."+e,n="module-"+e,i=k(this),s=k(z),a=S(c.scrollContext,z);let r,f,m=i.data(n);const d=this;let u,h;const g={initialize:function(){g.determineContainer(),g.determineContext(),g.verbose("Initializing sticky",c,r),g.save.positions(),g.checkErrors(),g.bind.events(),c.observeChanges&&g.observeChanges(),g.instantiate()},instantiate:function(){g.verbose("Storing instance of module",g),m=g,i.data(n,g)},destroy:function(){g.verbose("Destroying previous instance"),g.reset(),u&&u.disconnect(),h&&h.disconnect(),s.off("load"+o,g.event.load).off("resize"+o,g.event.resize),a.off("scrollchange"+o,g.event.scrollchange),i.removeData(n)},observeChanges:function(){u=new MutationObserver(g.event.documentChanged),h=new MutationObserver(g.event.changed),u.observe(T,{childList:!0,subtree:!0}),h.observe(d,{childList:!0,subtree:!0}),h.observe(f[0],{childList:!0,subtree:!0}),g.debug("Setting up mutation observer",h)},determineContainer:function(){r=c.container?S(c.container,z):i.offsetParent()},determineContext:function(){0===(f=c.context?S(c.context,z):r).length&&g.error(l.invalidContext,c.context,i)},checkErrors:function(){g.is.hidden()&&g.error(l.visible,i),g.cache.element.height>g.cache.context.height&&(g.reset(),g.error(l.elementSize,i))},bind:{events:function(){s.on("load"+o,g.event.load).on("resize"+o,g.event.resize),a.off("scroll"+o).on("scroll"+o,g.event.scroll).on("scrollchange"+o,g.event.scrollchange)}},event:{changed:function(e){clearTimeout(g.timer),g.timer=setTimeout(function(){g.verbose("DOM tree modified, updating sticky menu",e),g.refresh()},100)},documentChanged:function(e){for(const t of e)for(const o of t.removedNodes)(o===d||0<k(o).find(d).length)&&(g.debug("Element removed from DOM, tearing down events"),g.destroy())},load:function(){g.verbose("Page contents finished loading"),requestAnimationFrame(g.refresh)},resize:function(){g.verbose("Window resized"),requestAnimationFrame(g.refresh)},scroll:function(){requestAnimationFrame(function(){a.triggerHandler("scrollchange"+o,a.scrollTop())})},scrollchange:function(e,t){g.stick(t),c.onScroll.call(d)}},refresh:function(e){g.reset(),c.context||g.determineContext(),e&&g.determineContainer(),g.save.positions(),g.stick(),c.onReposition.call(d)},supports:{sticky:function(){const e=k("<div/>");return e.addClass(t.supported),e.css("position").match("sticky")}},save:{lastScroll:function(e){g.lastScroll=e},elementScroll:function(e){g.elementScroll=e},positions:function(){const e={height:a.height()},t={margin:{top:Number.parseInt(i.css("margin-top"),10),bottom:Number.parseInt(i.css("margin-bottom"),10)},offset:i.offset(),width:i.outerWidth(),height:i.outerHeight()},o={offset:f.offset(),height:f.outerHeight()};g.is.standardScroll()||(g.debug("Non-standard scroll. Removing scroll offset from element offset"),e.top=a.scrollTop(),e.left=a.scrollLeft(),t.offset.top+=e.top,o.offset.top+=e.top,t.offset.left+=e.left,o.offset.left+=e.left),g.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}},g.set.containerSize(),g.stick(),g.debug("Caching element positions",g.cache)}},get:{direction:function(e=a.scrollTop()){let t="down";return t=g.lastScroll&&g.lastScroll>e?"up":t},scrollChange:function(e=a.scrollTop()){return g.lastScroll?e-g.lastScroll:0},currentElementScroll:function(){return g.elementScroll||(g.is.top()?Math.abs(Number.parseInt(i.css("top"),10))||0:Math.abs(Number.parseInt(i.css("bottom"),10))||0)},elementScroll:function(e=a.scrollTop()){var t=g.cache.element,o=g.cache.scrollContext,e=g.get.scrollChange(e),t=t.height-o.height+c.offset;let n=g.get.currentElementScroll();o=n+e;return n=g.cache.fits||o<0?0:t<o?t:o}},remove:{lastScroll:function(){delete g.lastScroll},elementScroll:function(){delete g.elementScroll},minimumSize:function(){r.css("min-height","")},offset:function(){i.css("margin-top","")}},set:{offset:function(){g.verbose("Setting offset on element",c.offset),i.css("margin-top",c.offset)},containerSize:function(){var e=r[0].tagName;"HTML"===e||"body"===e?g.determineContainer():((e=Math.max(g.cache.context.height,g.cache.element.height))-r.outerHeight()>c.jitter?(g.debug("Context is taller than container. Specifying exact height for container",g.cache.context.height),r.css({height:e})):r.css({height:""}),Math.abs(r.outerHeight()-g.cache.context.height)>c.jitter&&(g.debug("Context has padding, specifying exact height for container",g.cache.context.height),r.css({height:g.cache.context.height})))},minimumSize:function(){var e=g.cache.element;r.css("min-height",e.height)},scroll:function(e){g.debug("Setting scroll on element",e),g.elementScroll!==e&&(g.is.top()&&i.css("bottom","").css("top",-e+"px"),g.is.bottom()&&i.css("top","").css("bottom",e+"px"))},size:function(){0!==g.cache.element.height&&0!==g.cache.element.width&&(d.style.setProperty("width",g.cache.element.width+"px","important"),d.style.setProperty("height",g.cache.element.height+"px","important"))}},is:{standardScroll:function(){return a[0]===z},top:function(){return i.hasClass(t.top)},bottom:function(){return i.hasClass(t.bottom)},initialPosition:function(){return!g.is.fixed()&&!g.is.bound()},hidden:function(){return!i.is(":visible")},bound:function(){return i.hasClass(t.bound)},fixed:function(){return i.hasClass(t.fixed)}},stick:function(e=a.scrollTop()){var t=g.cache,o=t.fits,n=t.sameHeight,i=t.element,s=t.scrollContext,t=t.context,r=g.is.bottom()&&c.pushing?c.bottomOffset:c.offset,e={top:e+r,bottom:e+r+s.height},r=o?0:g.get.elementScroll(e.top),s=!o;0===i.height||n||(g.is.initialPosition()?e.top>=t.bottom?(g.debug("Initial element position is bottom of container"),g.bindBottom()):e.top>i.top&&(i.height+e.top-r>=t.bottom&&i.height<t.height?(g.debug("Initial element position is bottom of container"),g.bindBottom()):(g.debug("Initial element position is fixed"),g.fixTop())):g.is.fixed()?g.is.top()?e.top<=i.top?(g.debug("Fixed element reached top of container"),g.setInitialPosition()):i.height+e.top-r>=t.bottom?(g.debug("Fixed element reached bottom of container"),g.bindBottom()):s&&(g.set.scroll(r),g.save.lastScroll(e.top),g.save.elementScroll(r)):g.is.bottom()&&(e.bottom-i.height<=i.top?(g.debug("Bottom fixed rail has reached top of container"),g.setInitialPosition()):e.bottom>=t.bottom?(g.debug("Bottom fixed rail has reached bottom of container"),g.bindBottom()):s&&(g.set.scroll(r),g.save.lastScroll(e.top),g.save.elementScroll(r))):g.is.bottom()&&(e.top<=i.top?(g.debug("Jumped from bottom fixed to top fixed, most likely used home/end button"),g.setInitialPosition()):c.pushing?g.is.bound()&&e.bottom<=t.bottom&&(g.debug("Fixing bottom attached element to bottom of browser."),g.fixBottom()):g.is.bound()&&e.top<=t.bottom-i.height&&(g.debug("Fixing bottom attached element to top of browser."),g.fixTop())))},bindTop:function(){g.debug("Binding element to top of parent container"),g.remove.offset(),c.setSize&&g.set.size(),i.css({left:"",top:"",marginBottom:""}).removeClass(t.fixed).removeClass(t.bottom).addClass(t.bound).addClass(t.top),c.onTop.call(d),c.onUnstick.call(d)},bindBottom:function(){g.debug("Binding element to bottom of parent container"),g.remove.offset(),c.setSize&&g.set.size(),i.css({left:"",top:""}).removeClass(t.fixed).removeClass(t.top).addClass(t.bound).addClass(t.bottom),c.onBottom.call(d),c.onUnstick.call(d)},setInitialPosition:function(){g.debug("Returning to initial position"),g.unfix(),g.unbind()},fixTop:function(){g.debug("Fixing element to top of page"),c.setSize&&g.set.size(),g.set.minimumSize(),g.set.offset(),i.css({left:g.cache.element.left,bottom:"",marginBottom:""}).removeClass(t.bound).removeClass(t.bottom).addClass(t.fixed).addClass(t.top),c.onStick.call(d)},fixBottom:function(){g.debug("Sticking element to bottom of page"),c.setSize&&g.set.size(),g.set.minimumSize(),g.set.offset(),i.css({left:g.cache.element.left,bottom:"",marginBottom:""}).removeClass(t.bound).removeClass(t.top).addClass(t.fixed).addClass(t.bottom),c.onStick.call(d)},unbind:function(){g.is.bound()&&(g.debug("Removing container bound position on element"),g.remove.offset(),i.removeClass(t.bound).removeClass(t.top).removeClass(t.bottom))},unfix:function(){g.is.fixed()&&(g.debug("Removing fixed position on element"),g.remove.minimumSize(),g.remove.offset(),i.removeClass(t.fixed).removeClass(t.top).removeClass(t.bottom),c.onUnstick.call(d))},reset:function(){g.debug("Resetting elements position"),g.unbind(),g.unfix(),g.resetCSS(),g.remove.offset(),g.remove.lastScroll()},resetCSS:function(){i.css({width:"",height:""}),r.css({height:""})},setting:function(e,t){if(k.isPlainObject(e))k.extend(!0,c,e);else{if(void 0===t)return c[e];c[e]=t}},internal:function(e,t){if(k.isPlainObject(e))k.extend(!0,g,e);else{if(void 0===t)return g[e];g[e]=t}},debug:function(...e){!c.silent&&c.debug&&(c.performance?g.performance.log(e):(g.debug=Function.prototype.bind.call(console.info,console,c.name+":"),g.debug.apply(console,e)))},verbose:function(...e){!c.silent&&c.verbose&&c.debug&&(c.performance?g.performance.log(e):(g.verbose=Function.prototype.bind.call(console.info,console,c.name+":"),g.verbose.apply(console,e)))},error:function(...e){c.silent||(g.error=Function.prototype.bind.call(console.error,console,c.name+":"),g.error.apply(console,e))},performance:{log:function(e){var t,o;c.performance&&(o=(t=Date.now())-(p||t),p=t,b.push({Name:e[0],Arguments:e.slice(1),Element:d,"Execution Time":o})),clearTimeout(g.performance.timer),g.performance.timer=setTimeout(function(){g.performance.display()},0)},display:function(){var e=c.name+":";let o=0;p=!1,clearTimeout(g.performance.timer),k.each(b,function(e,t){o+=t["Execution Time"]}),e+=" "+o+"ms",0<b.length&&(console.groupCollapsed(e),console.table(b),console.groupEnd()),b=[]}},invoke:function(n,e=C,t=d){let i=m,s,r,o;var c;return"string"==typeof n&&void 0!==i&&(n=n.split(/[ .]/),s=n.length-1,k.each(n,function(e,t){var o=e!==s?t+n[e+1].charAt(0).toUpperCase()+n[e+1].slice(1):n;if(k.isPlainObject(i[o])&&e!==s)i=i[o];else{if(void 0!==i[o])return r=i[o],!1;{if(!k.isPlainObject(i[t])||e===s)return void 0!==i[t]?r=i[t]:g.error(l.method,n),!1;i=i[t]}}})),"function"==typeof(c=r)&&"number"!=typeof c.nodeType?o=r.apply(t,e):void 0!==r&&(o=r),Array.isArray(y)?y.push(o):void 0!==y?y=[y,o]:void 0!==o&&(y=o),r}};x?(void 0===m&&g.initialize(),g.invoke(v)):(void 0!==m&&m.invoke("destroy"),g.initialize())}),void 0!==y?y:this},k.fn.sticky.settings={name:"Sticky",namespace:"sticky",silent:!1,debug:!1,verbose:!0,performance:!0,pushing:!1,context:!1,container:!1,scrollContext:z,offset:0,bottomOffset:0,jitter:5,setSize:!0,observeChanges:!1,onReposition:function(){},onScroll:function(){},onStick:function(){},onUnstick:function(){},onTop:function(){},onBottom:function(){},error:{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.10.0-beta.
|
|
2
|
+
* # Fomantic-UI 2.10.0-beta.81+4f706c2 - Tab
|
|
3
3
|
* https://github.com/fomantic/Fomantic-UI/
|
|
4
4
|
*
|
|
5
5
|
*
|
|
@@ -23,21 +23,21 @@
|
|
|
23
23
|
? window
|
|
24
24
|
: globalThis;
|
|
25
25
|
|
|
26
|
-
$.fn.tab = function (
|
|
26
|
+
$.fn.tab = function (...args) {
|
|
27
27
|
// use window context if none specified
|
|
28
|
-
|
|
28
|
+
const $allModules = isFunction(this)
|
|
29
29
|
? $(window)
|
|
30
30
|
: $(this);
|
|
31
|
-
|
|
31
|
+
const $document = $(document);
|
|
32
32
|
let time = Date.now();
|
|
33
33
|
let performance = [];
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
const parameters = args[0];
|
|
36
|
+
const methodInvoked = typeof parameters === 'string';
|
|
37
|
+
const queryArguments = args.slice(1);
|
|
38
|
+
const contextCheck = function (context, win) {
|
|
39
39
|
let $context;
|
|
40
|
-
if ([window, document].
|
|
40
|
+
if ([window, document].includes(context)) {
|
|
41
41
|
$context = $(context);
|
|
42
42
|
} else {
|
|
43
43
|
$context = $(win.document).find(context);
|
|
@@ -52,36 +52,34 @@
|
|
|
52
52
|
let returnedValue;
|
|
53
53
|
|
|
54
54
|
$allModules.each(function () {
|
|
55
|
-
|
|
55
|
+
const settings = $.isPlainObject(parameters)
|
|
56
56
|
? $.extend(true, {}, $.fn.tab.settings, parameters)
|
|
57
57
|
: $.extend({}, $.fn.tab.settings);
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
let regExp = settings.regExp;
|
|
59
|
+
const className = settings.className;
|
|
60
|
+
const metadata = settings.metadata;
|
|
61
|
+
const selector = settings.selector;
|
|
62
|
+
const error = settings.error;
|
|
64
63
|
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
const eventNamespace = '.' + settings.namespace;
|
|
65
|
+
const moduleNamespace = 'module-' + settings.namespace;
|
|
67
66
|
|
|
68
|
-
|
|
67
|
+
const $module = $(this);
|
|
69
68
|
let $context;
|
|
70
69
|
let $tabs;
|
|
71
70
|
|
|
72
|
-
|
|
71
|
+
const cache = {};
|
|
73
72
|
let firstLoad = true;
|
|
74
73
|
let recursionDepth = 0;
|
|
75
|
-
|
|
74
|
+
const element = this;
|
|
76
75
|
let instance = $module.data(moduleNamespace);
|
|
77
76
|
|
|
78
77
|
let activeTabPath;
|
|
79
78
|
let parameterArray;
|
|
80
|
-
let module;
|
|
81
79
|
|
|
82
80
|
let historyEvent;
|
|
83
81
|
|
|
84
|
-
module = {
|
|
82
|
+
const module = {
|
|
85
83
|
|
|
86
84
|
initialize: function () {
|
|
87
85
|
module.debug('Initializing tab menu item', $module);
|
|
@@ -106,7 +104,7 @@
|
|
|
106
104
|
module.changeTab(activeTab);
|
|
107
105
|
}
|
|
108
106
|
if (activeTab !== null && settings.history && settings.historyType === 'state') {
|
|
109
|
-
|
|
107
|
+
const autoUpdate = $.address.autoUpdate();
|
|
110
108
|
$.address.autoUpdate(false);
|
|
111
109
|
$.address.value(activeTab);
|
|
112
110
|
$.address.autoUpdate(autoUpdate);
|
|
@@ -197,7 +195,7 @@
|
|
|
197
195
|
|
|
198
196
|
event: {
|
|
199
197
|
click: function (event) {
|
|
200
|
-
|
|
198
|
+
const tabPath = $(this).data(metadata.tab);
|
|
201
199
|
if (tabPath !== undefined) {
|
|
202
200
|
if (settings.history) {
|
|
203
201
|
module.verbose('Updating page state', event);
|
|
@@ -213,8 +211,8 @@
|
|
|
213
211
|
},
|
|
214
212
|
history: {
|
|
215
213
|
change: function (event) {
|
|
216
|
-
|
|
217
|
-
|
|
214
|
+
const tabPath = event.pathNames.join('/') || module.get.initialPath();
|
|
215
|
+
const pageTitle = settings.templates.determineTitle(tabPath) || false;
|
|
218
216
|
module.performance.display();
|
|
219
217
|
module.debug('History change event', tabPath, event);
|
|
220
218
|
historyEvent = event;
|
|
@@ -242,13 +240,11 @@
|
|
|
242
240
|
? cache[cacheKey]
|
|
243
241
|
: false;
|
|
244
242
|
},
|
|
245
|
-
add: function (cacheKey, content) {
|
|
246
|
-
cacheKey = cacheKey || activeTabPath;
|
|
243
|
+
add: function (cacheKey = activeTabPath, content = '') {
|
|
247
244
|
module.debug('Adding cached content for', cacheKey);
|
|
248
245
|
cache[cacheKey] = content;
|
|
249
246
|
},
|
|
250
|
-
remove: function (cacheKey) {
|
|
251
|
-
cacheKey = cacheKey || activeTabPath;
|
|
247
|
+
remove: function (cacheKey = activeTabPath) {
|
|
252
248
|
module.debug('Removing cached content for', cacheKey);
|
|
253
249
|
delete cache[cacheKey];
|
|
254
250
|
},
|
|
@@ -256,7 +252,7 @@
|
|
|
256
252
|
|
|
257
253
|
set: {
|
|
258
254
|
auto: function () {
|
|
259
|
-
|
|
255
|
+
const url = typeof settings.path === 'string'
|
|
260
256
|
? settings.path.replace(/\/$/, '') + '/{$tab}'
|
|
261
257
|
: '/{$tab}';
|
|
262
258
|
module.verbose('Setting up automatic tab retrieval from server', url);
|
|
@@ -269,8 +265,8 @@
|
|
|
269
265
|
}
|
|
270
266
|
},
|
|
271
267
|
loading: function (tabPath) {
|
|
272
|
-
|
|
273
|
-
|
|
268
|
+
const $tab = module.get.tabElement(tabPath);
|
|
269
|
+
const isLoading = $tab.hasClass(className.loading);
|
|
274
270
|
if (!isLoading) {
|
|
275
271
|
module.verbose('Setting loading state for', $tab);
|
|
276
272
|
$tab
|
|
@@ -288,20 +284,20 @@
|
|
|
288
284
|
},
|
|
289
285
|
|
|
290
286
|
changeTab: function (tabPath) {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
287
|
+
const pushStateAvailable = window.history && window.history.pushState;
|
|
288
|
+
const shouldIgnoreLoad = pushStateAvailable && settings.ignoreFirstLoad && firstLoad;
|
|
289
|
+
const remoteContent = settings.auto || $.isPlainObject(settings.apiSettings);
|
|
294
290
|
// only add the default path if not remote content
|
|
295
|
-
|
|
291
|
+
const pathArray = remoteContent && !shouldIgnoreLoad
|
|
296
292
|
? module.utilities.pathToArray(tabPath)
|
|
297
293
|
: module.get.defaultPathArray(tabPath);
|
|
298
294
|
tabPath = module.utilities.arrayToPath(pathArray);
|
|
299
295
|
$.each(pathArray, function (index, tab) {
|
|
300
|
-
|
|
296
|
+
const currentPathArray = pathArray.slice(0, index + 1);
|
|
301
297
|
let currentPath = module.utilities.arrayToPath(currentPathArray);
|
|
302
298
|
|
|
303
|
-
|
|
304
|
-
|
|
299
|
+
const isTab = module.is.tab(currentPath);
|
|
300
|
+
const isLastIndex = index + 1 === pathArray.length;
|
|
305
301
|
|
|
306
302
|
let $tab = module.get.tabElement(currentPath);
|
|
307
303
|
let $anchor;
|
|
@@ -391,7 +387,7 @@
|
|
|
391
387
|
},
|
|
392
388
|
|
|
393
389
|
scrollTo: function ($element) {
|
|
394
|
-
|
|
390
|
+
const scrollOffset = $element && $element.length > 0
|
|
395
391
|
? $element.offset().top
|
|
396
392
|
: false;
|
|
397
393
|
if (scrollOffset !== false) {
|
|
@@ -401,33 +397,28 @@
|
|
|
401
397
|
},
|
|
402
398
|
|
|
403
399
|
update: {
|
|
404
|
-
content: function (tabPath, html, evaluateScripts) {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
evaluateScripts = evaluateScripts !== undefined
|
|
408
|
-
? evaluateScripts
|
|
409
|
-
: settings.evaluateScripts;
|
|
400
|
+
content: function (tabPath, html, evaluateScripts = settings.evaluateScripts) {
|
|
401
|
+
const $tab = module.get.tabElement(tabPath);
|
|
402
|
+
const tab = $tab[0];
|
|
410
403
|
if (typeof settings.cacheType === 'string' && settings.cacheType.toLowerCase() === 'dom' && typeof html !== 'string') {
|
|
411
404
|
$tab
|
|
412
405
|
.empty()
|
|
413
406
|
.append($(html).clone(true));
|
|
407
|
+
} else if (evaluateScripts) {
|
|
408
|
+
module.debug('Updating HTML and evaluating inline scripts', tabPath, html);
|
|
409
|
+
$tab.html(html);
|
|
414
410
|
} else {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
$tab.html(html);
|
|
418
|
-
} else {
|
|
419
|
-
module.debug('Updating HTML', tabPath, html);
|
|
420
|
-
tab.innerHTML = html;
|
|
421
|
-
}
|
|
411
|
+
module.debug('Updating HTML', tabPath, html);
|
|
412
|
+
tab.innerHTML = html;
|
|
422
413
|
}
|
|
423
414
|
},
|
|
424
415
|
},
|
|
425
416
|
|
|
426
417
|
fetch: {
|
|
427
418
|
|
|
428
|
-
content: function (tabPath, fullTabPath) {
|
|
429
|
-
|
|
430
|
-
|
|
419
|
+
content: function (tabPath, fullTabPath = tabPath) {
|
|
420
|
+
const $tab = module.get.tabElement(tabPath);
|
|
421
|
+
const apiSettings = {
|
|
431
422
|
dataType: 'html',
|
|
432
423
|
encodeParameters: false,
|
|
433
424
|
on: 'now',
|
|
@@ -462,13 +453,11 @@
|
|
|
462
453
|
tab: fullTabPath,
|
|
463
454
|
},
|
|
464
455
|
};
|
|
465
|
-
|
|
466
|
-
|
|
456
|
+
const request = $tab.api('get request') || false;
|
|
457
|
+
const existingRequest = request && request.state() === 'pending';
|
|
467
458
|
let requestSettings;
|
|
468
|
-
let cachedContent;
|
|
469
459
|
|
|
470
|
-
|
|
471
|
-
cachedContent = module.cache.read(fullTabPath);
|
|
460
|
+
const cachedContent = module.cache.read(fullTabPath);
|
|
472
461
|
|
|
473
462
|
if (settings.cache && cachedContent) {
|
|
474
463
|
module.activate.tab(tabPath);
|
|
@@ -501,11 +490,11 @@
|
|
|
501
490
|
module.activate.navigation(tabPath);
|
|
502
491
|
},
|
|
503
492
|
tab: function (tabPath) {
|
|
504
|
-
|
|
505
|
-
|
|
493
|
+
const $tab = module.get.tabElement(tabPath);
|
|
494
|
+
const $deactiveTabs = settings.deactivate === 'siblings'
|
|
506
495
|
? $tab.siblings($tabs)
|
|
507
496
|
: $tabs.not($tab);
|
|
508
|
-
|
|
497
|
+
const isActive = $tab.hasClass(className.active);
|
|
509
498
|
module.verbose('Showing tab content for', $tab);
|
|
510
499
|
if (!isActive) {
|
|
511
500
|
$tab
|
|
@@ -518,11 +507,11 @@
|
|
|
518
507
|
}
|
|
519
508
|
},
|
|
520
509
|
navigation: function (tabPath) {
|
|
521
|
-
|
|
522
|
-
|
|
510
|
+
const $navigation = module.get.navElement(tabPath);
|
|
511
|
+
const $deactiveNavigation = settings.deactivate === 'siblings'
|
|
523
512
|
? $navigation.siblings($allModules)
|
|
524
513
|
: $allModules.not($navigation);
|
|
525
|
-
|
|
514
|
+
const isActive = $navigation.hasClass(className.active);
|
|
526
515
|
module.verbose('Activating tab navigation for', $navigation, tabPath);
|
|
527
516
|
if (!isActive) {
|
|
528
517
|
$navigation
|
|
@@ -568,8 +557,8 @@
|
|
|
568
557
|
return module.utilities.pathToArray(module.get.defaultPath(tabPath));
|
|
569
558
|
},
|
|
570
559
|
defaultPath: function (tabPath) {
|
|
571
|
-
|
|
572
|
-
|
|
560
|
+
const $defaultNav = $allModules.filter('[data-' + metadata.tab + '^="' + CSS.escape(tabPath) + '/"]').eq(0);
|
|
561
|
+
const defaultTab = $defaultNav.data(metadata.tab) || false;
|
|
573
562
|
if (defaultTab) {
|
|
574
563
|
module.debug('Found default tab', defaultTab);
|
|
575
564
|
if (recursionDepth < settings.maxDepth) {
|
|
@@ -585,21 +574,14 @@
|
|
|
585
574
|
|
|
586
575
|
return tabPath;
|
|
587
576
|
},
|
|
588
|
-
navElement: function (tabPath) {
|
|
589
|
-
tabPath = tabPath || activeTabPath;
|
|
590
|
-
|
|
577
|
+
navElement: function (tabPath = activeTabPath) {
|
|
591
578
|
return $allModules.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
|
|
592
579
|
},
|
|
593
|
-
tabElement: function (tabPath) {
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
tabPath = tabPath || activeTabPath;
|
|
599
|
-
tabPathArray = module.utilities.pathToArray(tabPath);
|
|
600
|
-
lastTab = module.utilities.last(tabPathArray);
|
|
601
|
-
$fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
|
|
602
|
-
$simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(lastTab) + '"]');
|
|
580
|
+
tabElement: function (tabPath = activeTabPath) {
|
|
581
|
+
const tabPathArray = module.utilities.pathToArray(tabPath);
|
|
582
|
+
const lastTab = module.utilities.last(tabPathArray);
|
|
583
|
+
const $fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
|
|
584
|
+
const $simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + CSS.escape(lastTab) + '"]');
|
|
603
585
|
|
|
604
586
|
return $fullPathTab.length > 0
|
|
605
587
|
? $fullPathTab
|
|
@@ -615,11 +597,11 @@
|
|
|
615
597
|
let activeTab = null;
|
|
616
598
|
|
|
617
599
|
$tabs.each(function (_index, tab) {
|
|
618
|
-
|
|
600
|
+
const $tab = $(tab);
|
|
619
601
|
|
|
620
602
|
if ($tab.hasClass(className.active)) {
|
|
621
|
-
|
|
622
|
-
|
|
603
|
+
const tabPath = $(this).data(metadata.tab);
|
|
604
|
+
const $anchor = $allModules.filter('[data-' + metadata.tab + '="' + CSS.escape(tabPath) + '"]');
|
|
623
605
|
|
|
624
606
|
if ($anchor.hasClass(className.active)) {
|
|
625
607
|
activeTab = tabPath;
|
|
@@ -634,7 +616,7 @@
|
|
|
634
616
|
utilities: {
|
|
635
617
|
filterArray: function (keepArray, removeArray) {
|
|
636
618
|
return $.grep(keepArray, function (keepValue) {
|
|
637
|
-
return
|
|
619
|
+
return !removeArray.includes(keepValue);
|
|
638
620
|
});
|
|
639
621
|
},
|
|
640
622
|
last: function (array) {
|
|
@@ -681,30 +663,30 @@
|
|
|
681
663
|
return module[name];
|
|
682
664
|
}
|
|
683
665
|
},
|
|
684
|
-
debug: function () {
|
|
666
|
+
debug: function (...args) {
|
|
685
667
|
if (!settings.silent && settings.debug) {
|
|
686
668
|
if (settings.performance) {
|
|
687
|
-
module.performance.log(
|
|
669
|
+
module.performance.log(args);
|
|
688
670
|
} else {
|
|
689
671
|
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
|
690
|
-
module.debug.apply(console,
|
|
672
|
+
module.debug.apply(console, args);
|
|
691
673
|
}
|
|
692
674
|
}
|
|
693
675
|
},
|
|
694
|
-
verbose: function () {
|
|
676
|
+
verbose: function (...args) {
|
|
695
677
|
if (!settings.silent && settings.verbose && settings.debug) {
|
|
696
678
|
if (settings.performance) {
|
|
697
|
-
module.performance.log(
|
|
679
|
+
module.performance.log(args);
|
|
698
680
|
} else {
|
|
699
681
|
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
|
700
|
-
module.verbose.apply(console,
|
|
682
|
+
module.verbose.apply(console, args);
|
|
701
683
|
}
|
|
702
684
|
}
|
|
703
685
|
},
|
|
704
|
-
error: function () {
|
|
686
|
+
error: function (...args) {
|
|
705
687
|
if (!settings.silent) {
|
|
706
688
|
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
|
707
|
-
module.error.apply(console,
|
|
689
|
+
module.error.apply(console, args);
|
|
708
690
|
}
|
|
709
691
|
},
|
|
710
692
|
performance: {
|
|
@@ -719,7 +701,7 @@
|
|
|
719
701
|
time = currentTime;
|
|
720
702
|
performance.push({
|
|
721
703
|
Name: message[0],
|
|
722
|
-
Arguments:
|
|
704
|
+
Arguments: message.slice(1),
|
|
723
705
|
Element: element,
|
|
724
706
|
'Execution Time': executionTime,
|
|
725
707
|
});
|
|
@@ -740,30 +722,22 @@
|
|
|
740
722
|
title += ' ' + totalTime + 'ms';
|
|
741
723
|
if (performance.length > 0) {
|
|
742
724
|
console.groupCollapsed(title);
|
|
743
|
-
|
|
744
|
-
console.table(performance);
|
|
745
|
-
} else {
|
|
746
|
-
$.each(performance, function (index, data) {
|
|
747
|
-
console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
|
|
748
|
-
});
|
|
749
|
-
}
|
|
725
|
+
console.table(performance);
|
|
750
726
|
console.groupEnd();
|
|
751
727
|
}
|
|
752
728
|
performance = [];
|
|
753
729
|
},
|
|
754
730
|
},
|
|
755
|
-
invoke: function (query, passedArguments, context) {
|
|
731
|
+
invoke: function (query, passedArguments = queryArguments, context = element) {
|
|
756
732
|
let object = instance;
|
|
757
733
|
let maxDepth;
|
|
758
734
|
let found;
|
|
759
735
|
let response;
|
|
760
|
-
passedArguments = passedArguments || queryArguments;
|
|
761
|
-
context = context || element;
|
|
762
736
|
if (typeof query === 'string' && object !== undefined) {
|
|
763
737
|
query = query.split(/[ .]/);
|
|
764
738
|
maxDepth = query.length - 1;
|
|
765
739
|
$.each(query, function (depth, value) {
|
|
766
|
-
|
|
740
|
+
const camelCaseValue = depth !== maxDepth
|
|
767
741
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
|
768
742
|
: query;
|
|
769
743
|
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
|
@@ -805,7 +779,7 @@
|
|
|
805
779
|
if (instance === undefined) {
|
|
806
780
|
module.initialize();
|
|
807
781
|
}
|
|
808
|
-
module.invoke(
|
|
782
|
+
module.invoke(parameters);
|
|
809
783
|
} else {
|
|
810
784
|
if (instance !== undefined) {
|
|
811
785
|
instance.invoke('destroy');
|
|
@@ -820,9 +794,7 @@
|
|
|
820
794
|
};
|
|
821
795
|
|
|
822
796
|
// shortcut for tabbed content with no defined navigation
|
|
823
|
-
$.tab =
|
|
824
|
-
$(window).tab.apply(this, arguments);
|
|
825
|
-
};
|
|
797
|
+
$.tab = $.fn.tab;
|
|
826
798
|
|
|
827
799
|
$.fn.tab.settings = {
|
|
828
800
|
|
|
@@ -875,10 +847,6 @@
|
|
|
875
847
|
state: 'History requires Asual\'s Address library <https://github.com/asual/jquery-address>',
|
|
876
848
|
},
|
|
877
849
|
|
|
878
|
-
regExp: {
|
|
879
|
-
escape: /[\s#$()*+,.:=?@[\\\]^{|}-]/g,
|
|
880
|
-
},
|
|
881
|
-
|
|
882
850
|
metadata: {
|
|
883
851
|
tab: 'tab',
|
|
884
852
|
loaded: 'loaded',
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* # Fomantic UI - 2.10.0-beta.
|
|
2
|
+
* # Fomantic UI - 2.10.0-beta.81+4f706c2
|
|
3
3
|
* https://github.com/fomantic/Fomantic-UI
|
|
4
4
|
* https://fomantic-ui.com/
|
|
5
5
|
*
|
|
6
|
-
* Copyright
|
|
6
|
+
* Copyright 2026 Contributors
|
|
7
7
|
* Released under the MIT license
|
|
8
8
|
* https://opensource.org/licenses/MIT
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
11
|
-
!function(F,j,n){"use strict";function U(e){return"function"==typeof e&&"number"!=typeof e.nodeType}j=void 0!==j&&j.Math===Math?j:globalThis,F.fn.tab=function(r){let c=U(this)?F(j):F(this),l=F(n),d=Date.now(),u=[],g=r,P="string"==typeof g,L=[].slice.call(arguments,1),E=function(e,t){let a;return 0<=[j,n].indexOf(e)?a=F(e):0===(a=F(t.document).find(e)).length&&(a=t.frameElement?E(e,t.parent):j),a},w=!1,O;return c.each(function(){let b=F.isPlainObject(r)?F.extend(!0,{},F.fn.tab.settings,r):F.extend({},F.fn.tab.settings),f=b.className,h=b.metadata,t=b.selector,p=b.error;b.regExp;let a="."+b.namespace,e="module-"+b.namespace,v=F(this),m,i,n={},y=!0,o=0,T=this,s=v.data(e),C,S,A,x;A={initialize:function(){A.debug("Initializing tab menu item",v),A.determineTabs(),A.debug("Determining tabs",b.context,i),b.auto&&A.set.auto(),A.bind.events(),b.history&&!w&&(b.history=A.initializeHistory(),w=!0);let e=A.determine.activeTab();var t;b.autoTabActivation&&void 0===s&&null===e&&(e=!0===b.autoTabActivation?A.get.initialPath():b.autoTabActivation,A.debug("No active tab detected, setting tab active",e),A.changeTab(e)),null!==e&&b.history&&"state"===b.historyType&&(t=F.address.autoUpdate(),F.address.autoUpdate(!1),F.address.value(e),F.address.autoUpdate(t)),A.instantiate()},instantiate:function(){A.verbose("Storing instance of module",A),s=A,v.data(e,A)},destroy:function(){A.debug("Destroying tabs",v),v.removeData(e).off(a)},bind:{events:function(){var e;null!==(e=T)&&e===e.window||(A.debug("Attaching tab activation events to element",v),v.on("click"+a,A.event.click))}},determineTabs:function(){let e;"parent"===b.context?(0<v.closest(t.ui).length?(e=v.closest(t.ui),A.verbose("Using closest UI element as parent",e)):e=v,m=e.parent(),A.verbose("Determined parent element for creating context",m)):b.context?(m=E(b.context,j),A.verbose("Using selector for tab context",b.context,m)):m=F("body"),b.childrenOnly?(i=m.children(t.tabs),A.debug("Searching tab context children for tabs",m,i)):(i=m.find(t.tabs),A.debug("Searching tab context for tabs",m,i))},initializeHistory:function(){if(A.debug("Initializing page state"),void 0===F.address)return A.error(p.state),!1;if("state"===b.historyType){if(A.debug("Using HTML5 to manage state"),!1===b.path)return A.error(p.path),!1;F.address.history(!0).state(b.path),F(j).trigger("popstate")}return F.address.bind("change",A.event.history.change),!0},event:{click:function(e){var t=F(this).data(h.tab);void 0!==t?(b.history?(A.verbose("Updating page state",e),F.address.value(t)):(A.verbose("Changing tab",e),A.changeTab(t)),e.preventDefault()):A.debug("No tab specified")},history:{change:function(e){var t=e.pathNames.join("/")||A.get.initialPath(),a=b.templates.determineTitle(t)||!1;A.performance.display(),A.debug("History change event",t,e),x=e,void 0!==t&&A.changeTab(t),a&&F.address.title(a)}}},refresh:function(){C&&(A.debug("Refreshing tab",C),A.changeTab(C))},cache:{read:function(e){return void 0!==e&&n[e]},add:function(e,t){e=e||C,A.debug("Adding cached content for",e),n[e]=t},remove:function(e){e=e||C,A.debug("Removing cached content for",e),delete n[e]}},set:{auto:function(){var e="string"==typeof b.path?b.path.replace(/\/$/,"")+"/{$tab}":"/{$tab}";A.verbose("Setting up automatic tab retrieval from server",e),F.isPlainObject(b.apiSettings)?b.apiSettings.url=e:b.apiSettings={url:e}},loading:function(e){let t=A.get.tabElement(e);t.hasClass(f.loading)||(A.verbose("Setting loading state for",t),t.addClass(f.loading).siblings(i).removeClass(f.active+" "+f.loading),0<t.length&&b.onRequest.call(t[0],e))},state:function(e){F.address.value(e)}},changeTab:function(l){let d=j.history&&j.history.pushState&&b.ignoreFirstLoad&&y,u=b.auto||F.isPlainObject(b.apiSettings),g=u&&!d?A.utilities.pathToArray(l):A.get.defaultPathArray(l);l=A.utilities.arrayToPath(g),F.each(g,function(e,t){var a=g.slice(0,e+1);let n=A.utilities.arrayToPath(a);var i=A.is.tab(n),o=e+1===g.length;let r=A.get.tabElement(n),s,c;return A.verbose("Looking for tab",t),i?(A.verbose("Tab was found",t),C=n,S=A.utilities.filterArray(g,a),o?c=!0:(i=g.slice(0,e+2),t=A.utilities.arrayToPath(i),(c=!A.is.tab(t))&&A.verbose("Tab parameters found",i)),!1===b.onBeforeChange.call(T,n)?(A.debug("onBeforeChange returned false, cancelling tab change",r),!1):c&&u?(d?(A.debug("Ignoring remote content on first tab load",n),y=!1,A.cache.add(l,r.html()),A.activate.all(n),b.onFirstLoad.call(r[0],n,S,x),b.onLoad.call(r[0],n,S,x)):(A.activate.navigation(n),A.fetch.content(n,l)),!1):(A.debug("Opened local tab",n),A.activate.all(n),A.cache.read(n)||(A.cache.add(n,!0),A.debug("First time tab loaded calling tab init"),b.onFirstLoad.call(r[0],n,S,x)),void b.onLoad.call(r[0],n,S,x))):-1!==l.search("/")||""===l?(A.error(p.missingTab,v,m,n),!1):(s=F("#"+CSS.escape(l)+', a[name="'+CSS.escape(l)+'"]'),n=s.closest("[data-tab]").data(h.tab),r=A.get.tabElement(n),s&&0<s.length&&n?(A.debug("Anchor link used, opening parent tab",r,s),!1===b.onBeforeChange.call(T,n)?A.debug("onBeforeChange returned false, cancelling tab change",r):(r.hasClass(f.active)||setTimeout(function(){A.scrollTo(s)},0),A.activate.all(n),A.cache.read(n)||(A.cache.add(n,!0),A.debug("First time tab loaded calling tab init"),b.onFirstLoad.call(r[0],n,S,x)),b.onLoad.call(r[0],n,S,x)),!1):void 0)})},scrollTo:function(e){var t=!!(e&&0<e.length)&&e.offset().top;!1!==t&&(A.debug("Forcing scroll to an in-page link in a hidden tab",t,e),l.scrollTop(t))},update:{content:function(e,t,a){let n=A.get.tabElement(e),i=n[0];a=void 0!==a?a:b.evaluateScripts,"string"==typeof b.cacheType&&"dom"===b.cacheType.toLowerCase()&&"string"!=typeof t?n.empty().append(F(t).clone(!0)):a?(A.debug("Updating HTML and evaluating inline scripts",e,t),n.html(t)):(A.debug("Updating HTML",e,t),i.innerHTML=t)}},fetch:{content:function(t,a){let n=A.get.tabElement(t);var e={dataType:"html",encodeParameters:!1,on:"now",cache:b.alwaysRefresh,onSuccess:function(e){"response"===b.cacheType&&A.cache.add(a,e),A.update.content(t,e),t==C?(A.debug("Content loaded",t),A.activate.tab(t)):A.debug("Content loaded in background",t),b.onFirstLoad.call(n[0],t,S,x),b.onLoad.call(n[0],t,S,x),b.loadOnce?A.cache.add(a,!0):"string"==typeof b.cacheType&&"dom"===b.cacheType.toLowerCase()&&0<n.children().length?setTimeout(function(){let e=n.children().clone(!0);e=e.not("script"),A.cache.add(a,e)},0):A.cache.add(a,n.html())},urlData:{tab:a}};let i=n.api("get request")||!1;var o,r=i&&"pending"===i.state();a=a||t,o=A.cache.read(a),b.cache&&o?(A.activate.tab(t),A.debug("Adding cached content",a),b.loadOnce||("once"===b.evaluateScripts?A.update.content(t,o,!1):A.update.content(t,o)),b.onLoad.call(n[0],t,S,x)):r?(A.set.loading(t),A.debug("Content is already loading",a)):void 0!==F.api?(o=F.extend(!0,{},b.apiSettings,e),A.debug("Retrieving remote content",a,o),A.set.loading(t),n.api(o)):A.error(p.api)}},activate:{all:function(e){A.activate.tab(e),A.activate.navigation(e)},tab:function(e){let t=A.get.tabElement(e),a="siblings"===b.deactivate?t.siblings(i):i.not(t);var n=t.hasClass(f.active);A.verbose("Showing tab content for",t),n||(t.addClass(f.active),a.removeClass(f.active+" "+f.loading),0<t.length&&b.onVisible.call(t[0],e))},navigation:function(e){let t=A.get.navElement(e),a="siblings"===b.deactivate?t.siblings(c):c.not(t);var n=t.hasClass(f.active);A.verbose("Activating tab navigation for",t,e),n||(t.addClass(f.active),a.removeClass(f.active+" "+f.loading))}},deactivate:{all:function(){A.deactivate.navigation(),A.deactivate.tabs()},navigation:function(){c.removeClass(f.active)},tabs:function(){i.removeClass(f.active+" "+f.loading)}},is:{tab:function(e){return void 0!==e&&0<A.get.tabElement(e).length}},get:{initialPath:function(){return c.eq(0).data(h.tab)||i.eq(0).data(h.tab)},path:function(){return F.address.value()},defaultPathArray:function(e){return A.utilities.pathToArray(A.get.defaultPath(e))},defaultPath:function(e){let t=c.filter("[data-"+h.tab+'^="'+CSS.escape(e)+'/"]').eq(0);var a=t.data(h.tab)||!1;if(a){if(A.debug("Found default tab",a),o<b.maxDepth)return o++,A.get.defaultPath(a);A.error(p.recursion)}else A.debug("No default tabs found for",e,i);return o=0,e},navElement:function(e){return e=e||C,c.filter("[data-"+h.tab+'="'+CSS.escape(e)+'"]')},tabElement:function(e){var t;return e=e||C,t=A.utilities.pathToArray(e),t=A.utilities.last(t),e=i.filter("[data-"+h.tab+'="'+CSS.escape(e)+'"]'),t=i.filter("[data-"+h.tab+'="'+CSS.escape(t)+'"]'),0<e.length?e:t},tab:function(){return C}},determine:{activeTab:function(){let n=null;return i.each(function(e,t){let a=F(t);if(a.hasClass(f.active)){t=F(this).data(h.tab);let e=c.filter("[data-"+h.tab+'="'+CSS.escape(t)+'"]');e.hasClass(f.active)&&(n=t)}}),n}},utilities:{filterArray:function(e,t){return F.grep(e,function(e){return-1===F.inArray(e,t)})},last:function(e){return!!Array.isArray(e)&&e[e.length-1]},pathToArray:function(e){return"string"==typeof(e=void 0===e?C:e)?e.split("/"):[e]},arrayToPath:function(e){return!!Array.isArray(e)&&e.join("/")}},setting:function(e,t){if(A.debug("Changing setting",e,t),F.isPlainObject(e))F.extend(!0,b,e);else{if(void 0===t)return b[e];F.isPlainObject(b[e])?F.extend(!0,b[e],t):b[e]=t}},internal:function(e,t){if(F.isPlainObject(e))F.extend(!0,A,e);else{if(void 0===t)return A[e];A[e]=t}},debug:function(){!b.silent&&b.debug&&(b.performance?A.performance.log(arguments):(A.debug=Function.prototype.bind.call(console.info,console,b.name+":"),A.debug.apply(console,arguments)))},verbose:function(){!b.silent&&b.verbose&&b.debug&&(b.performance?A.performance.log(arguments):(A.verbose=Function.prototype.bind.call(console.info,console,b.name+":"),A.verbose.apply(console,arguments)))},error:function(){b.silent||(A.error=Function.prototype.bind.call(console.error,console,b.name+":"),A.error.apply(console,arguments))},performance:{log:function(e){var t,a;b.performance&&(a=(t=Date.now())-(d||t),d=t,u.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:T,"Execution Time":a})),clearTimeout(A.performance.timer),A.performance.timer=setTimeout(function(){A.performance.display()},500)},display:function(){var e=b.name+":";let a=0;d=!1,clearTimeout(A.performance.timer),F.each(u,function(e,t){a+=t["Execution Time"]}),e+=" "+a+"ms",0<u.length&&(console.groupCollapsed(e),console.table?console.table(u):F.each(u,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),u=[]}},invoke:function(n,e,t){let i=s,o,r,a;return e=e||L,t=t||T,"string"==typeof n&&void 0!==i&&(n=n.split(/[ .]/),o=n.length-1,F.each(n,function(e,t){var a=e!==o?t+n[e+1].charAt(0).toUpperCase()+n[e+1].slice(1):n;if(F.isPlainObject(i[a])&&e!==o)i=i[a];else{if(void 0!==i[a])return r=i[a],!1;{if(!F.isPlainObject(i[t])||e===o)return void 0!==i[t]?r=i[t]:A.error(p.method,n),!1;i=i[t]}}})),U(r)?a=r.apply(t,e):void 0!==r&&(a=r),Array.isArray(O)?O.push(a):void 0!==O?O=[O,a]:void 0!==a&&(O=a),r}},P?(void 0===s&&A.initialize(),A.invoke(g)):(void 0!==s&&s.invoke("destroy"),A.initialize())}),void 0!==O?O:this},F.tab=function(){F(j).tab.apply(this,arguments)},F.fn.tab.settings={name:"Tab",namespace:"tab",silent:!1,debug:!1,verbose:!1,performance:!0,auto:!1,history:!1,historyType:"hash",path:!1,context:!1,childrenOnly:!1,maxDepth:25,deactivate:"siblings",alwaysRefresh:!1,cache:!0,loadOnce:!1,cacheType:"response",ignoreFirstLoad:!1,apiSettings:!1,evaluateScripts:"once",autoTabActivation:!0,onFirstLoad:function(e,t,a){},onLoad:function(e,t,a){},onVisible:function(e,t,a){},onRequest:function(e,t,a){},onBeforeChange:function(e){},templates:{determineTitle:function(e){}},error:{api:"You attempted to load content without API module",method:"The method you called is not defined",missingTab:"Activated tab cannot be found. Tabs are case-sensitive.",noContent:"The tab you specified is missing a content url.",path:"History enabled, but no path was specified",recursion:"Max recursive depth reached",state:"History requires Asual's Address library <https://github.com/asual/jquery-address>"},regExp:{escape:/[\s#$()*+,.:=?@[\\\]^{|}-]/g},metadata:{tab:"tab",loaded:"loaded",promise:"promise"},className:{loading:"loading",active:"active"},selector:{tabs:".ui.tab",ui:".ui"}}}(jQuery,window,document);
|
|
11
|
+
!function(F,O,n){"use strict";function j(e){return"function"==typeof e&&"number"!=typeof e.nodeType}O=void 0!==O&&O.Math===Math?O:globalThis,F.fn.tab=function(...e){const r=j(this)?F(O):F(this),c=F(n);let l=Date.now(),d=[];const u=e[0],g="string"==typeof u,x=e.slice(1),L=function(e,t){let a;return[O,n].includes(e)?a=F(e):0===(a=F(t.document).find(e)).length&&(a=t.frameElement?L(e,t.parent):O),a};let w=!1,E;return r.each(function(){const b=F.isPlainObject(u)?F.extend(!0,{},F.fn.tab.settings,u):F.extend({},F.fn.tab.settings),f=b.className,h=b.metadata,t=b.selector,p=b.error,a="."+b.namespace,e="module-"+b.namespace,v=F(this);let m,o;const n={};let y=!0,i=0;const T=this;let s=v.data(e),C,S,A;const P={initialize:function(){P.debug("Initializing tab menu item",v),P.determineTabs(),P.debug("Determining tabs",b.context,o),b.auto&&P.set.auto(),P.bind.events(),b.history&&!w&&(b.history=P.initializeHistory(),w=!0);let e=P.determine.activeTab();var t;b.autoTabActivation&&void 0===s&&null===e&&(e=!0===b.autoTabActivation?P.get.initialPath():b.autoTabActivation,P.debug("No active tab detected, setting tab active",e),P.changeTab(e)),null!==e&&b.history&&"state"===b.historyType&&(t=F.address.autoUpdate(),F.address.autoUpdate(!1),F.address.value(e),F.address.autoUpdate(t)),P.instantiate()},instantiate:function(){P.verbose("Storing instance of module",P),s=P,v.data(e,P)},destroy:function(){P.debug("Destroying tabs",v),v.removeData(e).off(a)},bind:{events:function(){var e;null!==(e=T)&&e===e.window||(P.debug("Attaching tab activation events to element",v),v.on("click"+a,P.event.click))}},determineTabs:function(){let e;"parent"===b.context?(0<v.closest(t.ui).length?(e=v.closest(t.ui),P.verbose("Using closest UI element as parent",e)):e=v,m=e.parent(),P.verbose("Determined parent element for creating context",m)):b.context?(m=L(b.context,O),P.verbose("Using selector for tab context",b.context,m)):m=F("body"),b.childrenOnly?(o=m.children(t.tabs),P.debug("Searching tab context children for tabs",m,o)):(o=m.find(t.tabs),P.debug("Searching tab context for tabs",m,o))},initializeHistory:function(){if(P.debug("Initializing page state"),void 0===F.address)return P.error(p.state),!1;if("state"===b.historyType){if(P.debug("Using HTML5 to manage state"),!1===b.path)return P.error(p.path),!1;F.address.history(!0).state(b.path),F(O).trigger("popstate")}return F.address.bind("change",P.event.history.change),!0},event:{click:function(e){var t=F(this).data(h.tab);void 0!==t?(b.history?(P.verbose("Updating page state",e),F.address.value(t)):(P.verbose("Changing tab",e),P.changeTab(t)),e.preventDefault()):P.debug("No tab specified")},history:{change:function(e){var t=e.pathNames.join("/")||P.get.initialPath(),a=b.templates.determineTitle(t)||!1;P.performance.display(),P.debug("History change event",t,e),A=e,void 0!==t&&P.changeTab(t),a&&F.address.title(a)}}},refresh:function(){C&&(P.debug("Refreshing tab",C),P.changeTab(C))},cache:{read:function(e){return void 0!==e&&n[e]},add:function(e=C,t=""){P.debug("Adding cached content for",e),n[e]=t},remove:function(e=C){P.debug("Removing cached content for",e),delete n[e]}},set:{auto:function(){var e="string"==typeof b.path?b.path.replace(/\/$/,"")+"/{$tab}":"/{$tab}";P.verbose("Setting up automatic tab retrieval from server",e),F.isPlainObject(b.apiSettings)?b.apiSettings.url=e:b.apiSettings={url:e}},loading:function(e){const t=P.get.tabElement(e);t.hasClass(f.loading)||(P.verbose("Setting loading state for",t),t.addClass(f.loading).siblings(o).removeClass(f.active+" "+f.loading),0<t.length&&b.onRequest.call(t[0],e))},state:function(e){F.address.value(e)}},changeTab:function(l){const d=O.history&&O.history.pushState&&b.ignoreFirstLoad&&y,u=b.auto||F.isPlainObject(b.apiSettings),g=u&&!d?P.utilities.pathToArray(l):P.get.defaultPathArray(l);l=P.utilities.arrayToPath(g),F.each(g,function(e,t){var a=g.slice(0,e+1);let n=P.utilities.arrayToPath(a);var i=P.is.tab(n),o=e+1===g.length;let r=P.get.tabElement(n),s,c;return P.verbose("Looking for tab",t),i?(P.verbose("Tab was found",t),C=n,S=P.utilities.filterArray(g,a),o?c=!0:(i=g.slice(0,e+2),t=P.utilities.arrayToPath(i),(c=!P.is.tab(t))&&P.verbose("Tab parameters found",i)),!1===b.onBeforeChange.call(T,n)?(P.debug("onBeforeChange returned false, cancelling tab change",r),!1):c&&u?(d?(P.debug("Ignoring remote content on first tab load",n),y=!1,P.cache.add(l,r.html()),P.activate.all(n),b.onFirstLoad.call(r[0],n,S,A),b.onLoad.call(r[0],n,S,A)):(P.activate.navigation(n),P.fetch.content(n,l)),!1):(P.debug("Opened local tab",n),P.activate.all(n),P.cache.read(n)||(P.cache.add(n,!0),P.debug("First time tab loaded calling tab init"),b.onFirstLoad.call(r[0],n,S,A)),void b.onLoad.call(r[0],n,S,A))):-1!==l.search("/")||""===l?(P.error(p.missingTab,v,m,n),!1):(s=F("#"+CSS.escape(l)+', a[name="'+CSS.escape(l)+'"]'),n=s.closest("[data-tab]").data(h.tab),r=P.get.tabElement(n),s&&0<s.length&&n?(P.debug("Anchor link used, opening parent tab",r,s),!1===b.onBeforeChange.call(T,n)?P.debug("onBeforeChange returned false, cancelling tab change",r):(r.hasClass(f.active)||setTimeout(function(){P.scrollTo(s)},0),P.activate.all(n),P.cache.read(n)||(P.cache.add(n,!0),P.debug("First time tab loaded calling tab init"),b.onFirstLoad.call(r[0],n,S,A)),b.onLoad.call(r[0],n,S,A)),!1):void 0)})},scrollTo:function(e){var t=!!(e&&0<e.length)&&e.offset().top;!1!==t&&(P.debug("Forcing scroll to an in-page link in a hidden tab",t,e),c.scrollTop(t))},update:{content:function(e,t,a=b.evaluateScripts){const n=P.get.tabElement(e),i=n[0];"string"==typeof b.cacheType&&"dom"===b.cacheType.toLowerCase()&&"string"!=typeof t?n.empty().append(F(t).clone(!0)):a?(P.debug("Updating HTML and evaluating inline scripts",e,t),n.html(t)):(P.debug("Updating HTML",e,t),i.innerHTML=t)}},fetch:{content:function(t,a=t){const n=P.get.tabElement(t);var e={dataType:"html",encodeParameters:!1,on:"now",cache:b.alwaysRefresh,onSuccess:function(e){"response"===b.cacheType&&P.cache.add(a,e),P.update.content(t,e),t==C?(P.debug("Content loaded",t),P.activate.tab(t)):P.debug("Content loaded in background",t),b.onFirstLoad.call(n[0],t,S,A),b.onLoad.call(n[0],t,S,A),b.loadOnce?P.cache.add(a,!0):"string"==typeof b.cacheType&&"dom"===b.cacheType.toLowerCase()&&0<n.children().length?setTimeout(function(){let e=n.children().clone(!0);e=e.not("script"),P.cache.add(a,e)},0):P.cache.add(a,n.html())},urlData:{tab:a}};const i=n.api("get request")||!1;var o=i&&"pending"===i.state(),r=P.cache.read(a);b.cache&&r?(P.activate.tab(t),P.debug("Adding cached content",a),b.loadOnce||("once"===b.evaluateScripts?P.update.content(t,r,!1):P.update.content(t,r)),b.onLoad.call(n[0],t,S,A)):o?(P.set.loading(t),P.debug("Content is already loading",a)):void 0!==F.api?(r=F.extend(!0,{},b.apiSettings,e),P.debug("Retrieving remote content",a,r),P.set.loading(t),n.api(r)):P.error(p.api)}},activate:{all:function(e){P.activate.tab(e),P.activate.navigation(e)},tab:function(e){const t=P.get.tabElement(e),a="siblings"===b.deactivate?t.siblings(o):o.not(t);var n=t.hasClass(f.active);P.verbose("Showing tab content for",t),n||(t.addClass(f.active),a.removeClass(f.active+" "+f.loading),0<t.length&&b.onVisible.call(t[0],e))},navigation:function(e){const t=P.get.navElement(e),a="siblings"===b.deactivate?t.siblings(r):r.not(t);var n=t.hasClass(f.active);P.verbose("Activating tab navigation for",t,e),n||(t.addClass(f.active),a.removeClass(f.active+" "+f.loading))}},deactivate:{all:function(){P.deactivate.navigation(),P.deactivate.tabs()},navigation:function(){r.removeClass(f.active)},tabs:function(){o.removeClass(f.active+" "+f.loading)}},is:{tab:function(e){return void 0!==e&&0<P.get.tabElement(e).length}},get:{initialPath:function(){return r.eq(0).data(h.tab)||o.eq(0).data(h.tab)},path:function(){return F.address.value()},defaultPathArray:function(e){return P.utilities.pathToArray(P.get.defaultPath(e))},defaultPath:function(e){const t=r.filter("[data-"+h.tab+'^="'+CSS.escape(e)+'/"]').eq(0);var a=t.data(h.tab)||!1;if(a){if(P.debug("Found default tab",a),i<b.maxDepth)return i++,P.get.defaultPath(a);P.error(p.recursion)}else P.debug("No default tabs found for",e,o);return i=0,e},navElement:function(e=C){return r.filter("[data-"+h.tab+'="'+CSS.escape(e)+'"]')},tabElement:function(e=C){var t=P.utilities.pathToArray(e),t=P.utilities.last(t),e=o.filter("[data-"+h.tab+'="'+CSS.escape(e)+'"]'),t=o.filter("[data-"+h.tab+'="'+CSS.escape(t)+'"]');return 0<e.length?e:t},tab:function(){return C}},determine:{activeTab:function(){let i=null;return o.each(function(e,t){const a=F(t);if(a.hasClass(f.active)){t=F(this).data(h.tab);const n=r.filter("[data-"+h.tab+'="'+CSS.escape(t)+'"]');n.hasClass(f.active)&&(i=t)}}),i}},utilities:{filterArray:function(e,t){return F.grep(e,function(e){return!t.includes(e)})},last:function(e){return!!Array.isArray(e)&&e[e.length-1]},pathToArray:function(e){return"string"==typeof(e=void 0===e?C:e)?e.split("/"):[e]},arrayToPath:function(e){return!!Array.isArray(e)&&e.join("/")}},setting:function(e,t){if(P.debug("Changing setting",e,t),F.isPlainObject(e))F.extend(!0,b,e);else{if(void 0===t)return b[e];F.isPlainObject(b[e])?F.extend(!0,b[e],t):b[e]=t}},internal:function(e,t){if(F.isPlainObject(e))F.extend(!0,P,e);else{if(void 0===t)return P[e];P[e]=t}},debug:function(...e){!b.silent&&b.debug&&(b.performance?P.performance.log(e):(P.debug=Function.prototype.bind.call(console.info,console,b.name+":"),P.debug.apply(console,e)))},verbose:function(...e){!b.silent&&b.verbose&&b.debug&&(b.performance?P.performance.log(e):(P.verbose=Function.prototype.bind.call(console.info,console,b.name+":"),P.verbose.apply(console,e)))},error:function(...e){b.silent||(P.error=Function.prototype.bind.call(console.error,console,b.name+":"),P.error.apply(console,e))},performance:{log:function(e){var t,a;b.performance&&(a=(t=Date.now())-(l||t),l=t,d.push({Name:e[0],Arguments:e.slice(1),Element:T,"Execution Time":a})),clearTimeout(P.performance.timer),P.performance.timer=setTimeout(function(){P.performance.display()},500)},display:function(){var e=b.name+":";let a=0;l=!1,clearTimeout(P.performance.timer),F.each(d,function(e,t){a+=t["Execution Time"]}),e+=" "+a+"ms",0<d.length&&(console.groupCollapsed(e),console.table(d),console.groupEnd()),d=[]}},invoke:function(n,e=x,t=T){let i=s,o,r,a;return"string"==typeof n&&void 0!==i&&(n=n.split(/[ .]/),o=n.length-1,F.each(n,function(e,t){var a=e!==o?t+n[e+1].charAt(0).toUpperCase()+n[e+1].slice(1):n;if(F.isPlainObject(i[a])&&e!==o)i=i[a];else{if(void 0!==i[a])return r=i[a],!1;{if(!F.isPlainObject(i[t])||e===o)return void 0!==i[t]?r=i[t]:P.error(p.method,n),!1;i=i[t]}}})),j(r)?a=r.apply(t,e):void 0!==r&&(a=r),Array.isArray(E)?E.push(a):void 0!==E?E=[E,a]:void 0!==a&&(E=a),r}};g?(void 0===s&&P.initialize(),P.invoke(u)):(void 0!==s&&s.invoke("destroy"),P.initialize())}),void 0!==E?E:this},F.tab=F.fn.tab,F.fn.tab.settings={name:"Tab",namespace:"tab",silent:!1,debug:!1,verbose:!1,performance:!0,auto:!1,history:!1,historyType:"hash",path:!1,context:!1,childrenOnly:!1,maxDepth:25,deactivate:"siblings",alwaysRefresh:!1,cache:!0,loadOnce:!1,cacheType:"response",ignoreFirstLoad:!1,apiSettings:!1,evaluateScripts:"once",autoTabActivation:!0,onFirstLoad:function(e,t,a){},onLoad:function(e,t,a){},onVisible:function(e,t,a){},onRequest:function(e,t,a){},onBeforeChange:function(e){},templates:{determineTitle:function(e){}},error:{api:"You attempted to load content without API module",method:"The method you called is not defined",missingTab:"Activated tab cannot be found. Tabs are case-sensitive.",noContent:"The tab you specified is missing a content url.",path:"History enabled, but no path was specified",recursion:"Max recursive depth reached",state:"History requires Asual's Address library <https://github.com/asual/jquery-address>"},metadata:{tab:"tab",loaded:"loaded",promise:"promise"},className:{loading:"loading",active:"active"},selector:{tabs:".ui.tab",ui:".ui"}}}(jQuery,window,document);
|