tool-shack 0.0.1 → 0.0.5
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/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.js +4 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/isTabFocused.d.ts +1 -0
- package/dist/browser/isTabFocused.js +2 -0
- package/dist/browser/isTabFocused.js.map +1 -0
- package/dist/browser/preferColorScheme.d.ts +3 -0
- package/dist/browser/preferColorScheme.js +4 -0
- package/dist/browser/preferColorScheme.js.map +1 -0
- package/dist/browser/tabFocusListener.d.ts +1 -0
- package/dist/browser/tabFocusListener.js +12 -0
- package/dist/browser/tabFocusListener.js.map +1 -0
- package/dist/dateTime/dateAsIso.d.ts +1 -0
- package/dist/dateTime/dateAsIso.js +10 -0
- package/dist/dateTime/dateAsIso.js.map +1 -0
- package/dist/dateTime/index.d.ts +2 -0
- package/dist/dateTime/index.js +3 -0
- package/dist/dateTime/index.js.map +1 -0
- package/dist/dateTime/interfaces/parseDuration.d.ts +7 -0
- package/dist/dateTime/interfaces/parseDuration.js +2 -0
- package/dist/dateTime/interfaces/parseDuration.js.map +1 -0
- package/dist/dateTime/parseDuration.d.ts +2 -0
- package/dist/dateTime/parseDuration.js +11 -0
- package/dist/dateTime/parseDuration.js.map +1 -0
- package/dist/dom/appendAfter.d.ts +1 -0
- package/dist/dom/appendAfter.js +2 -0
- package/dist/dom/appendAfter.js.map +1 -0
- package/dist/dom/appendBefore.d.ts +1 -0
- package/dist/dom/appendBefore.js +2 -0
- package/dist/dom/appendBefore.js.map +1 -0
- package/dist/dom/createElement.d.ts +1 -1
- package/dist/dom/createElement.js +11 -2
- package/dist/dom/createElement.js.map +1 -1
- package/dist/dom/fireEvent.d.ts +1 -0
- package/dist/dom/fireEvent.js +2 -0
- package/dist/dom/fireEvent.js.map +1 -0
- package/dist/dom/index.d.ts +3 -0
- package/dist/dom/index.js +3 -0
- package/dist/dom/index.js.map +1 -1
- package/dist/dom/interfaces/createElement.d.ts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/string/escapeHTML.d.ts +1 -0
- package/dist/string/escapeHTML.js +6 -0
- package/dist/string/escapeHTML.js.map +1 -0
- package/dist/string/index.d.ts +1 -0
- package/dist/string/index.js +2 -0
- package/dist/string/index.js.map +1 -0
- package/dist/var/www/imeteo.local/public_html/resources/assets/ts/components/regioweather.d.ts +14 -0
- package/dist/var/www/imeteo.local/public_html/resources/assets/ts/pages/forecast.d.ts +1 -0
- package/dist/var/www/imeteo.local/public_html/resources/assets/ts/pages/homepage.d.ts +1 -0
- package/dist/var/www/imeteo.local/public_html/resources/assets/ts/pages/regioweather.d.ts +1 -0
- package/package.json +4 -4
- package/src/browser/index.ts +3 -0
- package/src/browser/isTabFocused.ts +1 -0
- package/src/browser/preferColorScheme.ts +5 -0
- package/src/browser/tabFocusListener.ts +11 -0
- package/src/dateTime/dateAsIso.ts +12 -0
- package/src/dateTime/index.ts +2 -0
- package/src/dateTime/interfaces/parseDuration.ts +7 -0
- package/src/dateTime/parseDuration.ts +13 -0
- package/src/dom/appendAfter.ts +2 -0
- package/src/dom/appendBefore.ts +2 -0
- package/src/dom/createElement.ts +12 -4
- package/src/dom/fireEvent.ts +1 -0
- package/src/dom/index.ts +3 -0
- package/src/dom/interfaces/createElement.ts +6 -0
- package/src/index.ts +3 -0
- package/src/string/escapeHTML.ts +6 -0
- package/src/string/index.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isTabFocused: () => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isTabFocused.js","sourceRoot":"","sources":["../../src/browser/isTabFocused.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,GAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const preferLightColorScheme = () => !!(window.matchMedia('(prefers-color-scheme: light)').matches);
|
|
2
|
+
export const preferDarkColorScheme = () => !!(window.matchMedia('(prefers-color-scheme: dark)').matches);
|
|
3
|
+
export const preferColorScheme = () => preferLightColorScheme() ? 'light' : 'dark';
|
|
4
|
+
//# sourceMappingURL=preferColorScheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferColorScheme.js","sourceRoot":"","sources":["../../src/browser/preferColorScheme.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAY,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC,OAAO,CAAC,CAAC;AAEpH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAY,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC;AAElH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAmB,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const tabFocusListener: (focusCallback: () => void, blurCallback: () => void) => void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isTabFocused } from './isTabFocused';
|
|
2
|
+
export const tabFocusListener = (focusCallback, blurCallback) => {
|
|
3
|
+
document.addEventListener('visibilitychange', () => {
|
|
4
|
+
if (isTabFocused()) {
|
|
5
|
+
focusCallback.call(this);
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
blurCallback.call(this);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=tabFocusListener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabFocusListener.js","sourceRoot":"","sources":["../../src/browser/tabFocusListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAyB,EAAE,YAAwB,EAAQ,EAAE;IAC5F,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACjD,IAAI,YAAY,EAAE,EAAE;YAClB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM;YACL,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const dateAsIso: (date: Date) => string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const dateAsIso = (date) => {
|
|
2
|
+
const timezoneOffset = date.getTimezoneOffset();
|
|
3
|
+
let isoFormat = '';
|
|
4
|
+
isoFormat += `${date.getFullYear()}-${padNumber(date.getMonth() + 1)}-${padNumber(date.getDate())}`;
|
|
5
|
+
isoFormat += `T${padNumber(date.getHours())}:${padNumber(date.getMinutes())}:${padNumber(date.getSeconds())}`;
|
|
6
|
+
isoFormat += `${timezoneOffset <= 0 ? '+' : '-'}${padNumber(Math.floor(Math.abs(timezoneOffset) / 60))}:${padNumber(Math.abs(timezoneOffset) % 60)}`;
|
|
7
|
+
return isoFormat;
|
|
8
|
+
};
|
|
9
|
+
const padNumber = (number) => `${number}`.padStart(2, '0');
|
|
10
|
+
//# sourceMappingURL=dateAsIso.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateAsIso.js","sourceRoot":"","sources":["../../src/dateTime/dateAsIso.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,EAAE;IACtC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAEhD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,SAAS,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACpG,SAAS,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;IAC9G,SAAS,IAAI,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IAErJ,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dateTime/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseDuration.js","sourceRoot":"","sources":["../../../src/dateTime/interfaces/parseDuration.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const parseDuration = (durationInMs) => {
|
|
2
|
+
durationInMs = Math.abs(durationInMs);
|
|
3
|
+
return {
|
|
4
|
+
day: Math.floor(durationInMs / (24 * 60 * 60 * 1000)),
|
|
5
|
+
hour: Math.floor(durationInMs / (60 * 60 * 1000)) % 24,
|
|
6
|
+
minute: Math.floor(durationInMs / (60 * 1000)) % 60,
|
|
7
|
+
second: Math.floor(durationInMs / 1000) % 60,
|
|
8
|
+
millisecond: Math.floor(durationInMs) % 1000,
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=parseDuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseDuration.js","sourceRoot":"","sources":["../../src/dateTime/parseDuration.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,YAAoB,EAAa,EAAE;IAC/D,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACrD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE;QACtD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE;QACnD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE;QAC5C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI;KAC7C,CAAC;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const appendAfter: (newNode: HTMLElement, referenceNode: HTMLElement) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendAfter.js","sourceRoot":"","sources":["../../src/dom/appendAfter.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAoB,EAAE,aAA0B,EAAW,EAAE,WACvF,OAAA,CAAC,CAAC,CAAA,MAAA,aAAa,CAAC,aAAa,0CAAE,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA,CAAA,EAAA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const appendBefore: (newNode: HTMLElement, referenceNode: HTMLElement) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendBefore.js","sourceRoot":"","sources":["../../src/dom/appendBefore.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAoB,EAAE,aAA0B,EAAW,EAAE,WACxF,OAAA,CAAC,CAAC,CAAA,MAAA,aAAa,CAAC,aAAa,0CAAE,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA,CAAA,EAAA,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { IExtendingElementProps } from './interfaces/createElement';
|
|
2
|
-
export declare const createElement: <T = HTMLElement>(tagName: string, props?: (Partial<T
|
|
2
|
+
export declare const createElement: <T = HTMLElement>(tagName: string, props?: (Partial<Omit<T, "children">> & IExtendingElementProps) | undefined) => T;
|
|
@@ -2,7 +2,16 @@ export const createElement = (tagName, props) => {
|
|
|
2
2
|
const element = document.createElement(tagName);
|
|
3
3
|
if (props) {
|
|
4
4
|
for (let key in props) {
|
|
5
|
-
|
|
5
|
+
const value = props[key];
|
|
6
|
+
if (key === 'role') {
|
|
7
|
+
element.setAttribute(key, value);
|
|
8
|
+
}
|
|
9
|
+
else if (key === 'aria') {
|
|
10
|
+
for (let ariaKey in props.aria) {
|
|
11
|
+
element.setAttribute(`aria-${ariaKey}`, value[ariaKey]);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
else if (key === 'children') {
|
|
6
15
|
props.children.forEach((child) => element.appendChild(child));
|
|
7
16
|
}
|
|
8
17
|
else if (key === 'listeners') {
|
|
@@ -12,7 +21,7 @@ export const createElement = (tagName, props) => {
|
|
|
12
21
|
}
|
|
13
22
|
}
|
|
14
23
|
else {
|
|
15
|
-
element[key] =
|
|
24
|
+
element[key] = value;
|
|
16
25
|
}
|
|
17
26
|
}
|
|
18
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createElement.js","sourceRoot":"","sources":["../../src/dom/createElement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAmB,OAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"createElement.js","sourceRoot":"","sources":["../../src/dom/createElement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAmB,OAAe,EAAE,KAA6D,EAAK,EAAE;IACnI,MAAM,OAAO,GAAgB,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAE7D,IAAI,KAAK,EAAE;QACT,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,MAAM,KAAK,GAAI,KAAa,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,GAAG,KAAK,MAAM,EAAE;gBAClB,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAClC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE;gBACzB,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,IAAK,EAAE;oBAC/B,OAAO,CAAC,YAAY,CAAC,QAAQ,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;iBACzD;aACF;iBAAM,IAAI,GAAG,KAAK,UAAU,EAAE;gBAC7B,KAAK,CAAC,QAAS,CAAC,OAAO,CAAC,CAAC,KAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;aAC7E;iBAAM,IAAI,GAAG,KAAK,WAAW,EAAE;gBAC9B,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,SAAU,EAAE;oBACtC,MAAM,YAAY,GAAG,CACnB,KAAK,CAAC,SAAU,CAAC,SAAS,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAU,CAAC,SAAS,CAAC,CAAC,CACnE,CAAC;oBAE1C,YAAY,CAAC,OAAO,CAAC,CAAC,EAAsC,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC3G;aACF;iBAAM;gBACJ,OAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC/B;SACF;KACF;IAED,OAAO,OAAuB,CAAC;AACjC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const fireEvent: (element: HTMLElement, eventType: string) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fireEvent.js","sourceRoot":"","sources":["../../src/dom/fireEvent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAoB,EAAE,SAAiB,EAAW,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC"}
|
package/dist/dom/index.d.ts
CHANGED
package/dist/dom/index.js
CHANGED
package/dist/dom/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
export declare type TAriaLabelKey = 'atomic' | 'busy' | 'controls' | 'current' | 'describedby' | 'details' | 'disables' | 'dropeffect' | 'errormessage' | 'expanded' | 'flowto' | 'grabbed' | 'haspopup' | 'hidden' | 'invalid' | 'keyshortcuts' | 'label' | 'labelledby' | 'live' | 'modal' | 'owns' | 'relevant' | 'roledescription';
|
|
1
2
|
export interface IExtendingElementProps {
|
|
2
3
|
children?: HTMLElement[];
|
|
3
4
|
listeners?: Record<string, EventListenerOrEventListenerObject | EventListenerOrEventListenerObject[]>;
|
|
5
|
+
role?: string;
|
|
6
|
+
aria?: Partial<Record<TAriaLabelKey, string>>;
|
|
4
7
|
}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const escapeHTML: (html: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escapeHTML.js","sourceRoot":"","sources":["../../src/string/escapeHTML.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAEzB,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './escapeHTML';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
package/dist/var/www/imeteo.local/public_html/resources/assets/ts/components/regioweather.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class regioweatherClass {
|
|
2
|
+
private readonly input;
|
|
3
|
+
private readonly container;
|
|
4
|
+
private readonly trigger;
|
|
5
|
+
private places;
|
|
6
|
+
private geoSearchObject;
|
|
7
|
+
private customListFetched;
|
|
8
|
+
constructor();
|
|
9
|
+
private setUpListeners;
|
|
10
|
+
private renderPlaces;
|
|
11
|
+
private setUpSearch;
|
|
12
|
+
private fetchCustomList;
|
|
13
|
+
private setPreferences;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tool-shack",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "Collection of usefull functions to ease work",
|
|
5
5
|
"main": "src",
|
|
6
6
|
"author": "David Myška",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"bugs": {
|
|
9
|
-
"url": "https://
|
|
9
|
+
"url": "https://github.com/miskith/tool-shack/issues"
|
|
10
10
|
},
|
|
11
|
-
"homepage": "https://
|
|
11
|
+
"homepage": "https://github.com/miskith/tool-shack#readme",
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
|
-
"url": "git+https://
|
|
14
|
+
"url": "git+https://github.com/miskith/tool-shack.git"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "tsc -p ."
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const isTabFocused = (): boolean => !document.hidden;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const preferLightColorScheme = (): boolean => !!(window.matchMedia('(prefers-color-scheme: light)').matches);
|
|
2
|
+
|
|
3
|
+
export const preferDarkColorScheme = (): boolean => !!(window.matchMedia('(prefers-color-scheme: dark)').matches);
|
|
4
|
+
|
|
5
|
+
export const preferColorScheme = (): 'light'|'dark' => preferLightColorScheme() ? 'light' : 'dark';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { isTabFocused } from './isTabFocused';
|
|
2
|
+
|
|
3
|
+
export const tabFocusListener = (focusCallback: () => void, blurCallback: () => void): void => {
|
|
4
|
+
document.addEventListener('visibilitychange', () => {
|
|
5
|
+
if (isTabFocused()) {
|
|
6
|
+
focusCallback.call(this);
|
|
7
|
+
} else {
|
|
8
|
+
blurCallback.call(this);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const dateAsIso = (date: Date) => {
|
|
2
|
+
const timezoneOffset = date.getTimezoneOffset();
|
|
3
|
+
|
|
4
|
+
let isoFormat = '';
|
|
5
|
+
isoFormat += `${date.getFullYear()}-${padNumber(date.getMonth() + 1)}-${padNumber(date.getDate())}`;
|
|
6
|
+
isoFormat += `T${padNumber(date.getHours())}:${padNumber(date.getMinutes())}:${padNumber(date.getSeconds())}`;
|
|
7
|
+
isoFormat += `${timezoneOffset <= 0 ? '+' : '-'}${padNumber(Math.floor(Math.abs(timezoneOffset) / 60))}:${padNumber(Math.abs(timezoneOffset) % 60)}`;
|
|
8
|
+
|
|
9
|
+
return isoFormat;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const padNumber = (number: number): string => `${number}`.padStart(2, '0');
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IDuration } from './interfaces/parseDuration';
|
|
2
|
+
|
|
3
|
+
export const parseDuration = (durationInMs: number): IDuration => {
|
|
4
|
+
durationInMs = Math.abs(durationInMs);
|
|
5
|
+
|
|
6
|
+
return {
|
|
7
|
+
day: Math.floor(durationInMs / (24 * 60 * 60 * 1000)),
|
|
8
|
+
hour: Math.floor(durationInMs / (60 * 60 * 1000)) % 24,
|
|
9
|
+
minute: Math.floor(durationInMs / (60 * 1000)) % 60,
|
|
10
|
+
second: Math.floor(durationInMs / 1000) % 60,
|
|
11
|
+
millisecond: Math.floor(durationInMs) % 1000,
|
|
12
|
+
};
|
|
13
|
+
}
|
package/src/dom/createElement.ts
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { IExtendingElementProps } from './interfaces/createElement';
|
|
2
2
|
|
|
3
|
-
export const createElement = <T = HTMLElement> (tagName: string, props?: Partial<T
|
|
3
|
+
export const createElement = <T = HTMLElement> (tagName: string, props?: Partial<Omit<T, 'children'>> & IExtendingElementProps): T => {
|
|
4
4
|
const element: HTMLElement = document.createElement(tagName);
|
|
5
5
|
|
|
6
6
|
if (props) {
|
|
7
7
|
for (let key in props) {
|
|
8
|
-
|
|
8
|
+
const value = (props as any)[key];
|
|
9
|
+
|
|
10
|
+
if (key === 'role') {
|
|
11
|
+
element.setAttribute(key, value);
|
|
12
|
+
} else if (key === 'aria') {
|
|
13
|
+
for (let ariaKey in props.aria!) {
|
|
14
|
+
element.setAttribute(`aria-${ariaKey}`, value[ariaKey]);
|
|
15
|
+
}
|
|
16
|
+
} else if (key === 'children') {
|
|
9
17
|
props.children!.forEach((child: HTMLElement) => element.appendChild(child));
|
|
10
|
-
} else if (key==='listeners') {
|
|
18
|
+
} else if (key === 'listeners') {
|
|
11
19
|
for (let eventName in props.listeners!) {
|
|
12
20
|
const functionList = (
|
|
13
21
|
props.listeners![eventName] instanceof Array ? props.listeners![eventName] : [props.listeners![eventName]]
|
|
@@ -16,7 +24,7 @@ export const createElement = <T = HTMLElement> (tagName: string, props?: Partial
|
|
|
16
24
|
functionList.forEach((fn: EventListenerOrEventListenerObject) => element.addEventListener(eventName, fn));
|
|
17
25
|
}
|
|
18
26
|
} else {
|
|
19
|
-
(element as any)[key] =
|
|
27
|
+
(element as any)[key] = value;
|
|
20
28
|
}
|
|
21
29
|
}
|
|
22
30
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const fireEvent = (element: HTMLElement, eventType: string): boolean => element.dispatchEvent(new Event(eventType));
|
package/src/dom/index.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
export type TAriaLabelKey = 'atomic' | 'busy' | 'controls' | 'current' | 'describedby' | 'details' | 'disables' |
|
|
2
|
+
'dropeffect' | 'errormessage' | 'expanded' | 'flowto' | 'grabbed' | 'haspopup' | 'hidden' | 'invalid' |
|
|
3
|
+
'keyshortcuts' | 'label' | 'labelledby' | 'live' | 'modal' | 'owns' | 'relevant' | 'roledescription';
|
|
4
|
+
|
|
1
5
|
export interface IExtendingElementProps {
|
|
2
6
|
children?: HTMLElement[];
|
|
3
7
|
listeners?: Record<string, EventListenerOrEventListenerObject | EventListenerOrEventListenerObject[]>;
|
|
8
|
+
role?: string;
|
|
9
|
+
aria?: Partial<Record<TAriaLabelKey, string>>;
|
|
4
10
|
}
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './escapeHTML';
|