@vkontakte/vkui 5.0.1 → 5.0.3
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/cjs/components/Alert/Alert.d.ts +3 -3
- package/dist/cjs/components/Alert/Alert.js +13 -9
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +2 -2
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js +3 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +4 -0
- package/dist/cjs/components/CustomSelect/CustomSelect.js +11 -6
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +1 -0
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +2 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/FocusVisible/FocusVisible.js +2 -2
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +3 -4
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/Popover/Popover.js +10 -1
- package/dist/cjs/components/Popover/Popover.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js +3 -2
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.js +43 -26
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.d.ts +2 -2
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.d.ts +4 -0
- package/dist/cjs/components/Tooltip/Tooltip.js +3 -2
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/hooks/useEventListener.js +6 -4
- package/dist/cjs/hooks/useEventListener.js.map +1 -1
- package/dist/cjs/hooks/useMediaQueries.js +1 -0
- package/dist/cjs/hooks/useMediaQueries.js.map +1 -1
- package/dist/cjs/lib/adaptivity/types.d.ts +1 -1
- package/dist/cjs/lib/adaptivity/types.js.map +1 -1
- package/dist/cjs/lib/browser.js +0 -1
- package/dist/cjs/lib/browser.js.map +1 -1
- package/dist/cjs/lib/utils.d.ts +0 -1
- package/dist/cjs/lib/utils.js +0 -5
- package/dist/cjs/lib/utils.js.map +1 -1
- package/dist/cjs/shared/breakpoints.d.ts +1 -0
- package/dist/cjs/shared/breakpoints.js +1 -0
- package/dist/cjs/shared/breakpoints.js.map +1 -1
- package/dist/cjs/types.d.ts +6 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +3 -3
- package/dist/components/Alert/Alert.js +13 -9
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +2 -2
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js +3 -1
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +4 -0
- package/dist/components/CustomSelect/CustomSelect.js +11 -6
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +1 -0
- package/dist/components/CustomSelectOption/CustomSelectOption.js +2 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/FocusVisible/FocusVisible.js +2 -2
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +3 -4
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/Popover/Popover.js +10 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +4 -3
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.js +43 -26
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +2 -2
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +4 -0
- package/dist/components/Tooltip/Tooltip.js +3 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components.css +4 -4
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/Alert/Alert.d.ts +3 -3
- package/dist/cssm/components/Alert/Alert.js +13 -9
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.module.css +1 -1
- package/dist/cssm/components/Banner/Banner.module.css +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +2 -2
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.module.css +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js +3 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +4 -0
- package/dist/cssm/components/CustomSelect/CustomSelect.js +11 -6
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.module.css +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +1 -0
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +2 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.js +2 -2
- package/dist/cssm/components/FocusVisible/FocusVisible.module.css +1 -1
- package/dist/cssm/components/FormField/FormField.module.css +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.module.css +1 -1
- package/dist/cssm/components/Input/Input.module.css +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.module.css +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +3 -4
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +1 -1
- package/dist/cssm/components/Popover/Popover.js +10 -1
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js +4 -3
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.module.css +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js +43 -26
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +1 -1
- package/dist/cssm/components/Tappable/Tappable.d.ts +2 -2
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.module.css +1 -1
- package/dist/cssm/components/Textarea/Textarea.module.css +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.d.ts +4 -0
- package/dist/cssm/components/Tooltip/Tooltip.js +3 -2
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.module.css +1 -1
- package/dist/cssm/hooks/useEventListener.js +6 -4
- package/dist/cssm/hooks/useEventListener.js.map +1 -1
- package/dist/cssm/hooks/useMediaQueries.js +1 -0
- package/dist/cssm/hooks/useMediaQueries.js.map +1 -1
- package/dist/cssm/lib/adaptivity/types.d.ts +1 -1
- package/dist/cssm/lib/adaptivity/types.js.map +1 -1
- package/dist/cssm/lib/browser.js +0 -1
- package/dist/cssm/lib/browser.js.map +1 -1
- package/dist/cssm/lib/utils.d.ts +0 -1
- package/dist/cssm/lib/utils.js +0 -3
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/shared/breakpoints.d.ts +1 -0
- package/dist/cssm/shared/breakpoints.js +1 -0
- package/dist/cssm/shared/breakpoints.js.map +1 -1
- package/dist/cssm/styles/components.css +4 -4
- package/dist/cssm/types.d.ts +6 -0
- package/dist/cssm/types.js.map +1 -1
- package/dist/hooks/useEventListener.js +6 -4
- package/dist/hooks/useEventListener.js.map +1 -1
- package/dist/hooks/useMediaQueries.js +1 -0
- package/dist/hooks/useMediaQueries.js.map +1 -1
- package/dist/lib/adaptivity/types.d.ts +1 -1
- package/dist/lib/adaptivity/types.js.map +1 -1
- package/dist/lib/browser.js +0 -1
- package/dist/lib/browser.js.map +1 -1
- package/dist/lib/utils.d.ts +0 -1
- package/dist/lib/utils.js +0 -3
- package/dist/lib/utils.js.map +1 -1
- package/dist/shared/breakpoints.d.ts +1 -0
- package/dist/shared/breakpoints.js +1 -0
- package/dist/shared/breakpoints.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.js.map +1 -1
- package/dist/vkui.css +4 -4
- package/dist/vkui.css.map +1 -1
- package/package.json +3 -3
package/dist/cssm/types.d.ts
CHANGED
|
@@ -35,3 +35,9 @@ export interface Version {
|
|
|
35
35
|
minor?: number;
|
|
36
36
|
patch?: number;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Тип содержит атрибуты, которые применяются только для `<a>`
|
|
40
|
+
*
|
|
41
|
+
* @see {@link https://developer.mozilla.org/ru/docs/Web/HTML/Element/A <a> - HTML | MDN}
|
|
42
|
+
*/
|
|
43
|
+
export declare type AnchorHTMLAttributesOnly = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof React.HTMLAttributes<HTMLAnchorElement>>;
|
package/dist/cssm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["import * as React from \"react\";\nimport { PlatformType } from \"./lib/platform\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\n\nexport type AnyFunction = (...args: any[]) => any;\n\nexport type AlignType = \"left\" | \"center\" | \"right\";\n\nexport interface HasChildren {\n children?: React.ReactNode;\n}\n\nexport interface HasRootRef<T> {\n getRootRef?: React.Ref<T>;\n}\n\nexport interface HasRef<T> {\n getRef?: React.Ref<T>;\n}\n\nexport interface HasComponent {\n Component?: React.ElementType;\n}\n\nexport interface HasAlign {\n align?: AlignType;\n}\n\nexport interface HasPlatform {\n /**\n * @ignore\n */\n platform?: PlatformType;\n}\n\nexport interface HasInsets {\n /**\n * @ignore\n */\n insets?: Partial<Insets>;\n}\n\nexport interface Version {\n major: number;\n minor?: number;\n patch?: number;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["import * as React from \"react\";\nimport { PlatformType } from \"./lib/platform\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\n\nexport type AnyFunction = (...args: any[]) => any;\n\nexport type AlignType = \"left\" | \"center\" | \"right\";\n\nexport interface HasChildren {\n children?: React.ReactNode;\n}\n\nexport interface HasRootRef<T> {\n getRootRef?: React.Ref<T>;\n}\n\nexport interface HasRef<T> {\n getRef?: React.Ref<T>;\n}\n\nexport interface HasComponent {\n Component?: React.ElementType;\n}\n\nexport interface HasAlign {\n align?: AlignType;\n}\n\nexport interface HasPlatform {\n /**\n * @ignore\n */\n platform?: PlatformType;\n}\n\nexport interface HasInsets {\n /**\n * @ignore\n */\n insets?: Partial<Insets>;\n}\n\nexport interface Version {\n major: number;\n minor?: number;\n patch?: number;\n}\n\n/**\n * Тип содержит атрибуты, которые применяются только для `<a>`\n *\n * @see {@link https://developer.mozilla.org/ru/docs/Web/HTML/Element/A <a> - HTML | MDN}\n */\nexport type AnchorHTMLAttributesOnly = Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n keyof React.HTMLAttributes<HTMLAnchorElement>\n>;\n"],"mappings":""}
|
|
@@ -33,9 +33,11 @@ export function useEventListener(event, _cb, _options) {
|
|
|
33
33
|
React.useEffect(function () {
|
|
34
34
|
return remove;
|
|
35
35
|
}, [remove]);
|
|
36
|
-
return {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
return React.useMemo(function () {
|
|
37
|
+
return {
|
|
38
|
+
add: add,
|
|
39
|
+
remove: remove
|
|
40
|
+
};
|
|
41
|
+
}, [add, remove]);
|
|
40
42
|
}
|
|
41
43
|
//# sourceMappingURL=useEventListener.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEventListener.js","names":["React","noop","canUseDOM","useIsomorphicLayoutEffect","useEventListener","event","_cb","_options","cbRef","useRef","current","cb","useCallback","e","detach","remove","add","el","options","addEventListener","removeEventListener","useEffect"],"sources":["../../src/hooks/useEventListener.ts"],"sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../lib/utils\";\nimport { canUseDOM } from \"../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../lib/useIsomorphicLayoutEffect\";\n\ninterface EventListenerHandle {\n add: (el: HTMLElement | Document | Window) => void;\n remove: () => void;\n}\n\nexport function useEventListener<K extends keyof GlobalEventHandlersEventMap>(\n event: K,\n _cb:\n | false\n | null\n | undefined\n | ((ev: GlobalEventHandlersEventMap[K]) => void),\n _options?: AddEventListenerOptions\n): EventListenerHandle;\nexport function useEventListener<E extends Event>(\n event: string,\n _cb: false | null | undefined | ((ev: E) => void),\n _options?: AddEventListenerOptions\n): EventListenerHandle;\nexport function useEventListener<\n E extends Event,\n K extends keyof GlobalEventHandlersEventMap\n>(\n event: string | K,\n _cb: false | null | undefined | ((ev: E) => void),\n _options?: AddEventListenerOptions\n): EventListenerHandle {\n const cbRef = React.useRef(_cb);\n useIsomorphicLayoutEffect(() => {\n cbRef.current = _cb;\n }, [_cb]);\n const cb = React.useCallback(\n (e: any) => cbRef.current && cbRef.current(e),\n []\n );\n\n const detach = React.useRef(noop);\n const remove = React.useCallback(() => {\n detach.current();\n detach.current = noop;\n }, []);\n const add = React.useCallback(\n (el: HTMLElement | Document | Window) => {\n if (!canUseDOM) {\n return;\n }\n remove();\n if (!el) {\n return;\n }\n const options = { ..._options };\n el.addEventListener(event, cb, options);\n detach.current = () => el.removeEventListener(event, cb, options);\n },\n [_options, cb, event, remove]\n );\n React.useEffect(() => remove, [remove]);\n\n return { add, remove };\n}\n"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,yBAAyB,QAAQ,kCAAkC;AAqB5E,OAAO,SAASC,gBAAgB,CAI9BC,KAAiB,EACjBC,GAAiD,EACjDC,QAAkC,EACb;EACrB,IAAMC,KAAK,GAAGR,KAAK,CAACS,MAAM,CAACH,GAAG,CAAC;EAC/BH,yBAAyB,CAAC,YAAM;IAC9BK,KAAK,CAACE,OAAO,GAAGJ,GAAG;EACrB,CAAC,EAAE,CAACA,GAAG,CAAC,CAAC;EACT,IAAMK,EAAE,GAAGX,KAAK,CAACY,WAAW,CAC1B,UAACC,CAAM;IAAA,OAAKL,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACE,OAAO,CAACG,CAAC,CAAC;EAAA,GAC7C,EAAE,CACH;EAED,IAAMC,MAAM,GAAGd,KAAK,CAACS,MAAM,CAACR,IAAI,CAAC;EACjC,IAAMc,MAAM,GAAGf,KAAK,CAACY,WAAW,CAAC,YAAM;IACrCE,MAAM,CAACJ,OAAO,EAAE;IAChBI,MAAM,CAACJ,OAAO,GAAGT,IAAI;EACvB,CAAC,EAAE,EAAE,CAAC;EACN,IAAMe,GAAG,GAAGhB,KAAK,CAACY,WAAW,CAC3B,UAACK,EAAmC,EAAK;IACvC,IAAI,CAACf,SAAS,EAAE;MACd;IACF;IACAa,MAAM,EAAE;IACR,IAAI,CAACE,EAAE,EAAE;MACP;IACF;IACA,IAAMC,OAAO,qBAAQX,QAAQ,CAAE;IAC/BU,EAAE,CAACE,gBAAgB,CAACd,KAAK,EAAEM,EAAE,EAAEO,OAAO,CAAC;IACvCJ,MAAM,CAACJ,OAAO,GAAG;MAAA,OAAMO,EAAE,CAACG,mBAAmB,CAACf,KAAK,EAAEM,EAAE,EAAEO,OAAO,CAAC;IAAA;EACnE,CAAC,EACD,CAACX,QAAQ,EAAEI,EAAE,EAAEN,KAAK,EAAEU,MAAM,CAAC,CAC9B;EACDf,KAAK,CAACqB,SAAS,CAAC;IAAA,OAAMN,MAAM;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;EAEvC,OAAO;
|
|
1
|
+
{"version":3,"file":"useEventListener.js","names":["React","noop","canUseDOM","useIsomorphicLayoutEffect","useEventListener","event","_cb","_options","cbRef","useRef","current","cb","useCallback","e","detach","remove","add","el","options","addEventListener","removeEventListener","useEffect","useMemo"],"sources":["../../src/hooks/useEventListener.ts"],"sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../lib/utils\";\nimport { canUseDOM } from \"../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../lib/useIsomorphicLayoutEffect\";\n\ninterface EventListenerHandle {\n add: (el: HTMLElement | Document | Window) => void;\n remove: () => void;\n}\n\nexport function useEventListener<K extends keyof GlobalEventHandlersEventMap>(\n event: K,\n _cb:\n | false\n | null\n | undefined\n | ((ev: GlobalEventHandlersEventMap[K]) => void),\n _options?: AddEventListenerOptions\n): EventListenerHandle;\nexport function useEventListener<E extends Event>(\n event: string,\n _cb: false | null | undefined | ((ev: E) => void),\n _options?: AddEventListenerOptions\n): EventListenerHandle;\nexport function useEventListener<\n E extends Event,\n K extends keyof GlobalEventHandlersEventMap\n>(\n event: string | K,\n _cb: false | null | undefined | ((ev: E) => void),\n _options?: AddEventListenerOptions\n): EventListenerHandle {\n const cbRef = React.useRef(_cb);\n useIsomorphicLayoutEffect(() => {\n cbRef.current = _cb;\n }, [_cb]);\n const cb = React.useCallback(\n (e: any) => cbRef.current && cbRef.current(e),\n []\n );\n\n const detach = React.useRef(noop);\n const remove = React.useCallback(() => {\n detach.current();\n detach.current = noop;\n }, []);\n const add = React.useCallback(\n (el: HTMLElement | Document | Window) => {\n if (!canUseDOM) {\n return;\n }\n remove();\n if (!el) {\n return;\n }\n const options = { ..._options };\n el.addEventListener(event, cb, options);\n detach.current = () => el.removeEventListener(event, cb, options);\n },\n [_options, cb, event, remove]\n );\n React.useEffect(() => remove, [remove]);\n\n return React.useMemo(() => ({ add, remove }), [add, remove]);\n}\n"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,yBAAyB,QAAQ,kCAAkC;AAqB5E,OAAO,SAASC,gBAAgB,CAI9BC,KAAiB,EACjBC,GAAiD,EACjDC,QAAkC,EACb;EACrB,IAAMC,KAAK,GAAGR,KAAK,CAACS,MAAM,CAACH,GAAG,CAAC;EAC/BH,yBAAyB,CAAC,YAAM;IAC9BK,KAAK,CAACE,OAAO,GAAGJ,GAAG;EACrB,CAAC,EAAE,CAACA,GAAG,CAAC,CAAC;EACT,IAAMK,EAAE,GAAGX,KAAK,CAACY,WAAW,CAC1B,UAACC,CAAM;IAAA,OAAKL,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACE,OAAO,CAACG,CAAC,CAAC;EAAA,GAC7C,EAAE,CACH;EAED,IAAMC,MAAM,GAAGd,KAAK,CAACS,MAAM,CAACR,IAAI,CAAC;EACjC,IAAMc,MAAM,GAAGf,KAAK,CAACY,WAAW,CAAC,YAAM;IACrCE,MAAM,CAACJ,OAAO,EAAE;IAChBI,MAAM,CAACJ,OAAO,GAAGT,IAAI;EACvB,CAAC,EAAE,EAAE,CAAC;EACN,IAAMe,GAAG,GAAGhB,KAAK,CAACY,WAAW,CAC3B,UAACK,EAAmC,EAAK;IACvC,IAAI,CAACf,SAAS,EAAE;MACd;IACF;IACAa,MAAM,EAAE;IACR,IAAI,CAACE,EAAE,EAAE;MACP;IACF;IACA,IAAMC,OAAO,qBAAQX,QAAQ,CAAE;IAC/BU,EAAE,CAACE,gBAAgB,CAACd,KAAK,EAAEM,EAAE,EAAEO,OAAO,CAAC;IACvCJ,MAAM,CAACJ,OAAO,GAAG;MAAA,OAAMO,EAAE,CAACG,mBAAmB,CAACf,KAAK,EAAEM,EAAE,EAAEO,OAAO,CAAC;IAAA;EACnE,CAAC,EACD,CAACX,QAAQ,EAAEI,EAAE,EAAEN,KAAK,EAAEU,MAAM,CAAC,CAC9B;EACDf,KAAK,CAACqB,SAAS,CAAC;IAAA,OAAMN,MAAM;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;EAEvC,OAAOf,KAAK,CAACsB,OAAO,CAAC;IAAA,OAAO;MAAEN,GAAG,EAAHA,GAAG;MAAED,MAAM,EAANA;IAAO,CAAC;EAAA,CAAC,EAAE,CAACC,GAAG,EAAED,MAAM,CAAC,CAAC;AAC9D"}
|
|
@@ -21,6 +21,7 @@ export var useMediaQueries = function useMediaQueries() {
|
|
|
21
21
|
storedMediaQueries.window = window;
|
|
22
22
|
storedMediaQueries.mediaQueries = {
|
|
23
23
|
desktopPlus: matchMedia(MEDIA_QUERIES.DESKTOP_PLUS),
|
|
24
|
+
smallTabletPlus: matchMedia(MEDIA_QUERIES.SMALL_TABLET_PLUS),
|
|
24
25
|
tablet: matchMedia(MEDIA_QUERIES.TABLET),
|
|
25
26
|
smallTablet: matchMedia(MEDIA_QUERIES.SMALL_TABLET),
|
|
26
27
|
mobile: matchMedia(MEDIA_QUERIES.MOBILE),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaQueries.js","names":["React","MEDIA_QUERIES","mediaQueryNull","useDOM","storedMediaQueries","window","undefined","mediaQueries","useMediaQueries","useMemo","initializeStoreOrUpdateStoreIfWindowChanges","matchMedia","bind","desktopPlus","DESKTOP_PLUS","tablet","TABLET","smallTablet","SMALL_TABLET","mobile","MOBILE","mediumHeight","MEDIUM_HEIGHT","mobileLandscapeHeight","MOBILE_LANDSCAPE_HEIGHT"],"sources":["../../src/hooks/useMediaQueries.ts"],"sourcesContent":["import * as React from \"react\";\nimport { type MediaQueries, MEDIA_QUERIES } from \"../lib/adaptivity\";\nimport { mediaQueryNull } from \"../lib/browser\";\nimport { useDOM } from \"../lib/dom\";\n\ninterface StoredMediaQueries {\n /**\n * Постоянная ссылка на окно. Это необходима, чтобы пересоздать медиа выражение если окно вдруг измениться.\n *\n * > `styleguide`\n * >\n * > В данный момент изменения окна существует в рамках песочницы. По сути мы храним ссылку на окно ради этого кейса\n * > в песочнице.\n */\n window: Window | undefined;\n /**\n * Хранит созданные медиа выражения.\n *\n * Достаточно единожды создать экземпляры `MediaQueryList`, а дальше подписываться на события\n * через метод `addEventListener(type, listener)`.\n *\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList}\n */\n mediaQueries: MediaQueries | null;\n}\n\nconst storedMediaQueries: StoredMediaQueries = {\n window: undefined,\n mediaQueries: null,\n};\n\n/**\n * Возвращает медиа выражения определенные дизайн-системой.\n */\nexport const useMediaQueries = () => {\n const { window } = useDOM();\n\n return React.useMemo(\n function initializeStoreOrUpdateStoreIfWindowChanges() {\n if (\n storedMediaQueries.window === window &&\n storedMediaQueries.mediaQueries !== null\n ) {\n return storedMediaQueries.mediaQueries;\n }\n\n const matchMedia = window\n ? window.matchMedia.bind(window)\n : mediaQueryNull;\n\n storedMediaQueries.window = window;\n storedMediaQueries.mediaQueries = {\n desktopPlus: matchMedia(MEDIA_QUERIES.DESKTOP_PLUS),\n tablet: matchMedia(MEDIA_QUERIES.TABLET),\n smallTablet: matchMedia(MEDIA_QUERIES.SMALL_TABLET),\n mobile: matchMedia(MEDIA_QUERIES.MOBILE),\n mediumHeight: matchMedia(MEDIA_QUERIES.MEDIUM_HEIGHT),\n mobileLandscapeHeight: matchMedia(\n MEDIA_QUERIES.MOBILE_LANDSCAPE_HEIGHT\n ),\n };\n\n return storedMediaQueries.mediaQueries;\n },\n [window]\n );\n};\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAA4BC,aAAa,QAAQ,mBAAmB;AACpE,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,MAAM,QAAQ,YAAY;AAuBnC,IAAMC,kBAAsC,GAAG;EAC7CC,MAAM,EAAEC,SAAS;EACjBC,YAAY,EAAE;AAChB,CAAC;;AAED;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAe,GAAS;EACnC,cAAmBL,MAAM,EAAE;IAAnBE,MAAM,WAANA,MAAM;EAEd,OAAOL,KAAK,CAACS,OAAO,CAClB,SAASC,2CAA2C,GAAG;IACrD,IACEN,kBAAkB,CAACC,MAAM,KAAKA,MAAM,IACpCD,kBAAkB,CAACG,YAAY,KAAK,IAAI,EACxC;MACA,OAAOH,kBAAkB,CAACG,YAAY;IACxC;IAEA,IAAMI,UAAU,GAAGN,MAAM,GACrBA,MAAM,CAACM,UAAU,CAACC,IAAI,CAACP,MAAM,CAAC,GAC9BH,cAAc;IAElBE,kBAAkB,CAACC,MAAM,GAAGA,MAAM;IAClCD,kBAAkB,CAACG,YAAY,GAAG;MAChCM,WAAW,EAAEF,UAAU,CAACV,aAAa,CAACa,YAAY,CAAC;MACnDC,
|
|
1
|
+
{"version":3,"file":"useMediaQueries.js","names":["React","MEDIA_QUERIES","mediaQueryNull","useDOM","storedMediaQueries","window","undefined","mediaQueries","useMediaQueries","useMemo","initializeStoreOrUpdateStoreIfWindowChanges","matchMedia","bind","desktopPlus","DESKTOP_PLUS","smallTabletPlus","SMALL_TABLET_PLUS","tablet","TABLET","smallTablet","SMALL_TABLET","mobile","MOBILE","mediumHeight","MEDIUM_HEIGHT","mobileLandscapeHeight","MOBILE_LANDSCAPE_HEIGHT"],"sources":["../../src/hooks/useMediaQueries.ts"],"sourcesContent":["import * as React from \"react\";\nimport { type MediaQueries, MEDIA_QUERIES } from \"../lib/adaptivity\";\nimport { mediaQueryNull } from \"../lib/browser\";\nimport { useDOM } from \"../lib/dom\";\n\ninterface StoredMediaQueries {\n /**\n * Постоянная ссылка на окно. Это необходима, чтобы пересоздать медиа выражение если окно вдруг измениться.\n *\n * > `styleguide`\n * >\n * > В данный момент изменения окна существует в рамках песочницы. По сути мы храним ссылку на окно ради этого кейса\n * > в песочнице.\n */\n window: Window | undefined;\n /**\n * Хранит созданные медиа выражения.\n *\n * Достаточно единожды создать экземпляры `MediaQueryList`, а дальше подписываться на события\n * через метод `addEventListener(type, listener)`.\n *\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList}\n */\n mediaQueries: MediaQueries | null;\n}\n\nconst storedMediaQueries: StoredMediaQueries = {\n window: undefined,\n mediaQueries: null,\n};\n\n/**\n * Возвращает медиа выражения определенные дизайн-системой.\n */\nexport const useMediaQueries = () => {\n const { window } = useDOM();\n\n return React.useMemo(\n function initializeStoreOrUpdateStoreIfWindowChanges() {\n if (\n storedMediaQueries.window === window &&\n storedMediaQueries.mediaQueries !== null\n ) {\n return storedMediaQueries.mediaQueries;\n }\n\n const matchMedia = window\n ? window.matchMedia.bind(window)\n : mediaQueryNull;\n\n storedMediaQueries.window = window;\n storedMediaQueries.mediaQueries = {\n desktopPlus: matchMedia(MEDIA_QUERIES.DESKTOP_PLUS),\n smallTabletPlus: matchMedia(MEDIA_QUERIES.SMALL_TABLET_PLUS),\n tablet: matchMedia(MEDIA_QUERIES.TABLET),\n smallTablet: matchMedia(MEDIA_QUERIES.SMALL_TABLET),\n mobile: matchMedia(MEDIA_QUERIES.MOBILE),\n mediumHeight: matchMedia(MEDIA_QUERIES.MEDIUM_HEIGHT),\n mobileLandscapeHeight: matchMedia(\n MEDIA_QUERIES.MOBILE_LANDSCAPE_HEIGHT\n ),\n };\n\n return storedMediaQueries.mediaQueries;\n },\n [window]\n );\n};\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAA4BC,aAAa,QAAQ,mBAAmB;AACpE,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,MAAM,QAAQ,YAAY;AAuBnC,IAAMC,kBAAsC,GAAG;EAC7CC,MAAM,EAAEC,SAAS;EACjBC,YAAY,EAAE;AAChB,CAAC;;AAED;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAe,GAAS;EACnC,cAAmBL,MAAM,EAAE;IAAnBE,MAAM,WAANA,MAAM;EAEd,OAAOL,KAAK,CAACS,OAAO,CAClB,SAASC,2CAA2C,GAAG;IACrD,IACEN,kBAAkB,CAACC,MAAM,KAAKA,MAAM,IACpCD,kBAAkB,CAACG,YAAY,KAAK,IAAI,EACxC;MACA,OAAOH,kBAAkB,CAACG,YAAY;IACxC;IAEA,IAAMI,UAAU,GAAGN,MAAM,GACrBA,MAAM,CAACM,UAAU,CAACC,IAAI,CAACP,MAAM,CAAC,GAC9BH,cAAc;IAElBE,kBAAkB,CAACC,MAAM,GAAGA,MAAM;IAClCD,kBAAkB,CAACG,YAAY,GAAG;MAChCM,WAAW,EAAEF,UAAU,CAACV,aAAa,CAACa,YAAY,CAAC;MACnDC,eAAe,EAAEJ,UAAU,CAACV,aAAa,CAACe,iBAAiB,CAAC;MAC5DC,MAAM,EAAEN,UAAU,CAACV,aAAa,CAACiB,MAAM,CAAC;MACxCC,WAAW,EAAER,UAAU,CAACV,aAAa,CAACmB,YAAY,CAAC;MACnDC,MAAM,EAAEV,UAAU,CAACV,aAAa,CAACqB,MAAM,CAAC;MACxCC,YAAY,EAAEZ,UAAU,CAACV,aAAa,CAACuB,aAAa,CAAC;MACrDC,qBAAqB,EAAEd,UAAU,CAC/BV,aAAa,CAACyB,uBAAuB;IAEzC,CAAC;IAED,OAAOtB,kBAAkB,CAACG,YAAY;EACxC,CAAC,EACD,CAACF,MAAM,CAAC,CACT;AACH,CAAC"}
|
|
@@ -8,5 +8,5 @@ export declare type CSSBreakpoints = "desktopPlus" | "tabletPlus" | "tablet" | "
|
|
|
8
8
|
* JS брейкпоинты выделены в отдельный тип, т.к. на данный момент нужны не все брейкпоинты, что используются в
|
|
9
9
|
* адаптивности через CSS, а также имеются свои тонкости по типу `mobileLandscapeHeight`.
|
|
10
10
|
*/
|
|
11
|
-
export declare type JSBreakpoints = "desktopPlus" | "tablet" | "smallTablet" | "mobile" | "mediumHeight" | "mobileLandscapeHeight";
|
|
11
|
+
export declare type JSBreakpoints = "desktopPlus" | "tablet" | "smallTabletPlus" | "smallTablet" | "mobile" | "mediumHeight" | "mobileLandscapeHeight";
|
|
12
12
|
export declare type MediaQueries = Record<JSBreakpoints, MediaQueryList>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/lib/adaptivity/types.ts"],"sourcesContent":["/**\n * Соответствуют тому, что генерирует функция `getCustomMedias()`.\n *\n * {@link import('../../shared.js') ../../shared.js}\n */\nexport type CSSBreakpoints =\n | \"desktopPlus\"\n | \"tabletPlus\"\n | \"tablet\"\n | \"tabletMinus\"\n | \"smallTabletPlus\"\n | \"smallTablet\"\n | \"smallTabletMinus\"\n | \"mobilePlus\"\n | \"mobile\"\n | \"smallMobileMinus\";\n\n/**\n * JS брейкпоинты выделены в отдельный тип, т.к. на данный момент нужны не все брейкпоинты, что используются в\n * адаптивности через CSS, а также имеются свои тонкости по типу `mobileLandscapeHeight`.\n */\nexport type JSBreakpoints =\n | \"desktopPlus\"\n | \"tablet\"\n | \"smallTablet\"\n | \"mobile\"\n | \"mediumHeight\"\n | \"mobileLandscapeHeight\";\n\nexport type MediaQueries = Record<JSBreakpoints, MediaQueryList>;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/lib/adaptivity/types.ts"],"sourcesContent":["/**\n * Соответствуют тому, что генерирует функция `getCustomMedias()`.\n *\n * {@link import('../../shared.js') ../../shared.js}\n */\nexport type CSSBreakpoints =\n | \"desktopPlus\"\n | \"tabletPlus\"\n | \"tablet\"\n | \"tabletMinus\"\n | \"smallTabletPlus\"\n | \"smallTablet\"\n | \"smallTabletMinus\"\n | \"mobilePlus\"\n | \"mobile\"\n | \"smallMobileMinus\";\n\n/**\n * JS брейкпоинты выделены в отдельный тип, т.к. на данный момент нужны не все брейкпоинты, что используются в\n * адаптивности через CSS, а также имеются свои тонкости по типу `mobileLandscapeHeight`.\n */\nexport type JSBreakpoints =\n | \"desktopPlus\"\n | \"tablet\"\n | \"smallTabletPlus\"\n | \"smallTablet\"\n | \"mobile\"\n | \"mediumHeight\"\n | \"mobileLandscapeHeight\";\n\nexport type MediaQueries = Record<JSBreakpoints, MediaQueryList>;\n"],"mappings":""}
|
package/dist/lib/browser.js
CHANGED
|
@@ -39,7 +39,6 @@ export function computeBrowserInfo() {
|
|
|
39
39
|
* ⚠️ Желательно избегать использование этой эмуляции в SSR.
|
|
40
40
|
*/
|
|
41
41
|
export function mediaQueryNull(query) {
|
|
42
|
-
console.error("[mediaQueryNull] \u041F\u043E\u0445\u043E\u0436\u0435, \u0432\u044B \u043F\u044B\u0442\u0430\u0435\u0442\u0435\u0441\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C `Window.matchMedia()` API \u0432\u043D\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.\n\n\u041F\u043E\u0441\u0442\u0430\u0440\u0430\u0439\u0442\u0435\u0441\u044C \u044D\u0442\u043E\u0433\u043E \u0438\u0437\u0431\u0435\u0433\u0430\u0442\u044C, \u0447\u0442\u043E\u0431\u044B \u043D\u0435 \u0431\u044B\u043B\u043E \u043E\u0448\u0438\u0431\u043E\u043A \u043F\u0440\u0438 \u0433\u0438\u0434\u0440\u0430\u0442\u0430\u0446\u0438\u0438: \u043F\u0440\u0438 SSR \u043D\u0435\u0442 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u043E \u0440\u0430\u0437\u043C\u0435\u0440\u0430\u0445 \u044D\u043A\u0440\u0430\u043D\u0430.\n\n\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 CSS Media Query \u0438\u043B\u0438 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 \u043F\u043E \u0442\u0438\u043F\u0443 https://github.com/artsy/fresnel.");
|
|
43
42
|
return {
|
|
44
43
|
matches: false,
|
|
45
44
|
media: query,
|
package/dist/lib/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","names":["detectIOS","noop","System","memoized","computeBrowserInfo","userAgent","systemVersion","system","UNKNOWN","isIOS","iosMajor","iosMinor","IOS","major","minor","browserInfo","mediaQueryNull","query","
|
|
1
|
+
{"version":3,"file":"browser.js","names":["detectIOS","noop","System","memoized","computeBrowserInfo","userAgent","systemVersion","system","UNKNOWN","isIOS","iosMajor","iosMinor","IOS","major","minor","browserInfo","mediaQueryNull","query","matches","media","onchange","addListener","removeListener","addEventListener","removeEventListener","dispatchEvent"],"sources":["../../src/lib/browser.ts"],"sourcesContent":["import { detectIOS } from \"@vkontakte/vkjs\";\nimport type { Version } from \"../types\";\nimport { noop } from \"./utils\";\n\nexport enum System {\n IOS = \"ios\",\n UNKNOWN = \"\",\n}\n\nexport interface BrowserInfo {\n userAgent: string;\n system: System;\n systemVersion: Version | null;\n}\n\nconst memoized: { [index: string]: BrowserInfo } = {};\n\nexport function computeBrowserInfo(userAgent = \"\"): BrowserInfo {\n if (memoized[userAgent]) {\n return memoized[userAgent];\n }\n\n let systemVersion: Version | null = null;\n let system = System.UNKNOWN;\n\n const { isIOS, iosMajor, iosMinor } = detectIOS(userAgent);\n\n if (isIOS) {\n system = System.IOS;\n systemVersion = {\n major: iosMajor,\n minor: iosMinor,\n };\n }\n\n const browserInfo: BrowserInfo = {\n userAgent,\n system,\n systemVersion,\n };\n\n memoized[userAgent] = browserInfo;\n\n return browserInfo;\n}\n\n/**\n * Эмуляция функции `window.matchMedia` для SSR.\n *\n * ⚠️ Желательно избегать использование этой эмуляции в SSR.\n */\nexport function mediaQueryNull(query: string): MediaQueryList {\n return {\n matches: false,\n media: query,\n onchange: noop,\n addListener: noop,\n removeListener: noop,\n addEventListener: noop,\n removeEventListener: noop,\n dispatchEvent() {\n return false;\n },\n };\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iBAAiB;AAE3C,SAASC,IAAI,QAAQ,SAAS;AAE9B,WAAYC,MAAM;AAGjB,WAHWA,MAAM;EAANA,MAAM;EAANA,MAAM;AAAA,GAANA,MAAM,KAANA,MAAM;AAWlB,IAAMC,QAA0C,GAAG,CAAC,CAAC;AAErD,OAAO,SAASC,kBAAkB,GAA8B;EAAA,IAA7BC,SAAS,uEAAG,EAAE;EAC/C,IAAIF,QAAQ,CAACE,SAAS,CAAC,EAAE;IACvB,OAAOF,QAAQ,CAACE,SAAS,CAAC;EAC5B;EAEA,IAAIC,aAA6B,GAAG,IAAI;EACxC,IAAIC,MAAM,GAAGL,MAAM,CAACM,OAAO;EAE3B,iBAAsCR,SAAS,CAACK,SAAS,CAAC;IAAlDI,KAAK,cAALA,KAAK;IAAEC,QAAQ,cAARA,QAAQ;IAAEC,QAAQ,cAARA,QAAQ;EAEjC,IAAIF,KAAK,EAAE;IACTF,MAAM,GAAGL,MAAM,CAACU,GAAG;IACnBN,aAAa,GAAG;MACdO,KAAK,EAAEH,QAAQ;MACfI,KAAK,EAAEH;IACT,CAAC;EACH;EAEA,IAAMI,WAAwB,GAAG;IAC/BV,SAAS,EAATA,SAAS;IACTE,MAAM,EAANA,MAAM;IACND,aAAa,EAAbA;EACF,CAAC;EAEDH,QAAQ,CAACE,SAAS,CAAC,GAAGU,WAAW;EAEjC,OAAOA,WAAW;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAc,CAACC,KAAa,EAAkB;EAC5D,OAAO;IACLC,OAAO,EAAE,KAAK;IACdC,KAAK,EAAEF,KAAK;IACZG,QAAQ,EAAEnB,IAAI;IACdoB,WAAW,EAAEpB,IAAI;IACjBqB,cAAc,EAAErB,IAAI;IACpBsB,gBAAgB,EAAEtB,IAAI;IACtBuB,mBAAmB,EAAEvB,IAAI;IACzBwB,aAAa,2BAAG;MACd,OAAO,KAAK;IACd;EACF,CAAC;AACH"}
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -12,5 +12,4 @@ export declare function setRef<T>(element: T, ref?: React.Ref<T>): void;
|
|
|
12
12
|
export declare function multiRef<T>(...refs: Array<React.Ref<T> | undefined>): React.RefObject<T>;
|
|
13
13
|
export declare const noop: () => void;
|
|
14
14
|
export declare function getTitleFromChildren(children: React.ReactNode): string;
|
|
15
|
-
export declare const generateRandomId: () => string;
|
|
16
15
|
export declare const stopPropagation: <T extends React.SyntheticEvent<Element, Event>>(event: T) => void;
|
package/dist/lib/utils.js
CHANGED
|
@@ -71,9 +71,6 @@ export function getTitleFromChildren(children) {
|
|
|
71
71
|
});
|
|
72
72
|
return label;
|
|
73
73
|
}
|
|
74
|
-
export var generateRandomId = function generateRandomId() {
|
|
75
|
-
return Math.random().toString(36).replace(/[^a-z]+/g, "");
|
|
76
|
-
};
|
|
77
74
|
export var stopPropagation = function stopPropagation(event) {
|
|
78
75
|
return event.stopPropagation();
|
|
79
76
|
};
|
package/dist/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["React","isNumeric","value","isNaN","parseFloat","isFinite","isFunction","debounce","fn","delay","timeout","args","clearTimeout","setTimeout","leadingZero","val","strVal","toFixed","length","hasReactNode","undefined","isPrimitiveReactNode","node","setRef","element","ref","current","multiRef","refs","forEach","noop","getTitleFromChildren","children","label","Children","map","child","
|
|
1
|
+
{"version":3,"file":"utils.js","names":["React","isNumeric","value","isNaN","parseFloat","isFinite","isFunction","debounce","fn","delay","timeout","args","clearTimeout","setTimeout","leadingZero","val","strVal","toFixed","length","hasReactNode","undefined","isPrimitiveReactNode","node","setRef","element","ref","current","multiRef","refs","forEach","noop","getTitleFromChildren","children","label","Children","map","child","stopPropagation","event"],"sources":["../../src/lib/utils.ts"],"sourcesContent":["import * as React from \"react\";\n\nexport type ImgOnlyAttributes = {\n [index in Exclude<\n keyof React.ImgHTMLAttributes<HTMLImageElement>,\n keyof React.HTMLAttributes<HTMLImageElement>\n >]: React.ImgHTMLAttributes<HTMLImageElement>[index];\n};\n\n// Является ли переданное значение числовым\nexport function isNumeric(value: any): boolean {\n return !isNaN(parseFloat(value)) && isFinite(value);\n}\n\n// Является ли переданное значение функцией\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === \"function\";\n}\n\nexport function debounce<A extends any[]>(\n fn: (...args: A) => void,\n delay: number\n) {\n let timeout: any;\n\n return (...args: A) => {\n clearTimeout(timeout);\n timeout = setTimeout(() => fn(...args), delay);\n };\n}\n\nexport function leadingZero(val: number) {\n let strVal = val.toFixed();\n\n if (strVal.length === 1) {\n return \"0\" + strVal;\n }\n\n return strVal;\n}\n\nexport function hasReactNode(value: React.ReactNode): boolean {\n return (\n value !== undefined && value !== false && value !== null && value !== \"\"\n );\n}\n\nexport function isPrimitiveReactNode(node: React.ReactNode): boolean {\n return typeof node === \"string\" || typeof node === \"number\";\n}\n\nexport function setRef<T>(element: T, ref?: React.Ref<T>): void {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(element);\n } else {\n (ref as React.MutableRefObject<T>).current = element;\n }\n }\n}\n\nexport function multiRef<T>(\n ...refs: Array<React.Ref<T> | undefined>\n): React.RefObject<T> {\n let current: T | null = null;\n return {\n get current() {\n return current;\n },\n set current(element) {\n current = element;\n refs.forEach((ref) => ref && setRef(element, ref));\n },\n };\n}\n\n// eslint-disable-next-line\nexport const noop = () => {};\n\nexport function getTitleFromChildren(children: React.ReactNode): string {\n let label = \"\";\n\n React.Children.map(children, (child) => {\n if (typeof child === \"string\") {\n label += child;\n }\n });\n\n return label;\n}\n\nexport const stopPropagation = <T extends React.SyntheticEvent>(event: T) =>\n event.stopPropagation();\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAS9B;AACA,OAAO,SAASC,SAAS,CAACC,KAAU,EAAW;EAC7C,OAAO,CAACC,KAAK,CAACC,UAAU,CAACF,KAAK,CAAC,CAAC,IAAIG,QAAQ,CAACH,KAAK,CAAC;AACrD;;AAEA;AACA,OAAO,SAASI,UAAU,CAACJ,KAAU,EAAoC;EACvE,OAAO,OAAOA,KAAK,KAAK,UAAU;AACpC;AAEA,OAAO,SAASK,QAAQ,CACtBC,EAAwB,EACxBC,KAAa,EACb;EACA,IAAIC,OAAY;EAEhB,OAAO,YAAgB;IAAA,kCAAZC,IAAI;MAAJA,IAAI;IAAA;IACbC,YAAY,CAACF,OAAO,CAAC;IACrBA,OAAO,GAAGG,UAAU,CAAC;MAAA,OAAML,EAAE,eAAIG,IAAI,CAAC;IAAA,GAAEF,KAAK,CAAC;EAChD,CAAC;AACH;AAEA,OAAO,SAASK,WAAW,CAACC,GAAW,EAAE;EACvC,IAAIC,MAAM,GAAGD,GAAG,CAACE,OAAO,EAAE;EAE1B,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACvB,OAAO,GAAG,GAAGF,MAAM;EACrB;EAEA,OAAOA,MAAM;AACf;AAEA,OAAO,SAASG,YAAY,CAACjB,KAAsB,EAAW;EAC5D,OACEA,KAAK,KAAKkB,SAAS,IAAIlB,KAAK,KAAK,KAAK,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,EAAE;AAE5E;AAEA,OAAO,SAASmB,oBAAoB,CAACC,IAAqB,EAAW;EACnE,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ;AAC7D;AAEA,OAAO,SAASC,MAAM,CAAIC,OAAU,EAAEC,GAAkB,EAAQ;EAC9D,IAAIA,GAAG,EAAE;IACP,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;MAC7BA,GAAG,CAACD,OAAO,CAAC;IACd,CAAC,MAAM;MACJC,GAAG,CAA+BC,OAAO,GAAGF,OAAO;IACtD;EACF;AACF;AAEA,OAAO,SAASG,QAAQ,GAEF;EAAA,mCADjBC,IAAI;IAAJA,IAAI;EAAA;EAEP,IAAIF,OAAiB,GAAG,IAAI;EAC5B,OAAO;IACL,IAAIA,OAAO,GAAG;MACZ,OAAOA,OAAO;IAChB,CAAC;IACD,IAAIA,OAAO,CAACF,OAAO,EAAE;MACnBE,OAAO,GAAGF,OAAO;MACjBI,IAAI,CAACC,OAAO,CAAC,UAACJ,GAAG;QAAA,OAAKA,GAAG,IAAIF,MAAM,CAACC,OAAO,EAAEC,GAAG,CAAC;MAAA,EAAC;IACpD;EACF,CAAC;AACH;;AAEA;AACA,OAAO,IAAMK,IAAI,GAAG,SAAPA,IAAI,GAAS,CAAC,CAAC;AAE5B,OAAO,SAASC,oBAAoB,CAACC,QAAyB,EAAU;EACtE,IAAIC,KAAK,GAAG,EAAE;EAEdjC,KAAK,CAACkC,QAAQ,CAACC,GAAG,CAACH,QAAQ,EAAE,UAACI,KAAK,EAAK;IACtC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7BH,KAAK,IAAIG,KAAK;IAChB;EACF,CAAC,CAAC;EAEF,OAAOH,KAAK;AACd;AAEA,OAAO,IAAMI,eAAe,GAAG,SAAlBA,eAAe,CAAoCC,KAAQ;EAAA,OACtEA,KAAK,CAACD,eAAe,EAAE;AAAA"}
|
|
@@ -23,6 +23,7 @@ var MEDIA_QUERIES = {
|
|
|
23
23
|
TABLET: "(min-width: ".concat(BREAKPOINTS.TABLET, "px) and (max-width: ").concat(BREAKPOINTS.DESKTOP - 1, "px)"),
|
|
24
24
|
// prettier-ignore
|
|
25
25
|
|
|
26
|
+
SMALL_TABLET_PLUS: "(min-width: ".concat(BREAKPOINTS.TABLET, "px)"),
|
|
26
27
|
SMALL_TABLET: "(min-width: ".concat(BREAKPOINTS.SMALL_TABLET, "px) and (max-width: ").concat(BREAKPOINTS.TABLET - 1, "px)"),
|
|
27
28
|
// prettier-ignore
|
|
28
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breakpoints.js","names":["BREAKPOINTS","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","MEDIA_QUERIES","DESKTOP_PLUS","module","exports"],"sources":["../../src/shared/breakpoints.js"],"sourcesContent":["/**\n * Храним брейкпоинты в JS файле для синхронизации значений между TS и CSS.\n *\n * @type {{\n * DESKTOP: 1280,\n * TABLET: 1024,\n * SMALL_TABLET: 768,\n * MOBILE: 320,\n * MOBILE_LANDSCAPE_HEIGHT: 414,\n * MEDIUM_HEIGHT: 720\n * }}\n */\nconst BREAKPOINTS = {\n DESKTOP: 1280,\n TABLET: 1024,\n SMALL_TABLET: 768,\n MOBILE: 320,\n MOBILE_LANDSCAPE_HEIGHT: 414,\n MEDIUM_HEIGHT: 720,\n};\n\nconst MEDIA_QUERIES = {\n DESKTOP_PLUS: `(min-width: ${BREAKPOINTS.DESKTOP}px)`,\n\n TABLET: `(min-width: ${BREAKPOINTS.TABLET}px) and (max-width: ${BREAKPOINTS.DESKTOP - 1}px)`, // prettier-ignore\n\n SMALL_TABLET: `(min-width: ${BREAKPOINTS.SMALL_TABLET}px) and (max-width: ${BREAKPOINTS.TABLET - 1}px)`, // prettier-ignore\n\n MOBILE: `(min-width: ${BREAKPOINTS.MOBILE}px) and (max-width: ${BREAKPOINTS.SMALL_TABLET - 1}px)`, // prettier-ignore\n\n MEDIUM_HEIGHT: `(min-height: ${BREAKPOINTS.MEDIUM_HEIGHT}px)`,\n\n MOBILE_LANDSCAPE_HEIGHT: `(min-height: ${BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT + 1}px)`, // prettier-ignore\n};\n\nmodule.exports = { BREAKPOINTS, MEDIA_QUERIES };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,WAAW,GAAG;EAClBC,OAAO,EAAE,IAAI;EACbC,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE,GAAG;EACjBC,MAAM,EAAE,GAAG;EACXC,uBAAuB,EAAE,GAAG;EAC5BC,aAAa,EAAE;AACjB,CAAC;AAED,IAAMC,aAAa,GAAG;EACpBC,YAAY,wBAAiBR,WAAW,CAACC,OAAO,QAAK;EAErDC,MAAM,wBAAiBF,WAAW,CAACE,MAAM,iCAAuBF,WAAW,CAACC,OAAO,GAAG,CAAC,QAAK;EAAE;;
|
|
1
|
+
{"version":3,"file":"breakpoints.js","names":["BREAKPOINTS","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","MEDIA_QUERIES","DESKTOP_PLUS","SMALL_TABLET_PLUS","module","exports"],"sources":["../../src/shared/breakpoints.js"],"sourcesContent":["/**\n * Храним брейкпоинты в JS файле для синхронизации значений между TS и CSS.\n *\n * @type {{\n * DESKTOP: 1280,\n * TABLET: 1024,\n * SMALL_TABLET: 768,\n * MOBILE: 320,\n * MOBILE_LANDSCAPE_HEIGHT: 414,\n * MEDIUM_HEIGHT: 720\n * }}\n */\nconst BREAKPOINTS = {\n DESKTOP: 1280,\n TABLET: 1024,\n SMALL_TABLET: 768,\n MOBILE: 320,\n MOBILE_LANDSCAPE_HEIGHT: 414,\n MEDIUM_HEIGHT: 720,\n};\n\nconst MEDIA_QUERIES = {\n DESKTOP_PLUS: `(min-width: ${BREAKPOINTS.DESKTOP}px)`,\n\n TABLET: `(min-width: ${BREAKPOINTS.TABLET}px) and (max-width: ${BREAKPOINTS.DESKTOP - 1}px)`, // prettier-ignore\n\n SMALL_TABLET_PLUS: `(min-width: ${BREAKPOINTS.TABLET}px)`,\n SMALL_TABLET: `(min-width: ${BREAKPOINTS.SMALL_TABLET}px) and (max-width: ${BREAKPOINTS.TABLET - 1}px)`, // prettier-ignore\n\n MOBILE: `(min-width: ${BREAKPOINTS.MOBILE}px) and (max-width: ${BREAKPOINTS.SMALL_TABLET - 1}px)`, // prettier-ignore\n\n MEDIUM_HEIGHT: `(min-height: ${BREAKPOINTS.MEDIUM_HEIGHT}px)`,\n\n MOBILE_LANDSCAPE_HEIGHT: `(min-height: ${BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT + 1}px)`, // prettier-ignore\n};\n\nmodule.exports = { BREAKPOINTS, MEDIA_QUERIES };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,WAAW,GAAG;EAClBC,OAAO,EAAE,IAAI;EACbC,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE,GAAG;EACjBC,MAAM,EAAE,GAAG;EACXC,uBAAuB,EAAE,GAAG;EAC5BC,aAAa,EAAE;AACjB,CAAC;AAED,IAAMC,aAAa,GAAG;EACpBC,YAAY,wBAAiBR,WAAW,CAACC,OAAO,QAAK;EAErDC,MAAM,wBAAiBF,WAAW,CAACE,MAAM,iCAAuBF,WAAW,CAACC,OAAO,GAAG,CAAC,QAAK;EAAE;;EAE9FQ,iBAAiB,wBAAiBT,WAAW,CAACE,MAAM,QAAK;EACzDC,YAAY,wBAAiBH,WAAW,CAACG,YAAY,iCAAuBH,WAAW,CAACE,MAAM,GAAG,CAAC,QAAK;EAAE;;EAEzGE,MAAM,wBAAiBJ,WAAW,CAACI,MAAM,iCAAuBJ,WAAW,CAACG,YAAY,GAAG,CAAC,QAAK;EAAE;;EAEnGG,aAAa,yBAAkBN,WAAW,CAACM,aAAa,QAAK;EAE7DD,uBAAuB,yBAAkBL,WAAW,CAACK,uBAAuB,GAAG,CAAC,QAAK,CAAE;AACzF,CAAC;;AAEDK,MAAM,CAACC,OAAO,GAAG;EAAEX,WAAW,EAAXA,WAAW;EAAEO,aAAa,EAAbA;AAAc,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -35,3 +35,9 @@ export interface Version {
|
|
|
35
35
|
minor?: number;
|
|
36
36
|
patch?: number;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Тип содержит атрибуты, которые применяются только для `<a>`
|
|
40
|
+
*
|
|
41
|
+
* @see {@link https://developer.mozilla.org/ru/docs/Web/HTML/Element/A <a> - HTML | MDN}
|
|
42
|
+
*/
|
|
43
|
+
export declare type AnchorHTMLAttributesOnly = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof React.HTMLAttributes<HTMLAnchorElement>>;
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import * as React from \"react\";\nimport { PlatformType } from \"./lib/platform\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\n\nexport type AnyFunction = (...args: any[]) => any;\n\nexport type AlignType = \"left\" | \"center\" | \"right\";\n\nexport interface HasChildren {\n children?: React.ReactNode;\n}\n\nexport interface HasRootRef<T> {\n getRootRef?: React.Ref<T>;\n}\n\nexport interface HasRef<T> {\n getRef?: React.Ref<T>;\n}\n\nexport interface HasComponent {\n Component?: React.ElementType;\n}\n\nexport interface HasAlign {\n align?: AlignType;\n}\n\nexport interface HasPlatform {\n /**\n * @ignore\n */\n platform?: PlatformType;\n}\n\nexport interface HasInsets {\n /**\n * @ignore\n */\n insets?: Partial<Insets>;\n}\n\nexport interface Version {\n major: number;\n minor?: number;\n patch?: number;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import * as React from \"react\";\nimport { PlatformType } from \"./lib/platform\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\n\nexport type AnyFunction = (...args: any[]) => any;\n\nexport type AlignType = \"left\" | \"center\" | \"right\";\n\nexport interface HasChildren {\n children?: React.ReactNode;\n}\n\nexport interface HasRootRef<T> {\n getRootRef?: React.Ref<T>;\n}\n\nexport interface HasRef<T> {\n getRef?: React.Ref<T>;\n}\n\nexport interface HasComponent {\n Component?: React.ElementType;\n}\n\nexport interface HasAlign {\n align?: AlignType;\n}\n\nexport interface HasPlatform {\n /**\n * @ignore\n */\n platform?: PlatformType;\n}\n\nexport interface HasInsets {\n /**\n * @ignore\n */\n insets?: Partial<Insets>;\n}\n\nexport interface Version {\n major: number;\n minor?: number;\n patch?: number;\n}\n\n/**\n * Тип содержит атрибуты, которые применяются только для `<a>`\n *\n * @see {@link https://developer.mozilla.org/ru/docs/Web/HTML/Element/A <a> - HTML | MDN}\n */\nexport type AnchorHTMLAttributesOnly = Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n keyof React.HTMLAttributes<HTMLAnchorElement>\n>;\n"],"mappings":""}
|