foundation-rails 6.3.0.0 → 6.3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +1 -1
- data/LICENSE.txt +1 -1
- data/Rakefile +1 -1
- data/bower.json +2 -2
- data/lib/foundation/rails/version.rb +1 -1
- data/lib/generators/foundation/templates/_settings.scss +0 -1
- data/vendor/assets/js/foundation.abide.js.es6 +26 -13
- data/vendor/assets/js/foundation.accordion.js.es6 +94 -5
- data/vendor/assets/js/foundation.accordionMenu.js.es6 +4 -2
- data/vendor/assets/js/foundation.core.js.es6 +1 -1
- data/vendor/assets/js/foundation.drilldown.js.es6 +44 -21
- data/vendor/assets/js/foundation.dropdown.js.es6 +26 -12
- data/vendor/assets/js/foundation.dropdownMenu.js.es6 +24 -13
- data/vendor/assets/js/foundation.equalizer.js.es6 +6 -3
- data/vendor/assets/js/foundation.interchange.js.es6 +5 -1
- data/vendor/assets/js/foundation.magellan.js.es6 +14 -7
- data/vendor/assets/js/foundation.offcanvas.js.es6 +70 -15
- data/vendor/assets/js/foundation.orbit.js.es6 +36 -18
- data/vendor/assets/js/foundation.responsiveMenu.js.es6 +0 -3
- data/vendor/assets/js/foundation.responsiveToggle.js.es6 +12 -16
- data/vendor/assets/js/foundation.reveal.js.es6 +39 -19
- data/vendor/assets/js/foundation.slider.js.es6 +37 -19
- data/vendor/assets/js/foundation.sticky.js.es6 +61 -25
- data/vendor/assets/js/foundation.tabs.js.es6 +74 -46
- data/vendor/assets/js/foundation.toggler.js.es6 +2 -1
- data/vendor/assets/js/foundation.tooltip.js.es6 +30 -15
- data/vendor/assets/js/foundation.util.timerAndImageLoader.js.es6 +1 -1
- data/vendor/assets/js/foundation.util.triggers.js.es6 +0 -47
- data/vendor/assets/scss/_global.scss +6 -0
- data/vendor/assets/scss/components/_accordion.scss +1 -1
- data/vendor/assets/scss/components/_breadcrumbs.scss +5 -2
- data/vendor/assets/scss/components/_button-group.scss +18 -8
- data/vendor/assets/scss/components/_button.scss +46 -8
- data/vendor/assets/scss/components/_card.scss +1 -1
- data/vendor/assets/scss/components/_flex.scss +6 -0
- data/vendor/assets/scss/components/_menu.scss +30 -3
- data/vendor/assets/scss/components/_responsive-embed.scss +6 -2
- data/vendor/assets/scss/components/_reveal.scss +2 -2
- data/vendor/assets/scss/foundation.scss +3 -3
- data/vendor/assets/scss/grid/_classes.scss +6 -2
- data/vendor/assets/scss/grid/_column.scss +1 -1
- data/vendor/assets/scss/grid/_flex-grid.scss +22 -2
- data/vendor/assets/scss/grid/_grid.scss +4 -0
- data/vendor/assets/scss/settings/_settings.scss +0 -1
- data/vendor/assets/scss/typography/_base.scss +1 -1
- data/vendor/assets/scss/typography/_print.scss +5 -0
- data/vendor/assets/scss/util/_direction.scss +31 -0
- data/vendor/assets/scss/util/_math.scss +1 -1
- data/vendor/assets/scss/util/_typography.scss +26 -0
- data/vendor/assets/scss/util/_util.scss +2 -0
- data/vendor/assets/scss/util/_value.scss +20 -0
- metadata +5 -3
@@ -41,8 +41,10 @@ class Sticky {
|
|
41
41
|
this.$container = $parent.length ? $parent : $(this.options.container).wrapInner(this.$element);
|
42
42
|
this.$container.addClass(this.options.containerClass);
|
43
43
|
|
44
|
-
this.$element.addClass(this.options.stickyClass)
|
45
|
-
|
44
|
+
this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });
|
45
|
+
if (this.options.anchor !== '') {
|
46
|
+
$('#' + _this.options.anchor).attr({ 'data-mutate': id });
|
47
|
+
}
|
46
48
|
|
47
49
|
this.scrollCount = this.options.checkEvery;
|
48
50
|
this.isStuck = false;
|
@@ -127,17 +129,39 @@ class Sticky {
|
|
127
129
|
|
128
130
|
this.$element.off('resizeme.zf.trigger')
|
129
131
|
.on('resizeme.zf.trigger', function(e, el) {
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
}
|
136
|
-
} else if (_this.isOn) {
|
137
|
-
_this._pauseListeners(scrollListener);
|
138
|
-
}
|
139
|
-
});
|
132
|
+
_this._eventsHandler(id);
|
133
|
+
});
|
134
|
+
|
135
|
+
this.$element.on('mutateme.zf.trigger', function (e, el) {
|
136
|
+
_this._eventsHandler(id);
|
140
137
|
});
|
138
|
+
|
139
|
+
if(this.$anchor) {
|
140
|
+
this.$anchor.on('mutateme.zf.trigger', function (e, el) {
|
141
|
+
_this._eventsHandler(id);
|
142
|
+
});
|
143
|
+
}
|
144
|
+
}
|
145
|
+
|
146
|
+
/**
|
147
|
+
* Handler for events.
|
148
|
+
* @private
|
149
|
+
* @param {String} id - psuedo-random id for unique scroll event listener.
|
150
|
+
*/
|
151
|
+
_eventsHandler(id) {
|
152
|
+
var _this = this,
|
153
|
+
scrollListener = this.scrollListener = `scroll.zf.${id}`;
|
154
|
+
|
155
|
+
_this._setSizes(function() {
|
156
|
+
_this._calc(false);
|
157
|
+
if (_this.canStick) {
|
158
|
+
if (!_this.isOn) {
|
159
|
+
_this._events(id);
|
160
|
+
}
|
161
|
+
} else if (_this.isOn) {
|
162
|
+
_this._pauseListeners(scrollListener);
|
163
|
+
}
|
164
|
+
});
|
141
165
|
}
|
142
166
|
|
143
167
|
/**
|
@@ -362,7 +386,8 @@ class Sticky {
|
|
362
386
|
bottom: '',
|
363
387
|
'max-width': ''
|
364
388
|
})
|
365
|
-
.off('resizeme.zf.trigger')
|
389
|
+
.off('resizeme.zf.trigger')
|
390
|
+
.off('mutateme.zf.trigger');
|
366
391
|
if (this.$anchor && this.$anchor.length) {
|
367
392
|
this.$anchor.off('change.zf.sticky');
|
368
393
|
}
|
@@ -384,67 +409,78 @@ Sticky.defaults = {
|
|
384
409
|
/**
|
385
410
|
* Customizable container template. Add your own classes for styling and sizing.
|
386
411
|
* @option
|
387
|
-
* @
|
412
|
+
* @type {string}
|
413
|
+
* @default '<div data-sticky-container></div>'
|
388
414
|
*/
|
389
415
|
container: '<div data-sticky-container></div>',
|
390
416
|
/**
|
391
|
-
* Location in the view the element sticks to.
|
417
|
+
* Location in the view the element sticks to. Can be `'top'` or `'bottom'`.
|
392
418
|
* @option
|
393
|
-
* @
|
419
|
+
* @type {string}
|
420
|
+
* @default 'top'
|
394
421
|
*/
|
395
422
|
stickTo: 'top',
|
396
423
|
/**
|
397
424
|
* If anchored to a single element, the id of that element.
|
398
425
|
* @option
|
399
|
-
* @
|
426
|
+
* @type {string}
|
427
|
+
* @default ''
|
400
428
|
*/
|
401
429
|
anchor: '',
|
402
430
|
/**
|
403
431
|
* If using more than one element as anchor points, the id of the top anchor.
|
404
432
|
* @option
|
405
|
-
* @
|
433
|
+
* @type {string}
|
434
|
+
* @default ''
|
406
435
|
*/
|
407
436
|
topAnchor: '',
|
408
437
|
/**
|
409
438
|
* If using more than one element as anchor points, the id of the bottom anchor.
|
410
439
|
* @option
|
411
|
-
* @
|
440
|
+
* @type {string}
|
441
|
+
* @default ''
|
412
442
|
*/
|
413
443
|
btmAnchor: '',
|
414
444
|
/**
|
415
445
|
* Margin, in `em`'s to apply to the top of the element when it becomes sticky.
|
416
446
|
* @option
|
417
|
-
* @
|
447
|
+
* @type {number}
|
448
|
+
* @default 1
|
418
449
|
*/
|
419
450
|
marginTop: 1,
|
420
451
|
/**
|
421
452
|
* Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.
|
422
453
|
* @option
|
423
|
-
* @
|
454
|
+
* @type {number}
|
455
|
+
* @default 1
|
424
456
|
*/
|
425
457
|
marginBottom: 1,
|
426
458
|
/**
|
427
459
|
* Breakpoint string that is the minimum screen size an element should become sticky.
|
428
460
|
* @option
|
429
|
-
* @
|
461
|
+
* @type {string}
|
462
|
+
* @default 'medium'
|
430
463
|
*/
|
431
464
|
stickyOn: 'medium',
|
432
465
|
/**
|
433
466
|
* Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.
|
434
467
|
* @option
|
435
|
-
* @
|
468
|
+
* @type {string}
|
469
|
+
* @default 'sticky'
|
436
470
|
*/
|
437
471
|
stickyClass: 'sticky',
|
438
472
|
/**
|
439
473
|
* Class applied to sticky container. Foundation defaults to `sticky-container`.
|
440
474
|
* @option
|
441
|
-
* @
|
475
|
+
* @type {string}
|
476
|
+
* @default 'sticky-container'
|
442
477
|
*/
|
443
478
|
containerClass: 'sticky-container',
|
444
479
|
/**
|
445
480
|
* Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.
|
446
481
|
* @option
|
447
|
-
* @
|
482
|
+
* @type {number}
|
483
|
+
* @default -1
|
448
484
|
*/
|
449
485
|
checkEvery: -1
|
450
486
|
};
|
@@ -76,34 +76,7 @@ class Tabs {
|
|
76
76
|
});
|
77
77
|
});
|
78
78
|
}
|
79
|
-
|
80
|
-
//use browser to open a tab, if it exists in this tabset
|
81
|
-
if (_this.options.deepLink) {
|
82
|
-
var anchor = window.location.hash;
|
83
|
-
//need a hash and a relevant anchor in this tabset
|
84
|
-
if(anchor.length) {
|
85
|
-
var $link = $elem.find('[href="'+anchor+'"]');
|
86
|
-
if ($link.length) {
|
87
|
-
_this.selectTab($(anchor));
|
88
|
-
|
89
|
-
//roll up a little to show the titles
|
90
|
-
if (_this.options.deepLinkSmudge) {
|
91
|
-
$(window).load(function() {
|
92
|
-
var offset = $elem.offset();
|
93
|
-
$('html, body').animate({ scrollTop: offset.top }, _this.options.deepLinkSmudgeDelay);
|
94
|
-
});
|
95
|
-
}
|
96
|
-
|
97
|
-
/**
|
98
|
-
* Fires when the zplugin has deeplinked at pageload
|
99
|
-
* @event Tabs#deeplink
|
100
|
-
*/
|
101
|
-
$elem.trigger('deeplink.zf.tabs', [$link, $(anchor)]);
|
102
|
-
}
|
103
|
-
}
|
104
|
-
}
|
105
79
|
});
|
106
|
-
|
107
80
|
if(this.options.matchHeight) {
|
108
81
|
var $images = this.$tabContent.find('img');
|
109
82
|
|
@@ -114,6 +87,35 @@ class Tabs {
|
|
114
87
|
}
|
115
88
|
}
|
116
89
|
|
90
|
+
//current context-bound function to open tabs on page load or history popstate
|
91
|
+
this._checkDeepLink = () => {
|
92
|
+
var anchor = window.location.hash;
|
93
|
+
//need a hash and a relevant anchor in this tabset
|
94
|
+
if(anchor.length) {
|
95
|
+
var $link = this.$element.find('[href$="'+anchor+'"]');
|
96
|
+
if ($link.length) {
|
97
|
+
this.selectTab($(anchor), true);
|
98
|
+
|
99
|
+
//roll up a little to show the titles
|
100
|
+
if (this.options.deepLinkSmudge) {
|
101
|
+
var offset = this.$element.offset();
|
102
|
+
$('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);
|
103
|
+
}
|
104
|
+
|
105
|
+
/**
|
106
|
+
* Fires when the zplugin has deeplinked at pageload
|
107
|
+
* @event Tabs#deeplink
|
108
|
+
*/
|
109
|
+
this.$element.trigger('deeplink.zf.tabs', [$link, $(anchor)]);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
//use browser to open a tab, if it exists in this tabset
|
115
|
+
if (this.options.deepLink) {
|
116
|
+
this._checkDeepLink();
|
117
|
+
}
|
118
|
+
|
117
119
|
this._events();
|
118
120
|
}
|
119
121
|
|
@@ -131,6 +133,10 @@ class Tabs {
|
|
131
133
|
|
132
134
|
$(window).on('changed.zf.mediaquery', this._setHeightMqHandler);
|
133
135
|
}
|
136
|
+
|
137
|
+
if(this.options.deepLink) {
|
138
|
+
$(window).on('popstate', this._checkDeepLink);
|
139
|
+
}
|
134
140
|
}
|
135
141
|
|
136
142
|
/**
|
@@ -203,10 +209,11 @@ class Tabs {
|
|
203
209
|
/**
|
204
210
|
* Opens the tab `$targetContent` defined by `$target`. Collapses active tab.
|
205
211
|
* @param {jQuery} $target - Tab to open.
|
212
|
+
* @param {boolean} historyHandled - browser has already handled a history update
|
206
213
|
* @fires Tabs#change
|
207
214
|
* @function
|
208
215
|
*/
|
209
|
-
_handleTabChange($target) {
|
216
|
+
_handleTabChange($target, historyHandled) {
|
210
217
|
|
211
218
|
/**
|
212
219
|
* Check for active class on target. Collapse if exists.
|
@@ -237,7 +244,7 @@ class Tabs {
|
|
237
244
|
this._openTab($target);
|
238
245
|
|
239
246
|
//either replace or update browser history
|
240
|
-
if (this.options.deepLink) {
|
247
|
+
if (this.options.deepLink && !historyHandled) {
|
241
248
|
var anchor = $target.find('a').attr('href');
|
242
249
|
|
243
250
|
if (this.options.updateHistory) {
|
@@ -295,9 +302,10 @@ class Tabs {
|
|
295
302
|
/**
|
296
303
|
* Public method for selecting a content pane to display.
|
297
304
|
* @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.
|
305
|
+
* @param {boolean} historyHandled - browser has already handled a history update
|
298
306
|
* @function
|
299
307
|
*/
|
300
|
-
selectTab(elem) {
|
308
|
+
selectTab(elem, historyHandled) {
|
301
309
|
var idStr;
|
302
310
|
|
303
311
|
if (typeof elem === 'object') {
|
@@ -310,25 +318,29 @@ class Tabs {
|
|
310
318
|
idStr = `#${idStr}`;
|
311
319
|
}
|
312
320
|
|
313
|
-
var $target = this.$tabTitles.find(`[href
|
321
|
+
var $target = this.$tabTitles.find(`[href$="${idStr}"]`).parent(`.${this.options.linkClass}`);
|
314
322
|
|
315
|
-
this._handleTabChange($target);
|
323
|
+
this._handleTabChange($target, historyHandled);
|
316
324
|
};
|
317
325
|
/**
|
318
326
|
* Sets the height of each panel to the height of the tallest panel.
|
319
327
|
* If enabled in options, gets called on media query change.
|
320
328
|
* If loading content via external source, can be called directly or with _reflow.
|
329
|
+
* If enabled with `data-match-height="true"`, tabs sets to equal height
|
321
330
|
* @function
|
322
331
|
* @private
|
323
332
|
*/
|
324
333
|
_setHeight() {
|
325
|
-
var max = 0
|
334
|
+
var max = 0,
|
335
|
+
_this = this; // Lock down the `this` value for the root tabs object
|
336
|
+
|
326
337
|
this.$tabContent
|
327
338
|
.find(`.${this.options.panelClass}`)
|
328
339
|
.css('height', '')
|
329
340
|
.each(function() {
|
341
|
+
|
330
342
|
var panel = $(this),
|
331
|
-
isActive = panel.hasClass(`${
|
343
|
+
isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child
|
332
344
|
|
333
345
|
if (!isActive) {
|
334
346
|
panel.css({'visibility': 'hidden', 'display': 'block'});
|
@@ -365,6 +377,10 @@ class Tabs {
|
|
365
377
|
}
|
366
378
|
}
|
367
379
|
|
380
|
+
if (this.options.deepLink) {
|
381
|
+
$(window).off('popstate', this._checkDeepLink);
|
382
|
+
}
|
383
|
+
|
368
384
|
Foundation.unregisterPlugin(this);
|
369
385
|
}
|
370
386
|
}
|
@@ -373,28 +389,32 @@ Tabs.defaults = {
|
|
373
389
|
/**
|
374
390
|
* Allows the window to scroll to content of pane specified by hash anchor
|
375
391
|
* @option
|
376
|
-
* @
|
392
|
+
* @type {boolean}
|
393
|
+
* @default false
|
377
394
|
*/
|
378
395
|
deepLink: false,
|
379
396
|
|
380
397
|
/**
|
381
398
|
* Adjust the deep link scroll to make sure the top of the tab panel is visible
|
382
399
|
* @option
|
383
|
-
* @
|
400
|
+
* @type {boolean}
|
401
|
+
* @default false
|
384
402
|
*/
|
385
403
|
deepLinkSmudge: false,
|
386
404
|
|
387
405
|
/**
|
388
406
|
* Animation time (ms) for the deep link adjustment
|
389
407
|
* @option
|
390
|
-
* @
|
408
|
+
* @type {number}
|
409
|
+
* @default 300
|
391
410
|
*/
|
392
411
|
deepLinkSmudgeDelay: 300,
|
393
412
|
|
394
413
|
/**
|
395
414
|
* Update the browser history with the open tab
|
396
415
|
* @option
|
397
|
-
* @
|
416
|
+
* @type {boolean}
|
417
|
+
* @default false
|
398
418
|
*/
|
399
419
|
updateHistory: false,
|
400
420
|
|
@@ -402,56 +422,64 @@ Tabs.defaults = {
|
|
402
422
|
* Allows the window to scroll to content of active pane on load if set to true.
|
403
423
|
* Not recommended if more than one tab panel per page.
|
404
424
|
* @option
|
405
|
-
* @
|
425
|
+
* @type {boolean}
|
426
|
+
* @default false
|
406
427
|
*/
|
407
428
|
autoFocus: false,
|
408
429
|
|
409
430
|
/**
|
410
431
|
* Allows keyboard input to 'wrap' around the tab links.
|
411
432
|
* @option
|
412
|
-
* @
|
433
|
+
* @type {boolean}
|
434
|
+
* @default true
|
413
435
|
*/
|
414
436
|
wrapOnKeys: true,
|
415
437
|
|
416
438
|
/**
|
417
439
|
* Allows the tab content panes to match heights if set to true.
|
418
440
|
* @option
|
419
|
-
* @
|
441
|
+
* @type {boolean}
|
442
|
+
* @default false
|
420
443
|
*/
|
421
444
|
matchHeight: false,
|
422
445
|
|
423
446
|
/**
|
424
447
|
* Allows active tabs to collapse when clicked.
|
425
448
|
* @option
|
426
|
-
* @
|
449
|
+
* @type {boolean}
|
450
|
+
* @default false
|
427
451
|
*/
|
428
452
|
activeCollapse: false,
|
429
453
|
|
430
454
|
/**
|
431
455
|
* Class applied to `li`'s in tab link list.
|
432
456
|
* @option
|
433
|
-
* @
|
457
|
+
* @type {string}
|
458
|
+
* @default 'tabs-title'
|
434
459
|
*/
|
435
460
|
linkClass: 'tabs-title',
|
436
461
|
|
437
462
|
/**
|
438
463
|
* Class applied to the active `li` in tab link list.
|
439
464
|
* @option
|
440
|
-
* @
|
465
|
+
* @type {string}
|
466
|
+
* @default 'is-active'
|
441
467
|
*/
|
442
468
|
linkActiveClass: 'is-active',
|
443
469
|
|
444
470
|
/**
|
445
471
|
* Class applied to the content containers.
|
446
472
|
* @option
|
447
|
-
* @
|
473
|
+
* @type {string}
|
474
|
+
* @default 'tabs-panel'
|
448
475
|
*/
|
449
476
|
panelClass: 'tabs-panel',
|
450
477
|
|
451
478
|
/**
|
452
479
|
* Class applied to the active content container.
|
453
480
|
* @option
|
454
|
-
* @
|
481
|
+
* @type {string}
|
482
|
+
* @default 'is-active'
|
455
483
|
*/
|
456
484
|
panelActiveClass: 'is-active'
|
457
485
|
};
|
@@ -354,93 +354,108 @@ Tooltip.defaults = {
|
|
354
354
|
/**
|
355
355
|
* Time, in ms, before a tooltip should open on hover.
|
356
356
|
* @option
|
357
|
-
* @
|
357
|
+
* @type {number}
|
358
|
+
* @default 200
|
358
359
|
*/
|
359
360
|
hoverDelay: 200,
|
360
361
|
/**
|
361
362
|
* Time, in ms, a tooltip should take to fade into view.
|
362
363
|
* @option
|
363
|
-
* @
|
364
|
+
* @type {number}
|
365
|
+
* @default 150
|
364
366
|
*/
|
365
367
|
fadeInDuration: 150,
|
366
368
|
/**
|
367
369
|
* Time, in ms, a tooltip should take to fade out of view.
|
368
370
|
* @option
|
369
|
-
* @
|
371
|
+
* @type {number}
|
372
|
+
* @default 150
|
370
373
|
*/
|
371
374
|
fadeOutDuration: 150,
|
372
375
|
/**
|
373
376
|
* Disables hover events from opening the tooltip if set to true
|
374
377
|
* @option
|
375
|
-
* @
|
378
|
+
* @type {boolean}
|
379
|
+
* @default false
|
376
380
|
*/
|
377
381
|
disableHover: false,
|
378
382
|
/**
|
379
383
|
* Optional addtional classes to apply to the tooltip template on init.
|
380
384
|
* @option
|
381
|
-
* @
|
385
|
+
* @type {string}
|
386
|
+
* @default ''
|
382
387
|
*/
|
383
388
|
templateClasses: '',
|
384
389
|
/**
|
385
390
|
* Non-optional class added to tooltip templates. Foundation default is 'tooltip'.
|
386
391
|
* @option
|
387
|
-
* @
|
392
|
+
* @type {string}
|
393
|
+
* @default 'tooltip'
|
388
394
|
*/
|
389
395
|
tooltipClass: 'tooltip',
|
390
396
|
/**
|
391
397
|
* Class applied to the tooltip anchor element.
|
392
398
|
* @option
|
393
|
-
* @
|
399
|
+
* @type {string}
|
400
|
+
* @default 'has-tip'
|
394
401
|
*/
|
395
402
|
triggerClass: 'has-tip',
|
396
403
|
/**
|
397
404
|
* Minimum breakpoint size at which to open the tooltip.
|
398
405
|
* @option
|
399
|
-
* @
|
406
|
+
* @type {string}
|
407
|
+
* @default 'small'
|
400
408
|
*/
|
401
409
|
showOn: 'small',
|
402
410
|
/**
|
403
411
|
* Custom template to be used to generate markup for tooltip.
|
404
412
|
* @option
|
405
|
-
* @
|
413
|
+
* @type {string}
|
414
|
+
* @default ''
|
406
415
|
*/
|
407
416
|
template: '',
|
408
417
|
/**
|
409
418
|
* Text displayed in the tooltip template on open.
|
410
419
|
* @option
|
411
|
-
* @
|
420
|
+
* @type {string}
|
421
|
+
* @default ''
|
412
422
|
*/
|
413
423
|
tipText: '',
|
414
424
|
touchCloseText: 'Tap to close.',
|
415
425
|
/**
|
416
426
|
* Allows the tooltip to remain open if triggered with a click or touch event.
|
417
427
|
* @option
|
418
|
-
* @
|
428
|
+
* @type {boolean}
|
429
|
+
* @default true
|
419
430
|
*/
|
420
431
|
clickOpen: true,
|
421
432
|
/**
|
422
433
|
* Additional positioning classes, set by the JS
|
423
434
|
* @option
|
424
|
-
* @
|
435
|
+
* @type {string}
|
436
|
+
* @default ''
|
425
437
|
*/
|
426
438
|
positionClass: '',
|
427
439
|
/**
|
428
440
|
* Distance, in pixels, the template should push away from the anchor on the Y axis.
|
429
441
|
* @option
|
430
|
-
* @
|
442
|
+
* @type {number}
|
443
|
+
* @default 10
|
431
444
|
*/
|
432
445
|
vOffset: 10,
|
433
446
|
/**
|
434
447
|
* Distance, in pixels, the template should push away from the anchor on the X axis, if aligned to a side.
|
435
448
|
* @option
|
436
|
-
* @
|
449
|
+
* @type {number}
|
450
|
+
* @default 12
|
437
451
|
*/
|
438
452
|
hOffset: 12,
|
439
453
|
/**
|
440
454
|
* Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,
|
441
455
|
* allowing HTML may open yourself up to XSS attacks.
|
442
456
|
* @option
|
443
|
-
* @
|
457
|
+
* @type {boolean}
|
458
|
+
* @default false
|
444
459
|
*/
|
445
460
|
allowHtml: false
|
446
461
|
};
|