@skbkontur/react-ui 4.1.1 → 4.1.2
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/CHANGELOG.md +19 -0
- package/cjs/components/Checkbox/Checkbox.d.ts +5 -0
- package/cjs/components/Checkbox/Checkbox.js +29 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
- package/cjs/components/Checkbox/Checkbox.styles.js +23 -17
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +5 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +7 -3
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
- package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
- package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
- package/cjs/components/Gapped/Gapped.js +2 -1
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +8 -10
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInputIcon.js +5 -1
- package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
- package/cjs/components/Select/Select.js +4 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +10 -0
- package/cjs/components/TokenInput/TokenInput.js +17 -2
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +1 -5
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.js +4 -2
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +2 -5
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +4 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js +32 -22
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/date/types.d.ts +4 -0
- package/cjs/lib/date/types.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +5 -1
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +29 -2
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +5 -0
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +20 -17
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +1 -0
- package/components/DateInput/DateInput/DateInput.js +9 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +9 -3
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
- package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
- package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
- package/components/DateInput/helpers/inputNumber.d.ts +1 -1
- package/components/Gapped/Gapped/Gapped.js +2 -1
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +12 -13
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +8 -3
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -1
- package/components/Select/Select/Select.js +5 -3
- package/components/Select/Select/Select.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +6 -2
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +10 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +2 -6
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -2
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +2 -5
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js +3 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js +55 -41
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/types/types.js.map +1 -1
- package/lib/date/types.d.ts +4 -0
- package/lib/events/MouseDrag/MouseDrag.js +5 -1
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["types.ts"],"names":["InternalDateOrder","InternalDateSeparator","InternalDateComponentType","InternalDateValidateCheck","isInternalDateValidateCheck","value","Object","values","includes","InternalDateFirstDayWeek","InternalDateDayWeek"],"mappings":";;AAEA,WAAYA,iBAAZ,C,WAAYA,iB,GAAAA,iB,gBAAAA,iB,gBAAAA,iB,mBAAAA,iB,KAAAA,iB;;;;;;AAMZ,WAAYC,qBAAZ,C,WAAYA,qB,GAAAA,qB,gBAAAA,qB,cAAAA,qB,eAAAA,qB,mBAAAA,qB,KAAAA,qB;;;;;;;AAOZ,WAAYC,yBAAZ,C,WAAYA,yB,GAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,yBAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,qBAAAA,yB,CAAAA,yB,oCAAAA,yB,KAAAA,yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DZ,WAAYC,yBAAZ,C,WAAYA,yB,GAAAA,yB,CAAAA,yB,6BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,4BAAAA,yB,KAAAA,yB;;;;;;;;AAQZ,OAAO,SAASC,2BAAT,CAAqCC,KAArC,EAAyF;AAC9F,SAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6BC,MAAM,CAACC,MAAP,CAAcJ,yBAAd,EAAyCK,QAAzC,CAAkDH,KAAlD,CAApC;AACD;;AAED,WAAYI,wBAAZ,C,WAAYA,wB,GAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,kCAAAA,wB,KAAAA,wB;;;;;;AAMZ,WAAYC,mBAAZ,C,WAAYA,mB,GAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,6BAAAA,mB,CAAAA,mB,iCAAAA,mB,CAAAA,mB,+BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,kCAAAA,mB,KAAAA,mB","sourcesContent":["import { LangCodes } from '../locale';\n\nexport enum InternalDateOrder {\n DMY = 'DMY',\n YMD = 'YMD',\n MDY = 'MDY',\n}\n\nexport enum InternalDateSeparator {\n Slash = '/',\n Dot = '.',\n Dash = '-',\n Space = ' ',\n}\n\nexport enum InternalDateComponentType {\n Date = 0,\n Month = 1,\n Year = 2,\n All = 3,\n Separator = 4,\n}\n\nexport type InternalDateTypesOrder = [InternalDateComponentType, InternalDateComponentType, InternalDateComponentType];\nexport type InternalDateComponent = number | null;\nexport type InternalDateComponentRaw = number | string | null;\n\nexport interface InternalDateFragment {\n type: InternalDateComponentType;\n value: InternalDateComponentRaw | InternalDateSeparator;\n length: number;\n valueWithPad?: string;\n isValid?: boolean;\n}\n\nexport interface InternalDateComponents {\n year: InternalDateComponent;\n month: InternalDateComponent;\n date: InternalDateComponent;\n}\n\nexport interface InternalDateComponentsRaw {\n year: InternalDateComponentRaw;\n month: InternalDateComponentRaw;\n date: InternalDateComponentRaw;\n}\n\nexport interface InternalDateComponentsNumber {\n year: number;\n month: number;\n date: number;\n}\n\nexport interface InternalDateToFragmentsSettings {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n withSeparator?: boolean;\n withPad?: boolean;\n pad?: string;\n}\n\nexport interface InternalDateChangeSettings {\n isLoop?: boolean;\n isRange?: boolean;\n isCutFeb?: boolean;\n}\n\nexport interface InternalDateConstructorProps {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n langCode?: LangCodes;\n value?: string;\n}\n\nexport enum InternalDateValidateCheck {\n NotNull,\n Number,\n Limits,\n Native,\n Range,\n}\n\nexport function isInternalDateValidateCheck(value: unknown): value is InternalDateValidateCheck {\n return typeof value === 'number' && Object.values(InternalDateValidateCheck).includes(value);\n}\n\nexport enum InternalDateFirstDayWeek {\n Monday = 0,\n Sunday = 1,\n Saturday = 2,\n}\n\nexport enum InternalDateDayWeek {\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Sunday = 6,\n Saturday = 7,\n}\n\nexport interface InternalDateLocaleSet {\n order: InternalDateOrder;\n separator: InternalDateSeparator;\n firstDayWeek: InternalDateFirstDayWeek;\n notWorkingDays: InternalDateDayWeek[];\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["types.ts"],"names":["InternalDateOrder","InternalDateSeparator","InternalDateComponentType","InternalDateValidateCheck","isInternalDateValidateCheck","value","Object","values","includes","InternalDateFirstDayWeek","InternalDateDayWeek"],"mappings":";;AAEA,WAAYA,iBAAZ,C,WAAYA,iB,GAAAA,iB,gBAAAA,iB,gBAAAA,iB,mBAAAA,iB,KAAAA,iB;;;;;;AAMZ,WAAYC,qBAAZ,C,WAAYA,qB,GAAAA,qB,gBAAAA,qB,cAAAA,qB,eAAAA,qB,mBAAAA,qB,KAAAA,qB;;;;;;;AAOZ,WAAYC,yBAAZ,C,WAAYA,yB,GAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,yBAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,qBAAAA,yB,CAAAA,yB,oCAAAA,yB,KAAAA,yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DZ,WAAYC,yBAAZ,C,WAAYA,yB,GAAAA,yB,CAAAA,yB,6BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,4BAAAA,yB,KAAAA,yB;;;;;;;;AAQZ,OAAO,SAASC,2BAAT,CAAqCC,KAArC,EAAyF;AAC9F,SAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6BC,MAAM,CAACC,MAAP,CAAcJ,yBAAd,EAAyCK,QAAzC,CAAkDH,KAAlD,CAApC;AACD;;AAED,WAAYI,wBAAZ,C,WAAYA,wB,GAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,kCAAAA,wB,KAAAA,wB;;;;;;AAMZ,WAAYC,mBAAZ,C,WAAYA,mB,GAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,6BAAAA,mB,CAAAA,mB,iCAAAA,mB,CAAAA,mB,+BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,kCAAAA,mB,KAAAA,mB","sourcesContent":["import { LangCodes } from '../locale';\n\nexport enum InternalDateOrder {\n DMY = 'DMY',\n YMD = 'YMD',\n MDY = 'MDY',\n}\n\nexport enum InternalDateSeparator {\n Slash = '/',\n Dot = '.',\n Dash = '-',\n Space = ' ',\n}\n\nexport enum InternalDateComponentType {\n Date = 0,\n Month = 1,\n Year = 2,\n All = 3,\n Separator = 4,\n}\n\nexport type InternalDateTypesOrder = [InternalDateComponentType, InternalDateComponentType, InternalDateComponentType];\nexport type InternalDateComponent = number | null;\nexport type InternalDateComponentRaw = number | string | null;\n\nexport interface InternalDateFragment {\n type: InternalDateComponentType;\n value: InternalDateComponentRaw | InternalDateSeparator;\n length: number;\n valueWithPad?: string;\n isValid?: boolean;\n}\n\nexport interface InternalDateComponents {\n year: InternalDateComponent;\n month: InternalDateComponent;\n date: InternalDateComponent;\n}\n\nexport interface InternalDateComponentsRaw {\n year: InternalDateComponentRaw;\n month: InternalDateComponentRaw;\n date: InternalDateComponentRaw;\n}\n\nexport interface InternalDateComponentsNumber {\n year: number;\n month: number;\n date: number;\n}\n\nexport interface InternalDateToFragmentsSettings {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n withSeparator?: boolean;\n withPad?: boolean;\n pad?: string;\n}\n\nexport interface InternalDateChangeSettings {\n isLoop?: boolean;\n isRange?: boolean;\n isCutFeb?: boolean;\n}\n\nexport interface InternalDateConstructorProps {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n langCode?: LangCodes;\n value?: string;\n}\n\nexport enum InternalDateValidateCheck {\n NotNull,\n Number,\n Limits,\n Native,\n Range,\n}\n\nexport function isInternalDateValidateCheck(value: unknown): value is InternalDateValidateCheck {\n return typeof value === 'number' && Object.values(InternalDateValidateCheck).includes(value);\n}\n\nexport enum InternalDateFirstDayWeek {\n Monday = 0,\n Sunday = 1,\n Saturday = 2,\n}\n\nexport enum InternalDateDayWeek {\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Sunday = 6,\n Saturday = 7,\n}\n\nexport interface InternalDateLocaleSet {\n order: InternalDateOrder;\n separator: InternalDateSeparator;\n firstDayWeek: InternalDateFirstDayWeek;\n notWorkingDays: InternalDateDayWeek[];\n}\n\nexport interface InputKeyResult {\n inputMode: boolean;\n changed: boolean;\n}\n"]}
|
package/lib/date/types.d.ts
CHANGED
|
@@ -137,7 +137,11 @@ function MouseDrag(elem) {
|
|
|
137
137
|
};
|
|
138
138
|
|
|
139
139
|
this.getLength = function (x2, y2) {
|
|
140
|
-
|
|
140
|
+
if (_this.x1 !== undefined && _this.y1 !== undefined) {
|
|
141
|
+
return Math.sqrt(Math.pow(x2 - _this.x1, 2) + Math.pow(y2 - _this.y1, 2));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return 0;
|
|
141
145
|
};
|
|
142
146
|
|
|
143
147
|
this.createEvent = function (type, e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MouseDrag.ts"],"names":["canUseDOM","MouseDragEventType","items","Map","documentHandleMouseUp","e","forEach","mouseDrag","handleMouseUp","document","documentElement","addEventListener","MouseDrag","elem","clicked","dragging","stop","removeEventListener","handleMouseDown","handleMouseMove","handleMouseLeave","onMouseDragStart","handler","on","Start","onMouseDragMove","Move","onMouseDragLeave","Leave","onMouseDragEnd","End","dispatchEvent","createEvent","type","x1","pageX","y1","pageY","mouseDragStartEvent","getLength","RADIUS","x2","y2","undefined","Math","sqrt","MouseEvent","eIE11","initEvent","mouseDragEvent","set","listen","has","get"],"mappings":"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","sourcesContent":["import { canUseDOM } from '../client';\n\nenum MouseDragEventType {\n Start = 'mousedragstart',\n Move = 'mousedragmove',\n End = 'mousedragend',\n Leave = 'mousedragleave',\n}\n\ntype MouseDragEvent = MouseEvent;\n\ntype HandlerNative<E = MouseEvent> = (e: E) => void;\ntype Handler = (e: MouseDragEvent) => void;\ntype On = (handler: Handler) => MouseDrag;\nexport type MouseDragEventHandler = (e: MouseDragEvent) => void;\n\nconst items: Map<HTMLElement, MouseDrag> = new Map();\n\nconst documentHandleMouseUp: HandlerNative = (e) => items.forEach((mouseDrag) => mouseDrag.handleMouseUp(e));\n\nif (canUseDOM) {\n document.documentElement.addEventListener('mouseup', documentHandleMouseUp);\n}\n\n/**\n * ## Класс для отслеживания эффекта перетаскивания мышкой\n *\n * _Публичный метод `handleMouseUp` нельзя использовать!_\n *\n * ### Начало прослушивания и добавление обработчиков:\n * ```\n * MouseDrag.listen(HTMLElement_1)\n * .onMouseDragStart(start)\n * .onMouseDragMove(move)\n * .onMouseDragLeave(leave)\n * .onMouseDragEnd(end);\n *\n * - - ИЛИ - -\n *\n * const mouseDrag_1 = MouseDrag.listen(HTMLElement)...\n * ```\n *\n * ### Остановка прослушивания:\n * ```\n * MouseDrag.stop(HTMLElement_1)\n *\n * - - ИЛИ - -\n *\n * mouseDrag_1.stop();\n * ```\n */\nexport class MouseDrag {\n // Радиус окружности, который необходимо преодолеть мышью, чтобы вызвалось событие `MouseDragStart`\n public static readonly RADIUS: number = 5; // px\n\n public static listen = (elem: HTMLElement): MouseDrag => {\n if (items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n return mouseDrag;\n }\n }\n return new MouseDrag(elem);\n };\n\n public static stop = (elem: HTMLElement | null): void => {\n if (elem && items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n mouseDrag.stop();\n }\n }\n };\n\n private mouseDragStartEvent?: MouseDragEvent;\n private clicked = false;\n private dragging = false;\n\n private x1?: number;\n private y1?: number;\n\n private elem: HTMLElement | null;\n\n public constructor(elem: HTMLElement) {\n this.elem = elem;\n this.elem.addEventListener('mousedown', this.handleMouseDown);\n this.elem.addEventListener('mousemove', this.handleMouseMove);\n this.elem.addEventListener('mouseleave', this.handleMouseLeave);\n items.set(this.elem, this);\n }\n\n public stop = (): void => {\n if (this.elem !== null) {\n this.elem.removeEventListener('mousedown', this.handleMouseDown);\n this.elem.removeEventListener('mousemove', this.handleMouseMove);\n this.elem.removeEventListener('mouseleave', this.handleMouseLeave);\n items.delete(this.elem);\n }\n this.elem = null;\n };\n\n public onMouseDragStart: On = (handler) => this.on(MouseDragEventType.Start, handler);\n public onMouseDragMove: On = (handler) => this.on(MouseDragEventType.Move, handler);\n public onMouseDragLeave: On = (handler) => this.on(MouseDragEventType.Leave, handler);\n public onMouseDragEnd: On = (handler) => this.on(MouseDragEventType.End, handler);\n\n public handleMouseUp: HandlerNative = (e) => {\n this.clicked = false;\n if (this.dragging) {\n this.dragging = false;\n this.dispatchEvent(this.createEvent(MouseDragEventType.End, e));\n }\n };\n\n private on = (type: MouseDragEventType, handler: Handler): MouseDrag => {\n if (this.elem !== null) {\n this.elem.removeEventListener(type, handler as HandlerNative<Event>);\n this.elem.addEventListener(type, handler as HandlerNative<Event>);\n }\n return this;\n };\n\n private handleMouseDown: HandlerNative = (e) => {\n if (!this.clicked) {\n this.clicked = true;\n this.x1 = e.pageX;\n this.y1 = e.pageY;\n this.mouseDragStartEvent = this.createEvent(MouseDragEventType.Start, e);\n }\n };\n\n private handleMouseMove: HandlerNative = (e) => {\n if (this.dragging) {\n return this.dispatchEvent(this.createEvent(MouseDragEventType.Move, e));\n }\n if (this.clicked && this.getLength(e.pageX, e.pageY) > MouseDrag.RADIUS) {\n this.dragging = true;\n this.clicked = false;\n if (this.mouseDragStartEvent) {\n this.dispatchEvent(this.mouseDragStartEvent);\n }\n }\n };\n\n private handleMouseLeave: HandlerNative = (e) => {\n if (this.dragging) {\n this.dispatchEvent(this.createEvent(MouseDragEventType.Leave, e));\n }\n };\n\n private getLength = (x2: number, y2: number): number => {\n return this.x1 !== undefined && this.y1 !== undefined ? Math.sqrt((x2 - this.x1) ** 2 + (y2 - this.y1) ** 2) : 0;\n };\n\n private createEvent = (type: MouseDragEventType, e: MouseEvent): MouseDragEvent => {\n if (typeof MouseEvent === 'function') {\n return new MouseEvent(type, e);\n }\n // <=IE11\n const eIE11 = document.createEvent('MouseEvent');\n eIE11.initEvent(type, true, true);\n return eIE11;\n };\n\n private dispatchEvent = (mouseDragEvent: MouseDragEvent): void => {\n if (this.elem !== null) {\n this.elem.dispatchEvent(mouseDragEvent);\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["MouseDrag.ts"],"names":["canUseDOM","MouseDragEventType","items","Map","documentHandleMouseUp","e","forEach","mouseDrag","handleMouseUp","document","documentElement","addEventListener","MouseDrag","elem","clicked","dragging","stop","removeEventListener","handleMouseDown","handleMouseMove","handleMouseLeave","onMouseDragStart","handler","on","Start","onMouseDragMove","Move","onMouseDragLeave","Leave","onMouseDragEnd","End","dispatchEvent","createEvent","type","x1","pageX","y1","pageY","mouseDragStartEvent","getLength","RADIUS","x2","y2","undefined","Math","sqrt","MouseEvent","eIE11","initEvent","mouseDragEvent","set","listen","has","get"],"mappings":"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","sourcesContent":["import { canUseDOM } from '../client';\n\nenum MouseDragEventType {\n Start = 'mousedragstart',\n Move = 'mousedragmove',\n End = 'mousedragend',\n Leave = 'mousedragleave',\n}\n\ntype MouseDragEvent = MouseEvent;\n\ntype HandlerNative<E = MouseEvent> = (e: E) => void;\ntype Handler = (e: MouseDragEvent) => void;\ntype On = (handler: Handler) => MouseDrag;\nexport type MouseDragEventHandler = (e: MouseDragEvent) => void;\n\nconst items: Map<HTMLElement, MouseDrag> = new Map();\n\nconst documentHandleMouseUp: HandlerNative = (e) => items.forEach((mouseDrag) => mouseDrag.handleMouseUp(e));\n\nif (canUseDOM) {\n document.documentElement.addEventListener('mouseup', documentHandleMouseUp);\n}\n\n/**\n * ## Класс для отслеживания эффекта перетаскивания мышкой\n *\n * _Публичный метод `handleMouseUp` нельзя использовать!_\n *\n * ### Начало прослушивания и добавление обработчиков:\n * ```\n * MouseDrag.listen(HTMLElement_1)\n * .onMouseDragStart(start)\n * .onMouseDragMove(move)\n * .onMouseDragLeave(leave)\n * .onMouseDragEnd(end);\n *\n * - - ИЛИ - -\n *\n * const mouseDrag_1 = MouseDrag.listen(HTMLElement)...\n * ```\n *\n * ### Остановка прослушивания:\n * ```\n * MouseDrag.stop(HTMLElement_1)\n *\n * - - ИЛИ - -\n *\n * mouseDrag_1.stop();\n * ```\n */\nexport class MouseDrag {\n // Радиус окружности, который необходимо преодолеть мышью, чтобы вызвалось событие `MouseDragStart`\n public static readonly RADIUS: number = 5; // px\n\n public static listen = (elem: HTMLElement): MouseDrag => {\n if (items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n return mouseDrag;\n }\n }\n return new MouseDrag(elem);\n };\n\n public static stop = (elem: HTMLElement | null): void => {\n if (elem && items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n mouseDrag.stop();\n }\n }\n };\n\n private mouseDragStartEvent?: MouseDragEvent;\n private clicked = false;\n private dragging = false;\n\n private x1?: number;\n private y1?: number;\n\n private elem: HTMLElement | null;\n\n public constructor(elem: HTMLElement) {\n this.elem = elem;\n this.elem.addEventListener('mousedown', this.handleMouseDown);\n this.elem.addEventListener('mousemove', this.handleMouseMove);\n this.elem.addEventListener('mouseleave', this.handleMouseLeave);\n items.set(this.elem, this);\n }\n\n public stop = (): void => {\n if (this.elem !== null) {\n this.elem.removeEventListener('mousedown', this.handleMouseDown);\n this.elem.removeEventListener('mousemove', this.handleMouseMove);\n this.elem.removeEventListener('mouseleave', this.handleMouseLeave);\n items.delete(this.elem);\n }\n this.elem = null;\n };\n\n public onMouseDragStart: On = (handler) => this.on(MouseDragEventType.Start, handler);\n public onMouseDragMove: On = (handler) => this.on(MouseDragEventType.Move, handler);\n public onMouseDragLeave: On = (handler) => this.on(MouseDragEventType.Leave, handler);\n public onMouseDragEnd: On = (handler) => this.on(MouseDragEventType.End, handler);\n\n public handleMouseUp: HandlerNative = (e) => {\n this.clicked = false;\n if (this.dragging) {\n this.dragging = false;\n this.dispatchEvent(this.createEvent(MouseDragEventType.End, e));\n }\n };\n\n private on = (type: MouseDragEventType, handler: Handler): MouseDrag => {\n if (this.elem !== null) {\n this.elem.removeEventListener(type, handler as HandlerNative<Event>);\n this.elem.addEventListener(type, handler as HandlerNative<Event>);\n }\n return this;\n };\n\n private handleMouseDown: HandlerNative = (e) => {\n if (!this.clicked) {\n this.clicked = true;\n this.x1 = e.pageX;\n this.y1 = e.pageY;\n this.mouseDragStartEvent = this.createEvent(MouseDragEventType.Start, e);\n }\n };\n\n private handleMouseMove: HandlerNative = (e) => {\n if (this.dragging) {\n return this.dispatchEvent(this.createEvent(MouseDragEventType.Move, e));\n }\n if (this.clicked && this.getLength(e.pageX, e.pageY) > MouseDrag.RADIUS) {\n this.dragging = true;\n this.clicked = false;\n if (this.mouseDragStartEvent) {\n this.dispatchEvent(this.mouseDragStartEvent);\n }\n }\n };\n\n private handleMouseLeave: HandlerNative = (e) => {\n if (this.dragging) {\n this.dispatchEvent(this.createEvent(MouseDragEventType.Leave, e));\n }\n };\n\n private getLength = (x2: number, y2: number): number => {\n if (this.x1 !== undefined && this.y1 !== undefined) {\n return Math.sqrt((x2 - this.x1) ** 2 + (y2 - this.y1) ** 2);\n }\n\n return 0;\n };\n\n private createEvent = (type: MouseDragEventType, e: MouseEvent): MouseDragEvent => {\n if (typeof MouseEvent === 'function') {\n return new MouseEvent(type, e);\n }\n // <=IE11\n const eIE11 = document.createEvent('MouseEvent');\n eIE11.initEvent(type, true, true);\n return eIE11;\n };\n\n private dispatchEvent = (mouseDragEvent: MouseDragEvent): void => {\n if (this.elem !== null) {\n this.elem.dispatchEvent(mouseDragEvent);\n }\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skbkontur/react-ui",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.2",
|
|
4
4
|
"description": "UI Components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "index.js",
|
|
7
7
|
"sideEffects": false,
|
|
8
|
-
"homepage": "https://tech.skbkontur.ru/react-ui/4.1.
|
|
8
|
+
"homepage": "https://tech.skbkontur.ru/react-ui/4.1.2/",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "git@github.com:skbkontur/retail-ui.git"
|
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
"@babel/preset-react": "^7.16.5",
|
|
76
76
|
"@babel/preset-typescript": "7.16.5",
|
|
77
77
|
"@babel/register": "^7.16.5",
|
|
78
|
+
"@emotion/eslint-plugin": "11.7.0",
|
|
78
79
|
"@skbkontur/react-icons": "5.2.0",
|
|
79
80
|
"@skbkontur/react-props2attrs": "0.1.2",
|
|
80
81
|
"@skbkontur/react-sorge": "0.1.0",
|