@taiga-ui/core 3.23.1 → 3.24.0
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/bundles/taiga-ui-core-components-alert.umd.js +6 -6
- package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-button.umd.js +4 -4
- package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.js +7 -7
- package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.js +18 -11
- package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-expand.umd.js +3 -3
- package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +5 -5
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-link.umd.js +4 -4
- package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-loader.umd.js +6 -6
- package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js +8 -2
- package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +8 -8
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-root.umd.js +3 -11
- package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js +14 -14
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-scrollbar.umd.js +7 -7
- package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-svg.umd.js +10 -13
- package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-dropdown.umd.js +26 -30
- package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-hint.umd.js +17 -19
- package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +4 -4
- package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +2 -2
- package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
- package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +3 -3
- package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +4 -4
- package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-phone.umd.js +2 -1
- package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-core-providers.umd.js +2 -2
- package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
- package/bundles/taiga-ui-core-services.umd.js +11 -10
- package/bundles/taiga-ui-core-services.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.js +13 -9
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js +2 -2
- package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js +8 -9
- package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mobile.umd.js +2 -2
- package/bundles/taiga-ui-core-utils-mobile.umd.js.map +1 -1
- package/components/alert/alert.component.d.ts +2 -2
- package/components/alert/alert.service.d.ts +1 -1
- package/components/button/button.component.d.ts +2 -2
- package/components/data-list/data-list.component.d.ts +2 -2
- package/components/data-list/option/option.component.d.ts +2 -2
- package/components/dialog/dialog-close.service.d.ts +4 -4
- package/components/dialog/dialog.component.d.ts +1 -0
- package/components/dialog/dialog.service.d.ts +1 -1
- package/components/expand/expand.component.d.ts +2 -2
- package/components/hosted-dropdown/hosted-dropdown.component.d.ts +2 -2
- package/components/link/link.component.d.ts +2 -2
- package/components/loader/loader.component.d.ts +3 -3
- package/components/notification/notification.component.d.ts +2 -1
- package/components/primitive-textfield/primitive-textfield.component.d.ts +2 -2
- package/components/primitive-textfield/textfield/textfield.component.d.ts +2 -2
- package/components/root/root.component.d.ts +1 -3
- package/components/scroll-controls/scroll-controls.component.d.ts +2 -2
- package/components/scroll-controls/scrollbar.directive.d.ts +4 -4
- package/components/scrollbar/scrollable.directive.d.ts +2 -2
- package/components/scrollbar/scrollbar.component.d.ts +2 -2
- package/components/svg/svg.component.d.ts +4 -4
- package/directives/dropdown/dropdown-selection.directive.d.ts +4 -4
- package/directives/dropdown/dropdown.component.d.ts +3 -3
- package/directives/dropdown/dropdown.directive.d.ts +3 -3
- package/directives/hint/hint-describe.directive.d.ts +3 -3
- package/directives/hint/hint-hover.directive.d.ts +2 -2
- package/directives/hint/hint.component.d.ts +2 -2
- package/directives/hint/hint.directive.d.ts +3 -3
- package/directives/scroll-into-view/scroll-into-view.directive.d.ts +2 -2
- package/esm2015/components/alert/alert.component.js +7 -7
- package/esm2015/components/button/button.component.js +5 -5
- package/esm2015/components/data-list/data-list.component.js +5 -5
- package/esm2015/components/data-list/option/option.component.js +4 -4
- package/esm2015/components/dialog/dialog-close.service.js +10 -10
- package/esm2015/components/dialog/dialog.component.js +6 -3
- package/esm2015/components/expand/expand.component.js +4 -4
- package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +6 -6
- package/esm2015/components/link/link.component.js +5 -5
- package/esm2015/components/loader/loader.component.js +7 -7
- package/esm2015/components/notification/notification.component.js +9 -3
- package/esm2015/components/primitive-textfield/primitive-textfield.component.js +4 -4
- package/esm2015/components/primitive-textfield/textfield/textfield.component.js +6 -6
- package/esm2015/components/root/root.component.js +7 -15
- package/esm2015/components/scroll-controls/scroll-controls.component.js +5 -5
- package/esm2015/components/scroll-controls/scrollbar.directive.js +11 -11
- package/esm2015/components/scrollbar/scrollable.directive.js +5 -5
- package/esm2015/components/scrollbar/scrollbar.component.js +4 -4
- package/esm2015/components/svg/svg.component.js +11 -14
- package/esm2015/directives/dropdown/dropdown-selection.directive.js +15 -17
- package/esm2015/directives/dropdown/dropdown.component.js +9 -9
- package/esm2015/directives/dropdown/dropdown.directive.js +5 -7
- package/esm2015/directives/hint/hint-describe.directive.js +7 -8
- package/esm2015/directives/hint/hint-hover.directive.js +3 -3
- package/esm2015/directives/hint/hint.component.js +7 -8
- package/esm2015/directives/hint/hint.directive.js +4 -4
- package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +5 -5
- package/esm2015/directives/textfield-controller/textfield-controller.provider.js +3 -3
- package/esm2015/interfaces/data-list-host.js +1 -1
- package/esm2015/interfaces/portal-item.js +1 -1
- package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +4 -4
- package/esm2015/pipes/calendar-sheet/utils.js +5 -5
- package/esm2015/pipes/format-phone/format-phone.pipe.js +3 -2
- package/esm2015/providers/watched-controller-provider-factory.js +3 -3
- package/esm2015/services/breakpoint.service.js +5 -5
- package/esm2015/services/night-theme.service.js +3 -3
- package/esm2015/services/router-link-active.service.js +2 -1
- package/esm2015/services/svg.service.js +2 -2
- package/esm2015/services/visual-viewport.service.js +5 -5
- package/esm2015/tokens/assert-enabled.js +5 -1
- package/esm2015/tokens/is-mobile-resolution.js +3 -3
- package/esm2015/tokens/selection-stream.js +3 -3
- package/esm2015/tokens/viewport.js +6 -6
- package/esm2015/utils/dom/get-screen-width.js +3 -3
- package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +3 -4
- package/esm2015/utils/mask/create-correction-mask.js +3 -2
- package/esm2015/utils/mask/create-number-mask.js +5 -6
- package/esm2015/utils/mobile/is-mobile.js +3 -3
- package/fesm2015/taiga-ui-core-components-alert.js +6 -6
- package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-button.js +4 -4
- package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-data-list.js +7 -7
- package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dialog.js +14 -11
- package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-expand.js +3 -3
- package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +5 -5
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-link.js +4 -4
- package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-loader.js +6 -6
- package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-notification.js +8 -2
- package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js +8 -8
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-root.js +6 -14
- package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-scroll-controls.js +14 -14
- package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-scrollbar.js +7 -7
- package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-svg.js +10 -13
- package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-dropdown.js +26 -30
- package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-hint.js +17 -19
- package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +4 -4
- package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-textfield-controller.js +2 -2
- package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
- package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +3 -3
- package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +4 -4
- package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-phone.js +2 -1
- package/fesm2015/taiga-ui-core-pipes-format-phone.js.map +1 -1
- package/fesm2015/taiga-ui-core-providers.js +2 -2
- package/fesm2015/taiga-ui-core-providers.js.map +1 -1
- package/fesm2015/taiga-ui-core-services.js +12 -11
- package/fesm2015/taiga-ui-core-services.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js +13 -9
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-dom.js +2 -2
- package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mask.js +8 -9
- package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mobile.js +2 -2
- package/fesm2015/taiga-ui-core-utils-mobile.js.map +1 -1
- package/interfaces/data-list-host.d.ts +2 -1
- package/interfaces/portal-item.d.ts +1 -1
- package/internal/svg-defs-host/svg-defs-host.component.d.ts +2 -2
- package/package.json +4 -4
- package/providers/watched-controller-provider-factory.d.ts +1 -1
- package/services/breakpoint.service.d.ts +1 -1
- package/services/night-theme.service.d.ts +1 -1
- package/services/visual-viewport.service.d.ts +2 -2
- package/tokens/assert-enabled.d.ts +4 -0
- package/utils/dom/get-screen-width.d.ts +1 -1
- package/utils/mobile/is-mobile.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-utils-dom.umd.js","sources":["../../../projects/core/utils/dom/check-fixed-position.ts","../../../projects/core/utils/dom/get-safe-area-size.ts","../../../projects/core/utils/dom/get-screen-width.ts","../../../projects/core/utils/dom/get-viewport-height.ts","../../../projects/core/utils/dom/get-viewport-width.ts","../../../projects/core/utils/dom/get-word-range.ts","../../../projects/core/utils/dom/process-icon.ts","../../../projects/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["export function tuiCheckFixedPosition(element: HTMLElement | null): boolean {\n if (!element || typeof getComputedStyle === `undefined`) {\n return false;\n }\n\n const style = getComputedStyle(element);\n\n return (\n style.getPropertyValue(`position`) === `fixed` ||\n tuiCheckFixedPosition(element.parentElement)\n );\n}\n","/**\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function tuiGetSafeAreaSize(): number {\n if (!CSS.supports(`padding-top: env(safe-area-inset-top)`)) {\n return 0;\n }\n\n const div = document.createElement(`div`);\n\n div.style.paddingTop = `env(safe-area-inset-top)`;\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","export function tuiGetScreenWidth(documentRef: Document): number {\n return Math.max(\n documentRef.documentElement.clientWidth,\n documentRef.defaultView ? documentRef.defaultView.innerWidth : 0,\n );\n}\n","/**\n * @description:\n * Cross-browser @media (height)\n *\n * 1. window.innerWidth\n * 1.1. gets CSS viewport @media (height) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientHeight\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (height) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportHeight({document, innerHeight}: Window): number {\n return Math.max(document.documentElement.clientHeight || 0, innerHeight || 0);\n}\n","/**\n * @description:\n * Cross-browser @media (width)\n *\n * 1. window.innerWidth\n * 1.1. gets CSS viewport @media (width) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientWidth\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (width) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportWidth({document, innerWidth}: Window): number {\n return Math.max(document.documentElement.clientWidth || 0, innerWidth || 0);\n}\n","import {CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_SPACE, svgNodeFilter} from '@taiga-ui/cdk';\n\n/**\n * Creates a cloned range with its boundaries set at word boundaries\n *\n * @param currentRange a range to clone\n * @return modified range\n */\n// eslint-disable-next-line max-statements\nexport function tuiGetWordRange(currentRange: Range): Range {\n const range = currentRange.cloneRange();\n const {startContainer, startOffset, endContainer, endOffset} = range;\n const {ownerDocument} = startContainer;\n\n if (!ownerDocument) {\n return range;\n }\n\n const treeWalker = ownerDocument.createTreeWalker(\n ownerDocument.body,\n NodeFilter.SHOW_TEXT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = startContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || ``;\n const content =\n container === startContainer\n ? textContent.slice(0, Math.max(0, startOffset + 1))\n : textContent;\n const offset =\n Math.max(\n content.lastIndexOf(` `),\n content.lastIndexOf(CHAR_NO_BREAK_SPACE),\n content.lastIndexOf(CHAR_ZERO_WIDTH_SPACE),\n ) + 1;\n\n range.setStart(container, 0);\n\n if (offset) {\n range.setStart(container, offset);\n break;\n }\n } while (treeWalker.previousNode());\n\n treeWalker.currentNode = endContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || ``;\n const content =\n container === endContainer ? textContent.slice(endOffset + 1) : textContent;\n const offset = [\n content.indexOf(` `),\n content.indexOf(CHAR_NO_BREAK_SPACE),\n content.indexOf(CHAR_ZERO_WIDTH_SPACE),\n ].reduce(\n (result, item) =>\n result === -1 || item === -1\n ? Math.max(result, item)\n : Math.min(result, item),\n -1,\n );\n\n range.setEnd(container, textContent.length);\n\n if (offset !== -1) {\n range.setEnd(container, offset + textContent.length - content.length);\n break;\n }\n } while (treeWalker.nextNode());\n\n return range;\n}\n","const WIDTH_SEARCH = `width=\"`;\nconst HEIGHT_SEARCH = `height=\"`;\nconst START = `<svg`;\n\nexport function tuiProcessIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.slice(Math.max(0, source.indexOf(START)));\n const attributes = src.slice(0, Math.max(0, src.indexOf(`>`)));\n\n if (!attributes?.includes(WIDTH_SEARCH) || !attributes.includes(HEIGHT_SEARCH)) {\n return `${src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n )}</g></svg>`;\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.slice(\n widthOffset,\n attributes.indexOf(`\"`, widthOffset),\n );\n const heightString = attributes.slice(\n heightOffset,\n attributes.indexOf(`\"`, heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes(`%`) ||\n heightString.includes(`%`) ||\n widthString.includes(`em`) ||\n heightString.includes(`em`)\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -height / 2\n }\">${src}</svg></svg></g>`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["svgNodeFilter","CHAR_NO_BREAK_SPACE","CHAR_ZERO_WIDTH_SPACE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-utils-dom.umd.js","sources":["../../../projects/core/utils/dom/check-fixed-position.ts","../../../projects/core/utils/dom/get-safe-area-size.ts","../../../projects/core/utils/dom/get-screen-width.ts","../../../projects/core/utils/dom/get-viewport-height.ts","../../../projects/core/utils/dom/get-viewport-width.ts","../../../projects/core/utils/dom/get-word-range.ts","../../../projects/core/utils/dom/process-icon.ts","../../../projects/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["export function tuiCheckFixedPosition(element: HTMLElement | null): boolean {\n if (!element || typeof getComputedStyle === `undefined`) {\n return false;\n }\n\n const style = getComputedStyle(element);\n\n return (\n style.getPropertyValue(`position`) === `fixed` ||\n tuiCheckFixedPosition(element.parentElement)\n );\n}\n","/**\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function tuiGetSafeAreaSize(): number {\n if (!CSS.supports(`padding-top: env(safe-area-inset-top)`)) {\n return 0;\n }\n\n const div = document.createElement(`div`);\n\n div.style.paddingTop = `env(safe-area-inset-top)`;\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","export function tuiGetScreenWidth(doc: Document): number {\n return Math.max(\n doc.documentElement.clientWidth,\n doc.defaultView ? doc.defaultView.innerWidth : 0,\n );\n}\n","/**\n * @description:\n * Cross-browser @media (height)\n *\n * 1. window.innerWidth\n * 1.1. gets CSS viewport @media (height) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientHeight\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (height) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportHeight({document, innerHeight}: Window): number {\n return Math.max(document.documentElement.clientHeight || 0, innerHeight || 0);\n}\n","/**\n * @description:\n * Cross-browser @media (width)\n *\n * 1. window.innerWidth\n * 1.1. gets CSS viewport @media (width) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientWidth\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (width) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportWidth({document, innerWidth}: Window): number {\n return Math.max(document.documentElement.clientWidth || 0, innerWidth || 0);\n}\n","import {CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_SPACE, svgNodeFilter} from '@taiga-ui/cdk';\n\n/**\n * Creates a cloned range with its boundaries set at word boundaries\n *\n * @param currentRange a range to clone\n * @return modified range\n */\n// eslint-disable-next-line max-statements\nexport function tuiGetWordRange(currentRange: Range): Range {\n const range = currentRange.cloneRange();\n const {startContainer, startOffset, endContainer, endOffset} = range;\n const {ownerDocument} = startContainer;\n\n if (!ownerDocument) {\n return range;\n }\n\n const treeWalker = ownerDocument.createTreeWalker(\n ownerDocument.body,\n NodeFilter.SHOW_TEXT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = startContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || ``;\n const content =\n container === startContainer\n ? textContent.slice(0, Math.max(0, startOffset + 1))\n : textContent;\n const offset =\n Math.max(\n content.lastIndexOf(` `),\n content.lastIndexOf(CHAR_NO_BREAK_SPACE),\n content.lastIndexOf(CHAR_ZERO_WIDTH_SPACE),\n ) + 1;\n\n range.setStart(container, 0);\n\n if (offset) {\n range.setStart(container, offset);\n break;\n }\n } while (treeWalker.previousNode());\n\n treeWalker.currentNode = endContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || ``;\n const content =\n container === endContainer ? textContent.slice(endOffset + 1) : textContent;\n const offset = [\n content.indexOf(` `),\n content.indexOf(CHAR_NO_BREAK_SPACE),\n content.indexOf(CHAR_ZERO_WIDTH_SPACE),\n ].reduce(\n (result, item) =>\n result === -1 || item === -1\n ? Math.max(result, item)\n : Math.min(result, item),\n -1,\n );\n\n range.setEnd(container, textContent.length);\n\n if (offset !== -1) {\n range.setEnd(container, offset + textContent.length - content.length);\n break;\n }\n } while (treeWalker.nextNode());\n\n return range;\n}\n","const WIDTH_SEARCH = `width=\"`;\nconst HEIGHT_SEARCH = `height=\"`;\nconst START = `<svg`;\n\nexport function tuiProcessIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.slice(Math.max(0, source.indexOf(START)));\n const attributes = src.slice(0, Math.max(0, src.indexOf(`>`)));\n\n if (!attributes?.includes(WIDTH_SEARCH) || !attributes.includes(HEIGHT_SEARCH)) {\n return `${src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n )}</g></svg>`;\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.slice(\n widthOffset,\n attributes.indexOf(`\"`, widthOffset),\n );\n const heightString = attributes.slice(\n heightOffset,\n attributes.indexOf(`\"`, heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes(`%`) ||\n heightString.includes(`%`) ||\n widthString.includes(`em`) ||\n heightString.includes(`em`)\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -height / 2\n }\">${src}</svg></svg></g>`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["svgNodeFilter","CHAR_NO_BREAK_SPACE","CHAR_ZERO_WIDTH_SPACE"],"mappings":"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"}
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
if (decimalSymbol === void 0) { decimalSymbol = ","; }
|
|
13
13
|
if (thousandSymbol === void 0) { thousandSymbol = cdk.CHAR_NO_BREAK_SPACE; }
|
|
14
14
|
if (isIOS === void 0) { isIOS = false; }
|
|
15
|
-
cdk.tuiAssert.assert(
|
|
16
|
-
cdk.tuiAssert.assert(decimalLimit >= 0);
|
|
15
|
+
ngDevMode && cdk.tuiAssert.assert(decimalLimit >= 0);
|
|
17
16
|
// Guess for which browser I need this :)
|
|
18
17
|
var previousCaret = -1;
|
|
19
18
|
var unlucky = (!!nativeInput && cdk.tuiIsSafari(nativeInput)) || isIOS;
|
|
@@ -44,7 +43,7 @@
|
|
|
44
43
|
nativeInput.setSelectionRange(realCaretPosition_1, realCaretPosition_1);
|
|
45
44
|
});
|
|
46
45
|
}
|
|
47
|
-
if (conformedValue === "" || !decimalLimit) {
|
|
46
|
+
if (conformedValue === "" || !decimalLimit || !Number.isInteger(decimalLimit)) {
|
|
48
47
|
return { value: conformedValue };
|
|
49
48
|
}
|
|
50
49
|
var withDecimalSymbol = addDecimalSymbolIfNeeded(conformedValue, decimalSymbol);
|
|
@@ -425,7 +424,8 @@
|
|
|
425
424
|
return function (rawValue) {
|
|
426
425
|
var mask = rawValue.split("").reduce(function (result, char, index) {
|
|
427
426
|
var corrected = correctionHandler(char, index);
|
|
428
|
-
|
|
427
|
+
ngDevMode &&
|
|
428
|
+
cdk.tuiAssert.assert(corrected === null || corrected.length === 1, ASSERTION);
|
|
429
429
|
if (!allowed.test(char) && !corrected) {
|
|
430
430
|
return result;
|
|
431
431
|
}
|
|
@@ -450,10 +450,9 @@
|
|
|
450
450
|
*/
|
|
451
451
|
function tuiCreateNumberMask(_a) {
|
|
452
452
|
var _b = _a === void 0 ? {} : _a, _c = _b.allowDecimal, allowDecimal = _c === void 0 ? false : _c, _d = _b.decimalSymbol, decimalSymbol = _d === void 0 ? "," : _d, _e = _b.thousandSymbol, thousandSymbol = _e === void 0 ? cdk.CHAR_NO_BREAK_SPACE : _e, _f = _b.autoCorrectDecimalSymbol, autoCorrectDecimalSymbol = _f === void 0 ? true : _f, _g = _b.decimalLimit, decimalLimit = _g === void 0 ? 2 : _g, _h = _b.requireDecimal, requireDecimal = _h === void 0 ? false : _h, _j = _b.allowNegative, allowNegative = _j === void 0 ? false : _j, _k = _b.integerLimit, integerLimit = _k === void 0 ? 0 : _k;
|
|
453
|
-
cdk.tuiAssert.assert(
|
|
454
|
-
cdk.tuiAssert.assert(
|
|
455
|
-
cdk.tuiAssert.assert(
|
|
456
|
-
cdk.tuiAssert.assert(integerLimit >= 0);
|
|
453
|
+
ngDevMode && cdk.tuiAssert.assert(decimalLimit >= 0);
|
|
454
|
+
ngDevMode && cdk.tuiAssert.assert(Number.isInteger(integerLimit));
|
|
455
|
+
ngDevMode && cdk.tuiAssert.assert(integerLimit >= 0);
|
|
457
456
|
// eslint-disable-next-line max-statements
|
|
458
457
|
return function (rawValue, _a) {
|
|
459
458
|
var previousConformedValue = _a.previousConformedValue;
|
|
@@ -505,7 +504,7 @@
|
|
|
505
504
|
mask.push(constants.MASK_CARET_TRAP);
|
|
506
505
|
}
|
|
507
506
|
mask.push.apply(mask, __spreadArray([decimalSymbol, constants.MASK_CARET_TRAP], __read(fractionCapped)));
|
|
508
|
-
for (var i = 0; i < decimalLimit - fractionCapped.length; i++) {
|
|
507
|
+
for (var i = 0; i < Math.min(decimalLimit - fractionCapped.length, 20); i++) {
|
|
509
508
|
mask.push(constants.TUI_DIGIT_REGEXP);
|
|
510
509
|
}
|
|
511
510
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-utils-mask.umd.js","sources":["../../../projects/core/utils/mask/create-auto-corrected-money-pipe.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/core/utils/mask/create-correction-mask.ts","../../../projects/core/utils/mask/create-number-mask.ts","../../../projects/core/utils/mask/enable-auto-correct-decimal-symbol.ts","../../../projects/core/utils/mask/masked-money-value-is-empty.ts","../../../projects/core/utils/mask/masked-number-string-to-number.ts","../../../projects/core/utils/mask/taiga-ui-core-utils-mask.ts"],"sourcesContent":["import {\n CHAR_HYPHEN,\n CHAR_NO_BREAK_SPACE,\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsNativeFocused,\n tuiIsSafari,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\n/**\n * Used to finish a number with zeros to a given precision\n */\nexport function tuiCreateAutoCorrectedNumberPipe(\n decimalLimit: number = 0,\n decimalSymbol: TuiDecimalSymbol = `,`,\n thousandSymbol: string = CHAR_NO_BREAK_SPACE,\n nativeInput?: HTMLInputElement | null,\n allowNegative?: boolean,\n isIOS = false,\n): TuiTextMaskPipeHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit >= 0);\n\n // Guess for which browser I need this :)\n let previousCaret = -1;\n const unlucky = (!!nativeInput && tuiIsSafari(nativeInput)) || isIOS;\n\n if (nativeInput && unlucky) {\n nativeInput.addEventListener(`beforeinput`, () => {\n previousCaret = nativeInput.selectionStart || 0;\n });\n }\n\n return (conformedValue, config) => {\n // Removing everything by selecting and pressing '-'\n if (!conformedValue && config.rawValue === CHAR_HYPHEN && allowNegative) {\n return CHAR_HYPHEN;\n }\n\n // remove these hacks after text mask library has changed\n if (nativeInput && unlucky && tuiIsNativeFocused(nativeInput)) {\n const caret = calculateSafariCaret(\n config.previousConformedValue,\n conformedValue,\n previousCaret,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(caret, caret);\n });\n }\n\n if (\n nativeInput &&\n nativeInput.ownerDocument !== tuiGetDocumentOrShadowRoot(nativeInput) &&\n tuiIsNativeFocused(nativeInput) &&\n config.currentCaretPosition\n ) {\n const realCaretPosition =\n config.currentCaretPosition +\n calculateCaretGap(\n config.previousConformedValue,\n conformedValue,\n thousandSymbol,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(realCaretPosition, realCaretPosition);\n });\n }\n\n if (conformedValue === `` || !decimalLimit) {\n return {value: conformedValue};\n }\n\n const withDecimalSymbol = addDecimalSymbolIfNeeded(conformedValue, decimalSymbol);\n const decimalPart = withDecimalSymbol.split(decimalSymbol)[1];\n const zeroPaddingSize = decimalLimit - decimalPart.length;\n\n return {\n value: withDecimalSymbol + `0`.repeat(zeroPaddingSize),\n };\n };\n}\n\nfunction addDecimalSymbolIfNeeded(\n value: string,\n decimalSymbol: TuiDecimalSymbol = `,`,\n): string {\n return !value.includes(decimalSymbol) ? value + decimalSymbol : value;\n}\n\nfunction calculateSafariCaret(\n previousValue: string = ``,\n current: string,\n previousCaret: number,\n decimalSymbol: string = `,`,\n): number {\n const tailRegex = new RegExp(`${decimalSymbol}.+`);\n const previousWithoutTail = previousValue.replace(tailRegex, ``);\n const currentWithoutTail = current.replace(tailRegex, ``);\n\n const pasteOrCutOperation =\n Math.abs(previousWithoutTail.length - currentWithoutTail.length) > 2;\n\n if (pasteOrCutOperation) {\n return current.length;\n }\n\n if (previousValue.length === current.length) {\n if (previousValue.indexOf(decimalSymbol) <= previousCaret) {\n return calculateChangedTailIndex(previousValue, current);\n }\n\n return previousWithoutTail === currentWithoutTail\n ? previousCaret - 1\n : previousCaret + 1;\n }\n\n if (previousValue.length === 0) {\n return 1;\n }\n\n const changeLength = current.length - previousValue.length;\n\n return previousCaret + changeLength;\n}\n\nfunction calculateChangedTailIndex(previous: string, current: string): number {\n for (let i = 0; i < current.length; i++) {\n if (previous[i] !== current[i]) {\n return current[i] === `0` ? i : i + 1;\n }\n }\n\n return current.length;\n}\n\nfunction calculateCaretGap(\n previousValue: string = ``,\n current: string,\n thousandSymbol: string,\n): number {\n const pasteOrCutOperation = Math.abs(previousValue.length - current.length) > 2;\n\n if (pasteOrCutOperation) {\n return 0;\n }\n\n const wereSpaces = previousValue.split(thousandSymbol).length;\n const nowSpaces = current.split(thousandSymbol).length;\n\n return nowSpaces - wereSpaces;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {tuiAssert} from '@taiga-ui/cdk';\nimport {MASK_CARET_TRAP} from '@taiga-ui/core/constants';\nimport {\n TuiTextMaskCorrectionHandler,\n TuiTextMaskList,\n TuiTextMaskListHandler,\n} from '@taiga-ui/core/mask';\n\nconst ASSERTION = `Correction function must return single char or null`;\n\nexport function tuiCreateCorrectionMask(\n allowed: RegExp,\n correctionHandler: TuiTextMaskCorrectionHandler,\n): TuiTextMaskListHandler {\n return rawValue => {\n const mask = rawValue.split(``).reduce<TuiTextMaskList>((result, char, index) => {\n const corrected = correctionHandler(char, index);\n\n tuiAssert.assert(corrected === null || corrected.length === 1, ASSERTION);\n\n if (!allowed.test(char) && !corrected) {\n return result;\n }\n\n if (allowed.test(char)) {\n return [...result, allowed];\n }\n\n if (corrected) {\n return [...result, corrected, MASK_CARET_TRAP];\n }\n\n return result;\n }, []);\n const lastIndex = mask.lastIndexOf(MASK_CARET_TRAP);\n const filtered = mask.filter(\n (item, index) => item !== MASK_CARET_TRAP || index === lastIndex,\n );\n\n return filtered.some(item => item !== allowed)\n ? [...filtered, allowed]\n : filtered;\n };\n}\n","import {CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, tuiAssert} from '@taiga-ui/cdk';\nimport {\n MASK_CARET_TRAP,\n TUI_DIGIT_REGEXP,\n TUI_LEADING_ZEROES_REGEXP,\n TUI_NON_DIGITS_REGEXP,\n} from '@taiga-ui/core/constants';\nimport {TuiNumberMaskOptions, TuiTextMaskListHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\nimport {tuiOtherDecimalSymbol} from '@taiga-ui/core/utils/format';\n\nconst NON_ZERO_DIGIT = /[1-9]/;\n\n/**\n * Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}\n */\nexport function tuiCreateNumberMask({\n allowDecimal = false,\n decimalSymbol = `,`,\n thousandSymbol = CHAR_NO_BREAK_SPACE,\n autoCorrectDecimalSymbol = true,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n integerLimit = 0,\n}: TuiNumberMaskOptions = {}): TuiTextMaskListHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit >= 0);\n tuiAssert.assert(Number.isInteger(integerLimit));\n tuiAssert.assert(integerLimit >= 0);\n\n // eslint-disable-next-line max-statements\n return (rawValue, {previousConformedValue}) => {\n if (previousConformedValue && requireDecimal) {\n const conformedWithoutSeparator = rawValue.split(thousandSymbol).join(``);\n const previousConformedValueWithoutDecimalSymbolAndSeparator =\n previousConformedValue\n .split(thousandSymbol)\n .join(``)\n .split(decimalSymbol)\n .join(``);\n\n // Forbid removal of decimal separator if decimal part is required\n if (\n conformedWithoutSeparator ===\n previousConformedValueWithoutDecimalSymbolAndSeparator\n ) {\n rawValue = previousConformedValue;\n }\n }\n\n const isNegative =\n (rawValue?.startsWith(CHAR_HYPHEN) || rawValue?.startsWith(CHAR_EN_DASH)) &&\n allowNegative;\n\n if (\n isDecimalSymbol(rawValue, decimalSymbol, autoCorrectDecimalSymbol) &&\n allowDecimal\n ) {\n return [`0`, decimalSymbol, TUI_DIGIT_REGEXP];\n }\n\n if (isNegative) {\n rawValue = rawValue.slice(1);\n }\n\n const decimalIndex = getDecimalSymbolIndex(\n rawValue,\n decimalSymbol,\n autoCorrectDecimalSymbol,\n );\n const hasDecimal = decimalIndex !== -1;\n const integer = hasDecimal ? rawValue.slice(0, decimalIndex) : rawValue;\n const thousandSeparators = integer.match(new RegExp(thousandSymbol, `g`)) || [];\n const integerCapped = integerLimit\n ? integer.slice(0, integerLimit + thousandSeparators.length)\n : integer;\n const integerCappedClean = integerCapped.replace(TUI_NON_DIGITS_REGEXP, ``);\n const [leadingZerosMatch] = integerCappedClean.match(\n TUI_LEADING_ZEROES_REGEXP,\n ) || [``];\n const leadingZerosAmount = leadingZerosMatch.length;\n const integerCappedZerosClean = integerCappedClean\n .replace(/^0+(?!\\.|$)/, ``)\n .trim();\n const withSeparator = addThousandsSeparator(\n integerCappedZerosClean,\n thousandSymbol,\n );\n const mask = convertToMask(withSeparator);\n\n if ((hasDecimal && allowDecimal) || requireDecimal) {\n const fraction = hasDecimal\n ? convertToMask(\n rawValue.slice(decimalIndex + 1).replace(TUI_NON_DIGITS_REGEXP, ``),\n )\n : [];\n const fractionCapped = decimalLimit\n ? fraction.slice(0, decimalLimit)\n : fraction;\n\n if (rawValue[decimalIndex] !== tuiOtherDecimalSymbol(decimalSymbol)) {\n mask.push(MASK_CARET_TRAP);\n }\n\n mask.push(decimalSymbol, MASK_CARET_TRAP, ...fractionCapped);\n\n for (let i = 0; i < decimalLimit - fractionCapped.length; i++) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n }\n\n const isOnlyZeroDigit = mask.length === 1 && integerCappedZerosClean === `0`;\n\n if (isNegative) {\n if (mask.length === 0) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n\n mask.unshift(CHAR_HYPHEN);\n }\n\n return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);\n };\n}\n\nfunction preventLeadingZeroes(\n mask: Array<RegExp | string>,\n isOnlyZeroDigit: boolean = false,\n leadingZerosAmount: number = 0,\n): Array<RegExp | string> {\n if (isOnlyZeroDigit || leadingZerosAmount === 0) {\n return mask;\n }\n\n const firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);\n\n if (firstDigitIndex === -1) {\n return mask;\n }\n\n const secondMaskDigit = mask[firstDigitIndex + 1];\n const isCaretTrap = secondMaskDigit === MASK_CARET_TRAP;\n\n if (isCaretTrap && leadingZerosAmount === 1) {\n return mask;\n }\n\n if (isCaretTrap) {\n mask.unshift(NON_ZERO_DIGIT);\n\n return mask;\n }\n\n mask[firstDigitIndex] = NON_ZERO_DIGIT;\n\n return mask;\n}\n\nfunction getDecimalSymbolIndex(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): number {\n if (!autoCorrectDecimalSymbol) {\n return str.lastIndexOf(decimalSymbol);\n }\n\n return Math.max(\n str.lastIndexOf(decimalSymbol),\n str.lastIndexOf(tuiOtherDecimalSymbol(decimalSymbol)),\n );\n}\n\nfunction isDecimalSymbol(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): boolean {\n if (autoCorrectDecimalSymbol) {\n return /^[,.]$/.test(str);\n }\n\n return str === decimalSymbol;\n}\n\nfunction convertToMask(strNumber: string): Array<RegExp | string> {\n return strNumber\n .split(``)\n .map(char => (TUI_DIGIT_REGEXP.test(char) ? TUI_DIGIT_REGEXP : char));\n}\n\nfunction addThousandsSeparator(strNumber: string, thousandSymbol: string): string {\n return strNumber.length > 3\n ? // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.\n // eslint-disable-next-line unicorn/no-unsafe-regex\n strNumber.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSymbol)\n : strNumber;\n}\n","import {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: TuiNumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\n}\n","import {CHAR_HYPHEN} from '@taiga-ui/cdk';\n\nexport function tuiMaskedMoneyValueIsEmpty(value: string): boolean {\n switch (value) {\n case ``:\n case CHAR_HYPHEN:\n case `,`:\n case `${CHAR_HYPHEN},`:\n return true;\n default:\n return false;\n }\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function tuiMaskedNumberStringToNumber(\n value: string,\n decimalsSymbol: TuiDecimalSymbol,\n thousandSymbol: string,\n): number {\n return parseFloat(\n value.split(thousandSymbol).join(``).split(decimalsSymbol).join(`.`),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CHAR_NO_BREAK_SPACE","tuiAssert","tuiIsSafari","CHAR_HYPHEN","tuiIsNativeFocused","tuiGetDocumentOrShadowRoot","MASK_CARET_TRAP","CHAR_EN_DASH","TUI_DIGIT_REGEXP","TUI_NON_DIGITS_REGEXP","TUI_LEADING_ZEROES_REGEXP","tuiOtherDecimalSymbol","TUI_DECIMAL_SYMBOLS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-utils-mask.umd.js","sources":["../../../projects/core/utils/mask/create-auto-corrected-money-pipe.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/core/utils/mask/create-correction-mask.ts","../../../projects/core/utils/mask/create-number-mask.ts","../../../projects/core/utils/mask/enable-auto-correct-decimal-symbol.ts","../../../projects/core/utils/mask/masked-money-value-is-empty.ts","../../../projects/core/utils/mask/masked-number-string-to-number.ts","../../../projects/core/utils/mask/taiga-ui-core-utils-mask.ts"],"sourcesContent":["import {\n CHAR_HYPHEN,\n CHAR_NO_BREAK_SPACE,\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsNativeFocused,\n tuiIsSafari,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\n/**\n * Used to finish a number with zeros to a given precision\n */\nexport function tuiCreateAutoCorrectedNumberPipe(\n decimalLimit: number = 0,\n decimalSymbol: TuiDecimalSymbol = `,`,\n thousandSymbol: string = CHAR_NO_BREAK_SPACE,\n nativeInput?: HTMLInputElement | null,\n allowNegative?: boolean,\n isIOS = false,\n): TuiTextMaskPipeHandler {\n ngDevMode && tuiAssert.assert(decimalLimit >= 0);\n\n // Guess for which browser I need this :)\n let previousCaret = -1;\n const unlucky = (!!nativeInput && tuiIsSafari(nativeInput)) || isIOS;\n\n if (nativeInput && unlucky) {\n nativeInput.addEventListener(`beforeinput`, () => {\n previousCaret = nativeInput.selectionStart || 0;\n });\n }\n\n return (conformedValue, config) => {\n // Removing everything by selecting and pressing '-'\n if (!conformedValue && config.rawValue === CHAR_HYPHEN && allowNegative) {\n return CHAR_HYPHEN;\n }\n\n // remove these hacks after text mask library has changed\n if (nativeInput && unlucky && tuiIsNativeFocused(nativeInput)) {\n const caret = calculateSafariCaret(\n config.previousConformedValue,\n conformedValue,\n previousCaret,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(caret, caret);\n });\n }\n\n if (\n nativeInput &&\n nativeInput.ownerDocument !== tuiGetDocumentOrShadowRoot(nativeInput) &&\n tuiIsNativeFocused(nativeInput) &&\n config.currentCaretPosition\n ) {\n const realCaretPosition =\n config.currentCaretPosition +\n calculateCaretGap(\n config.previousConformedValue,\n conformedValue,\n thousandSymbol,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(realCaretPosition, realCaretPosition);\n });\n }\n\n if (conformedValue === `` || !decimalLimit || !Number.isInteger(decimalLimit)) {\n return {value: conformedValue};\n }\n\n const withDecimalSymbol = addDecimalSymbolIfNeeded(conformedValue, decimalSymbol);\n const decimalPart = withDecimalSymbol.split(decimalSymbol)[1];\n const zeroPaddingSize = decimalLimit - decimalPart.length;\n\n return {\n value: withDecimalSymbol + `0`.repeat(zeroPaddingSize),\n };\n };\n}\n\nfunction addDecimalSymbolIfNeeded(\n value: string,\n decimalSymbol: TuiDecimalSymbol = `,`,\n): string {\n return !value.includes(decimalSymbol) ? value + decimalSymbol : value;\n}\n\nfunction calculateSafariCaret(\n previousValue: string = ``,\n current: string,\n previousCaret: number,\n decimalSymbol: string = `,`,\n): number {\n const tailRegex = new RegExp(`${decimalSymbol}.+`);\n const previousWithoutTail = previousValue.replace(tailRegex, ``);\n const currentWithoutTail = current.replace(tailRegex, ``);\n\n const pasteOrCutOperation =\n Math.abs(previousWithoutTail.length - currentWithoutTail.length) > 2;\n\n if (pasteOrCutOperation) {\n return current.length;\n }\n\n if (previousValue.length === current.length) {\n if (previousValue.indexOf(decimalSymbol) <= previousCaret) {\n return calculateChangedTailIndex(previousValue, current);\n }\n\n return previousWithoutTail === currentWithoutTail\n ? previousCaret - 1\n : previousCaret + 1;\n }\n\n if (previousValue.length === 0) {\n return 1;\n }\n\n const changeLength = current.length - previousValue.length;\n\n return previousCaret + changeLength;\n}\n\nfunction calculateChangedTailIndex(previous: string, current: string): number {\n for (let i = 0; i < current.length; i++) {\n if (previous[i] !== current[i]) {\n return current[i] === `0` ? i : i + 1;\n }\n }\n\n return current.length;\n}\n\nfunction calculateCaretGap(\n previousValue: string = ``,\n current: string,\n thousandSymbol: string,\n): number {\n const pasteOrCutOperation = Math.abs(previousValue.length - current.length) > 2;\n\n if (pasteOrCutOperation) {\n return 0;\n }\n\n const wereSpaces = previousValue.split(thousandSymbol).length;\n const nowSpaces = current.split(thousandSymbol).length;\n\n return nowSpaces - wereSpaces;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {tuiAssert} from '@taiga-ui/cdk';\nimport {MASK_CARET_TRAP} from '@taiga-ui/core/constants';\nimport {\n TuiTextMaskCorrectionHandler,\n TuiTextMaskList,\n TuiTextMaskListHandler,\n} from '@taiga-ui/core/mask';\n\nconst ASSERTION = `Correction function must return single char or null`;\n\nexport function tuiCreateCorrectionMask(\n allowed: RegExp,\n correctionHandler: TuiTextMaskCorrectionHandler,\n): TuiTextMaskListHandler {\n return rawValue => {\n const mask = rawValue.split(``).reduce<TuiTextMaskList>((result, char, index) => {\n const corrected = correctionHandler(char, index);\n\n ngDevMode &&\n tuiAssert.assert(corrected === null || corrected.length === 1, ASSERTION);\n\n if (!allowed.test(char) && !corrected) {\n return result;\n }\n\n if (allowed.test(char)) {\n return [...result, allowed];\n }\n\n if (corrected) {\n return [...result, corrected, MASK_CARET_TRAP];\n }\n\n return result;\n }, []);\n const lastIndex = mask.lastIndexOf(MASK_CARET_TRAP);\n const filtered = mask.filter(\n (item, index) => item !== MASK_CARET_TRAP || index === lastIndex,\n );\n\n return filtered.some(item => item !== allowed)\n ? [...filtered, allowed]\n : filtered;\n };\n}\n","import {CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, tuiAssert} from '@taiga-ui/cdk';\nimport {\n MASK_CARET_TRAP,\n TUI_DIGIT_REGEXP,\n TUI_LEADING_ZEROES_REGEXP,\n TUI_NON_DIGITS_REGEXP,\n} from '@taiga-ui/core/constants';\nimport {TuiNumberMaskOptions, TuiTextMaskListHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\nimport {tuiOtherDecimalSymbol} from '@taiga-ui/core/utils/format';\n\nconst NON_ZERO_DIGIT = /[1-9]/;\n\n/**\n * Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}\n */\nexport function tuiCreateNumberMask({\n allowDecimal = false,\n decimalSymbol = `,`,\n thousandSymbol = CHAR_NO_BREAK_SPACE,\n autoCorrectDecimalSymbol = true,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n integerLimit = 0,\n}: TuiNumberMaskOptions = {}): TuiTextMaskListHandler {\n ngDevMode && tuiAssert.assert(decimalLimit >= 0);\n ngDevMode && tuiAssert.assert(Number.isInteger(integerLimit));\n ngDevMode && tuiAssert.assert(integerLimit >= 0);\n\n // eslint-disable-next-line max-statements\n return (rawValue, {previousConformedValue}) => {\n if (previousConformedValue && requireDecimal) {\n const conformedWithoutSeparator = rawValue.split(thousandSymbol).join(``);\n const previousConformedValueWithoutDecimalSymbolAndSeparator =\n previousConformedValue\n .split(thousandSymbol)\n .join(``)\n .split(decimalSymbol)\n .join(``);\n\n // Forbid removal of decimal separator if decimal part is required\n if (\n conformedWithoutSeparator ===\n previousConformedValueWithoutDecimalSymbolAndSeparator\n ) {\n rawValue = previousConformedValue;\n }\n }\n\n const isNegative =\n (rawValue?.startsWith(CHAR_HYPHEN) || rawValue?.startsWith(CHAR_EN_DASH)) &&\n allowNegative;\n\n if (\n isDecimalSymbol(rawValue, decimalSymbol, autoCorrectDecimalSymbol) &&\n allowDecimal\n ) {\n return [`0`, decimalSymbol, TUI_DIGIT_REGEXP];\n }\n\n if (isNegative) {\n rawValue = rawValue.slice(1);\n }\n\n const decimalIndex = getDecimalSymbolIndex(\n rawValue,\n decimalSymbol,\n autoCorrectDecimalSymbol,\n );\n const hasDecimal = decimalIndex !== -1;\n const integer = hasDecimal ? rawValue.slice(0, decimalIndex) : rawValue;\n const thousandSeparators = integer.match(new RegExp(thousandSymbol, `g`)) || [];\n const integerCapped = integerLimit\n ? integer.slice(0, integerLimit + thousandSeparators.length)\n : integer;\n const integerCappedClean = integerCapped.replace(TUI_NON_DIGITS_REGEXP, ``);\n const [leadingZerosMatch] = integerCappedClean.match(\n TUI_LEADING_ZEROES_REGEXP,\n ) || [``];\n const leadingZerosAmount = leadingZerosMatch.length;\n const integerCappedZerosClean = integerCappedClean\n .replace(/^0+(?!\\.|$)/, ``)\n .trim();\n const withSeparator = addThousandsSeparator(\n integerCappedZerosClean,\n thousandSymbol,\n );\n const mask = convertToMask(withSeparator);\n\n if ((hasDecimal && allowDecimal) || requireDecimal) {\n const fraction = hasDecimal\n ? convertToMask(\n rawValue.slice(decimalIndex + 1).replace(TUI_NON_DIGITS_REGEXP, ``),\n )\n : [];\n const fractionCapped = decimalLimit\n ? fraction.slice(0, decimalLimit)\n : fraction;\n\n if (rawValue[decimalIndex] !== tuiOtherDecimalSymbol(decimalSymbol)) {\n mask.push(MASK_CARET_TRAP);\n }\n\n mask.push(decimalSymbol, MASK_CARET_TRAP, ...fractionCapped);\n\n for (let i = 0; i < Math.min(decimalLimit - fractionCapped.length, 20); i++) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n }\n\n const isOnlyZeroDigit = mask.length === 1 && integerCappedZerosClean === `0`;\n\n if (isNegative) {\n if (mask.length === 0) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n\n mask.unshift(CHAR_HYPHEN);\n }\n\n return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);\n };\n}\n\nfunction preventLeadingZeroes(\n mask: Array<RegExp | string>,\n isOnlyZeroDigit: boolean = false,\n leadingZerosAmount: number = 0,\n): Array<RegExp | string> {\n if (isOnlyZeroDigit || leadingZerosAmount === 0) {\n return mask;\n }\n\n const firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);\n\n if (firstDigitIndex === -1) {\n return mask;\n }\n\n const secondMaskDigit = mask[firstDigitIndex + 1];\n const isCaretTrap = secondMaskDigit === MASK_CARET_TRAP;\n\n if (isCaretTrap && leadingZerosAmount === 1) {\n return mask;\n }\n\n if (isCaretTrap) {\n mask.unshift(NON_ZERO_DIGIT);\n\n return mask;\n }\n\n mask[firstDigitIndex] = NON_ZERO_DIGIT;\n\n return mask;\n}\n\nfunction getDecimalSymbolIndex(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): number {\n if (!autoCorrectDecimalSymbol) {\n return str.lastIndexOf(decimalSymbol);\n }\n\n return Math.max(\n str.lastIndexOf(decimalSymbol),\n str.lastIndexOf(tuiOtherDecimalSymbol(decimalSymbol)),\n );\n}\n\nfunction isDecimalSymbol(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): boolean {\n if (autoCorrectDecimalSymbol) {\n return /^[,.]$/.test(str);\n }\n\n return str === decimalSymbol;\n}\n\nfunction convertToMask(strNumber: string): Array<RegExp | string> {\n return strNumber\n .split(``)\n .map(char => (TUI_DIGIT_REGEXP.test(char) ? TUI_DIGIT_REGEXP : char));\n}\n\nfunction addThousandsSeparator(strNumber: string, thousandSymbol: string): string {\n return strNumber.length > 3\n ? // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.\n // eslint-disable-next-line unicorn/no-unsafe-regex\n strNumber.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSymbol)\n : strNumber;\n}\n","import {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: TuiNumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\n}\n","import {CHAR_HYPHEN} from '@taiga-ui/cdk';\n\nexport function tuiMaskedMoneyValueIsEmpty(value: string): boolean {\n switch (value) {\n case ``:\n case CHAR_HYPHEN:\n case `,`:\n case `${CHAR_HYPHEN},`:\n return true;\n default:\n return false;\n }\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function tuiMaskedNumberStringToNumber(\n value: string,\n decimalsSymbol: TuiDecimalSymbol,\n thousandSymbol: string,\n): number {\n return parseFloat(\n value.split(thousandSymbol).join(``).split(decimalsSymbol).join(`.`),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CHAR_NO_BREAK_SPACE","tuiAssert","tuiIsSafari","CHAR_HYPHEN","tuiIsNativeFocused","tuiGetDocumentOrShadowRoot","MASK_CARET_TRAP","CHAR_EN_DASH","TUI_DIGIT_REGEXP","TUI_NON_DIGITS_REGEXP","TUI_LEADING_ZEROES_REGEXP","tuiOtherDecimalSymbol","TUI_DECIMAL_SYMBOLS"],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].core = global["taiga-ui"].core || {}, global["taiga-ui"].core.utils = global["taiga-ui"].core.utils || {}, global["taiga-ui"].core.utils.mobile = {}), global["taiga-ui"].core.utils.dom));
|
|
5
5
|
})(this, (function (exports, dom) { 'use strict';
|
|
6
6
|
|
|
7
|
-
function tuiIsMobile(
|
|
7
|
+
function tuiIsMobile(win, _a) {
|
|
8
8
|
var mobile = _a.mobile;
|
|
9
|
-
return dom.tuiGetViewportWidth(
|
|
9
|
+
return dom.tuiGetViewportWidth(win) < mobile;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-utils-mobile.umd.js","sources":["../../../projects/core/utils/mobile/is-mobile.ts","../../../projects/core/utils/mobile/taiga-ui-core-utils-mobile.ts"],"sourcesContent":["import {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {tuiGetViewportWidth} from '@taiga-ui/core/utils/dom';\n\nexport function tuiIsMobile(
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-utils-mobile.umd.js","sources":["../../../projects/core/utils/mobile/is-mobile.ts","../../../projects/core/utils/mobile/taiga-ui-core-utils-mobile.ts"],"sourcesContent":["import {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {tuiGetViewportWidth} from '@taiga-ui/core/utils/dom';\n\nexport function tuiIsMobile(win: Window, {mobile}: TuiMedia): boolean {\n return tuiGetViewportWidth(win) < mobile;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiGetViewportWidth"],"mappings":";;;;;;IAGgB,SAAA,WAAW,CAAC,GAAW,EAAE,EAAkB,EAAA;IAAjB,IAAA,IAAA,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;IAC5C,IAAA,OAAOA,uBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IAC7C;;ICLA;;IAEG;;;;;;;;;;"}
|
|
@@ -5,7 +5,7 @@ import { TuiAlertOptions } from '@taiga-ui/core/interfaces';
|
|
|
5
5
|
import { TuiNotificationDefaultOptions } from '@taiga-ui/core/tokens';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class TuiAlertComponent<O, I> implements OnInit {
|
|
8
|
-
private readonly
|
|
8
|
+
private readonly el;
|
|
9
9
|
private readonly destroy$;
|
|
10
10
|
private readonly options;
|
|
11
11
|
private readonly animationOptions;
|
|
@@ -18,7 +18,7 @@ export declare class TuiAlertComponent<O, I> implements OnInit {
|
|
|
18
18
|
} | undefined;
|
|
19
19
|
readonly value: "";
|
|
20
20
|
};
|
|
21
|
-
constructor(
|
|
21
|
+
constructor(el: ElementRef<HTMLElement>, destroy$: TuiDestroyService, options: TuiNotificationDefaultOptions, animationOptions: AnimationOptions, item: TuiDialog<TuiAlertOptions<I>, O>);
|
|
22
22
|
ngOnInit(): void;
|
|
23
23
|
closeNotification(): void;
|
|
24
24
|
private initAutoClose;
|
|
@@ -5,7 +5,7 @@ import { TuiAlertComponent } from './alert.component';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class TuiAlertService extends AbstractTuiDialogService<TuiAlertOptions<any>> {
|
|
7
7
|
protected readonly defaultOptions: TuiAlertOptions<any>;
|
|
8
|
-
protected readonly component: PolymorpheusComponent<TuiAlertComponent<unknown, unknown>,
|
|
8
|
+
protected readonly component: PolymorpheusComponent<TuiAlertComponent<unknown, unknown>, any>;
|
|
9
9
|
constructor(defaultOptions: TuiAlertOptions<any>, idService: TuiIdService);
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiAlertService, never>;
|
|
11
11
|
static ɵprov: i0.ɵɵInjectableDeclaration<TuiAlertService>;
|
|
@@ -8,7 +8,7 @@ import { TuiButtonOptions } from './button-options';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export declare class TuiButtonComponent extends AbstractTuiInteractive implements TuiFocusableElementAccessor, TuiButtonOptions {
|
|
10
10
|
private readonly mode;
|
|
11
|
-
private readonly
|
|
11
|
+
private readonly el;
|
|
12
12
|
private readonly options;
|
|
13
13
|
private readonly mode$;
|
|
14
14
|
appearance: TuiButtonOptions['appearance'];
|
|
@@ -19,7 +19,7 @@ export declare class TuiButtonComponent extends AbstractTuiInteractive implement
|
|
|
19
19
|
showLoader: boolean;
|
|
20
20
|
size: "m" | "l" | "xl" | "s" | "xs";
|
|
21
21
|
readonly appearance$: Observable<string>;
|
|
22
|
-
constructor(mode: TuiModeDirective | null,
|
|
22
|
+
constructor(mode: TuiModeDirective | null, el: ElementRef<HTMLElement>, focusVisible$: TuiFocusVisibleService, options: TuiButtonOptions);
|
|
23
23
|
get nativeFocusableElement(): HTMLElement | null;
|
|
24
24
|
get focused(): boolean;
|
|
25
25
|
get loaderSize(): TuiSizeS;
|
|
@@ -7,14 +7,14 @@ import { Observable } from 'rxjs';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class TuiDataListComponent<T> implements TuiDataListAccessor<T> {
|
|
9
9
|
private readonly controller;
|
|
10
|
-
private readonly
|
|
10
|
+
private readonly el;
|
|
11
11
|
readonly defaultEmptyContent$: Observable<string>;
|
|
12
12
|
private readonly options;
|
|
13
13
|
private origin?;
|
|
14
14
|
role: TuiDataListRole;
|
|
15
15
|
emptyContent: PolymorpheusContent;
|
|
16
16
|
size: "m" | "l" | "s";
|
|
17
|
-
constructor(controller: TuiTextfieldController | null,
|
|
17
|
+
constructor(controller: TuiTextfieldController | null, el: ElementRef<HTMLElement>, defaultEmptyContent$: Observable<string>);
|
|
18
18
|
get empty$(): Observable<boolean>;
|
|
19
19
|
onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void;
|
|
20
20
|
noop(): void;
|
|
@@ -9,7 +9,7 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
export declare class TuiOptionComponent<T = unknown> implements OnDestroy {
|
|
10
10
|
readonly content: PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>> | null;
|
|
11
11
|
private readonly dataList;
|
|
12
|
-
private readonly
|
|
12
|
+
private readonly el;
|
|
13
13
|
private readonly host;
|
|
14
14
|
readonly dropdown: TuiDropdownDirective | null;
|
|
15
15
|
/** @deprecated use size on {@link TuiDataListComponent} instead */
|
|
@@ -17,7 +17,7 @@ export declare class TuiOptionComponent<T = unknown> implements OnDestroy {
|
|
|
17
17
|
role: TuiOptionRole;
|
|
18
18
|
disabled: boolean;
|
|
19
19
|
value?: T;
|
|
20
|
-
constructor(content: PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>> | null, dataList: TuiDataListComponent<T>,
|
|
20
|
+
constructor(content: PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>> | null, dataList: TuiDataListComponent<T>, el: ElementRef<HTMLElement>, host: TuiDataListHost<T> | null, dropdown: TuiDropdownDirective | null);
|
|
21
21
|
get active(): boolean;
|
|
22
22
|
onClick(): void;
|
|
23
23
|
onMouseMove({ currentTarget }: TuiEventWith<MouseEvent, HTMLElement>): void;
|
|
@@ -2,13 +2,13 @@ import { ElementRef } from '@angular/core';
|
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class TuiDialogCloseService extends Observable<unknown> {
|
|
5
|
-
private readonly
|
|
6
|
-
private readonly
|
|
7
|
-
private readonly
|
|
5
|
+
private readonly win;
|
|
6
|
+
private readonly doc;
|
|
7
|
+
private readonly el;
|
|
8
8
|
private readonly click$;
|
|
9
9
|
private readonly esc$;
|
|
10
10
|
private readonly mousedown$;
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(win: Window, doc: Document, el: ElementRef<HTMLElement>);
|
|
12
12
|
private get element();
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialogCloseService, never>;
|
|
14
14
|
static ɵprov: i0.ɵɵInjectableDeclaration<TuiDialogCloseService>;
|
|
@@ -16,6 +16,7 @@ export declare class TuiDialogComponent<O, I> {
|
|
|
16
16
|
get size(): TuiDialogSize;
|
|
17
17
|
get header(): PolymorpheusContent<TuiDialog<TuiDialogOptions<I>, O>>;
|
|
18
18
|
get slideInTop(): TuiAnimationOptions;
|
|
19
|
+
get fullscreen(): boolean;
|
|
19
20
|
private close;
|
|
20
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialogComponent<any, any>, [null, null, null, { self: true; }, null, null, null]>;
|
|
21
22
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiDialogComponent<any, any>, "tui-dialog", never, {}, {}, never, never>;
|
|
@@ -4,7 +4,7 @@ import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
|
|
|
4
4
|
import { TuiDialogComponent } from './dialog.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {
|
|
7
|
-
protected readonly component: PolymorpheusComponent<TuiDialogComponent<unknown, unknown>,
|
|
7
|
+
protected readonly component: PolymorpheusComponent<TuiDialogComponent<unknown, unknown>, any>;
|
|
8
8
|
protected readonly defaultOptions: TuiDialogOptions<any>;
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialogService, never>;
|
|
10
10
|
static ɵprov: i0.ɵɵInjectableDeclaration<TuiDialogService>;
|
|
@@ -2,14 +2,14 @@ import { NgIfContext } from '@angular/common';
|
|
|
2
2
|
import { ChangeDetectorRef, TemplateRef } from '@angular/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class TuiExpandComponent {
|
|
5
|
-
private readonly
|
|
5
|
+
private readonly cdr;
|
|
6
6
|
private readonly contentWrapper?;
|
|
7
7
|
private state;
|
|
8
8
|
async: boolean;
|
|
9
9
|
set expandedSetter(expanded: boolean | null);
|
|
10
10
|
content: TemplateRef<NgIfContext<boolean>> | null;
|
|
11
11
|
expanded: boolean | null;
|
|
12
|
-
constructor(
|
|
12
|
+
constructor(cdr: ChangeDetectorRef);
|
|
13
13
|
get overflow(): boolean;
|
|
14
14
|
get loading(): boolean;
|
|
15
15
|
get height(): number | null;
|
|
@@ -9,7 +9,7 @@ export interface TuiHostedDropdownContext extends TuiContextWithImplicit<TuiActi
|
|
|
9
9
|
}
|
|
10
10
|
export declare class TuiHostedDropdownComponent implements TuiFocusableElementAccessor {
|
|
11
11
|
private readonly hover$;
|
|
12
|
-
private readonly
|
|
12
|
+
private readonly el;
|
|
13
13
|
private readonly dropdownHost?;
|
|
14
14
|
private readonly wrapper?;
|
|
15
15
|
private readonly dropdownDirective?;
|
|
@@ -22,7 +22,7 @@ export declare class TuiHostedDropdownComponent implements TuiFocusableElementAc
|
|
|
22
22
|
readonly open$: import("rxjs").Observable<boolean>;
|
|
23
23
|
readonly focusedChange: EventEmitter<boolean>;
|
|
24
24
|
readonly context: TuiContextWithImplicit<TuiActiveZoneDirective>;
|
|
25
|
-
constructor(hover$: TuiDropdownHoverDirective | null,
|
|
25
|
+
constructor(hover$: TuiDropdownHoverDirective | null, el: ElementRef);
|
|
26
26
|
set open(open: boolean);
|
|
27
27
|
get open(): boolean;
|
|
28
28
|
get host(): HTMLElement;
|
|
@@ -4,7 +4,7 @@ import { TuiBrightness, TuiHorizontalDirection } from '@taiga-ui/core/types';
|
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class TuiLinkComponent implements TuiFocusableElementAccessor {
|
|
7
|
-
private readonly
|
|
7
|
+
private readonly el;
|
|
8
8
|
readonly mode$: Observable<TuiBrightness | null>;
|
|
9
9
|
pseudo: boolean;
|
|
10
10
|
icon: string;
|
|
@@ -13,7 +13,7 @@ export declare class TuiLinkComponent implements TuiFocusableElementAccessor {
|
|
|
13
13
|
mode: 'negative' | 'positive' | null;
|
|
14
14
|
focusVisible: boolean;
|
|
15
15
|
readonly focusedChange: Observable<boolean>;
|
|
16
|
-
constructor(
|
|
16
|
+
constructor(el: ElementRef<TuiNativeFocusableElement>, mode$: Observable<TuiBrightness | null>, focusVisible$: TuiFocusVisibleService);
|
|
17
17
|
get nativeFocusableElement(): TuiNativeFocusableElement;
|
|
18
18
|
get focused(): boolean;
|
|
19
19
|
get hasIcon(): boolean;
|