@blackbyte/sugar 1.0.0-beta.1 → 1.0.0-beta.4
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 +267 -1
- package/dist/js/dom/css/reloadStylesheets.d.ts +1 -1
- package/dist/js/dom/distance/distanceFromElementTopToViewportBottom.d.ts +2 -2
- package/dist/js/dom/distance/distanceFromElementTopToViewportBottom.js +3 -3
- package/dist/js/dom/distance/distanceFromElementTopToViewportBottom.js.map +1 -1
- package/dist/js/dom/distance/distanceFromElementTopToViewportTop.d.ts +2 -2
- package/dist/js/dom/distance/distanceFromElementTopToViewportTop.js +3 -3
- package/dist/js/dom/distance/distanceFromElementTopToViewportTop.js.map +1 -1
- package/dist/js/dom/event/viewportEvents.d.ts +2 -2
- package/dist/js/dom/form/generateIdFromForm.d.ts +2 -2
- package/dist/js/dom/form/generateIdFromForm.js +2 -2
- package/dist/js/dom/form/getFormValues.d.ts +2 -2
- package/dist/js/dom/form/getFormValues.js +2 -2
- package/dist/js/dom/iframe/iframeAutoSize.d.ts +3 -3
- package/dist/js/dom/iframe/iframeAutoSize.js +3 -3
- package/dist/js/dom/inject/injectHtml.d.ts +2 -2
- package/dist/js/dom/inject/injectHtml.js +2 -2
- package/dist/js/dom/inject/injectIframeContent.d.ts +1 -1
- package/dist/js/dom/inject/injectIframeContent.js +1 -1
- package/dist/js/dom/inject/injectScript.d.ts +1 -1
- package/dist/js/dom/inject/injectScript.js +1 -1
- package/dist/js/dom/inject/injectStyle.d.ts +1 -1
- package/dist/js/dom/offset/offsetFromParent.d.ts +2 -2
- package/dist/js/dom/offset/offsetFromParent.js +2 -2
- package/dist/js/dom/offset/offsetFromViewport.d.ts +4 -4
- package/dist/js/dom/offset/offsetFromViewport.js +5 -5
- package/dist/js/dom/offset/offsetFromViewport.js.map +1 -1
- package/dist/js/dom/on/onDrag.d.ts +3 -3
- package/dist/js/dom/on/onScrollEnd.d.ts +2 -2
- package/dist/js/dom/on/onSwipe.d.ts +9 -9
- package/dist/js/dom/on/onSwipe.js +9 -9
- package/dist/js/dom/position/positionFromEvent.d.ts +21 -3
- package/dist/js/dom/position/positionFromEvent.js +29 -4
- package/dist/js/dom/position/positionFromEvent.js.map +1 -1
- package/dist/js/dom/query/closestElement.d.ts +8 -8
- package/dist/js/dom/query/closestElement.js +8 -8
- package/dist/js/dom/query/closestNotVisibleElement.d.ts +2 -2
- package/dist/js/dom/query/closestNotVisibleElement.js +2 -2
- package/dist/js/dom/query/elementsInViewport.d.ts +2 -1
- package/dist/js/dom/query/elementsInViewport.js.map +1 -1
- package/dist/js/dom/query/matches.d.ts +1 -1
- package/dist/js/dom/query/matches.js +1 -1
- package/dist/js/dom/query/nearestElement.d.ts +5 -3
- package/dist/js/dom/query/nearestElement.js.map +1 -1
- package/dist/js/dom/query/nextElement.d.ts +2 -2
- package/dist/js/dom/query/nextElement.js +2 -2
- package/dist/js/dom/query/previousElement.d.ts +2 -2
- package/dist/js/dom/query/previousElement.js +2 -2
- package/dist/js/dom/query/querySelector.d.ts +3 -3
- package/dist/js/dom/query/querySelector.js +8 -2
- package/dist/js/dom/query/querySelector.js.map +1 -1
- package/dist/js/dom/query/querySelectorAll.d.ts +3 -3
- package/dist/js/dom/query/querySelectorAll.js +8 -2
- package/dist/js/dom/query/querySelectorAll.js.map +1 -1
- package/dist/js/dom/query/querySelectorLive.d.ts +6 -6
- package/dist/js/dom/query/querySelectorLive.js +9 -3
- package/dist/js/dom/query/querySelectorLive.js.map +1 -1
- package/dist/js/dom/query/querySelectorUp.d.ts +3 -3
- package/dist/js/dom/query/querySelectorUp.js +3 -3
- package/dist/js/dom/style/getAnimationProperties.d.ts +2 -2
- package/dist/js/dom/style/getCssDeclarations.d.ts +1 -1
- package/dist/js/dom/style/getCssDeclarations.js +1 -1
- package/dist/js/dom/style/getRotateProperties.d.ts +1 -1
- package/dist/js/dom/style/getRotateProperties.js +1 -1
- package/dist/js/dom/style/getScaleProperty.d.ts +1 -1
- package/dist/js/dom/style/getStyleProperty.d.ts +2 -2
- package/dist/js/dom/style/getStyleProperty.js +2 -2
- package/dist/js/dom/style/getTransformProperties.d.ts +4 -4
- package/dist/js/dom/style/getTransitionProperties.d.ts +2 -2
- package/dist/js/dom/style/getTranslateProperties.d.ts +1 -1
- package/dist/js/dom/when/whenAnimationEnd.d.ts +2 -2
- package/dist/js/dom/when/whenAnimationEnd.js +2 -2
- package/dist/js/dom/when/whenAttribute.d.ts +9 -9
- package/dist/js/dom/when/whenDomReady.d.ts +2 -2
- package/dist/js/dom/when/whenDomReady.js +2 -2
- package/dist/js/dom/when/whenEntersViewport.d.ts +2 -2
- package/dist/js/dom/when/whenEventListener.d.ts +3 -3
- package/dist/js/dom/when/whenEventListener.js +3 -3
- package/dist/js/dom/when/whenIframeReady.d.ts +2 -2
- package/dist/js/dom/when/whenIframeReady.js +2 -2
- package/dist/js/dom/when/whenImageLoaded.d.ts +3 -3
- package/dist/js/dom/when/whenImageLoaded.js +3 -3
- package/dist/js/dom/when/whenImagesLoaded.d.ts +2 -4
- package/dist/js/dom/when/whenImagesLoaded.js +2 -4
- package/dist/js/dom/when/whenImagesLoaded.js.map +1 -1
- package/dist/js/dom/when/whenInViewport.d.ts +3 -3
- package/dist/js/dom/when/whenInteract.d.ts +1 -1
- package/dist/js/dom/when/whenInteract.js +1 -1
- package/dist/js/dom/when/whenLinkLoaded.js +3 -3
- package/dist/js/dom/when/whenNearViewport.d.ts +3 -3
- package/dist/js/dom/when/whenOutOfViewport.d.ts +3 -3
- package/dist/js/dom/when/whenOutOfViewport.js +3 -3
- package/dist/js/dom/when/whenRemoved.d.ts +3 -3
- package/dist/js/dom/when/whenRemoved.js +3 -3
- package/dist/js/dom/when/whenStylesheetsReady.d.ts +5 -5
- package/dist/js/dom/when/whenStylesheetsReady.js +8 -8
- package/dist/js/dom/when/whenStylesheetsReady.js.map +1 -1
- package/dist/js/dom/when/whenTransitionEnd.d.ts +1 -1
- package/dist/js/dom/when/whenTransitionEnd.js +1 -1
- package/dist/js/dom/when/whenVisible.d.ts +1 -1
- package/dist/js/feature/scrollProperties.d.ts +8 -4
- package/dist/js/feature/scrollProperties.js +7 -4
- package/dist/js/feature/scrollProperties.js.map +1 -1
- package/dist/js/feature/sectionClasses.d.ts +3 -7
- package/dist/js/feature/sectionClasses.js +3 -7
- package/dist/js/feature/sectionClasses.js.map +1 -1
- package/dist/js/is/isDarkMode.js +2 -2
- package/dist/js/is/isDarkMode.js.map +1 -1
- package/dist/js/is/isInViewport.d.ts +1 -1
- package/dist/js/is/isInViewport.js +1 -1
- package/dist/js/is/isUserScrolling.js +1 -1
- package/dist/js/is/isVisible.d.ts +1 -1
- package/dist/js/is/isVisible.js +1 -1
- package/dist/js/keyboard/hotkey.d.ts +4 -4
- package/dist/js/keyboard/hotkey.js +4 -4
- package/dist/js/scroll/scrollTo.d.ts +5 -5
- package/dist/js/theme/restoreTheme.d.ts +2 -2
- package/dist/js/theme/setTheme.d.ts +0 -2
- package/dist/js/theme/setTheme.js.map +1 -1
- package/dist/node/fs/ensureDirSync.js +1 -8
- package/dist/node/fs/ensureDirSync.js.map +1 -1
- package/dist/node/fs/writeFile.js +3 -3
- package/dist/node/fs/writeFile.js.map +1 -1
- package/dist/shared/array/unique.d.ts +11 -5
- package/dist/shared/array/unique.js +15 -25
- package/dist/shared/array/unique.js.map +1 -1
- package/dist/shared/color/hslaToRgba.js +2 -2
- package/dist/shared/console/SugarConsole.js +5 -5
- package/dist/shared/console/SugarConsole.js.map +1 -1
- package/dist/shared/css/transform/styleObjectToString.d.ts +2 -2
- package/dist/shared/css/transform/styleObjectToString.js +2 -2
- package/dist/shared/css/transform/styleStringToObject.d.ts +2 -2
- package/dist/shared/css/transform/styleStringToObject.js +2 -2
- package/dist/shared/currency/_exports.d.ts +4 -0
- package/dist/shared/currency/_exports.js +5 -0
- package/dist/shared/currency/_exports.js.map +1 -0
- package/dist/shared/currency/currencyCodeToSymbol.d.ts +24 -0
- package/dist/shared/currency/currencyCodeToSymbol.js +33 -0
- package/dist/shared/currency/currencyCodeToSymbol.js.map +1 -0
- package/dist/shared/currency/currencyStringToObject.d.ts +39 -0
- package/dist/shared/currency/currencyStringToObject.js +27 -0
- package/dist/shared/currency/currencyStringToObject.js.map +1 -0
- package/dist/shared/currency/currencySymbolToCode.d.ts +24 -0
- package/dist/shared/currency/currencySymbolToCode.js +34 -0
- package/dist/shared/currency/currencySymbolToCode.js.map +1 -0
- package/dist/shared/datetime/_exports.d.ts +4 -1
- package/dist/shared/datetime/_exports.js +4 -1
- package/dist/shared/datetime/_exports.js.map +1 -1
- package/dist/shared/datetime/diffBetweenDates.d.ts +39 -0
- package/dist/shared/datetime/diffBetweenDates.js +25 -0
- package/dist/shared/datetime/diffBetweenDates.js.map +1 -0
- package/dist/shared/datetime/parseDate.d.ts +38 -0
- package/dist/shared/datetime/parseDate.js +34 -0
- package/dist/shared/datetime/parseDate.js.map +1 -0
- package/dist/shared/datetime/toYyyyMmDd.d.ts +34 -0
- package/dist/shared/datetime/toYyyyMmDd.js +19 -0
- package/dist/shared/datetime/toYyyyMmDd.js.map +1 -0
- package/dist/shared/url/_exports.d.ts +5 -5
- package/dist/shared/url/_exports.js +5 -5
- package/dist/shared/url/_exports.js.map +1 -1
- package/package.json +28 -6
|
@@ -12,8 +12,8 @@ import whenLinkLoaded from './whenLinkLoaded.js';
|
|
|
12
12
|
* @feature Async promise based
|
|
13
13
|
* @feature Multiple stylesheets elements listening
|
|
14
14
|
*
|
|
15
|
-
* @param {Array<HTMLLinkElement>} [links=null] The HTMLLinkElement tags to process. If not passed, take the local stylesheets links
|
|
16
|
-
* @return {Promise<void>}
|
|
15
|
+
* @param {Array<HTMLLinkElement>} [$links=null] The HTMLLinkElement tags to process. If not passed, take the local stylesheets links
|
|
16
|
+
* @return {Promise<void>} The promise that will be resolved when all the links are loaded
|
|
17
17
|
*
|
|
18
18
|
* @todo tests
|
|
19
19
|
*
|
|
@@ -25,8 +25,8 @@ import whenLinkLoaded from './whenLinkLoaded.js';
|
|
|
25
25
|
* @example js
|
|
26
26
|
* import { whenStylesheetsReady } from '@blackbyte/sugar/dom'
|
|
27
27
|
* whenStylesheetsReady([
|
|
28
|
-
* myHTMLLinkElement1,
|
|
29
|
-
* myHTMLLinkElement2
|
|
28
|
+
* $myHTMLLinkElement1,
|
|
29
|
+
* $myHTMLLinkElement2
|
|
30
30
|
* ]).then(stylesheets => {
|
|
31
31
|
* // do something...
|
|
32
32
|
* });
|
|
@@ -34,12 +34,12 @@ import whenLinkLoaded from './whenLinkLoaded.js';
|
|
|
34
34
|
* @since 1.0.0
|
|
35
35
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
36
36
|
*/
|
|
37
|
-
export default function whenStylesheetsReady(links) {
|
|
38
|
-
if (
|
|
39
|
-
links = Array.from(document.querySelectorAll('link[rel="stylesheet"]'));
|
|
37
|
+
export default function whenStylesheetsReady($links) {
|
|
38
|
+
if (!$links) {
|
|
39
|
+
$links = Array.from(document.querySelectorAll('link[rel="stylesheet"]'));
|
|
40
40
|
}
|
|
41
41
|
const promises = [];
|
|
42
|
-
[].forEach.call(links, ($link) => {
|
|
42
|
+
[].forEach.call($links, ($link) => {
|
|
43
43
|
promises.push(whenLinkLoaded($link));
|
|
44
44
|
});
|
|
45
45
|
const allPromises = Promise.all(promises);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whenStylesheetsReady.js","sourceRoot":"","sources":["../../../../src/js/dom/when/whenStylesheetsReady.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,
|
|
1
|
+
{"version":3,"file":"whenStylesheetsReady.js","sourceRoot":"","sources":["../../../../src/js/dom/when/whenStylesheetsReady.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,MAA0B;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,QAAQ,GAA+B,EAAE,CAAC;IAChD,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAChC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAwB,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*
|
|
11
11
|
* @feature Promise based API
|
|
12
12
|
*
|
|
13
|
-
* @param {HTMLElement} elm The element to monitor
|
|
13
|
+
* @param {HTMLElement} $elm The element to monitor
|
|
14
14
|
* @return (Promise<HTMLElement>) The promise that will be resolved when the element transition has ended
|
|
15
15
|
*
|
|
16
16
|
* @snippet whenTransitionEnd($1)
|
|
@@ -11,7 +11,7 @@ import getTransitionProperties from '../style/getTransitionProperties.js';
|
|
|
11
11
|
*
|
|
12
12
|
* @feature Promise based API
|
|
13
13
|
*
|
|
14
|
-
* @param {HTMLElement} elm The element to monitor
|
|
14
|
+
* @param {HTMLElement} $elm The element to monitor
|
|
15
15
|
* @return (Promise<HTMLElement>) The promise that will be resolved when the element transition has ended
|
|
16
16
|
*
|
|
17
17
|
* @snippet whenTransitionEnd($1)
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* @example js
|
|
24
24
|
* import { whenVisible } from '@blackbyte/sugar/dom'
|
|
25
25
|
* whenVisible(myCoolHTMLElement).then(($elm) => {
|
|
26
|
-
*
|
|
26
|
+
* // do something with your element that is now visible
|
|
27
27
|
* });
|
|
28
28
|
*
|
|
29
29
|
* @since 1.0.0
|
|
@@ -5,12 +5,14 @@
|
|
|
5
5
|
* @platform js
|
|
6
6
|
* @status stable
|
|
7
7
|
*
|
|
8
|
-
* This feature allows you to automatically apply css properties on the
|
|
8
|
+
* This feature allows you to automatically apply css properties on the element passed in settings depending on the scroll position.
|
|
9
9
|
* The properties that are applied are:
|
|
10
10
|
* - `--scroll-x`: The current scroll x position
|
|
11
11
|
* - `--scroll-y`: The current scroll y position
|
|
12
12
|
*
|
|
13
|
-
* @param {TScrollPropertiesSettings} [settings={}]
|
|
13
|
+
* @param {TScrollPropertiesSettings} [settings={}] The settings you want to override
|
|
14
|
+
*
|
|
15
|
+
* @setting {HTMLElement} [$elm=document.body] The element on which to apply the css properties
|
|
14
16
|
*
|
|
15
17
|
* @snippet scrollProperties($1);
|
|
16
18
|
*
|
|
@@ -21,5 +23,7 @@
|
|
|
21
23
|
* @since 1.0.0
|
|
22
24
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
23
25
|
*/
|
|
24
|
-
export type TScrollPropertiesSettings = {
|
|
25
|
-
|
|
26
|
+
export type TScrollPropertiesSettings = {
|
|
27
|
+
$elm: HTMLElement;
|
|
28
|
+
};
|
|
29
|
+
export default function scrollProperties(settings?: Partial<TScrollPropertiesSettings>): void;
|
|
@@ -5,12 +5,14 @@
|
|
|
5
5
|
* @platform js
|
|
6
6
|
* @status stable
|
|
7
7
|
*
|
|
8
|
-
* This feature allows you to automatically apply css properties on the
|
|
8
|
+
* This feature allows you to automatically apply css properties on the element passed in settings depending on the scroll position.
|
|
9
9
|
* The properties that are applied are:
|
|
10
10
|
* - `--scroll-x`: The current scroll x position
|
|
11
11
|
* - `--scroll-y`: The current scroll y position
|
|
12
12
|
*
|
|
13
|
-
* @param {TScrollPropertiesSettings} [settings={}]
|
|
13
|
+
* @param {TScrollPropertiesSettings} [settings={}] The settings you want to override
|
|
14
|
+
*
|
|
15
|
+
* @setting {HTMLElement} [$elm=document.body] The element on which to apply the css properties
|
|
14
16
|
*
|
|
15
17
|
* @snippet scrollProperties($1);
|
|
16
18
|
*
|
|
@@ -22,9 +24,10 @@
|
|
|
22
24
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
23
25
|
*/
|
|
24
26
|
export default function scrollProperties(settings) {
|
|
27
|
+
const finalSettings = Object.assign({ $elm: document.body }, (settings !== null && settings !== void 0 ? settings : {}));
|
|
25
28
|
window.addEventListener('scroll', () => {
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
finalSettings.$elm.style.setProperty('--scroll-x', `${window.scrollX}px`);
|
|
30
|
+
finalSettings.$elm.style.setProperty('--scroll-y', `${window.scrollY}px`);
|
|
28
31
|
});
|
|
29
32
|
}
|
|
30
33
|
//# sourceMappingURL=scrollProperties.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollProperties.js","sourceRoot":"","sources":["../../../src/js/feature/scrollProperties.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scrollProperties.js","sourceRoot":"","sources":["../../../src/js/feature/scrollProperties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,QAA6C;IAE7C,MAAM,aAAa,mBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAChB,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CACpB,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAC1E,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -8,21 +8,17 @@
|
|
|
8
8
|
*
|
|
9
9
|
* This feature allows you to add some classes on your sections when they are in the viewport, near the viewport, etc...
|
|
10
10
|
* 1. `-in-viewport`: Added when the section is in the viewport
|
|
11
|
-
* 2. `-near-viewport`: Added when the section is near the viewport (100px by default)
|
|
12
11
|
*
|
|
13
12
|
* @param {TSectionClassesSettings} [settings={}] The settings you want to override
|
|
14
13
|
*
|
|
15
|
-
* @setting
|
|
16
|
-
* @setting
|
|
17
|
-
* @setting {number} [offsetY=null] The offset y you want before adding the classes
|
|
18
|
-
* @setting {string} [class=scrolled] The class name you want. Will be used also in the %cls-x and %cls-y classes
|
|
14
|
+
* @setting {String} [inClass='-in-viewport'] The class to add when the section is in the viewport
|
|
15
|
+
* @setting {Number} [offset=25] The offset in px to consider the section is in the viewport
|
|
19
16
|
*
|
|
20
17
|
* @snippet sectionClasses($1);
|
|
21
18
|
*
|
|
22
19
|
* @example js
|
|
23
20
|
* import { sectionClasses } from '@blackbyte/sugar/features';
|
|
24
|
-
* sectionClasses(
|
|
25
|
-
* });
|
|
21
|
+
* sectionClasses();
|
|
26
22
|
*
|
|
27
23
|
* @since 1.0.0
|
|
28
24
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
@@ -8,21 +8,17 @@
|
|
|
8
8
|
*
|
|
9
9
|
* This feature allows you to add some classes on your sections when they are in the viewport, near the viewport, etc...
|
|
10
10
|
* 1. `-in-viewport`: Added when the section is in the viewport
|
|
11
|
-
* 2. `-near-viewport`: Added when the section is near the viewport (100px by default)
|
|
12
11
|
*
|
|
13
12
|
* @param {TSectionClassesSettings} [settings={}] The settings you want to override
|
|
14
13
|
*
|
|
15
|
-
* @setting
|
|
16
|
-
* @setting
|
|
17
|
-
* @setting {number} [offsetY=null] The offset y you want before adding the classes
|
|
18
|
-
* @setting {string} [class=scrolled] The class name you want. Will be used also in the %cls-x and %cls-y classes
|
|
14
|
+
* @setting {String} [inClass='-in-viewport'] The class to add when the section is in the viewport
|
|
15
|
+
* @setting {Number} [offset=25] The offset in px to consider the section is in the viewport
|
|
19
16
|
*
|
|
20
17
|
* @snippet sectionClasses($1);
|
|
21
18
|
*
|
|
22
19
|
* @example js
|
|
23
20
|
* import { sectionClasses } from '@blackbyte/sugar/features';
|
|
24
|
-
* sectionClasses(
|
|
25
|
-
* });
|
|
21
|
+
* sectionClasses();
|
|
26
22
|
*
|
|
27
23
|
* @since 1.0.0
|
|
28
24
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sectionClasses.js","sourceRoot":"","sources":["../../../src/js/feature/sectionClasses.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sectionClasses.js","sourceRoot":"","sources":["../../../src/js/feature/sectionClasses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOzE,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,QAA2C;IAE3C,MAAM,aAAa,mBACjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,EAAE,IACP,QAAQ,CACZ,CAAC;IAEF,iBAAiB,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;QACxC,kCAAkC;QAClC,cAAc,CAAC,QAAQ,EAAE;YACvB,MAAM,EAAE,aAAa,CAAC,MAAM;SAC7B,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC/C,iCAAiC;YACjC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC/C,oCAAoC;YACpC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/js/is/isDarkMode.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { querySelectorUp } from '@blackbyte/sugar/dom';
|
|
2
2
|
export default function isDarkMode(settings) {
|
|
3
3
|
const finalSettings = Object.assign({ ctx: window }, (settings !== null && settings !== void 0 ? settings : {}));
|
|
4
4
|
if (finalSettings.rootNode) {
|
|
5
5
|
if (finalSettings.rootNode.classList.contains('-dark')) {
|
|
6
6
|
return true;
|
|
7
7
|
}
|
|
8
|
-
const $dark =
|
|
8
|
+
const $dark = querySelectorUp(finalSettings.rootNode, '.-dark');
|
|
9
9
|
if ($dark) {
|
|
10
10
|
return true;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isDarkMode.js","sourceRoot":"","sources":["../../../src/js/is/isDarkMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"isDarkMode.js","sourceRoot":"","sources":["../../../src/js/is/isDarkMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAsCvD,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,QAAuC;IAEvC,MAAM,aAAa,mBACjB,GAAG,EAAE,MAAM,IACR,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CACpB,CAAC;IAEF,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,aAAa,CAAC,GAAG,CAAC,UAAU;QAC5B,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CACrE,CAAC;AACJ,CAAC"}
|
package/dist/js/is/isVisible.js
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
*
|
|
8
8
|
* This function allows you to register a hotkey on the passed element.
|
|
9
9
|
* You can specify the hotkey using the following syntax:
|
|
10
|
-
* - ctrl+a
|
|
11
|
-
* - shift+ctrl+a
|
|
12
|
-
* - a
|
|
10
|
+
* - `ctrl+a`
|
|
11
|
+
* - `shift+ctrl+a`
|
|
12
|
+
* - `a`
|
|
13
13
|
* This function take care of avoiding to call your callback when the active element
|
|
14
14
|
* is an input, a textarea or an editable content with the "contenteditable" attribute,
|
|
15
15
|
* unless:
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* @example js
|
|
35
35
|
* import { hotkey } from '@blackbyte/sugar/keyboard'
|
|
36
36
|
* const hotkeyApi = hotkey('ctrl+a', (e) => {
|
|
37
|
-
*
|
|
37
|
+
* console.log('Hotkey pressed');
|
|
38
38
|
* });
|
|
39
39
|
*
|
|
40
40
|
* // if you want to cancel the hotkey
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
*
|
|
8
8
|
* This function allows you to register a hotkey on the passed element.
|
|
9
9
|
* You can specify the hotkey using the following syntax:
|
|
10
|
-
* - ctrl+a
|
|
11
|
-
* - shift+ctrl+a
|
|
12
|
-
* - a
|
|
10
|
+
* - `ctrl+a`
|
|
11
|
+
* - `shift+ctrl+a`
|
|
12
|
+
* - `a`
|
|
13
13
|
* This function take care of avoiding to call your callback when the active element
|
|
14
14
|
* is an input, a textarea or an editable content with the "contenteditable" attribute,
|
|
15
15
|
* unless:
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* @example js
|
|
35
35
|
* import { hotkey } from '@blackbyte/sugar/keyboard'
|
|
36
36
|
* const hotkeyApi = hotkey('ctrl+a', (e) => {
|
|
37
|
-
*
|
|
37
|
+
* console.log('Hotkey pressed');
|
|
38
38
|
* });
|
|
39
39
|
*
|
|
40
40
|
* // if you want to cancel the hotkey
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @namespace js.dom.scroll
|
|
4
4
|
* @type Function
|
|
5
5
|
* @platform js
|
|
6
|
-
* @status
|
|
6
|
+
* @status stable
|
|
7
7
|
* @async
|
|
8
8
|
*
|
|
9
9
|
* Function that let you make a smooth page scroll to a specific element in the page
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* @feature Promise based API
|
|
12
12
|
* @feature Tweak the scroll behavior like duration, easing, etc...
|
|
13
13
|
*
|
|
14
|
-
* @param
|
|
14
|
+
* @param {HTMLElement} target The element to scroll to
|
|
15
15
|
* @param {IScrollToSettings} [settings={}] Some settings to tweak the scroll behavior
|
|
16
|
-
* @return {Promise}
|
|
16
|
+
* @return {Promise} A promise resolved once the scroll has ended
|
|
17
17
|
*
|
|
18
18
|
* @setting {HTMLElement} [$elm=window] The element to scroll
|
|
19
19
|
* @setting {Number} [duration=1000] The animation duration
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
* @todo tests
|
|
33
33
|
*
|
|
34
34
|
* @example js
|
|
35
|
-
* import {
|
|
35
|
+
* import { scrollTo } from '@coffeekraken/sugar/dom'
|
|
36
36
|
* import { easeInOutQuad } from '@coffeekraken/sugar/easing'
|
|
37
|
-
*
|
|
37
|
+
* scrollTo(myCoolHTMLElement);
|
|
38
38
|
*
|
|
39
39
|
* @since 2.0.0
|
|
40
40
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
* @snippet setTheme($1)
|
|
19
19
|
*
|
|
20
20
|
* @example js
|
|
21
|
-
* import {
|
|
22
|
-
*
|
|
21
|
+
* import { restoreTheme } from '@blackbyte/sugar/theme';
|
|
22
|
+
* restoreTheme('dark');
|
|
23
23
|
*
|
|
24
24
|
* @since 1.0.0
|
|
25
25
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
*
|
|
8
8
|
* This function allows you to set a theme for your website/application.
|
|
9
9
|
* It will set the theme on the `body` tag like `theme-...` and set a cookie to remember the theme.
|
|
10
|
-
* You will be able to get the theme from your backend code (PHP) using the `\Sugar\Theme\getTheme()` function
|
|
11
|
-
* to set it in your body class attribute.
|
|
12
10
|
*
|
|
13
11
|
* @param {String} theme The theme name to set
|
|
14
12
|
* @param {TSetThemeSettings} [settings={}] Some settings to configure your theme setter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setTheme.js","sourceRoot":"","sources":["../../../src/js/theme/setTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"setTheme.js","sourceRoot":"","sources":["../../../src/js/theme/setTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAiCpD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,KAAa,EACb,QAA4B;IAE5B,MAAM,aAAa,mBACjB,UAAU,EAAE,OAAO,IAChB,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CACpB,CAAC;IAEF,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACtC,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;IAE9C,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
|
-
import path from 'path';
|
|
3
2
|
import isDirectory from '../is/isDirectory.js';
|
|
4
3
|
/**
|
|
5
4
|
* @name ensureDirSync
|
|
@@ -29,13 +28,7 @@ export default function ensureDirSync(dir) {
|
|
|
29
28
|
// check if the directory already exists
|
|
30
29
|
if (fs.existsSync(dir) && isDirectory(dir))
|
|
31
30
|
return;
|
|
32
|
-
// if the passed path is a file
|
|
33
|
-
if (!isDirectory(dir)) {
|
|
34
|
-
dir = path.dirname(dir);
|
|
35
|
-
}
|
|
36
31
|
// create the directory
|
|
37
|
-
|
|
38
|
-
fs.ensureDirSync(dir);
|
|
39
|
-
}
|
|
32
|
+
fs.ensureDirSync(dir);
|
|
40
33
|
}
|
|
41
34
|
//# sourceMappingURL=ensureDirSync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensureDirSync.js","sourceRoot":"","sources":["../../../src/node/fs/ensureDirSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"ensureDirSync.js","sourceRoot":"","sources":["../../../src/node/fs/ensureDirSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAW;IAC/C,wCAAwC;IACxC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC;QAAE,OAAO;IAEnD,uBAAuB;IACvB,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import fs from 'fs-extra';
|
|
11
11
|
import toString from '../../shared/string/toString.js';
|
|
12
12
|
import ensureDirSync from '../fs/ensureDirSync.js';
|
|
13
|
-
import {
|
|
13
|
+
import { folderPath } from './_exports.js';
|
|
14
14
|
/**
|
|
15
15
|
* @name writeFile
|
|
16
16
|
* @namespace node.fs
|
|
@@ -43,8 +43,8 @@ import { __folderPath } from './_exports.js';
|
|
|
43
43
|
*/
|
|
44
44
|
export default function writeFile(path, data, options = {}) {
|
|
45
45
|
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
const
|
|
47
|
-
ensureDirSync(
|
|
46
|
+
const _folderPath = folderPath(path);
|
|
47
|
+
ensureDirSync(_folderPath);
|
|
48
48
|
yield fs.outputFile(path, toString(data), options);
|
|
49
49
|
resolve(path);
|
|
50
50
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeFile.js","sourceRoot":"","sources":["../../../src/node/fs/writeFile.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"writeFile.js","sourceRoot":"","sources":["../../../src/node/fs/writeFile.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,IAAY,EACZ,IAAS,EACT,OAAO,GAAG,EAAE;IAEZ,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,EAAE;QACnC,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAA,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -12,13 +12,19 @@
|
|
|
12
12
|
* @param {Array} array The array to deduplicates
|
|
13
13
|
* @return {Array} The deduplicated array
|
|
14
14
|
*
|
|
15
|
-
* @snippet
|
|
15
|
+
* @snippet unique($1)
|
|
16
16
|
*
|
|
17
|
-
* @example
|
|
17
|
+
* @example js
|
|
18
18
|
* import { unique } from '@blackbyte/sugar/array';
|
|
19
19
|
* unique(['hello','world','hello','world']); // => ['hello','world']
|
|
20
20
|
*
|
|
21
|
-
* @
|
|
22
|
-
*
|
|
21
|
+
* @changelog 1.0.0-beta.2
|
|
22
|
+
* Add the "stringify" option to compare objects in string format
|
|
23
|
+
*
|
|
24
|
+
* @since 1.0.0
|
|
25
|
+
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
23
26
|
*/
|
|
24
|
-
export
|
|
27
|
+
export type TUniqueSettings = {
|
|
28
|
+
stringify: boolean;
|
|
29
|
+
};
|
|
30
|
+
export default function unique(array: any[], settings?: Partial<TUniqueSettings>): any[];
|
|
@@ -1,32 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* @type Function
|
|
5
|
-
* @platform js
|
|
6
|
-
* @platform node
|
|
7
|
-
* @status stable
|
|
8
|
-
*
|
|
9
|
-
* This function simply take an array as parameter and return a new one
|
|
10
|
-
* with all the duplicates values removed.
|
|
11
|
-
*
|
|
12
|
-
* @param {Array} array The array to deduplicates
|
|
13
|
-
* @return {Array} The deduplicated array
|
|
14
|
-
*
|
|
15
|
-
* @snippet unique($1)
|
|
16
|
-
*
|
|
17
|
-
* @example js
|
|
18
|
-
* import { unique } from '@blackbyte/sugar/array';
|
|
19
|
-
* unique(['hello','world','hello','world']); // => ['hello','world']
|
|
20
|
-
*
|
|
21
|
-
* @since 1.0.0
|
|
22
|
-
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
23
|
-
*/
|
|
24
|
-
export default function unique(array) {
|
|
1
|
+
import { isPlainObject } from '@blackbyte/sugar/is';
|
|
2
|
+
export default function unique(array, settings) {
|
|
3
|
+
const finalSettings = Object.assign({ stringify: false }, (settings !== null && settings !== void 0 ? settings : {}));
|
|
25
4
|
const a = array.concat();
|
|
26
5
|
for (let i = 0; i < a.length; ++i) {
|
|
27
6
|
for (let j = i + 1; j < a.length; ++j) {
|
|
28
|
-
|
|
7
|
+
let valueA = a[i], valueB = a[j];
|
|
8
|
+
// handle "stringify" option
|
|
9
|
+
if (finalSettings.stringify) {
|
|
10
|
+
if (isPlainObject(valueA)) {
|
|
11
|
+
valueA = JSON.stringify(valueA);
|
|
12
|
+
}
|
|
13
|
+
if (isPlainObject(valueB)) {
|
|
14
|
+
valueB = JSON.stringify(valueB);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
if (valueA === valueB) {
|
|
29
18
|
a.splice(j--, 1);
|
|
19
|
+
}
|
|
30
20
|
}
|
|
31
21
|
}
|
|
32
22
|
return a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unique.js","sourceRoot":"","sources":["../../../src/shared/array/unique.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unique.js","sourceRoot":"","sources":["../../../src/shared/array/unique.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAgCpD,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,KAAY,EACZ,QAAmC;IAEnC,MAAM,aAAa,mBACjB,SAAS,EAAE,KAAK,IACb,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CACpB,CAAC;IAEF,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EACf,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhB,4BAA4B;YAC5B,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC;gBACD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -20,8 +20,8 @@ import parseHsla from './parseHsla.js';
|
|
|
20
20
|
* @snippet hslaToRgba($1)
|
|
21
21
|
*
|
|
22
22
|
* @example js
|
|
23
|
-
* import {
|
|
24
|
-
*
|
|
23
|
+
* import { hslToRgba } from '@blackbyte/sugar/color';
|
|
24
|
+
* hslToRgba(10,20,30);
|
|
25
25
|
*
|
|
26
26
|
* @see https://www.npmjs.com/package/colors-convert
|
|
27
27
|
* @since 1.0.0
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { parseHtml } from '@blackbyte/sugar/console';
|
|
2
2
|
let _isOverrided = false, nativeConsoleFn;
|
|
3
3
|
class SugarConsole {
|
|
4
4
|
static set default(sugarConsole) {
|
|
@@ -58,7 +58,7 @@ class SugarConsole {
|
|
|
58
58
|
continue;
|
|
59
59
|
}
|
|
60
60
|
if (!SugarConsole.types.includes(type)) {
|
|
61
|
-
nativeConsoleFn.error(
|
|
61
|
+
nativeConsoleFn.error(parseHtml(`Unsupported console type: <magenta>${type}</magenta>. Available types: <green>${SugarConsole.types.join(',')}</green>`));
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -106,14 +106,14 @@ class SugarConsole {
|
|
|
106
106
|
continue;
|
|
107
107
|
}
|
|
108
108
|
if (method === 'log' || i > 0) {
|
|
109
|
-
finalLogs.push(
|
|
109
|
+
finalLogs.push(parseHtml(`${i === 0 ? '▊' : ''} ${log}`));
|
|
110
110
|
continue;
|
|
111
111
|
}
|
|
112
112
|
if ((_a = this.settings.colors) === null || _a === void 0 ? void 0 : _a[method]) {
|
|
113
|
-
finalLogs.push(
|
|
113
|
+
finalLogs.push(parseHtml(`<${(_c = (_b = this.settings) === null || _b === void 0 ? void 0 : _b.colors) === null || _c === void 0 ? void 0 : _c[method]}>${i === 0 ? '▊' : ''}</${(_e = (_d = this.settings) === null || _d === void 0 ? void 0 : _d.colors) === null || _e === void 0 ? void 0 : _e[method]}> ${log}`));
|
|
114
114
|
}
|
|
115
115
|
else {
|
|
116
|
-
finalLogs.push(
|
|
116
|
+
finalLogs.push(parseHtml(`${i === 0 ? '▊' : ''} ${log}`));
|
|
117
117
|
}
|
|
118
118
|
continue;
|
|
119
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SugarConsole.js","sourceRoot":"","sources":["../../../src/shared/console/SugarConsole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SugarConsole.js","sourceRoot":"","sources":["../../../src/shared/console/SugarConsole.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
* @example js
|
|
19
19
|
* import { styleObjectToString } from '@blackbyte/sugar/css'
|
|
20
20
|
* const styleString = styleObjectToString({
|
|
21
|
-
*
|
|
22
|
-
*
|
|
21
|
+
* paddingLeft : '20px',
|
|
22
|
+
* display : 'block'
|
|
23
23
|
* });
|
|
24
24
|
* // output => padding-left:20px; display:block;
|
|
25
25
|
*
|