@dnncommunity/dnn-elements 0.13.0-beta.1
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/LICENSE +21 -0
- package/README.md +24 -0
- package/dist/cjs/app-globals-3a1e7e63.js +7 -0
- package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
- package/dist/cjs/css-shim-3bfdba4f.js +8 -0
- package/dist/cjs/css-shim-3bfdba4f.js.map +1 -0
- package/dist/cjs/debounce-1de79bc7.js +24 -0
- package/dist/cjs/debounce-1de79bc7.js.map +1 -0
- package/dist/cjs/dnn-button.cjs.entry.js +88 -0
- package/dist/cjs/dnn-button.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-button_14.cjs.entry.js +1580 -0
- package/dist/cjs/dnn-button_14.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-checkbox.cjs.entry.js +58 -0
- package/dist/cjs/dnn-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-chevron.cjs.entry.js +34 -0
- package/dist/cjs/dnn-chevron.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-collapsible.cjs.entry.js +112 -0
- package/dist/cjs/dnn-collapsible.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-color-picker.cjs.entry.js +508 -0
- package/dist/cjs/dnn-color-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-dropzone.cjs.entry.js +153 -0
- package/dist/cjs/dnn-dropzone.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-image-cropper.cjs.entry.js +424 -0
- package/dist/cjs/dnn-image-cropper.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-modal.cjs.entry.js +62 -0
- package/dist/cjs/dnn-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-searchbox.cjs.entry.js +66 -0
- package/dist/cjs/dnn-searchbox.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-sort-icon.cjs.entry.js +43 -0
- package/dist/cjs/dnn-sort-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-tab.cjs.entry.js +31 -0
- package/dist/cjs/dnn-tab.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-tabs.cjs.entry.js +50 -0
- package/dist/cjs/dnn-tabs.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-toggle.cjs.entry.js +37 -0
- package/dist/cjs/dnn-toggle.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn-treeview-item.cjs.entry.js +48 -0
- package/dist/cjs/dnn-treeview-item.cjs.entry.js.map +1 -0
- package/dist/cjs/dnn.cjs.js +129 -0
- package/dist/cjs/dnn.cjs.js.map +1 -0
- package/dist/cjs/dom-8ac1ad03.js +77 -0
- package/dist/cjs/dom-8ac1ad03.js.map +1 -0
- package/dist/cjs/index-e85ec026.js +1327 -0
- package/dist/cjs/index-e85ec026.js.map +1 -0
- package/dist/cjs/index-eede7745.js +3069 -0
- package/dist/cjs/index-eede7745.js.map +1 -0
- package/dist/cjs/index.cjs.js +52 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +39 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/shadow-css-41d9783d.js +392 -0
- package/dist/cjs/shadow-css-41d9783d.js.map +1 -0
- package/dist/collection/collection-manifest.json +25 -0
- package/dist/collection/components/dnn-button/dnn-button.css +87 -0
- package/dist/collection/components/dnn-button/dnn-button.js +272 -0
- package/dist/collection/components/dnn-button/dnn-button.js.map +1 -0
- package/dist/collection/components/dnn-checkbox/dnn-checkbox.css +27 -0
- package/dist/collection/components/dnn-checkbox/dnn-checkbox.js +140 -0
- package/dist/collection/components/dnn-checkbox/dnn-checkbox.js.map +1 -0
- package/dist/collection/components/dnn-chevron/dnn-chevron.css +30 -0
- package/dist/collection/components/dnn-chevron/dnn-chevron.js +107 -0
- package/dist/collection/components/dnn-chevron/dnn-chevron.js.map +1 -0
- package/dist/collection/components/dnn-collapsible/dnn-collapsible.css +8 -0
- package/dist/collection/components/dnn-collapsible/dnn-collapsible.js +188 -0
- package/dist/collection/components/dnn-collapsible/dnn-collapsible.js.map +1 -0
- package/dist/collection/components/dnn-color-picker/dnn-color-picker.css +225 -0
- package/dist/collection/components/dnn-color-picker/dnn-color-picker.js +434 -0
- package/dist/collection/components/dnn-color-picker/dnn-color-picker.js.map +1 -0
- package/dist/collection/components/dnn-dropzone/dnn-dropzone.css +62 -0
- package/dist/collection/components/dnn-dropzone/dnn-dropzone.js +266 -0
- package/dist/collection/components/dnn-dropzone/dnn-dropzone.js.map +1 -0
- package/dist/collection/components/dnn-image-cropper/CornerType.js +9 -0
- package/dist/collection/components/dnn-image-cropper/CornerType.js.map +1 -0
- package/dist/collection/components/dnn-image-cropper/dnn-image-cropper.css +80 -0
- package/dist/collection/components/dnn-image-cropper/dnn-image-cropper.js +539 -0
- package/dist/collection/components/dnn-image-cropper/dnn-image-cropper.js.map +1 -0
- package/dist/collection/components/dnn-modal/dnn-modal.css +67 -0
- package/dist/collection/components/dnn-modal/dnn-modal.js +173 -0
- package/dist/collection/components/dnn-modal/dnn-modal.js.map +1 -0
- package/dist/collection/components/dnn-searchbox/dnn-searchbox.css +48 -0
- package/dist/collection/components/dnn-searchbox/dnn-searchbox.js +137 -0
- package/dist/collection/components/dnn-searchbox/dnn-searchbox.js.map +1 -0
- package/dist/collection/components/dnn-sort-icon/dnn-sort-icon.css +32 -0
- package/dist/collection/components/dnn-sort-icon/dnn-sort-icon.js +81 -0
- package/dist/collection/components/dnn-sort-icon/dnn-sort-icon.js.map +1 -0
- package/dist/collection/components/dnn-tab/dnn-tab.css +0 -0
- package/dist/collection/components/dnn-tab/dnn-tab.js +84 -0
- package/dist/collection/components/dnn-tab/dnn-tab.js.map +1 -0
- package/dist/collection/components/dnn-tabs/dnn-tabs.css +40 -0
- package/dist/collection/components/dnn-tabs/dnn-tabs.js +53 -0
- package/dist/collection/components/dnn-tabs/dnn-tabs.js.map +1 -0
- package/dist/collection/components/dnn-toggle/dnn-toggle.css +52 -0
- package/dist/collection/components/dnn-toggle/dnn-toggle.js +94 -0
- package/dist/collection/components/dnn-toggle/dnn-toggle.js.map +1 -0
- package/dist/collection/components/dnn-toggle/toggle-interface.js +2 -0
- package/dist/collection/components/dnn-toggle/toggle-interface.js.map +1 -0
- package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.css +47 -0
- package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.js +77 -0
- package/dist/collection/components/dnn-treeview-item/dnn-treeview-item.js.map +1 -0
- package/dist/collection/index.js +3 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/utilities/colorInfo.js +191 -0
- package/dist/collection/utilities/colorInfo.js.map +1 -0
- package/dist/collection/utilities/debounce.js +19 -0
- package/dist/collection/utilities/debounce.js.map +1 -0
- package/dist/collection/utilities/dnnServicesFramework.js +42 -0
- package/dist/collection/utilities/dnnServicesFramework.js.map +1 -0
- package/dist/dnn/app-globals-0f993ce5.js +5 -0
- package/dist/dnn/app-globals-0f993ce5.js.map +1 -0
- package/dist/dnn/css-shim-20dbffa5.js +6 -0
- package/dist/dnn/css-shim-20dbffa5.js.map +1 -0
- package/dist/dnn/debounce-06f55268.js +22 -0
- package/dist/dnn/debounce-06f55268.js.map +1 -0
- package/dist/dnn/dnn-button.entry.js +84 -0
- package/dist/dnn/dnn-button.entry.js.map +1 -0
- package/dist/dnn/dnn-checkbox.entry.js +54 -0
- package/dist/dnn/dnn-checkbox.entry.js.map +1 -0
- package/dist/dnn/dnn-chevron.entry.js +30 -0
- package/dist/dnn/dnn-chevron.entry.js.map +1 -0
- package/dist/dnn/dnn-collapsible.entry.js +108 -0
- package/dist/dnn/dnn-collapsible.entry.js.map +1 -0
- package/dist/dnn/dnn-color-picker.entry.js +504 -0
- package/dist/dnn/dnn-color-picker.entry.js.map +1 -0
- package/dist/dnn/dnn-dropzone.entry.js +149 -0
- package/dist/dnn/dnn-dropzone.entry.js.map +1 -0
- package/dist/dnn/dnn-image-cropper.entry.js +420 -0
- package/dist/dnn/dnn-image-cropper.entry.js.map +1 -0
- package/dist/dnn/dnn-modal.entry.js +58 -0
- package/dist/dnn/dnn-modal.entry.js.map +1 -0
- package/dist/dnn/dnn-searchbox.entry.js +62 -0
- package/dist/dnn/dnn-searchbox.entry.js.map +1 -0
- package/dist/dnn/dnn-sort-icon.entry.js +39 -0
- package/dist/dnn/dnn-sort-icon.entry.js.map +1 -0
- package/dist/dnn/dnn-tab.entry.js +27 -0
- package/dist/dnn/dnn-tab.entry.js.map +1 -0
- package/dist/dnn/dnn-tabs.entry.js +46 -0
- package/dist/dnn/dnn-tabs.entry.js.map +1 -0
- package/dist/dnn/dnn-toggle.entry.js +33 -0
- package/dist/dnn/dnn-toggle.entry.js.map +1 -0
- package/dist/dnn/dnn-treeview-item.entry.js +44 -0
- package/dist/dnn/dnn-treeview-item.entry.js.map +1 -0
- package/dist/dnn/dnn.esm.js +127 -0
- package/dist/dnn/dnn.esm.js.map +1 -0
- package/dist/dnn/dom-c5ed0ba5.js +75 -0
- package/dist/dnn/dom-c5ed0ba5.js.map +1 -0
- package/dist/dnn/index-6c0764e5.js +3033 -0
- package/dist/dnn/index-6c0764e5.js.map +1 -0
- package/dist/dnn/index.esm.js +47 -0
- package/dist/dnn/index.esm.js.map +1 -0
- package/dist/dnn/p-0e94f5ee.js +2 -0
- package/dist/dnn/p-0e94f5ee.js.map +1 -0
- package/dist/dnn/p-7acf3104.entry.js +11 -0
- package/dist/dnn/p-7acf3104.entry.js.map +1 -0
- package/dist/dnn/p-bd3d3361.js +2 -0
- package/dist/dnn/p-bd3d3361.js.map +1 -0
- package/dist/dnn/shadow-css-8c625855.js +390 -0
- package/dist/dnn/shadow-css-8c625855.js.map +1 -0
- package/dist/esm/app-globals-0f993ce5.js +5 -0
- package/dist/esm/app-globals-0f993ce5.js.map +1 -0
- package/dist/esm/css-shim-20dbffa5.js +6 -0
- package/dist/esm/css-shim-20dbffa5.js.map +1 -0
- package/dist/esm/debounce-06f55268.js +22 -0
- package/dist/esm/debounce-06f55268.js.map +1 -0
- package/dist/esm/dnn-button.entry.js +84 -0
- package/dist/esm/dnn-button.entry.js.map +1 -0
- package/dist/esm/dnn-button_14.entry.js +1563 -0
- package/dist/esm/dnn-button_14.entry.js.map +1 -0
- package/dist/esm/dnn-checkbox.entry.js +54 -0
- package/dist/esm/dnn-checkbox.entry.js.map +1 -0
- package/dist/esm/dnn-chevron.entry.js +30 -0
- package/dist/esm/dnn-chevron.entry.js.map +1 -0
- package/dist/esm/dnn-collapsible.entry.js +108 -0
- package/dist/esm/dnn-collapsible.entry.js.map +1 -0
- package/dist/esm/dnn-color-picker.entry.js +504 -0
- package/dist/esm/dnn-color-picker.entry.js.map +1 -0
- package/dist/esm/dnn-dropzone.entry.js +149 -0
- package/dist/esm/dnn-dropzone.entry.js.map +1 -0
- package/dist/esm/dnn-image-cropper.entry.js +420 -0
- package/dist/esm/dnn-image-cropper.entry.js.map +1 -0
- package/dist/esm/dnn-modal.entry.js +58 -0
- package/dist/esm/dnn-modal.entry.js.map +1 -0
- package/dist/esm/dnn-searchbox.entry.js +62 -0
- package/dist/esm/dnn-searchbox.entry.js.map +1 -0
- package/dist/esm/dnn-sort-icon.entry.js +39 -0
- package/dist/esm/dnn-sort-icon.entry.js.map +1 -0
- package/dist/esm/dnn-tab.entry.js +27 -0
- package/dist/esm/dnn-tab.entry.js.map +1 -0
- package/dist/esm/dnn-tabs.entry.js +46 -0
- package/dist/esm/dnn-tabs.entry.js.map +1 -0
- package/dist/esm/dnn-toggle.entry.js +33 -0
- package/dist/esm/dnn-toggle.entry.js.map +1 -0
- package/dist/esm/dnn-treeview-item.entry.js +44 -0
- package/dist/esm/dnn-treeview-item.entry.js.map +1 -0
- package/dist/esm/dnn.js +127 -0
- package/dist/esm/dnn.js.map +1 -0
- package/dist/esm/dom-c5ed0ba5.js +75 -0
- package/dist/esm/dom-c5ed0ba5.js.map +1 -0
- package/dist/esm/index-6c0764e5.js +3033 -0
- package/dist/esm/index-6c0764e5.js.map +1 -0
- package/dist/esm/index-f79d9e82.js +1299 -0
- package/dist/esm/index-f79d9e82.js.map +1 -0
- package/dist/esm/index.js +47 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +35 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm/shadow-css-8c625855.js +390 -0
- package/dist/esm/shadow-css-8c625855.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/components/dnn-button/dnn-button.d.ts +55 -0
- package/dist/types/components/dnn-checkbox/dnn-checkbox.d.ts +16 -0
- package/dist/types/components/dnn-chevron/dnn-chevron.d.ts +13 -0
- package/dist/types/components/dnn-collapsible/dnn-collapsible.d.ts +22 -0
- package/dist/types/components/dnn-color-picker/dnn-color-picker.d.ts +46 -0
- package/dist/types/components/dnn-dropzone/dnn-dropzone.d.ts +45 -0
- package/dist/types/components/dnn-image-cropper/CornerType.d.ts +6 -0
- package/dist/types/components/dnn-image-cropper/dnn-image-cropper.d.ts +62 -0
- package/dist/types/components/dnn-modal/dnn-modal.d.ts +35 -0
- package/dist/types/components/dnn-searchbox/dnn-searchbox.d.ts +22 -0
- package/dist/types/components/dnn-sort-icon/dnn-sort-icon.d.ts +9 -0
- package/dist/types/components/dnn-tab/dnn-tab.d.ts +11 -0
- package/dist/types/components/dnn-tabs/dnn-tabs.d.ts +11 -0
- package/dist/types/components/dnn-toggle/dnn-toggle.d.ts +13 -0
- package/dist/types/components/dnn-toggle/toggle-interface.d.ts +3 -0
- package/dist/types/components/dnn-treeview-item/dnn-treeview-item.d.ts +16 -0
- package/dist/types/components.d.ts +611 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/stencil-public-runtime.d.ts +1565 -0
- package/dist/types/utilities/colorInfo.d.ts +52 -0
- package/dist/types/utilities/debounce.d.ts +5 -0
- package/dist/types/utilities/dnnServicesFramework.d.ts +19 -0
- package/loader/cdn.js +3 -0
- package/loader/index.cjs.js +3 -0
- package/loader/index.d.ts +12 -0
- package/loader/index.es2017.js +3 -0
- package/loader/index.js +4 -0
- package/loader/package.json +10 -0
- package/package.json +48 -0
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Stencil Client Platform v2.13.0 | MIT Licensed | https://stenciljs.com
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
9
|
+
* found in the LICENSE file at https://angular.io/license
|
|
10
|
+
*
|
|
11
|
+
* This file is a port of shadowCSS from webcomponents.js to TypeScript.
|
|
12
|
+
* https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js
|
|
13
|
+
* https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts
|
|
14
|
+
*/
|
|
15
|
+
const safeSelector = (selector) => {
|
|
16
|
+
const placeholders = [];
|
|
17
|
+
let index = 0;
|
|
18
|
+
let content;
|
|
19
|
+
// Replaces attribute selectors with placeholders.
|
|
20
|
+
// The WS in [attr="va lue"] would otherwise be interpreted as a selector separator.
|
|
21
|
+
selector = selector.replace(/(\[[^\]]*\])/g, (_, keep) => {
|
|
22
|
+
const replaceBy = `__ph-${index}__`;
|
|
23
|
+
placeholders.push(keep);
|
|
24
|
+
index++;
|
|
25
|
+
return replaceBy;
|
|
26
|
+
});
|
|
27
|
+
// Replaces the expression in `:nth-child(2n + 1)` with a placeholder.
|
|
28
|
+
// WS and "+" would otherwise be interpreted as selector separators.
|
|
29
|
+
content = selector.replace(/(:nth-[-\w]+)(\([^)]+\))/g, (_, pseudo, exp) => {
|
|
30
|
+
const replaceBy = `__ph-${index}__`;
|
|
31
|
+
placeholders.push(exp);
|
|
32
|
+
index++;
|
|
33
|
+
return pseudo + replaceBy;
|
|
34
|
+
});
|
|
35
|
+
const ss = {
|
|
36
|
+
content,
|
|
37
|
+
placeholders,
|
|
38
|
+
};
|
|
39
|
+
return ss;
|
|
40
|
+
};
|
|
41
|
+
const restoreSafeSelector = (placeholders, content) => {
|
|
42
|
+
return content.replace(/__ph-(\d+)__/g, (_, index) => placeholders[+index]);
|
|
43
|
+
};
|
|
44
|
+
const _polyfillHost = '-shadowcsshost';
|
|
45
|
+
const _polyfillSlotted = '-shadowcssslotted';
|
|
46
|
+
// note: :host-context pre-processed to -shadowcsshostcontext.
|
|
47
|
+
const _polyfillHostContext = '-shadowcsscontext';
|
|
48
|
+
const _parenSuffix = ')(?:\\((' + '(?:\\([^)(]*\\)|[^)(]*)+?' + ')\\))?([^,{]*)';
|
|
49
|
+
const _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');
|
|
50
|
+
const _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');
|
|
51
|
+
const _cssColonSlottedRe = new RegExp('(' + _polyfillSlotted + _parenSuffix, 'gim');
|
|
52
|
+
const _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';
|
|
53
|
+
const _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/;
|
|
54
|
+
const _shadowDOMSelectorsRe = [/::shadow/g, /::content/g];
|
|
55
|
+
const _selectorReSuffix = '([>\\s~+[.,{:][\\s\\S]*)?$';
|
|
56
|
+
const _polyfillHostRe = /-shadowcsshost/gim;
|
|
57
|
+
const _colonHostRe = /:host/gim;
|
|
58
|
+
const _colonSlottedRe = /::slotted/gim;
|
|
59
|
+
const _colonHostContextRe = /:host-context/gim;
|
|
60
|
+
const _commentRe = /\/\*\s*[\s\S]*?\*\//g;
|
|
61
|
+
const stripComments = (input) => {
|
|
62
|
+
return input.replace(_commentRe, '');
|
|
63
|
+
};
|
|
64
|
+
const _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g;
|
|
65
|
+
const extractCommentsWithHash = (input) => {
|
|
66
|
+
return input.match(_commentWithHashRe) || [];
|
|
67
|
+
};
|
|
68
|
+
const _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g;
|
|
69
|
+
const _curlyRe = /([{}])/g;
|
|
70
|
+
const _selectorPartsRe = /(^.*?[^\\])??((:+)(.*)|$)/;
|
|
71
|
+
const OPEN_CURLY = '{';
|
|
72
|
+
const CLOSE_CURLY = '}';
|
|
73
|
+
const BLOCK_PLACEHOLDER = '%BLOCK%';
|
|
74
|
+
const processRules = (input, ruleCallback) => {
|
|
75
|
+
const inputWithEscapedBlocks = escapeBlocks(input);
|
|
76
|
+
let nextBlockIndex = 0;
|
|
77
|
+
return inputWithEscapedBlocks.escapedString.replace(_ruleRe, (...m) => {
|
|
78
|
+
const selector = m[2];
|
|
79
|
+
let content = '';
|
|
80
|
+
let suffix = m[4];
|
|
81
|
+
let contentPrefix = '';
|
|
82
|
+
if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {
|
|
83
|
+
content = inputWithEscapedBlocks.blocks[nextBlockIndex++];
|
|
84
|
+
suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);
|
|
85
|
+
contentPrefix = '{';
|
|
86
|
+
}
|
|
87
|
+
const cssRule = {
|
|
88
|
+
selector,
|
|
89
|
+
content,
|
|
90
|
+
};
|
|
91
|
+
const rule = ruleCallback(cssRule);
|
|
92
|
+
return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
const escapeBlocks = (input) => {
|
|
96
|
+
const inputParts = input.split(_curlyRe);
|
|
97
|
+
const resultParts = [];
|
|
98
|
+
const escapedBlocks = [];
|
|
99
|
+
let bracketCount = 0;
|
|
100
|
+
let currentBlockParts = [];
|
|
101
|
+
for (let partIndex = 0; partIndex < inputParts.length; partIndex++) {
|
|
102
|
+
const part = inputParts[partIndex];
|
|
103
|
+
if (part === CLOSE_CURLY) {
|
|
104
|
+
bracketCount--;
|
|
105
|
+
}
|
|
106
|
+
if (bracketCount > 0) {
|
|
107
|
+
currentBlockParts.push(part);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
if (currentBlockParts.length > 0) {
|
|
111
|
+
escapedBlocks.push(currentBlockParts.join(''));
|
|
112
|
+
resultParts.push(BLOCK_PLACEHOLDER);
|
|
113
|
+
currentBlockParts = [];
|
|
114
|
+
}
|
|
115
|
+
resultParts.push(part);
|
|
116
|
+
}
|
|
117
|
+
if (part === OPEN_CURLY) {
|
|
118
|
+
bracketCount++;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (currentBlockParts.length > 0) {
|
|
122
|
+
escapedBlocks.push(currentBlockParts.join(''));
|
|
123
|
+
resultParts.push(BLOCK_PLACEHOLDER);
|
|
124
|
+
}
|
|
125
|
+
const strEscapedBlocks = {
|
|
126
|
+
escapedString: resultParts.join(''),
|
|
127
|
+
blocks: escapedBlocks,
|
|
128
|
+
};
|
|
129
|
+
return strEscapedBlocks;
|
|
130
|
+
};
|
|
131
|
+
const insertPolyfillHostInCssText = (selector) => {
|
|
132
|
+
selector = selector
|
|
133
|
+
.replace(_colonHostContextRe, _polyfillHostContext)
|
|
134
|
+
.replace(_colonHostRe, _polyfillHost)
|
|
135
|
+
.replace(_colonSlottedRe, _polyfillSlotted);
|
|
136
|
+
return selector;
|
|
137
|
+
};
|
|
138
|
+
const convertColonRule = (cssText, regExp, partReplacer) => {
|
|
139
|
+
// m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule
|
|
140
|
+
return cssText.replace(regExp, (...m) => {
|
|
141
|
+
if (m[2]) {
|
|
142
|
+
const parts = m[2].split(',');
|
|
143
|
+
const r = [];
|
|
144
|
+
for (let i = 0; i < parts.length; i++) {
|
|
145
|
+
const p = parts[i].trim();
|
|
146
|
+
if (!p)
|
|
147
|
+
break;
|
|
148
|
+
r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));
|
|
149
|
+
}
|
|
150
|
+
return r.join(',');
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
return _polyfillHostNoCombinator + m[3];
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
};
|
|
157
|
+
const colonHostPartReplacer = (host, part, suffix) => {
|
|
158
|
+
return host + part.replace(_polyfillHost, '') + suffix;
|
|
159
|
+
};
|
|
160
|
+
const convertColonHost = (cssText) => {
|
|
161
|
+
return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);
|
|
162
|
+
};
|
|
163
|
+
const colonHostContextPartReplacer = (host, part, suffix) => {
|
|
164
|
+
if (part.indexOf(_polyfillHost) > -1) {
|
|
165
|
+
return colonHostPartReplacer(host, part, suffix);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
return host + part + suffix + ', ' + part + ' ' + host + suffix;
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
const convertColonSlotted = (cssText, slotScopeId) => {
|
|
172
|
+
const slotClass = '.' + slotScopeId + ' > ';
|
|
173
|
+
const selectors = [];
|
|
174
|
+
cssText = cssText.replace(_cssColonSlottedRe, (...m) => {
|
|
175
|
+
if (m[2]) {
|
|
176
|
+
const compound = m[2].trim();
|
|
177
|
+
const suffix = m[3];
|
|
178
|
+
const slottedSelector = slotClass + compound + suffix;
|
|
179
|
+
let prefixSelector = '';
|
|
180
|
+
for (let i = m[4] - 1; i >= 0; i--) {
|
|
181
|
+
const char = m[5][i];
|
|
182
|
+
if (char === '}' || char === ',') {
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
prefixSelector = char + prefixSelector;
|
|
186
|
+
}
|
|
187
|
+
const orgSelector = prefixSelector + slottedSelector;
|
|
188
|
+
const addedSelector = `${prefixSelector.trimRight()}${slottedSelector.trim()}`;
|
|
189
|
+
if (orgSelector.trim() !== addedSelector.trim()) {
|
|
190
|
+
const updatedSelector = `${addedSelector}, ${orgSelector}`;
|
|
191
|
+
selectors.push({
|
|
192
|
+
orgSelector,
|
|
193
|
+
updatedSelector,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
return slottedSelector;
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
return _polyfillHostNoCombinator + m[3];
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
return {
|
|
203
|
+
selectors,
|
|
204
|
+
cssText,
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
const convertColonHostContext = (cssText) => {
|
|
208
|
+
return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);
|
|
209
|
+
};
|
|
210
|
+
const convertShadowDOMSelectors = (cssText) => {
|
|
211
|
+
return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);
|
|
212
|
+
};
|
|
213
|
+
const makeScopeMatcher = (scopeSelector) => {
|
|
214
|
+
const lre = /\[/g;
|
|
215
|
+
const rre = /\]/g;
|
|
216
|
+
scopeSelector = scopeSelector.replace(lre, '\\[').replace(rre, '\\]');
|
|
217
|
+
return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');
|
|
218
|
+
};
|
|
219
|
+
const selectorNeedsScoping = (selector, scopeSelector) => {
|
|
220
|
+
const re = makeScopeMatcher(scopeSelector);
|
|
221
|
+
return !re.test(selector);
|
|
222
|
+
};
|
|
223
|
+
const injectScopingSelector = (selector, scopingSelector) => {
|
|
224
|
+
return selector.replace(_selectorPartsRe, (_, before = '', _colonGroup, colon = '', after = '') => {
|
|
225
|
+
return before + scopingSelector + colon + after;
|
|
226
|
+
});
|
|
227
|
+
};
|
|
228
|
+
const applySimpleSelectorScope = (selector, scopeSelector, hostSelector) => {
|
|
229
|
+
// In Android browser, the lastIndex is not reset when the regex is used in String.replace()
|
|
230
|
+
_polyfillHostRe.lastIndex = 0;
|
|
231
|
+
if (_polyfillHostRe.test(selector)) {
|
|
232
|
+
const replaceBy = `.${hostSelector}`;
|
|
233
|
+
return selector
|
|
234
|
+
.replace(_polyfillHostNoCombinatorRe, (_, selector) => injectScopingSelector(selector, replaceBy))
|
|
235
|
+
.replace(_polyfillHostRe, replaceBy + ' ');
|
|
236
|
+
}
|
|
237
|
+
return scopeSelector + ' ' + selector;
|
|
238
|
+
};
|
|
239
|
+
const applyStrictSelectorScope = (selector, scopeSelector, hostSelector) => {
|
|
240
|
+
const isRe = /\[is=([^\]]*)\]/g;
|
|
241
|
+
scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);
|
|
242
|
+
const className = '.' + scopeSelector;
|
|
243
|
+
const _scopeSelectorPart = (p) => {
|
|
244
|
+
let scopedP = p.trim();
|
|
245
|
+
if (!scopedP) {
|
|
246
|
+
return '';
|
|
247
|
+
}
|
|
248
|
+
if (p.indexOf(_polyfillHostNoCombinator) > -1) {
|
|
249
|
+
scopedP = applySimpleSelectorScope(p, scopeSelector, hostSelector);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
// remove :host since it should be unnecessary
|
|
253
|
+
const t = p.replace(_polyfillHostRe, '');
|
|
254
|
+
if (t.length > 0) {
|
|
255
|
+
scopedP = injectScopingSelector(t, className);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
return scopedP;
|
|
259
|
+
};
|
|
260
|
+
const safeContent = safeSelector(selector);
|
|
261
|
+
selector = safeContent.content;
|
|
262
|
+
let scopedSelector = '';
|
|
263
|
+
let startIndex = 0;
|
|
264
|
+
let res;
|
|
265
|
+
const sep = /( |>|\+|~(?!=))\s*/g;
|
|
266
|
+
// If a selector appears before :host it should not be shimmed as it
|
|
267
|
+
// matches on ancestor elements and not on elements in the host's shadow
|
|
268
|
+
// `:host-context(div)` is transformed to
|
|
269
|
+
// `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`
|
|
270
|
+
// the `div` is not part of the component in the 2nd selectors and should not be scoped.
|
|
271
|
+
// Historically `component-tag:host` was matching the component so we also want to preserve
|
|
272
|
+
// this behavior to avoid breaking legacy apps (it should not match).
|
|
273
|
+
// The behavior should be:
|
|
274
|
+
// - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)
|
|
275
|
+
// - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a
|
|
276
|
+
// `:host-context(tag)`)
|
|
277
|
+
const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;
|
|
278
|
+
// Only scope parts after the first `-shadowcsshost-no-combinator` when it is present
|
|
279
|
+
let shouldScope = !hasHost;
|
|
280
|
+
while ((res = sep.exec(selector)) !== null) {
|
|
281
|
+
const separator = res[1];
|
|
282
|
+
const part = selector.slice(startIndex, res.index).trim();
|
|
283
|
+
shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
|
|
284
|
+
const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;
|
|
285
|
+
scopedSelector += `${scopedPart} ${separator} `;
|
|
286
|
+
startIndex = sep.lastIndex;
|
|
287
|
+
}
|
|
288
|
+
const part = selector.substring(startIndex);
|
|
289
|
+
shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
|
|
290
|
+
scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;
|
|
291
|
+
// replace the placeholders with their original values
|
|
292
|
+
return restoreSafeSelector(safeContent.placeholders, scopedSelector);
|
|
293
|
+
};
|
|
294
|
+
const scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector) => {
|
|
295
|
+
return selector
|
|
296
|
+
.split(',')
|
|
297
|
+
.map((shallowPart) => {
|
|
298
|
+
if (slotSelector && shallowPart.indexOf('.' + slotSelector) > -1) {
|
|
299
|
+
return shallowPart.trim();
|
|
300
|
+
}
|
|
301
|
+
if (selectorNeedsScoping(shallowPart, scopeSelectorText)) {
|
|
302
|
+
return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim();
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
return shallowPart.trim();
|
|
306
|
+
}
|
|
307
|
+
})
|
|
308
|
+
.join(', ');
|
|
309
|
+
};
|
|
310
|
+
const scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {
|
|
311
|
+
return processRules(cssText, (rule) => {
|
|
312
|
+
let selector = rule.selector;
|
|
313
|
+
let content = rule.content;
|
|
314
|
+
if (rule.selector[0] !== '@') {
|
|
315
|
+
selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);
|
|
316
|
+
}
|
|
317
|
+
else if (rule.selector.startsWith('@media') ||
|
|
318
|
+
rule.selector.startsWith('@supports') ||
|
|
319
|
+
rule.selector.startsWith('@page') ||
|
|
320
|
+
rule.selector.startsWith('@document')) {
|
|
321
|
+
content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector);
|
|
322
|
+
}
|
|
323
|
+
const cssRule = {
|
|
324
|
+
selector: selector.replace(/\s{2,}/g, ' ').trim(),
|
|
325
|
+
content,
|
|
326
|
+
};
|
|
327
|
+
return cssRule;
|
|
328
|
+
});
|
|
329
|
+
};
|
|
330
|
+
const scopeCssText = (cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector) => {
|
|
331
|
+
cssText = insertPolyfillHostInCssText(cssText);
|
|
332
|
+
cssText = convertColonHost(cssText);
|
|
333
|
+
cssText = convertColonHostContext(cssText);
|
|
334
|
+
const slotted = convertColonSlotted(cssText, slotScopeId);
|
|
335
|
+
cssText = slotted.cssText;
|
|
336
|
+
cssText = convertShadowDOMSelectors(cssText);
|
|
337
|
+
if (scopeId) {
|
|
338
|
+
cssText = scopeSelectors(cssText, scopeId, hostScopeId, slotScopeId);
|
|
339
|
+
}
|
|
340
|
+
cssText = cssText.replace(/-shadowcsshost-no-combinator/g, `.${hostScopeId}`);
|
|
341
|
+
cssText = cssText.replace(/>\s*\*\s+([^{, ]+)/gm, ' $1 ');
|
|
342
|
+
return {
|
|
343
|
+
cssText: cssText.trim(),
|
|
344
|
+
slottedSelectors: slotted.selectors,
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
const scopeCss = (cssText, scopeId, commentOriginalSelector) => {
|
|
348
|
+
const hostScopeId = scopeId + '-h';
|
|
349
|
+
const slotScopeId = scopeId + '-s';
|
|
350
|
+
const commentsWithHash = extractCommentsWithHash(cssText);
|
|
351
|
+
cssText = stripComments(cssText);
|
|
352
|
+
const orgSelectors = [];
|
|
353
|
+
if (commentOriginalSelector) {
|
|
354
|
+
const processCommentedSelector = (rule) => {
|
|
355
|
+
const placeholder = `/*!@___${orgSelectors.length}___*/`;
|
|
356
|
+
const comment = `/*!@${rule.selector}*/`;
|
|
357
|
+
orgSelectors.push({ placeholder, comment });
|
|
358
|
+
rule.selector = placeholder + rule.selector;
|
|
359
|
+
return rule;
|
|
360
|
+
};
|
|
361
|
+
cssText = processRules(cssText, (rule) => {
|
|
362
|
+
if (rule.selector[0] !== '@') {
|
|
363
|
+
return processCommentedSelector(rule);
|
|
364
|
+
}
|
|
365
|
+
else if (rule.selector.startsWith('@media') ||
|
|
366
|
+
rule.selector.startsWith('@supports') ||
|
|
367
|
+
rule.selector.startsWith('@page') ||
|
|
368
|
+
rule.selector.startsWith('@document')) {
|
|
369
|
+
rule.content = processRules(rule.content, processCommentedSelector);
|
|
370
|
+
return rule;
|
|
371
|
+
}
|
|
372
|
+
return rule;
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId);
|
|
376
|
+
cssText = [scoped.cssText, ...commentsWithHash].join('\n');
|
|
377
|
+
if (commentOriginalSelector) {
|
|
378
|
+
orgSelectors.forEach(({ placeholder, comment }) => {
|
|
379
|
+
cssText = cssText.replace(placeholder, comment);
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
scoped.slottedSelectors.forEach((slottedSelector) => {
|
|
383
|
+
cssText = cssText.replace(slottedSelector.orgSelector, slottedSelector.updatedSelector);
|
|
384
|
+
});
|
|
385
|
+
return cssText;
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
export { scopeCss };
|
|
389
|
+
|
|
390
|
+
//# sourceMappingURL=shadow-css-8c625855.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"shadow-css-8c625855.js","mappings":"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","names":[],"sources":["./node_modules/@stencil/core/internal/client/shadow-css.js"],"sourcesContent":["/*\n Stencil Client Platform v2.13.0 | MIT Licensed | https://stenciljs.com\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n *\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n * https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts\n */\nconst safeSelector = (selector) => {\n const placeholders = [];\n let index = 0;\n let content;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, (_, keep) => {\n const replaceBy = `__ph-${index}__`;\n placeholders.push(keep);\n index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, (_, pseudo, exp) => {\n const replaceBy = `__ph-${index}__`;\n placeholders.push(exp);\n index++;\n return pseudo + replaceBy;\n });\n const ss = {\n content,\n placeholders,\n };\n return ss;\n};\nconst restoreSafeSelector = (placeholders, content) => {\n return content.replace(/__ph-(\\d+)__/g, (_, index) => placeholders[+index]);\n};\nconst _polyfillHost = '-shadowcsshost';\nconst _polyfillSlotted = '-shadowcssslotted';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = ')(?:\\\\((' + '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' + ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nconst _cssColonSlottedRe = new RegExp('(' + _polyfillSlotted + _parenSuffix, 'gim');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nconst _shadowDOMSelectorsRe = [/::shadow/g, /::content/g];\nconst _selectorReSuffix = '([>\\\\s~+[.,{:][\\\\s\\\\S]*)?$';\nconst _polyfillHostRe = /-shadowcsshost/gim;\nconst _colonHostRe = /:host/gim;\nconst _colonSlottedRe = /::slotted/gim;\nconst _colonHostContextRe = /:host-context/gim;\nconst _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nconst stripComments = (input) => {\n return input.replace(_commentRe, '');\n};\nconst _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nconst extractCommentsWithHash = (input) => {\n return input.match(_commentWithHashRe) || [];\n};\nconst _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nconst _curlyRe = /([{}])/g;\nconst _selectorPartsRe = /(^.*?[^\\\\])??((:+)(.*)|$)/;\nconst OPEN_CURLY = '{';\nconst CLOSE_CURLY = '}';\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst processRules = (input, ruleCallback) => {\n const inputWithEscapedBlocks = escapeBlocks(input);\n let nextBlockIndex = 0;\n return inputWithEscapedBlocks.escapedString.replace(_ruleRe, (...m) => {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const cssRule = {\n selector,\n content,\n };\n const rule = ruleCallback(cssRule);\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n });\n};\nconst escapeBlocks = (input) => {\n const inputParts = input.split(_curlyRe);\n const resultParts = [];\n const escapedBlocks = [];\n let bracketCount = 0;\n let currentBlockParts = [];\n for (let partIndex = 0; partIndex < inputParts.length; partIndex++) {\n const part = inputParts[partIndex];\n if (part === CLOSE_CURLY) {\n bracketCount--;\n }\n if (bracketCount > 0) {\n currentBlockParts.push(part);\n }\n else {\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n currentBlockParts = [];\n }\n resultParts.push(part);\n }\n if (part === OPEN_CURLY) {\n bracketCount++;\n }\n }\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n }\n const strEscapedBlocks = {\n escapedString: resultParts.join(''),\n blocks: escapedBlocks,\n };\n return strEscapedBlocks;\n};\nconst insertPolyfillHostInCssText = (selector) => {\n selector = selector\n .replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost)\n .replace(_colonSlottedRe, _polyfillSlotted);\n return selector;\n};\nconst convertColonRule = (cssText, regExp, partReplacer) => {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, (...m) => {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i < parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n};\nconst colonHostPartReplacer = (host, part, suffix) => {\n return host + part.replace(_polyfillHost, '') + suffix;\n};\nconst convertColonHost = (cssText) => {\n return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);\n};\nconst colonHostContextPartReplacer = (host, part, suffix) => {\n if (part.indexOf(_polyfillHost) > -1) {\n return colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n};\nconst convertColonSlotted = (cssText, slotScopeId) => {\n const slotClass = '.' + slotScopeId + ' > ';\n const selectors = [];\n cssText = cssText.replace(_cssColonSlottedRe, (...m) => {\n if (m[2]) {\n const compound = m[2].trim();\n const suffix = m[3];\n const slottedSelector = slotClass + compound + suffix;\n let prefixSelector = '';\n for (let i = m[4] - 1; i >= 0; i--) {\n const char = m[5][i];\n if (char === '}' || char === ',') {\n break;\n }\n prefixSelector = char + prefixSelector;\n }\n const orgSelector = prefixSelector + slottedSelector;\n const addedSelector = `${prefixSelector.trimRight()}${slottedSelector.trim()}`;\n if (orgSelector.trim() !== addedSelector.trim()) {\n const updatedSelector = `${addedSelector}, ${orgSelector}`;\n selectors.push({\n orgSelector,\n updatedSelector,\n });\n }\n return slottedSelector;\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n return {\n selectors,\n cssText,\n };\n};\nconst convertColonHostContext = (cssText) => {\n return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);\n};\nconst convertShadowDOMSelectors = (cssText) => {\n return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);\n};\nconst makeScopeMatcher = (scopeSelector) => {\n const lre = /\\[/g;\n const rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n};\nconst selectorNeedsScoping = (selector, scopeSelector) => {\n const re = makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n};\nconst injectScopingSelector = (selector, scopingSelector) => {\n return selector.replace(_selectorPartsRe, (_, before = '', _colonGroup, colon = '', after = '') => {\n return before + scopingSelector + colon + after;\n });\n};\nconst applySimpleSelectorScope = (selector, scopeSelector, hostSelector) => {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = `.${hostSelector}`;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (_, selector) => injectScopingSelector(selector, replaceBy))\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n};\nconst applyStrictSelectorScope = (selector, scopeSelector, hostSelector) => {\n const isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);\n const className = '.' + scopeSelector;\n const _scopeSelectorPart = (p) => {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n scopedP = injectScopingSelector(t, className);\n }\n }\n return scopedP;\n };\n const safeContent = safeSelector(selector);\n selector = safeContent.content;\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return restoreSafeSelector(safeContent.placeholders, scopedSelector);\n};\nconst scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector) => {\n return selector\n .split(',')\n .map((shallowPart) => {\n if (slotSelector && shallowPart.indexOf('.' + slotSelector) > -1) {\n return shallowPart.trim();\n }\n if (selectorNeedsScoping(shallowPart, scopeSelectorText)) {\n return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim();\n }\n else {\n return shallowPart.trim();\n }\n })\n .join(', ');\n};\nconst scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {\n return processRules(cssText, (rule) => {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] !== '@') {\n selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);\n }\n else if (rule.selector.startsWith('@media') ||\n rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') ||\n rule.selector.startsWith('@document')) {\n content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector);\n }\n const cssRule = {\n selector: selector.replace(/\\s{2,}/g, ' ').trim(),\n content,\n };\n return cssRule;\n });\n};\nconst scopeCssText = (cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector) => {\n cssText = insertPolyfillHostInCssText(cssText);\n cssText = convertColonHost(cssText);\n cssText = convertColonHostContext(cssText);\n const slotted = convertColonSlotted(cssText, slotScopeId);\n cssText = slotted.cssText;\n cssText = convertShadowDOMSelectors(cssText);\n if (scopeId) {\n cssText = scopeSelectors(cssText, scopeId, hostScopeId, slotScopeId);\n }\n cssText = cssText.replace(/-shadowcsshost-no-combinator/g, `.${hostScopeId}`);\n cssText = cssText.replace(/>\\s*\\*\\s+([^{, ]+)/gm, ' $1 ');\n return {\n cssText: cssText.trim(),\n slottedSelectors: slotted.selectors,\n };\n};\nconst scopeCss = (cssText, scopeId, commentOriginalSelector) => {\n const hostScopeId = scopeId + '-h';\n const slotScopeId = scopeId + '-s';\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n const orgSelectors = [];\n if (commentOriginalSelector) {\n const processCommentedSelector = (rule) => {\n const placeholder = `/*!@___${orgSelectors.length}___*/`;\n const comment = `/*!@${rule.selector}*/`;\n orgSelectors.push({ placeholder, comment });\n rule.selector = placeholder + rule.selector;\n return rule;\n };\n cssText = processRules(cssText, (rule) => {\n if (rule.selector[0] !== '@') {\n return processCommentedSelector(rule);\n }\n else if (rule.selector.startsWith('@media') ||\n rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') ||\n rule.selector.startsWith('@document')) {\n rule.content = processRules(rule.content, processCommentedSelector);\n return rule;\n }\n return rule;\n });\n }\n const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId);\n cssText = [scoped.cssText, ...commentsWithHash].join('\\n');\n if (commentOriginalSelector) {\n orgSelectors.forEach(({ placeholder, comment }) => {\n cssText = cssText.replace(placeholder, comment);\n });\n }\n scoped.slottedSelectors.forEach((slottedSelector) => {\n cssText = cssText.replace(slottedSelector.orgSelector, slottedSelector.updatedSelector);\n });\n return cssText;\n};\n\nexport { scopeCss };\n"],"version":3}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./cjs/index.cjs.js');
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './esm/index.js';
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
/**
|
|
3
|
+
* @slot Content of the button
|
|
4
|
+
*/
|
|
5
|
+
export declare class DnnButton {
|
|
6
|
+
/**
|
|
7
|
+
* Optional button style,
|
|
8
|
+
* can be either primary, secondary or tertiary and defaults to primary if not specified
|
|
9
|
+
*/
|
|
10
|
+
type: 'primary' | 'secondary' | 'tertiary';
|
|
11
|
+
/**
|
|
12
|
+
* Optionally reverses the button style.
|
|
13
|
+
*/
|
|
14
|
+
reversed: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Optionally sets the button size, small normal or large, defaults to normal
|
|
17
|
+
*/
|
|
18
|
+
size?: 'small' | 'normal' | 'large';
|
|
19
|
+
/**
|
|
20
|
+
* Optionally add a confirmation dialog before firing the action.
|
|
21
|
+
*/
|
|
22
|
+
confirm?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The text of the yes button for confirmation.
|
|
25
|
+
*/
|
|
26
|
+
confirmYesText?: string;
|
|
27
|
+
/**
|
|
28
|
+
* The text of the no button for confirmation.
|
|
29
|
+
*/
|
|
30
|
+
confirmNoText?: string;
|
|
31
|
+
/**
|
|
32
|
+
* The text of the confirmation message;
|
|
33
|
+
*/
|
|
34
|
+
confirmMessage?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Disables the button
|
|
37
|
+
*/
|
|
38
|
+
disabled: boolean;
|
|
39
|
+
modalVisible: boolean;
|
|
40
|
+
el: HTMLDnnButtonElement;
|
|
41
|
+
private modal;
|
|
42
|
+
/**
|
|
43
|
+
* Fires when confirm is true and the user confirms the action.
|
|
44
|
+
*/
|
|
45
|
+
confirmed: EventEmitter;
|
|
46
|
+
/**
|
|
47
|
+
* Fires when confirm is true and the user cancels the action.
|
|
48
|
+
*/
|
|
49
|
+
canceled: EventEmitter;
|
|
50
|
+
componentDidLoad(): void;
|
|
51
|
+
private handleConfirm;
|
|
52
|
+
private handleCancel;
|
|
53
|
+
private handleClick;
|
|
54
|
+
render(): any;
|
|
55
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class DnnCheckbox {
|
|
3
|
+
el: HTMLDnnCheckboxElement;
|
|
4
|
+
/** Defines if the checkbox is checked (true) or unchecked (false) or in an intermediate state (undefined) */
|
|
5
|
+
checked: boolean | undefined;
|
|
6
|
+
/** Defines if clicking the checkbox will go through the intermediate state between checked and unchecked (tri-state) */
|
|
7
|
+
useIntermediate: boolean;
|
|
8
|
+
/** The value for this checkbox (not to be confused with its checked state). */
|
|
9
|
+
value: string;
|
|
10
|
+
/** Fires up when the checkbox checked property changes. */
|
|
11
|
+
checkedchange: EventEmitter<boolean | undefined>;
|
|
12
|
+
private button;
|
|
13
|
+
private changeState;
|
|
14
|
+
private emitEvents;
|
|
15
|
+
render(): any;
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class DnnChevron {
|
|
3
|
+
/** Expand text for screen readers */
|
|
4
|
+
expandText?: string;
|
|
5
|
+
/** Collapse text for screen readers */
|
|
6
|
+
collapseText?: string;
|
|
7
|
+
/** Is the chevron expanded */
|
|
8
|
+
expanded?: boolean;
|
|
9
|
+
/** Fires up when the expanded status changes */
|
|
10
|
+
changed: EventEmitter;
|
|
11
|
+
handleExpandedChanged(newValue: boolean): void;
|
|
12
|
+
render(): any;
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class DnnCollapsible {
|
|
3
|
+
el: HTMLDnnCollapsibleElement;
|
|
4
|
+
/** Defines if the panel is expanded or not. */
|
|
5
|
+
expanded: boolean;
|
|
6
|
+
/** Defines the transition time in ms, defaults to 100ms */
|
|
7
|
+
transitionDuration?: number;
|
|
8
|
+
animating: boolean;
|
|
9
|
+
handleExpandedChanged(newValue: boolean): void;
|
|
10
|
+
/** Updates the component height, use to update after a slot content changes. */
|
|
11
|
+
updateSize(): Promise<void>;
|
|
12
|
+
private updateComponentSize;
|
|
13
|
+
/** Fires whenever the collapsible height has changed */
|
|
14
|
+
dnnCollapsibleHeightChanged: EventEmitter<void>;
|
|
15
|
+
handleOtherCollapsibleHeightChanged(): void;
|
|
16
|
+
private mutationObserver;
|
|
17
|
+
private handleMutation;
|
|
18
|
+
componentWillLoad(): void;
|
|
19
|
+
componentDidLoad(): void;
|
|
20
|
+
disconnectedCallback(): void;
|
|
21
|
+
render(): any;
|
|
22
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** Reusable DNN UI component to pick a color
|
|
2
|
+
* @copyright Copyright (c) .NET Foundation. All rights reserved.
|
|
3
|
+
* @license MIT
|
|
4
|
+
*/
|
|
5
|
+
import { EventEmitter } from "../../stencil-public-runtime";
|
|
6
|
+
import { ColorInfo } from '../../utilities/colorInfo';
|
|
7
|
+
/** Color Picker for Dnn */
|
|
8
|
+
export declare class DnnColorPicker {
|
|
9
|
+
el: HTMLDnnColorPickerElement;
|
|
10
|
+
/** Sets the initial color, must be a valid 8 character hexadecimal string without the # sign. */
|
|
11
|
+
color: string;
|
|
12
|
+
/** Sets the width-height ratio of the color picker saturation-lightness box.
|
|
13
|
+
* @example 100% renders a perfect square
|
|
14
|
+
*/
|
|
15
|
+
colorBoxHeight: string;
|
|
16
|
+
currentColor: ColorInfo;
|
|
17
|
+
rgbDisplay: string;
|
|
18
|
+
hslDisplay: string;
|
|
19
|
+
hexDisplay: string;
|
|
20
|
+
/** Fires up when the color is changed and emits a ColorInfo object
|
|
21
|
+
* @see ../../utilities/colorInfo.ts
|
|
22
|
+
*/
|
|
23
|
+
colorChanged: EventEmitter<ColorInfo>;
|
|
24
|
+
private colorChangedHandler;
|
|
25
|
+
handeCurrentColorChanged(newValue: ColorInfo): void;
|
|
26
|
+
private saturationLightnessBox?;
|
|
27
|
+
private hueRange?;
|
|
28
|
+
componentWillLoad(): void;
|
|
29
|
+
componentDidLoad(): void;
|
|
30
|
+
private getHex;
|
|
31
|
+
private getContrast;
|
|
32
|
+
private getDoublet;
|
|
33
|
+
private handleSaturationLightnessMouseDown;
|
|
34
|
+
private handleDragLightnessSaturation;
|
|
35
|
+
private handleSaturationLightnessMouseUp;
|
|
36
|
+
private handleHueMouseDown;
|
|
37
|
+
private handleHueMouseUp;
|
|
38
|
+
private handleDragHue;
|
|
39
|
+
private handleComponentValueChange;
|
|
40
|
+
private handleHSLChange;
|
|
41
|
+
private handleHexChange;
|
|
42
|
+
private switchColorMode;
|
|
43
|
+
private handleSaturationLightnessKeyDown;
|
|
44
|
+
private handleHueKeyDown;
|
|
45
|
+
render(): any;
|
|
46
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class DnnDropzone {
|
|
3
|
+
/** Localization strings */
|
|
4
|
+
resx: {
|
|
5
|
+
dragAndDropFile: string;
|
|
6
|
+
capture: string;
|
|
7
|
+
or: string;
|
|
8
|
+
takePicture: string;
|
|
9
|
+
uploadFile: string;
|
|
10
|
+
};
|
|
11
|
+
/** A list of allowed file extensions.
|
|
12
|
+
* If not specified, any file is allowed.
|
|
13
|
+
* Ex: ["jpg", "jped", "gif", "png"]
|
|
14
|
+
*/
|
|
15
|
+
allowedExtensions: string[];
|
|
16
|
+
/**
|
|
17
|
+
* If true, will allow the user to take a snapshot
|
|
18
|
+
* using the device camera. (only works over https).
|
|
19
|
+
*/
|
|
20
|
+
allowCameraMode: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Specifies the jpeg quality for when the device
|
|
23
|
+
* camera is used to generate a picture.
|
|
24
|
+
* Needs to be a number between 0 and 1 and defaults to 0.8
|
|
25
|
+
*/
|
|
26
|
+
captureQuality: number;
|
|
27
|
+
/** Fires when file were selected. */
|
|
28
|
+
filesSelected: EventEmitter<File[]>;
|
|
29
|
+
canTakeSnapshots: boolean;
|
|
30
|
+
takingPicture: boolean;
|
|
31
|
+
private dropzone;
|
|
32
|
+
private fileInput;
|
|
33
|
+
private videoPreview;
|
|
34
|
+
private videoSettings;
|
|
35
|
+
componentDidLoad(): void;
|
|
36
|
+
private checkIfBrowserCanTakeSnapshots;
|
|
37
|
+
private getFilesFromFileList;
|
|
38
|
+
private handleUploadButton;
|
|
39
|
+
private handleDragOver;
|
|
40
|
+
private hasInvalidExtensions;
|
|
41
|
+
private handleDrop;
|
|
42
|
+
private takeSnapshot;
|
|
43
|
+
private applySnapshot;
|
|
44
|
+
render(): any;
|
|
45
|
+
}
|