@coreui/coreui 4.3.0-alpha.0 → 4.3.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.
- package/README.md +2 -2
- package/dist/css/coreui-grid.css +1 -1
- package/dist/css/coreui-grid.css.map +1 -1
- package/dist/css/coreui-grid.min.css +1 -1
- package/dist/css/coreui-grid.min.css.map +1 -1
- package/dist/css/coreui-grid.rtl.css +2 -2
- package/dist/css/coreui-grid.rtl.css.map +1 -1
- package/dist/css/coreui-grid.rtl.min.css +2 -2
- package/dist/css/coreui-grid.rtl.min.css.map +1 -1
- package/dist/css/coreui-reboot.css +44 -149
- package/dist/css/coreui-reboot.css.map +1 -1
- package/dist/css/coreui-reboot.min.css +2 -2
- package/dist/css/coreui-reboot.min.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.css +45 -150
- package/dist/css/coreui-reboot.rtl.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.min.css +3 -3
- package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
- package/dist/css/coreui-utilities.css +81 -366
- package/dist/css/coreui-utilities.css.map +1 -1
- package/dist/css/coreui-utilities.min.css +2 -2
- package/dist/css/coreui-utilities.min.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.css +78 -363
- package/dist/css/coreui-utilities.rtl.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.min.css +3 -3
- package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
- package/dist/css/coreui.css +523 -1112
- package/dist/css/coreui.css.map +1 -1
- package/dist/css/coreui.min.css +2 -2
- package/dist/css/coreui.min.css.map +1 -1
- package/dist/css/coreui.rtl.css +537 -1140
- package/dist/css/coreui.rtl.css.map +1 -1
- package/dist/css/coreui.rtl.min.css +3 -3
- package/dist/css/coreui.rtl.min.css.map +1 -1
- package/dist/js/coreui.bundle.js +43 -47
- package/dist/js/coreui.bundle.js.map +1 -1
- package/dist/js/coreui.bundle.min.js +2 -2
- package/dist/js/coreui.bundle.min.js.map +1 -1
- package/dist/js/coreui.esm.js +37 -35
- package/dist/js/coreui.esm.js.map +1 -1
- package/dist/js/coreui.esm.min.js +2 -2
- package/dist/js/coreui.esm.min.js.map +1 -1
- package/dist/js/coreui.js +37 -35
- package/dist/js/coreui.js.map +1 -1
- package/dist/js/coreui.min.js +2 -2
- package/dist/js/coreui.min.js.map +1 -1
- package/js/dist/alert.js +1 -1
- package/js/dist/base-component.js +2 -2
- package/js/dist/base-component.js.map +1 -1
- package/js/dist/button.js +1 -1
- package/js/dist/carousel.js +1 -1
- package/js/dist/collapse.js +1 -1
- package/js/dist/dom/data.js +1 -1
- package/js/dist/dom/event-handler.js +1 -1
- package/js/dist/dom/manipulator.js +1 -1
- package/js/dist/dom/selector-engine.js +1 -1
- package/js/dist/dropdown.js +1 -1
- package/js/dist/modal.js +1 -1
- package/js/dist/navigation.js +1 -1
- package/js/dist/offcanvas.js +1 -1
- package/js/dist/popover.js +1 -1
- package/js/dist/scrollspy.js +3 -3
- package/js/dist/scrollspy.js.map +1 -1
- package/js/dist/sidebar.js +1 -1
- package/js/dist/tab.js +12 -4
- package/js/dist/tab.js.map +1 -1
- package/js/dist/toast.js +1 -1
- package/js/dist/tooltip.js +1 -1
- package/js/dist/util/backdrop.js +1 -1
- package/js/dist/util/component-functions.js +1 -1
- package/js/dist/util/config.js +1 -1
- package/js/dist/util/focustrap.js +1 -1
- package/js/dist/util/index.js +1 -1
- package/js/dist/util/sanitizer.js +23 -29
- package/js/dist/util/sanitizer.js.map +1 -1
- package/js/dist/util/scrollbar.js +1 -1
- package/js/dist/util/swipe.js +1 -1
- package/js/dist/util/template-factory.js +1 -1
- package/js/src/base-component.js +1 -1
- package/js/src/scrollspy.js +2 -2
- package/js/src/tab.js +13 -3
- package/js/src/util/sanitizer.js +36 -41
- package/package.json +35 -47
- package/scss/_accordion.scss +0 -9
- package/scss/_alert.scss +5 -5
- package/scss/_button-group.scss +3 -3
- package/scss/_buttons.scss +0 -22
- package/scss/_card.scss +3 -3
- package/scss/_carousel.scss +8 -24
- package/scss/_close.scss +1 -13
- package/scss/_dropdown.scss +4 -4
- package/scss/_functions.scss +22 -6
- package/scss/_list-group.scss +2 -11
- package/scss/_maps.scss +0 -123
- package/scss/_mixins.scss +1 -1
- package/scss/_nav.scss +2 -17
- package/scss/_navbar.scss +1 -10
- package/scss/_reboot.scss +4 -4
- package/scss/_root.scss +11 -93
- package/scss/_tooltip.scss +1 -1
- package/scss/_type.scss +1 -1
- package/scss/_utilities.scss +0 -16
- package/scss/_variables.scss +162 -115
- package/scss/coreui-grid.rtl.scss +1 -1
- package/scss/coreui-grid.scss +0 -1
- package/scss/coreui-reboot.rtl.scss +1 -1
- package/scss/coreui-reboot.scss +0 -1
- package/scss/coreui-utilities.rtl.scss +1 -1
- package/scss/coreui-utilities.scss +0 -1
- package/scss/coreui.scss +0 -1
- package/scss/forms/_floating-labels.scss +3 -2
- package/scss/forms/_form-check.scss +12 -20
- package/scss/forms/_form-control.scss +14 -11
- package/scss/forms/_form-range.scss +11 -11
- package/scss/forms/_form-select.scss +9 -16
- package/scss/forms/_form-text.scss +1 -1
- package/scss/forms/_labels.scss +2 -2
- package/scss/helpers/_color-bg.scss +1 -14
- package/scss/helpers/_vr.scss +1 -1
- package/scss/mixins/_banner.scss +1 -1
- package/scss/mixins/_caret.scss +3 -3
- package/scss/mixins/_list-group.scss +0 -1
- package/scss/mixins/_utilities.scss +15 -35
- package/scss/sidebar/_sidebar.scss +2 -10
- package/js/index.esm.js +0 -21
- package/js/index.umd.js +0 -38
- package/scss/_variables-dark.scss +0 -169
- package/scss/mixins/_color-mode.scss +0 -21
package/dist/js/coreui.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI v4.3.0
|
|
2
|
+
* CoreUI v4.3.0 (https://coreui.io)
|
|
3
3
|
* Copyright 2023 The CoreUI Team (https://github.com/orgs/coreui/people)
|
|
4
4
|
* Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
|
|
5
5
|
*/
|
|
@@ -662,7 +662,7 @@ class Config {
|
|
|
662
662
|
* Constants
|
|
663
663
|
*/
|
|
664
664
|
|
|
665
|
-
const VERSION = '4.3.0
|
|
665
|
+
const VERSION = '4.3.0';
|
|
666
666
|
|
|
667
667
|
/**
|
|
668
668
|
* Class definition
|
|
@@ -3229,34 +3229,6 @@ defineJQueryPlugin(Offcanvas);
|
|
|
3229
3229
|
* --------------------------------------------------------------------------
|
|
3230
3230
|
*/
|
|
3231
3231
|
|
|
3232
|
-
const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
|
|
3233
|
-
|
|
3234
|
-
/**
|
|
3235
|
-
* A pattern that recognizes a commonly useful subset of URLs that are safe.
|
|
3236
|
-
*
|
|
3237
|
-
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
|
3238
|
-
*/
|
|
3239
|
-
const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
|
|
3240
|
-
|
|
3241
|
-
/**
|
|
3242
|
-
* A pattern that matches safe data URLs. Only matches image, video and audio types.
|
|
3243
|
-
*
|
|
3244
|
-
* Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
|
|
3245
|
-
*/
|
|
3246
|
-
const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
|
|
3247
|
-
const allowedAttribute = (attribute, allowedAttributeList) => {
|
|
3248
|
-
const attributeName = attribute.nodeName.toLowerCase();
|
|
3249
|
-
if (allowedAttributeList.includes(attributeName)) {
|
|
3250
|
-
if (uriAttributes.has(attributeName)) {
|
|
3251
|
-
return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));
|
|
3252
|
-
}
|
|
3253
|
-
return true;
|
|
3254
|
-
}
|
|
3255
|
-
|
|
3256
|
-
// Check if a regular expression validates the attribute.
|
|
3257
|
-
return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
|
|
3258
|
-
};
|
|
3259
|
-
|
|
3260
3232
|
// js-docs-start allow-list
|
|
3261
3233
|
const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
|
|
3262
3234
|
const DefaultAllowlist = {
|
|
@@ -3294,6 +3266,28 @@ const DefaultAllowlist = {
|
|
|
3294
3266
|
};
|
|
3295
3267
|
// js-docs-end allow-list
|
|
3296
3268
|
|
|
3269
|
+
const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
|
|
3270
|
+
|
|
3271
|
+
/**
|
|
3272
|
+
* A pattern that recognizes URLs that are safe wrt. XSS in URL navigation
|
|
3273
|
+
* contexts.
|
|
3274
|
+
*
|
|
3275
|
+
* Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38
|
|
3276
|
+
*/
|
|
3277
|
+
// eslint-disable-next-line unicorn/better-regex
|
|
3278
|
+
const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;
|
|
3279
|
+
const allowedAttribute = (attribute, allowedAttributeList) => {
|
|
3280
|
+
const attributeName = attribute.nodeName.toLowerCase();
|
|
3281
|
+
if (allowedAttributeList.includes(attributeName)) {
|
|
3282
|
+
if (uriAttributes.has(attributeName)) {
|
|
3283
|
+
return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));
|
|
3284
|
+
}
|
|
3285
|
+
return true;
|
|
3286
|
+
}
|
|
3287
|
+
|
|
3288
|
+
// Check if a regular expression validates the attribute.
|
|
3289
|
+
return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
|
|
3290
|
+
};
|
|
3297
3291
|
function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
|
|
3298
3292
|
if (!unsafeHtml.length) {
|
|
3299
3293
|
return unsafeHtml;
|
|
@@ -4248,11 +4242,11 @@ class ScrollSpy extends BaseComponent {
|
|
|
4248
4242
|
if (!anchor.hash || isDisabled(anchor)) {
|
|
4249
4243
|
continue;
|
|
4250
4244
|
}
|
|
4251
|
-
const observableSection = SelectorEngine.findOne(anchor.hash, this._element);
|
|
4245
|
+
const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);
|
|
4252
4246
|
|
|
4253
4247
|
// ensure that the observableSection exists & is visible
|
|
4254
4248
|
if (isVisible(observableSection)) {
|
|
4255
|
-
this._targetLinks.set(anchor.hash, anchor);
|
|
4249
|
+
this._targetLinks.set(decodeURI(anchor.hash), anchor);
|
|
4256
4250
|
this._observableSections.set(anchor.hash, observableSection);
|
|
4257
4251
|
}
|
|
4258
4252
|
}
|
|
@@ -4632,6 +4626,8 @@ const ARROW_LEFT_KEY = 'ArrowLeft';
|
|
|
4632
4626
|
const ARROW_RIGHT_KEY = 'ArrowRight';
|
|
4633
4627
|
const ARROW_UP_KEY = 'ArrowUp';
|
|
4634
4628
|
const ARROW_DOWN_KEY = 'ArrowDown';
|
|
4629
|
+
const HOME_KEY = 'Home';
|
|
4630
|
+
const END_KEY = 'End';
|
|
4635
4631
|
const CLASS_NAME_ACTIVE = 'active';
|
|
4636
4632
|
const CLASS_NAME_FADE$1 = 'fade';
|
|
4637
4633
|
const CLASS_NAME_SHOW$1 = 'show';
|
|
@@ -4738,13 +4734,19 @@ class Tab extends BaseComponent {
|
|
|
4738
4734
|
this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
|
|
4739
4735
|
}
|
|
4740
4736
|
_keydown(event) {
|
|
4741
|
-
if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) {
|
|
4737
|
+
if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) {
|
|
4742
4738
|
return;
|
|
4743
4739
|
}
|
|
4744
4740
|
event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page
|
|
4745
4741
|
event.preventDefault();
|
|
4746
|
-
const
|
|
4747
|
-
|
|
4742
|
+
const children = this._getChildren().filter(element => !isDisabled(element));
|
|
4743
|
+
let nextActiveElement;
|
|
4744
|
+
if ([HOME_KEY, END_KEY].includes(event.key)) {
|
|
4745
|
+
nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1];
|
|
4746
|
+
} else {
|
|
4747
|
+
const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key);
|
|
4748
|
+
nextActiveElement = getNextActiveElement(children, event.target, isNext, true);
|
|
4749
|
+
}
|
|
4748
4750
|
if (nextActiveElement) {
|
|
4749
4751
|
nextActiveElement.focus({
|
|
4750
4752
|
preventScroll: true
|