@ng-nest/ui 21.0.2 → 21.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ng-nest-ui-affix.mjs +12 -12
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +22 -24
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +19 -19
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +7 -7
- package/fesm2022/ng-nest-ui-attachments.mjs +22 -22
- package/fesm2022/ng-nest-ui-attachments.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +26 -30
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +13 -13
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +16 -16
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +13 -13
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-bubble.mjs +20 -20
- package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +31 -31
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
- package/fesm2022/ng-nest-ui-card.mjs +11 -11
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +24 -24
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +25 -29
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +22 -22
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +22 -22
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +25 -25
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +10 -10
- package/fesm2022/ng-nest-ui-comment.mjs +19 -19
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +34 -34
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +18 -18
- package/fesm2022/ng-nest-ui-coversations.mjs +11 -11
- package/fesm2022/ng-nest-ui-coversations.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +87 -87
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +20 -20
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +58 -58
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +7 -7
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drawer.mjs +34 -34
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +21 -21
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +10 -10
- package/fesm2022/ng-nest-ui-examples.mjs +7 -7
- package/fesm2022/ng-nest-ui-find.mjs +31 -35
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +21 -21
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +32 -31
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +14 -14
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +21 -21
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +11 -11
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +21 -21
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +36 -40
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +11 -11
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +25 -25
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +13 -13
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +41 -41
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +14 -14
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +22 -22
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2022/ng-nest-ui-message.mjs +10 -10
- package/fesm2022/ng-nest-ui-notification.mjs +10 -10
- package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2022/ng-nest-ui-pagination.mjs +27 -31
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2022/ng-nest-ui-popconfirm.mjs +14 -14
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +19 -19
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-progress.mjs +22 -22
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-prompts.mjs +12 -12
- package/fesm2022/ng-nest-ui-prompts.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +20 -20
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +15 -15
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +14 -14
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +10 -10
- package/fesm2022/ng-nest-ui-ripple.mjs +12 -12
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-scrollable.mjs +19 -7
- package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +35 -39
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-sender.mjs +19 -19
- package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +13 -13
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +21 -21
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +16 -18
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2022/ng-nest-ui-steps.mjs +33 -18
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-suggestion.mjs +17 -17
- package/fesm2022/ng-nest-ui-suggestion.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +15 -15
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table-view.mjs +58 -58
- package/fesm2022/ng-nest-ui-table.mjs +90 -112
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +38 -40
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +16 -16
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +19 -19
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +12 -12
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-thought-chain.mjs +12 -12
- package/fesm2022/ng-nest-ui-thought-chain.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-picker.mjs +28 -28
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-timeline.mjs +12 -12
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +17 -17
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +14 -14
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +17 -17
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +36 -42
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +44 -46
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +10 -10
- package/fesm2022/ng-nest-ui-upload.mjs +24 -24
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-welcome.mjs +10 -10
- package/package.json +1 -1
- package/types/ng-nest-ui-i18n.d.ts +13 -11
- package/types/ng-nest-ui-scrollable.d.ts +6 -0
- package/types/ng-nest-ui-steps.d.ts +18 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-inner.mjs","sources":["../../../../lib/ng-nest/ui/inner/inner.property.ts","../../../../lib/ng-nest/ui/inner/inner.component.ts","../../../../lib/ng-nest/ui/inner/inner.component.html","../../../../lib/ng-nest/ui/inner/inner.module.ts","../../../../lib/ng-nest/ui/inner/ng-nest-ui-inner.ts"],"sourcesContent":["import { XNumber, XPropertyFunction, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\n\r\n/**\r\n * Inner\r\n * @selector x-inner\r\n * @decorator component\r\n */\r\nexport const XInnerPrefix = 'x-inner';\r\nconst X_INNER_CONFIG_NAME = 'inner';\r\n\r\n/**\r\n * Inner Property\r\n */\r\n@Component({ selector: `${XInnerPrefix}-property`, template: '' })\r\nexport class XInnerProperty extends XPropertyFunction(X_INNER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 内边距\r\n * @en_US Inner padding\r\n */\r\n readonly padding = input<string, XNumber>(this.config?.padding ?? '1rem', { transform: XToCssPixelValue });\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XInnerPrefix, XInnerProperty } from './inner.property';\r\n\r\n@Component({\r\n selector: `${XInnerPrefix}`,\r\n templateUrl: './inner.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XInnerComponent extends XInnerProperty {\r\n @HostBinding('class') className = XInnerPrefix;\r\n @HostBinding('style.padding') get getPadding() {\r\n return this.padding();\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { XInnerComponent } from './inner.component';\r\n\r\n@NgModule({\r\n exports: [XInnerComponent],\r\n imports: [XInnerComponent]\r\n})\r\nexport class XInnerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAGA;;;;AAIG;AACI,MAAM,YAAY,GAAG;AAC5B,MAAM,mBAAmB,GAAG,OAAO;AAEnC;;AAEG;MAEU,cAAe,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;AAD1E,IAAA,WAAA,GAAA;;AAEE;;;AAGG;
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-inner.mjs","sources":["../../../../lib/ng-nest/ui/inner/inner.property.ts","../../../../lib/ng-nest/ui/inner/inner.component.ts","../../../../lib/ng-nest/ui/inner/inner.component.html","../../../../lib/ng-nest/ui/inner/inner.module.ts","../../../../lib/ng-nest/ui/inner/ng-nest-ui-inner.ts"],"sourcesContent":["import { XNumber, XPropertyFunction, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\n\r\n/**\r\n * Inner\r\n * @selector x-inner\r\n * @decorator component\r\n */\r\nexport const XInnerPrefix = 'x-inner';\r\nconst X_INNER_CONFIG_NAME = 'inner';\r\n\r\n/**\r\n * Inner Property\r\n */\r\n@Component({ selector: `${XInnerPrefix}-property`, template: '' })\r\nexport class XInnerProperty extends XPropertyFunction(X_INNER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 内边距\r\n * @en_US Inner padding\r\n */\r\n readonly padding = input<string, XNumber>(this.config?.padding ?? '1rem', { transform: XToCssPixelValue });\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XInnerPrefix, XInnerProperty } from './inner.property';\r\n\r\n@Component({\r\n selector: `${XInnerPrefix}`,\r\n templateUrl: './inner.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XInnerComponent extends XInnerProperty {\r\n @HostBinding('class') className = XInnerPrefix;\r\n @HostBinding('style.padding') get getPadding() {\r\n return this.padding();\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { XInnerComponent } from './inner.component';\r\n\r\n@NgModule({\r\n exports: [XInnerComponent],\r\n imports: [XInnerComponent]\r\n})\r\nexport class XInnerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAGA;;;;AAIG;AACI,MAAM,YAAY,GAAG;AAC5B,MAAM,mBAAmB,GAAG,OAAO;AAEnC;;AAEG;MAEU,cAAe,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;AAD1E,IAAA,WAAA,GAAA;;AAEE;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,SAAA,EAAA,GAAA,EAAA,CAAA,EAAI,SAAS,EAAE,gBAAgB,GAAG;AAC3G,IAAA;iIANY,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,6OADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAClD,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAA,EAAG,YAAY,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;;;ACJ3D,MAAO,eAAgB,SAAQ,cAAc,CAAA;AAPnD,IAAA,WAAA,GAAA;;QAQwB,IAAA,CAAA,SAAS,GAAG,YAAY;AAI/C,IAAA;AAHC,IAAA,IAAkC,UAAU,GAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACvB;iIAJW,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,mLCV5B,+BACA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDSa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;+BACE,CAAA,EAAG,YAAY,EAAE,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA;;sBAG9C,WAAW;uBAAC,OAAO;;sBACnB,WAAW;uBAAC,eAAe;;;MELjB,YAAY,CAAA;iIAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAZ,YAAY,EAAA,OAAA,EAAA,CAFb,eAAe,CAAA,EAAA,OAAA,EAAA,CADf,eAAe,CAAA,EAAA,CAAA,CAAA;kIAGd,YAAY,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,OAAO,EAAE,CAAC,eAAe;AAC1B,iBAAA;;;ACND;;AAEG;;;;"}
|
|
@@ -31,32 +31,32 @@ class XInputNumberProperty extends XFormControlFunction(X_INPUT_NUMBER_CONFIG_NA
|
|
|
31
31
|
* @zh_CN 最小值
|
|
32
32
|
* @en_US Minimum
|
|
33
33
|
*/
|
|
34
|
-
this.min = input(Number.MIN_SAFE_INTEGER, ...(ngDevMode ?
|
|
34
|
+
this.min = input(Number.MIN_SAFE_INTEGER, { ...(ngDevMode ? { debugName: "min" } : {}), transform: XToNumber });
|
|
35
35
|
/**
|
|
36
36
|
* @zh_CN 最大值
|
|
37
37
|
* @en_US Max
|
|
38
38
|
*/
|
|
39
|
-
this.max = input(Number.MAX_SAFE_INTEGER, ...(ngDevMode ?
|
|
39
|
+
this.max = input(Number.MAX_SAFE_INTEGER, { ...(ngDevMode ? { debugName: "max" } : {}), transform: XToNumber });
|
|
40
40
|
/**
|
|
41
41
|
* @zh_CN 步数
|
|
42
42
|
* @en_US Step count
|
|
43
43
|
*/
|
|
44
|
-
this.step = input(1, ...(ngDevMode ?
|
|
44
|
+
this.step = input(1, { ...(ngDevMode ? { debugName: "step" } : {}), transform: XToNumber });
|
|
45
45
|
/**
|
|
46
46
|
* @zh_CN 按住后步进速度
|
|
47
47
|
* @en_US Stepping speed after pressing
|
|
48
48
|
*/
|
|
49
|
-
this.debounce = input(40, ...(ngDevMode ?
|
|
49
|
+
this.debounce = input(40, { ...(ngDevMode ? { debugName: "debounce" } : {}), transform: XToNumber });
|
|
50
50
|
/**
|
|
51
51
|
* @zh_CN 精度
|
|
52
52
|
* @en_US Precision
|
|
53
53
|
*/
|
|
54
|
-
this.precision = input(0, ...(ngDevMode ?
|
|
54
|
+
this.precision = input(0, { ...(ngDevMode ? { debugName: "precision" } : {}), transform: XToNumber });
|
|
55
55
|
/**
|
|
56
56
|
* @zh_CN 显示边框
|
|
57
57
|
* @en_US Display Border
|
|
58
58
|
*/
|
|
59
|
-
this.bordered = input(this.config?.bordered ?? true, ...(ngDevMode ?
|
|
59
|
+
this.bordered = input(this.config?.bordered ?? true, { ...(ngDevMode ? { debugName: "bordered" } : {}), transform: XToBoolean });
|
|
60
60
|
/**
|
|
61
61
|
* @zh_CN 数字格式化
|
|
62
62
|
* @en_US Display Formatter
|
|
@@ -66,7 +66,7 @@ class XInputNumberProperty extends XFormControlFunction(X_INPUT_NUMBER_CONFIG_NA
|
|
|
66
66
|
* @zh_CN 隐藏步进按钮
|
|
67
67
|
* @en_US Hide step button
|
|
68
68
|
*/
|
|
69
|
-
this.hiddenButton = input(this.config?.hiddenButton ?? false, ...(ngDevMode ?
|
|
69
|
+
this.hiddenButton = input(this.config?.hiddenButton ?? false, { ...(ngDevMode ? { debugName: "hiddenButton" } : {}), transform: XToBoolean });
|
|
70
70
|
/**
|
|
71
71
|
* @zh_CN 尺寸
|
|
72
72
|
* @en_US Size
|
|
@@ -81,7 +81,7 @@ class XInputNumberProperty extends XFormControlFunction(X_INPUT_NUMBER_CONFIG_NA
|
|
|
81
81
|
* @zh_CN 标签宽度
|
|
82
82
|
* @en_US Label width
|
|
83
83
|
*/
|
|
84
|
-
this.labelWidth = input('', ...(ngDevMode ?
|
|
84
|
+
this.labelWidth = input('', { ...(ngDevMode ? { debugName: "labelWidth" } : {}), transform: XToCssPixelValue });
|
|
85
85
|
/**
|
|
86
86
|
* @zh_CN 标签文字对齐方式
|
|
87
87
|
* @en_US Label text alignment method
|
|
@@ -111,17 +111,17 @@ class XInputNumberProperty extends XFormControlFunction(X_INPUT_NUMBER_CONFIG_NA
|
|
|
111
111
|
* @zh_CN 禁用
|
|
112
112
|
* @en_US Disabled
|
|
113
113
|
*/
|
|
114
|
-
this.disabled = input(false, ...(ngDevMode ?
|
|
114
|
+
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: XToBoolean });
|
|
115
115
|
/**
|
|
116
116
|
* @zh_CN 必填
|
|
117
117
|
* @en_US Required
|
|
118
118
|
*/
|
|
119
|
-
this.required = input(false, ...(ngDevMode ?
|
|
119
|
+
this.required = input(false, { ...(ngDevMode ? { debugName: "required" } : {}), transform: XToBoolean });
|
|
120
120
|
/**
|
|
121
121
|
* @zh_CN 只读
|
|
122
122
|
* @en_US Readonly
|
|
123
123
|
*/
|
|
124
|
-
this.readonly = input(false, ...(ngDevMode ?
|
|
124
|
+
this.readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: XToBoolean });
|
|
125
125
|
/**
|
|
126
126
|
* @zh_CN 值模板
|
|
127
127
|
* @en_US Node template
|
|
@@ -148,10 +148,10 @@ class XInputNumberProperty extends XFormControlFunction(X_INPUT_NUMBER_CONFIG_NA
|
|
|
148
148
|
*/
|
|
149
149
|
this.inputValidator = input(...(ngDevMode ? [undefined, { debugName: "inputValidator" }] : []));
|
|
150
150
|
}
|
|
151
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
152
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.
|
|
151
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XInputNumberProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
152
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: XInputNumberProperty, isStandalone: true, selector: "x-input-number-property", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, debounce: { classPropertyName: "debounce", publicName: "debounce", isSignal: true, isRequired: false, transformFunction: null }, precision: { classPropertyName: "precision", publicName: "precision", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, formatter: { classPropertyName: "formatter", publicName: "formatter", isSignal: true, isRequired: false, transformFunction: null }, hiddenButton: { classPropertyName: "hiddenButton", publicName: "hiddenButton", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
153
153
|
}
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XInputNumberProperty, decorators: [{
|
|
155
155
|
type: Component,
|
|
156
156
|
args: [{ selector: `${XInputNumberPrefix}-property`, template: '' }]
|
|
157
157
|
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], debounce: [{ type: i0.Input, args: [{ isSignal: true, alias: "debounce", required: false }] }], precision: [{ type: i0.Input, args: [{ isSignal: true, alias: "precision", required: false }] }], bordered: [{ type: i0.Input, args: [{ isSignal: true, alias: "bordered", required: false }] }], formatter: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatter", required: false }] }], hiddenButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenButton", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], labelWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelWidth", required: false }] }], labelAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelAlign", required: false }] }], justify: [{ type: i0.Input, args: [{ isSignal: true, alias: "justify", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], valueTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueTpl", required: false }] }], valueTplContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueTplContext", required: false }] }], pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], inputValidator: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputValidator", required: false }] }] } });
|
|
@@ -284,20 +284,20 @@ class XInputNumberComponent extends XInputNumberProperty {
|
|
|
284
284
|
}
|
|
285
285
|
this.displayValue.set(displayValue);
|
|
286
286
|
}
|
|
287
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
288
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
287
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XInputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
288
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: XInputNumberComponent, isStandalone: true, selector: "x-input-number", providers: [XValueAccessor(XInputNumberComponent)], viewQueries: [{ propertyName: "inputNumber", first: true, predicate: ["inputNumber"], descendants: true, isSignal: true }, { propertyName: "inputEleRef", first: true, predicate: ["inputEleRef"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #inputNumber class=\"x-input-number\" [class.x-input-number-hidden-button]=\"hiddenButton()\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size()\"\r\n [onlyIcon]=\"!bordered()\"\r\n [disabled]=\"disabledComputed() || minDisabled()\"\r\n (click)=\"!minDisabled() && plus($event, step(), false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled() && down($event, step(), false)\"\r\n (mouseup)=\"up($event)\"\r\n plain\r\n flat\r\n [text]=\"['borderless', 'underlined'].includes(variant())\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable()\"\r\n [ngModel]=\"displayValue()\"\r\n [valueTpl]=\"valueTpl()\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"hiddenButton() ? '' : beforeButtonTpl\"\r\n [after]=\"hiddenButton() ? '' : afterButtonTpl\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [variant]=\"variant()\"\r\n (xInput)=\"onInput($event); formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size()\"\r\n [onlyIcon]=\"!bordered()\"\r\n [disabled]=\"disabledComputed() || maxDisabled()\"\r\n (click)=\"!maxDisabled() && plus($event, step()); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled() && down($event, step())\"\r\n (mouseup)=\"up($event)\"\r\n plain\r\n flat\r\n [text]=\"['borderless', 'underlined'].includes(variant())\"\r\n ></x-button>\r\n </ng-template>\r\n @if (invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0}.x-input-number,.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}.x-input-number-hidden-button .x-input-number-input input{text-align:left}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XButtonComponent, selector: "x-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
289
289
|
}
|
|
290
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XInputNumberComponent, decorators: [{
|
|
291
291
|
type: Component,
|
|
292
292
|
args: [{ selector: `${XInputNumberPrefix}`, imports: [FormsModule, ReactiveFormsModule, XInputComponent, XButtonComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XInputNumberComponent)], template: "<div #inputNumber class=\"x-input-number\" [class.x-input-number-hidden-button]=\"hiddenButton()\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size()\"\r\n [onlyIcon]=\"!bordered()\"\r\n [disabled]=\"disabledComputed() || minDisabled()\"\r\n (click)=\"!minDisabled() && plus($event, step(), false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled() && down($event, step(), false)\"\r\n (mouseup)=\"up($event)\"\r\n plain\r\n flat\r\n [text]=\"['borderless', 'underlined'].includes(variant())\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable()\"\r\n [ngModel]=\"displayValue()\"\r\n [valueTpl]=\"valueTpl()\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"hiddenButton() ? '' : beforeButtonTpl\"\r\n [after]=\"hiddenButton() ? '' : afterButtonTpl\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [variant]=\"variant()\"\r\n (xInput)=\"onInput($event); formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size()\"\r\n [onlyIcon]=\"!bordered()\"\r\n [disabled]=\"disabledComputed() || maxDisabled()\"\r\n (click)=\"!maxDisabled() && plus($event, step()); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled() && down($event, step())\"\r\n (mouseup)=\"up($event)\"\r\n plain\r\n flat\r\n [text]=\"['borderless', 'underlined'].includes(variant())\"\r\n ></x-button>\r\n </ng-template>\r\n @if (invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0}.x-input-number,.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}.x-input-number-hidden-button .x-input-number-input input{text-align:left}\n"] }]
|
|
293
293
|
}], ctorParameters: () => [], propDecorators: { inputNumber: [{ type: i0.ViewChild, args: ['inputNumber', { isSignal: true }] }], inputEleRef: [{ type: i0.ViewChild, args: ['inputEleRef', { isSignal: true }] }] } });
|
|
294
294
|
|
|
295
295
|
class XInputNumberModule {
|
|
296
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
297
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.
|
|
298
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.
|
|
296
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
297
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: XInputNumberModule, imports: [XInputNumberComponent], exports: [XInputNumberComponent] }); }
|
|
298
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XInputNumberModule, imports: [XInputNumberComponent] }); }
|
|
299
299
|
}
|
|
300
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XInputNumberModule, decorators: [{
|
|
301
301
|
type: NgModule,
|
|
302
302
|
args: [{
|
|
303
303
|
exports: [XInputNumberComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-input-number.mjs","sources":["../../../../lib/ng-nest/ui/input-number/input-number.property.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.html","../../../../lib/ng-nest/ui/input-number/input-number.module.ts","../../../../lib/ng-nest/ui/input-number/ng-nest-ui-input-number.ts"],"sourcesContent":["import {\r\n XAlign,\r\n XBoolean,\r\n XDirection,\r\n XJustify,\r\n XNumber,\r\n XSize,\r\n XTemplate,\r\n XToBoolean,\r\n XToCssPixelValue,\r\n XToNumber,\r\n XVariant\r\n} from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, input } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * InputNumber\r\n * @selector x-input-number\r\n * @decorator component\r\n */\r\nexport const XInputNumberPrefix = 'x-input-number';\r\nconst X_INPUT_NUMBER_CONFIG_NAME = 'inputNumber';\r\n\r\n/**\r\n * InputNumber Property\r\n */\r\n@Component({ selector: `${XInputNumberPrefix}-property`, template: '' })\r\nexport class XInputNumberProperty extends XFormControlFunction(X_INPUT_NUMBER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 形态变体\r\n * @en_US Input variant\r\n */\r\n readonly variant = input<XInputNumberVariant>(this.config?.variant ?? 'outlined');\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n readonly min = input<number, XNumber>(Number.MIN_SAFE_INTEGER, { transform: XToNumber });\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n readonly max = input<number, XNumber>(Number.MAX_SAFE_INTEGER, { transform: XToNumber });\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n readonly step = input<number, XNumber>(1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n readonly debounce = input<number, XNumber>(40, { transform: XToNumber });\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n readonly precision = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n readonly bordered = input<boolean, XBoolean>(this.config?.bordered ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formatter\r\n */\r\n readonly formatter = input<(value: number) => XNumber>();\r\n /**\r\n * @zh_CN 隐藏步进按钮\r\n * @en_US Hide step button\r\n */\r\n readonly hiddenButton = input<boolean, XBoolean>(this.config?.hiddenButton ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n override readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n override readonly label = input<XTemplate>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n override readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n override readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n override readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n override readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n override readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n override readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n override readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n override readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n override readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n override readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n override readonly pattern = input<RegExp | RegExp[] | any>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n override readonly message = input<string | string[]>([]);\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n override readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n\r\n/**\r\n * InputNumber Option\r\n */\r\nexport interface XInputNumberOption extends XFormOption {\r\n /**\r\n * @zh_CN 形态变体\r\n * @en_US Input variant\r\n */\r\n variant?: XInputNumberVariant;\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n min?: number;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n max?: number;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n step?: number;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n debounce?: number;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n precision?: number;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: boolean;\r\n /**\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formatter\r\n */\r\n formatter?: (value: number) => XNumber;\r\n /**\r\n * @zh_CN 隐藏步进按钮\r\n * @en_US Hide step button\r\n */\r\n hiddenButton?: boolean;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n labelWidth?: string;\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n justify?: XJustify;\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n align?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n direction?: XDirection;\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n placeholder?: string;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n valueTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n valueTplContext?: any;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n message?: string | string[];\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 输入框形态变体\r\n * @en_US Input box variant\r\n */\r\nexport type XInputNumberVariant = XVariant;\r\n","import { Subject, Subscription, debounceTime, distinctUntilChanged, fromEvent, interval, takeUntil } from 'rxjs';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n inject,\r\n viewChild,\r\n signal\r\n} from '@angular/core';\r\nimport { XIsEmpty, XNumber, XIsNotNil, XIsFunction, XIsString } from '@ng-nest/ui/core';\r\nimport { XInputNumberPrefix, XInputNumberProperty } from './input-number.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XInputNumberPrefix}`,\r\n imports: [FormsModule, ReactiveFormsModule, XInputComponent, XButtonComponent],\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputNumberComponent)]\r\n})\r\nexport class XInputNumberComponent extends XInputNumberProperty {\r\n inputNumber = viewChild.required<ElementRef<HTMLElement>>('inputNumber');\r\n inputEleRef = viewChild.required<XInputComponent>('inputEleRef');\r\n\r\n displayValue = signal<string>('');\r\n minDisabled = signal(false);\r\n maxDisabled = signal(false);\r\n mousedown$!: Subscription;\r\n mouseup$!: Subscription;\r\n timer: any;\r\n icon = signal('');\r\n iconSpin = signal(false);\r\n clearable = signal(false);\r\n isDown = signal(false);\r\n valueChange = new Subject<any>();\r\n\r\n document = inject(DOCUMENT);\r\n private unSubject = new Subject<void>();\r\n\r\n inputValue = new Subject<string>();\r\n\r\n constructor() {\r\n super();\r\n this.valueChange.pipe(distinctUntilChanged(), takeUntil(this.unSubject)).subscribe((x) => {\r\n this.onChange && this.onChange(x);\r\n });\r\n\r\n this.inputValue.pipe(debounceTime(500), takeUntil(this.unSubject)).subscribe((value) => {\r\n if (XIsFunction(this.formatter())) {\r\n value = value.replace(/[^0-9]/g, '');\r\n }\r\n if (value === '') {\r\n this.value.set(null);\r\n } else {\r\n this.verify(Number(value));\r\n this.setDisplayValue(this.value());\r\n }\r\n this.valueChange.next(this.value());\r\n });\r\n }\r\n\r\n override writeValue(value: any): void {\r\n this.value.set(value);\r\n this.verify(Number(value));\r\n this.setDisplayValue(this.value());\r\n }\r\n\r\n ngOnInit() {\r\n this.setDisplayValue(this.value());\r\n }\r\n\r\n down(event: Event, limit: XNumber, increase: boolean = true): void {\r\n if (this.disabledComputed()) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown.set(true);\r\n this.timer = setTimeout(() => {\r\n this.mousedown$ = interval(Number(this.debounce()))\r\n .pipe(takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.plus(event, limit, increase);\r\n });\r\n this.mouseup$ = fromEvent(this.document.documentElement, 'mouseup')\r\n .pipe(takeUntil(this.unSubject))\r\n .subscribe((event: Event) => {\r\n this.up(event);\r\n });\r\n }, 150);\r\n }\r\n\r\n up(event: Event) {\r\n if (this.disabledComputed()) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown.set(false);\r\n if (this.mousedown$) this.mousedown$.unsubscribe();\r\n if (this.mouseup$) this.mouseup$.unsubscribe();\r\n }\r\n\r\n plus(event: Event, limit: XNumber, increase: boolean = true) {\r\n if (this.disabledComputed()) return;\r\n limit = Number(limit);\r\n if (!increase) limit = -limit;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this.timer) clearTimeout(this.timer);\r\n if (Number.isNaN(+this.value())) this.value.set(0);\r\n let value = Number(this.value()) + limit;\r\n this.verify(value);\r\n this.setDisplayValue(value);\r\n this.valueChange.next(this.value());\r\n }\r\n\r\n verify(value: string | number) {\r\n if (XIsString(value) && Number(value).toString() !== value) {\r\n return;\r\n }\r\n value = Number(Number(value).toFixed(Number(this.precision())));\r\n const oldValue: number = this.value();\r\n this.value.set(value);\r\n if (Number.isNaN(+this.value())) {\r\n this.value.set(oldValue);\r\n } else {\r\n this.maxDisabled.set(value >= this.max());\r\n this.minDisabled.set(value <= this.min());\r\n this.value.set(this.maxDisabled() ? this.max() : this.minDisabled() ? this.min() : value);\r\n }\r\n }\r\n\r\n onInput(x: Event) {\r\n const input = x.target as HTMLInputElement;\r\n let value = input.value;\r\n this.inputValue.next(value);\r\n }\r\n\r\n setDisplayValue(value: string | number) {\r\n if (XIsEmpty(value)) {\r\n this.displayValue.set('');\r\n return;\r\n }\r\n let displayValue = '';\r\n const formatter = this.formatter();\r\n if (!XIsEmpty(value) && !formatter) {\r\n displayValue = Number(value).toFixed(this.precision());\r\n } else if (formatter) {\r\n const valueFormatter = formatter(Number(this.value()));\r\n const val = XIsNotNil(valueFormatter) ? valueFormatter : '';\r\n if (XIsNotNil(val)) {\r\n displayValue = val.toString();\r\n }\r\n }\r\n this.displayValue.set(displayValue);\r\n }\r\n}\r\n","<div #inputNumber class=\"x-input-number\" [class.x-input-number-hidden-button]=\"hiddenButton()\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size()\"\r\n [onlyIcon]=\"!bordered()\"\r\n [disabled]=\"disabledComputed() || minDisabled()\"\r\n (click)=\"!minDisabled() && plus($event, step(), false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled() && down($event, step(), false)\"\r\n (mouseup)=\"up($event)\"\r\n plain\r\n flat\r\n [text]=\"['borderless', 'underlined'].includes(variant())\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable()\"\r\n [ngModel]=\"displayValue()\"\r\n [valueTpl]=\"valueTpl()\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"hiddenButton() ? '' : beforeButtonTpl\"\r\n [after]=\"hiddenButton() ? '' : afterButtonTpl\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [variant]=\"variant()\"\r\n (xInput)=\"onInput($event); formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size()\"\r\n [onlyIcon]=\"!bordered()\"\r\n [disabled]=\"disabledComputed() || maxDisabled()\"\r\n (click)=\"!maxDisabled() && plus($event, step()); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled() && down($event, step())\"\r\n (mouseup)=\"up($event)\"\r\n plain\r\n flat\r\n [text]=\"['borderless', 'underlined'].includes(variant())\"\r\n ></x-button>\r\n </ng-template>\r\n @if (invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XInputNumberComponent } from './input-number.component';\r\n\r\n@NgModule({\r\n exports: [XInputNumberComponent],\r\n imports: [XInputNumberComponent]\r\n})\r\nexport class XInputNumberModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-input-number.mjs","sources":["../../../../lib/ng-nest/ui/input-number/input-number.property.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.html","../../../../lib/ng-nest/ui/input-number/input-number.module.ts","../../../../lib/ng-nest/ui/input-number/ng-nest-ui-input-number.ts"],"sourcesContent":["import {\r\n XAlign,\r\n XBoolean,\r\n XDirection,\r\n XJustify,\r\n XNumber,\r\n XSize,\r\n XTemplate,\r\n XToBoolean,\r\n XToCssPixelValue,\r\n XToNumber,\r\n XVariant\r\n} from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, input } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * InputNumber\r\n * @selector x-input-number\r\n * @decorator component\r\n */\r\nexport const XInputNumberPrefix = 'x-input-number';\r\nconst X_INPUT_NUMBER_CONFIG_NAME = 'inputNumber';\r\n\r\n/**\r\n * InputNumber Property\r\n */\r\n@Component({ selector: `${XInputNumberPrefix}-property`, template: '' })\r\nexport class XInputNumberProperty extends XFormControlFunction(X_INPUT_NUMBER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 形态变体\r\n * @en_US Input variant\r\n */\r\n readonly variant = input<XInputNumberVariant>(this.config?.variant ?? 'outlined');\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n readonly min = input<number, XNumber>(Number.MIN_SAFE_INTEGER, { transform: XToNumber });\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n readonly max = input<number, XNumber>(Number.MAX_SAFE_INTEGER, { transform: XToNumber });\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n readonly step = input<number, XNumber>(1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n readonly debounce = input<number, XNumber>(40, { transform: XToNumber });\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n readonly precision = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n readonly bordered = input<boolean, XBoolean>(this.config?.bordered ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formatter\r\n */\r\n readonly formatter = input<(value: number) => XNumber>();\r\n /**\r\n * @zh_CN 隐藏步进按钮\r\n * @en_US Hide step button\r\n */\r\n readonly hiddenButton = input<boolean, XBoolean>(this.config?.hiddenButton ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n override readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n override readonly label = input<XTemplate>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n override readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n override readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n override readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n override readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n override readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n override readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n override readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n override readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n override readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n override readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n override readonly pattern = input<RegExp | RegExp[] | any>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n override readonly message = input<string | string[]>([]);\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n override readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n\r\n/**\r\n * InputNumber Option\r\n */\r\nexport interface XInputNumberOption extends XFormOption {\r\n /**\r\n * @zh_CN 形态变体\r\n * @en_US Input variant\r\n */\r\n variant?: XInputNumberVariant;\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n min?: number;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n max?: number;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n step?: number;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n debounce?: number;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n precision?: number;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: boolean;\r\n /**\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formatter\r\n */\r\n formatter?: (value: number) => XNumber;\r\n /**\r\n * @zh_CN 隐藏步进按钮\r\n * @en_US Hide step button\r\n */\r\n hiddenButton?: boolean;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n labelWidth?: string;\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n justify?: XJustify;\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n align?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n direction?: XDirection;\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n placeholder?: string;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n valueTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n valueTplContext?: any;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n message?: string | string[];\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 输入框形态变体\r\n * @en_US Input box variant\r\n */\r\nexport type XInputNumberVariant = XVariant;\r\n","import { Subject, Subscription, debounceTime, distinctUntilChanged, fromEvent, interval, takeUntil } from 'rxjs';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n inject,\r\n viewChild,\r\n signal\r\n} from '@angular/core';\r\nimport { XIsEmpty, XNumber, XIsNotNil, XIsFunction, XIsString } from '@ng-nest/ui/core';\r\nimport { XInputNumberPrefix, XInputNumberProperty } from './input-number.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XInputNumberPrefix}`,\r\n imports: [FormsModule, ReactiveFormsModule, XInputComponent, XButtonComponent],\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputNumberComponent)]\r\n})\r\nexport class XInputNumberComponent extends XInputNumberProperty {\r\n inputNumber = viewChild.required<ElementRef<HTMLElement>>('inputNumber');\r\n inputEleRef = viewChild.required<XInputComponent>('inputEleRef');\r\n\r\n displayValue = signal<string>('');\r\n minDisabled = signal(false);\r\n maxDisabled = signal(false);\r\n mousedown$!: Subscription;\r\n mouseup$!: Subscription;\r\n timer: any;\r\n icon = signal('');\r\n iconSpin = signal(false);\r\n clearable = signal(false);\r\n isDown = signal(false);\r\n valueChange = new Subject<any>();\r\n\r\n document = inject(DOCUMENT);\r\n private unSubject = new Subject<void>();\r\n\r\n inputValue = new Subject<string>();\r\n\r\n constructor() {\r\n super();\r\n this.valueChange.pipe(distinctUntilChanged(), takeUntil(this.unSubject)).subscribe((x) => {\r\n this.onChange && this.onChange(x);\r\n });\r\n\r\n this.inputValue.pipe(debounceTime(500), takeUntil(this.unSubject)).subscribe((value) => {\r\n if (XIsFunction(this.formatter())) {\r\n value = value.replace(/[^0-9]/g, '');\r\n }\r\n if (value === '') {\r\n this.value.set(null);\r\n } else {\r\n this.verify(Number(value));\r\n this.setDisplayValue(this.value());\r\n }\r\n this.valueChange.next(this.value());\r\n });\r\n }\r\n\r\n override writeValue(value: any): void {\r\n this.value.set(value);\r\n this.verify(Number(value));\r\n this.setDisplayValue(this.value());\r\n }\r\n\r\n ngOnInit() {\r\n this.setDisplayValue(this.value());\r\n }\r\n\r\n down(event: Event, limit: XNumber, increase: boolean = true): void {\r\n if (this.disabledComputed()) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown.set(true);\r\n this.timer = setTimeout(() => {\r\n this.mousedown$ = interval(Number(this.debounce()))\r\n .pipe(takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.plus(event, limit, increase);\r\n });\r\n this.mouseup$ = fromEvent(this.document.documentElement, 'mouseup')\r\n .pipe(takeUntil(this.unSubject))\r\n .subscribe((event: Event) => {\r\n this.up(event);\r\n });\r\n }, 150);\r\n }\r\n\r\n up(event: Event) {\r\n if (this.disabledComputed()) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown.set(false);\r\n if (this.mousedown$) this.mousedown$.unsubscribe();\r\n if (this.mouseup$) this.mouseup$.unsubscribe();\r\n }\r\n\r\n plus(event: Event, limit: XNumber, increase: boolean = true) {\r\n if (this.disabledComputed()) return;\r\n limit = Number(limit);\r\n if (!increase) limit = -limit;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this.timer) clearTimeout(this.timer);\r\n if (Number.isNaN(+this.value())) this.value.set(0);\r\n let value = Number(this.value()) + limit;\r\n this.verify(value);\r\n this.setDisplayValue(value);\r\n this.valueChange.next(this.value());\r\n }\r\n\r\n verify(value: string | number) {\r\n if (XIsString(value) && Number(value).toString() !== value) {\r\n return;\r\n }\r\n value = Number(Number(value).toFixed(Number(this.precision())));\r\n const oldValue: number = this.value();\r\n this.value.set(value);\r\n if (Number.isNaN(+this.value())) {\r\n this.value.set(oldValue);\r\n } else {\r\n this.maxDisabled.set(value >= this.max());\r\n this.minDisabled.set(value <= this.min());\r\n this.value.set(this.maxDisabled() ? this.max() : this.minDisabled() ? this.min() : value);\r\n }\r\n }\r\n\r\n onInput(x: Event) {\r\n const input = x.target as HTMLInputElement;\r\n let value = input.value;\r\n this.inputValue.next(value);\r\n }\r\n\r\n setDisplayValue(value: string | number) {\r\n if (XIsEmpty(value)) {\r\n this.displayValue.set('');\r\n return;\r\n }\r\n let displayValue = '';\r\n const formatter = this.formatter();\r\n if (!XIsEmpty(value) && !formatter) {\r\n displayValue = Number(value).toFixed(this.precision());\r\n } else if (formatter) {\r\n const valueFormatter = formatter(Number(this.value()));\r\n const val = XIsNotNil(valueFormatter) ? valueFormatter : '';\r\n if (XIsNotNil(val)) {\r\n displayValue = val.toString();\r\n }\r\n }\r\n this.displayValue.set(displayValue);\r\n }\r\n}\r\n","<div #inputNumber class=\"x-input-number\" [class.x-input-number-hidden-button]=\"hiddenButton()\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size()\"\r\n [onlyIcon]=\"!bordered()\"\r\n [disabled]=\"disabledComputed() || minDisabled()\"\r\n (click)=\"!minDisabled() && plus($event, step(), false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled() && down($event, step(), false)\"\r\n (mouseup)=\"up($event)\"\r\n plain\r\n flat\r\n [text]=\"['borderless', 'underlined'].includes(variant())\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable()\"\r\n [ngModel]=\"displayValue()\"\r\n [valueTpl]=\"valueTpl()\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"hiddenButton() ? '' : beforeButtonTpl\"\r\n [after]=\"hiddenButton() ? '' : afterButtonTpl\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [variant]=\"variant()\"\r\n (xInput)=\"onInput($event); formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size()\"\r\n [onlyIcon]=\"!bordered()\"\r\n [disabled]=\"disabledComputed() || maxDisabled()\"\r\n (click)=\"!maxDisabled() && plus($event, step()); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled() && down($event, step())\"\r\n (mouseup)=\"up($event)\"\r\n plain\r\n flat\r\n [text]=\"['borderless', 'underlined'].includes(variant())\"\r\n ></x-button>\r\n </ng-template>\r\n @if (invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XInputNumberComponent } from './input-number.component';\r\n\r\n@NgModule({\r\n exports: [XInputNumberComponent],\r\n imports: [XInputNumberComponent]\r\n})\r\nexport class XInputNumberModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|