@tabler/core 1.0.0-beta11 → 1.0.0-beta12

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.
Files changed (112) hide show
  1. package/README.md +33 -10
  2. package/dist/css/demo.css +251 -379
  3. package/dist/css/demo.min.css +3 -3
  4. package/dist/css/demo.rtl.css +251 -379
  5. package/dist/css/demo.rtl.min.css +3 -3
  6. package/dist/css/tabler-flags.css +266 -529
  7. package/dist/css/tabler-flags.min.css +3 -3
  8. package/dist/css/tabler-flags.rtl.css +266 -529
  9. package/dist/css/tabler-flags.rtl.min.css +3 -3
  10. package/dist/css/tabler-payments.css +127 -252
  11. package/dist/css/tabler-payments.min.css +2 -2
  12. package/dist/css/tabler-payments.rtl.css +127 -252
  13. package/dist/css/tabler-payments.rtl.min.css +2 -2
  14. package/dist/css/tabler-vendors.css +480 -679
  15. package/dist/css/tabler-vendors.min.css +3 -3
  16. package/dist/css/tabler-vendors.rtl.css +480 -679
  17. package/dist/css/tabler-vendors.rtl.min.css +3 -3
  18. package/dist/css/tabler.css +10041 -14881
  19. package/dist/css/tabler.min.css +4 -4
  20. package/dist/css/tabler.rtl.css +10041 -14880
  21. package/dist/css/tabler.rtl.min.css +4 -4
  22. package/dist/js/demo-theme.js +32 -0
  23. package/dist/js/demo-theme.min.js +9 -0
  24. package/dist/js/demo.js +2 -12
  25. package/dist/js/demo.min.js +3 -3
  26. package/dist/js/tabler.esm.js +90 -61
  27. package/dist/js/tabler.esm.min.js +9 -3
  28. package/dist/js/tabler.js +112 -61
  29. package/dist/js/tabler.min.js +9 -3
  30. package/dist/libs/apexcharts/dist/apexcharts.amd.js +1 -1
  31. package/dist/libs/apexcharts/dist/apexcharts.common.js +3 -3
  32. package/dist/libs/apexcharts/dist/apexcharts.esm.js +3 -3
  33. package/dist/libs/apexcharts/dist/apexcharts.js +27 -8
  34. package/dist/libs/apexcharts/dist/apexcharts.min.js +3 -3
  35. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js +131 -107
  36. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js.map +1 -1
  37. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +2 -2
  38. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -1
  39. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js +70 -57
  40. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js.map +1 -1
  41. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js +2 -2
  42. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js.map +1 -1
  43. package/dist/libs/bootstrap/dist/js/bootstrap.js +71 -58
  44. package/dist/libs/bootstrap/dist/js/bootstrap.js.map +1 -1
  45. package/dist/libs/bootstrap/dist/js/bootstrap.min.js +2 -2
  46. package/dist/libs/bootstrap/dist/js/bootstrap.min.js.map +1 -1
  47. package/dist/libs/jsvectormap/dist/js/jsvectormap.js +1061 -1066
  48. package/dist/libs/jsvectormap/dist/js/jsvectormap.min.js +1 -1
  49. package/dist/libs/nouislider/dist/nouislider.d.ts +1 -1
  50. package/package.json +68 -22
  51. package/src/js/demo-theme.js +25 -0
  52. package/src/js/demo.js +0 -17
  53. package/src/js/src/tabler.js +17 -0
  54. package/src/js/tabler.js +2 -0
  55. package/src/scss/_core.scss +1 -0
  56. package/src/scss/_mixins-override.scss +26 -26
  57. package/src/scss/_utilities.scss +2 -2
  58. package/src/scss/_variables.scss +207 -89
  59. package/src/scss/demo/_examples.scss +2 -2
  60. package/src/scss/demo/_highlight.scss +3 -3
  61. package/src/scss/demo.scss +4 -4
  62. package/src/scss/fonts/_webfonts.scss +0 -50
  63. package/src/scss/layout/_core.scss +2 -23
  64. package/src/scss/layout/_dark.scss +8 -6
  65. package/src/scss/layout/_footer.scss +2 -2
  66. package/src/scss/layout/_navbar.scss +7 -5
  67. package/src/scss/layout/_page.scss +8 -6
  68. package/src/scss/layout/_root.scss +37 -0
  69. package/src/scss/mixins/_functions.scss +2 -2
  70. package/src/scss/mixins/_mixins.scss +3 -2
  71. package/src/scss/ui/_accordion.scss +1 -1
  72. package/src/scss/ui/_alerts.scss +1 -1
  73. package/src/scss/ui/_avatars.scss +5 -5
  74. package/src/scss/ui/_badges.scss +2 -2
  75. package/src/scss/ui/_buttons.scss +25 -17
  76. package/src/scss/ui/_calendars.scss +8 -8
  77. package/src/scss/ui/_cards.scss +28 -31
  78. package/src/scss/ui/_carousel.scss +1 -1
  79. package/src/scss/ui/_chips.scss +0 -0
  80. package/src/scss/ui/_empty.scss +3 -3
  81. package/src/scss/ui/_flags.scss +2 -2
  82. package/src/scss/ui/_forms.scss +7 -7
  83. package/src/scss/ui/_grid.scss +8 -9
  84. package/src/scss/ui/_icons.scss +64 -4
  85. package/src/scss/ui/_legend.scss +8 -4
  86. package/src/scss/ui/_lists.scss +16 -13
  87. package/src/scss/ui/_markdown.scss +2 -3
  88. package/src/scss/ui/_modals.scss +1 -1
  89. package/src/scss/ui/_nav.scss +7 -7
  90. package/src/scss/ui/_offcanvas.scss +2 -2
  91. package/src/scss/ui/_pagination.scss +10 -6
  92. package/src/scss/ui/_placeholder.scss +1 -1
  93. package/src/scss/ui/_progress.scss +45 -6
  94. package/src/scss/ui/_ribbons.scss +5 -5
  95. package/src/scss/ui/_status.scss +2 -2
  96. package/src/scss/ui/_steps.scss +2 -2
  97. package/src/scss/ui/_tables.scss +26 -5
  98. package/src/scss/ui/_toasts.scss +0 -1
  99. package/src/scss/ui/_type.scss +45 -30
  100. package/src/scss/ui/forms/_form-check.scss +26 -1
  101. package/src/scss/ui/forms/_form-colorinput.scss +2 -2
  102. package/src/scss/ui/forms/_form-icon.scss +1 -1
  103. package/src/scss/ui/forms/_form-imagecheck.scss +4 -4
  104. package/src/scss/ui/forms/_form-selectgroup.scss +7 -7
  105. package/src/scss/ui/typo/_hr.scss +2 -3
  106. package/src/scss/utils/_colors.scss +14 -5
  107. package/src/scss/vendor/_dropzone.scss +1 -1
  108. package/src/scss/vendor/_jsvectormap.scss +7 -7
  109. package/src/scss/vendor/_litepicker.scss +11 -11
  110. package/src/scss/vendor/_plyr.scss +1 -1
  111. package/src/scss/vendor/_tinymce.scss +3 -3
  112. package/src/scss/vendor/_tom-select.scss +2 -0
package/dist/js/tabler.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Tabler v1.0.0-beta11 (https://tabler.io)
3
- * @version 1.0.0-beta11
2
+ * Tabler v1.0.0-beta12 (https://tabler.io)
3
+ * @version 1.0.0-beta12
4
4
  * @link https://tabler.io
5
5
  * Copyright 2018-2022 The Tabler Authors
6
6
  * Copyright 2018-2022 codecalm.net Paweł Kuna
@@ -3258,32 +3258,50 @@
3258
3258
  var min = Math.min;
3259
3259
  var round = Math.round;
3260
3260
 
3261
- function getBoundingClientRect(element, includeScale) {
3261
+ function getUAString() {
3262
+ var uaData = navigator.userAgentData;
3263
+ if (uaData != null && uaData.brands) {
3264
+ return uaData.brands.map(function (item) {
3265
+ return item.brand + "/" + item.version;
3266
+ }).join(' ');
3267
+ }
3268
+ return navigator.userAgent;
3269
+ }
3270
+
3271
+ function isLayoutViewport() {
3272
+ return !/^((?!chrome|android).)*safari/i.test(getUAString());
3273
+ }
3274
+
3275
+ function getBoundingClientRect(element, includeScale, isFixedStrategy) {
3262
3276
  if (includeScale === void 0) {
3263
3277
  includeScale = false;
3264
3278
  }
3265
- var rect = element.getBoundingClientRect();
3279
+ if (isFixedStrategy === void 0) {
3280
+ isFixedStrategy = false;
3281
+ }
3282
+ var clientRect = element.getBoundingClientRect();
3266
3283
  var scaleX = 1;
3267
3284
  var scaleY = 1;
3268
- if (isHTMLElement(element) && includeScale) {
3269
- var offsetHeight = element.offsetHeight;
3270
- var offsetWidth = element.offsetWidth;
3271
- if (offsetWidth > 0) {
3272
- scaleX = round(rect.width) / offsetWidth || 1;
3273
- }
3274
- if (offsetHeight > 0) {
3275
- scaleY = round(rect.height) / offsetHeight || 1;
3276
- }
3277
- }
3285
+ if (includeScale && isHTMLElement(element)) {
3286
+ scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
3287
+ scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
3288
+ }
3289
+ var _ref = isElement$1(element) ? getWindow(element) : window,
3290
+ visualViewport = _ref.visualViewport;
3291
+ var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
3292
+ var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
3293
+ var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
3294
+ var width = clientRect.width / scaleX;
3295
+ var height = clientRect.height / scaleY;
3278
3296
  return {
3279
- width: rect.width / scaleX,
3280
- height: rect.height / scaleY,
3281
- top: rect.top / scaleY,
3282
- right: rect.right / scaleX,
3283
- bottom: rect.bottom / scaleY,
3284
- left: rect.left / scaleX,
3285
- x: rect.left / scaleX,
3286
- y: rect.top / scaleY
3297
+ width: width,
3298
+ height: height,
3299
+ top: y,
3300
+ right: x + width,
3301
+ bottom: y + height,
3302
+ left: x,
3303
+ x: x,
3304
+ y: y
3287
3305
  };
3288
3306
  }
3289
3307
 
@@ -3355,8 +3373,8 @@
3355
3373
  return element.offsetParent;
3356
3374
  }
3357
3375
  function getContainingBlock(element) {
3358
- var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;
3359
- var isIE = navigator.userAgent.indexOf('Trident') !== -1;
3376
+ var isFirefox = /firefox/i.test(getUAString());
3377
+ var isIE = /Trident/i.test(getUAString());
3360
3378
  if (isIE && isHTMLElement(element)) {
3361
3379
  var elementCss = getComputedStyle$1(element);
3362
3380
  if (elementCss.position === 'fixed') {
@@ -3703,7 +3721,7 @@
3703
3721
  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
3704
3722
  }
3705
3723
 
3706
- function getViewportRect(element) {
3724
+ function getViewportRect(element, strategy) {
3707
3725
  var win = getWindow(element);
3708
3726
  var html = getDocumentElement(element);
3709
3727
  var visualViewport = win.visualViewport;
@@ -3714,7 +3732,8 @@
3714
3732
  if (visualViewport) {
3715
3733
  width = visualViewport.width;
3716
3734
  height = visualViewport.height;
3717
- if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
3735
+ var layoutViewport = isLayoutViewport();
3736
+ if (layoutViewport || !layoutViewport && strategy === 'fixed') {
3718
3737
  x = visualViewport.offsetLeft;
3719
3738
  y = visualViewport.offsetTop;
3720
3739
  }
@@ -3788,8 +3807,8 @@
3788
3807
  });
3789
3808
  }
3790
3809
 
3791
- function getInnerBoundingClientRect(element) {
3792
- var rect = getBoundingClientRect(element);
3810
+ function getInnerBoundingClientRect(element, strategy) {
3811
+ var rect = getBoundingClientRect(element, false, strategy === 'fixed');
3793
3812
  rect.top = rect.top + element.clientTop;
3794
3813
  rect.left = rect.left + element.clientLeft;
3795
3814
  rect.bottom = rect.top + element.clientHeight;
@@ -3800,8 +3819,8 @@
3800
3819
  rect.y = rect.top;
3801
3820
  return rect;
3802
3821
  }
3803
- function getClientRectFromMixedType(element, clippingParent) {
3804
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement$1(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
3822
+ function getClientRectFromMixedType(element, clippingParent, strategy) {
3823
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement$1(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
3805
3824
  }
3806
3825
  function getClippingParents(element) {
3807
3826
  var clippingParents = listScrollParents(getParentNode(element));
@@ -3814,18 +3833,18 @@
3814
3833
  return isElement$1(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';
3815
3834
  });
3816
3835
  }
3817
- function getClippingRect(element, boundary, rootBoundary) {
3836
+ function getClippingRect(element, boundary, rootBoundary, strategy) {
3818
3837
  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
3819
3838
  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
3820
3839
  var firstClippingParent = clippingParents[0];
3821
3840
  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
3822
- var rect = getClientRectFromMixedType(element, clippingParent);
3841
+ var rect = getClientRectFromMixedType(element, clippingParent, strategy);
3823
3842
  accRect.top = max(rect.top, accRect.top);
3824
3843
  accRect.right = min(rect.right, accRect.right);
3825
3844
  accRect.bottom = min(rect.bottom, accRect.bottom);
3826
3845
  accRect.left = max(rect.left, accRect.left);
3827
3846
  return accRect;
3828
- }, getClientRectFromMixedType(element, firstClippingParent));
3847
+ }, getClientRectFromMixedType(element, firstClippingParent, strategy));
3829
3848
  clippingRect.width = clippingRect.right - clippingRect.left;
3830
3849
  clippingRect.height = clippingRect.bottom - clippingRect.top;
3831
3850
  clippingRect.x = clippingRect.left;
@@ -3895,6 +3914,8 @@
3895
3914
  var _options = options,
3896
3915
  _options$placement = _options.placement,
3897
3916
  placement = _options$placement === void 0 ? state.placement : _options$placement,
3917
+ _options$strategy = _options.strategy,
3918
+ strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,
3898
3919
  _options$boundary = _options.boundary,
3899
3920
  boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,
3900
3921
  _options$rootBoundary = _options.rootBoundary,
@@ -3909,7 +3930,7 @@
3909
3930
  var altContext = elementContext === popper ? reference : popper;
3910
3931
  var popperRect = state.rects.popper;
3911
3932
  var element = state.elements[altBoundary ? altContext : elementContext];
3912
- var clippingClientRect = getClippingRect(isElement$1(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
3933
+ var clippingClientRect = getClippingRect(isElement$1(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
3913
3934
  var referenceClientRect = getBoundingClientRect(state.elements.reference);
3914
3935
  var popperOffsets = computeOffsets({
3915
3936
  reference: referenceClientRect,
@@ -4344,7 +4365,7 @@
4344
4365
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
4345
4366
  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
4346
4367
  var documentElement = getDocumentElement(offsetParent);
4347
- var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
4368
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
4348
4369
  var scroll = {
4349
4370
  scrollLeft: 0,
4350
4371
  scrollTop: 0
@@ -4637,7 +4658,7 @@
4637
4658
  });
4638
4659
 
4639
4660
  /*!
4640
- * Bootstrap v5.2.0 (https://getbootstrap.com/)
4661
+ * Bootstrap v5.2.1 (https://getbootstrap.com/)
4641
4662
  * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4642
4663
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4643
4664
  */
@@ -5168,7 +5189,7 @@
5168
5189
  }
5169
5190
  }
5170
5191
  }
5171
- const VERSION = '5.2.0';
5192
+ const VERSION = '5.2.1';
5172
5193
  class BaseComponent extends Config {
5173
5194
  constructor(element, config) {
5174
5195
  super();
@@ -6012,7 +6033,7 @@
6012
6033
  super(element, config);
6013
6034
  this._popper = null;
6014
6035
  this._parent = this._element.parentNode;
6015
- this._menu = SelectorEngine.findOne(SELECTOR_MENU, this._parent);
6036
+ this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0];
6016
6037
  this._inNavbar = this._detectNavbar();
6017
6038
  }
6018
6039
  static get Default() {
@@ -6236,7 +6257,7 @@
6236
6257
  return;
6237
6258
  }
6238
6259
  event.preventDefault();
6239
- const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
6260
+ const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0];
6240
6261
  const instance = Dropdown.getOrCreateInstance(getToggleButton);
6241
6262
  if (isUpOrDownEvent) {
6242
6263
  event.stopPropagation();
@@ -6515,6 +6536,7 @@
6515
6536
  const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
6516
6537
  const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
6517
6538
  const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
6539
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
6518
6540
  const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
6519
6541
  const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
6520
6542
  const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
@@ -6656,16 +6678,18 @@
6656
6678
  }
6657
6679
  });
6658
6680
  EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
6659
- if (event.target !== event.currentTarget) {
6660
- return;
6661
- }
6662
- if (this._config.backdrop === 'static') {
6663
- this._triggerBackdropTransition();
6664
- return;
6665
- }
6666
- if (this._config.backdrop) {
6667
- this.hide();
6668
- }
6681
+ EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
6682
+ if (this._dialog.contains(event.target) || this._dialog.contains(event2.target)) {
6683
+ return;
6684
+ }
6685
+ if (this._config.backdrop === 'static') {
6686
+ this._triggerBackdropTransition();
6687
+ return;
6688
+ }
6689
+ if (this._config.backdrop) {
6690
+ this.hide();
6691
+ }
6692
+ });
6669
6693
  });
6670
6694
  }
6671
6695
  _hideModal() {
@@ -7207,7 +7231,7 @@
7207
7231
  super(element, config);
7208
7232
  this._isEnabled = true;
7209
7233
  this._timeout = 0;
7210
- this._isHovered = false;
7234
+ this._isHovered = null;
7211
7235
  this._activeTrigger = {};
7212
7236
  this._popper = null;
7213
7237
  this._templateFactory = null;
@@ -7259,6 +7283,9 @@
7259
7283
  if (this.tip) {
7260
7284
  this.tip.remove();
7261
7285
  }
7286
+ if (this._config.originalTitle) {
7287
+ this._element.setAttribute('title', this._config.originalTitle);
7288
+ }
7262
7289
  this._disposePopper();
7263
7290
  super.dispose();
7264
7291
  }
@@ -7300,12 +7327,11 @@
7300
7327
  }
7301
7328
  }
7302
7329
  const complete = () => {
7303
- const previousHoverState = this._isHovered;
7304
- this._isHovered = false;
7305
7330
  EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));
7306
- if (previousHoverState) {
7331
+ if (this._isHovered === false) {
7307
7332
  this._leave();
7308
7333
  }
7334
+ this._isHovered = false;
7309
7335
  };
7310
7336
  this._queueCallback(complete, this.tip, this._isAnimated());
7311
7337
  }
@@ -7327,7 +7353,7 @@
7327
7353
  this._activeTrigger[TRIGGER_CLICK] = false;
7328
7354
  this._activeTrigger[TRIGGER_FOCUS] = false;
7329
7355
  this._activeTrigger[TRIGGER_HOVER] = false;
7330
- this._isHovered = false;
7356
+ this._isHovered = null;
7331
7357
  const complete = () => {
7332
7358
  if (this._isWithActiveTrigger()) {
7333
7359
  return;
@@ -7667,13 +7693,15 @@
7667
7693
  offset: null,
7668
7694
  rootMargin: '0px 0px -25%',
7669
7695
  smoothScroll: false,
7670
- target: null
7696
+ target: null,
7697
+ threshold: [0.1, 0.5, 1]
7671
7698
  };
7672
7699
  const DefaultType$1 = {
7673
7700
  offset: '(number|null)',
7674
7701
  rootMargin: 'string',
7675
7702
  smoothScroll: 'boolean',
7676
- target: 'element'
7703
+ target: 'element',
7704
+ threshold: 'array'
7677
7705
  };
7678
7706
  class ScrollSpy extends BaseComponent {
7679
7707
  constructor(element, config) {
@@ -7716,6 +7744,10 @@
7716
7744
  }
7717
7745
  _configAfterMerge(config) {
7718
7746
  config.target = getElement(config.target) || document.body;
7747
+ config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;
7748
+ if (typeof config.threshold === 'string') {
7749
+ config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));
7750
+ }
7719
7751
  return config;
7720
7752
  }
7721
7753
  _maybeEnableSmoothScroll() {
@@ -7743,8 +7775,8 @@
7743
7775
  _getNewObserver() {
7744
7776
  const options = {
7745
7777
  root: this._rootElement,
7746
- threshold: [0.1, 0.5, 1],
7747
- rootMargin: this._getRootMargin()
7778
+ threshold: this._config.threshold,
7779
+ rootMargin: this._config.rootMargin
7748
7780
  };
7749
7781
  return new IntersectionObserver(entries => this._observerCallback(entries), options);
7750
7782
  }
@@ -7776,9 +7808,6 @@
7776
7808
  }
7777
7809
  }
7778
7810
  }
7779
- _getRootMargin() {
7780
- return this._config.offset ? `${this._config.offset}px 0px -30%` : this._config.rootMargin;
7781
- }
7782
7811
  _initializeTargetsAndObservables() {
7783
7812
  this._targetLinks = new Map();
7784
7813
  this._observableSections = new Map();
@@ -8270,6 +8299,28 @@
8270
8299
  return new Toast(toastTriggerEl);
8271
8300
  });
8272
8301
 
8302
+ var prefix = 'tblr-';
8303
+ var hexToRgba = function hexToRgba(hex, opacity) {
8304
+ var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
8305
+ return result ? "rgba(".concat(parseInt(result[1], 16), ", ").concat(parseInt(result[2], 16), ", ").concat(parseInt(result[3], 16), ", ").concat(opacity, ")") : null;
8306
+ };
8307
+ var getColor = function getColor(color) {
8308
+ var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
8309
+ var c = getComputedStyle(document.body).getPropertyValue("--".concat(prefix).concat(color)).trim();
8310
+ if (opacity !== 1) {
8311
+ return hexToRgba(c, opacity);
8312
+ }
8313
+ return c;
8314
+ };
8315
+
8316
+ var tabler = /*#__PURE__*/Object.freeze({
8317
+ __proto__: null,
8318
+ prefix: prefix,
8319
+ hexToRgba: hexToRgba,
8320
+ getColor: getColor
8321
+ });
8322
+
8273
8323
  window.bootstrap = bootstrap;
8324
+ window.tabler = tabler;
8274
8325
 
8275
8326
  }));