@sme.up/ketchup 8.0.2 → 8.2.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/dist/cjs/{GenericVariables-a9ed17ee.js → GenericVariables-9cd88034.js} +3 -3
- package/dist/cjs/{component-85c2bd4d.js → component-2c7ddef7.js} +91 -10
- package/dist/cjs/{f-button-9524bbf7.js → f-button-797c8e7f.js} +99 -99
- package/dist/cjs/{f-button-declarations-b611587f.js → f-button-declarations-76b4fb4c.js} +16 -16
- package/dist/cjs/{f-cell-bcb75ade.js → f-cell-9c8ed48b.js} +478 -472
- package/dist/cjs/{f-checkbox-1148e791.js → f-checkbox-cff77b2c.js} +23 -23
- package/dist/cjs/{f-chip-2249b386.js → f-chip-318863df.js} +125 -125
- package/dist/cjs/{f-image-47d74999.js → f-image-f10144e9.js} +107 -107
- package/dist/cjs/{f-paginator-utils-b0a9ae5f.js → f-paginator-utils-8c44a37b.js} +1548 -1548
- package/dist/cjs/{f-text-field-579c0fc0.js → f-text-field-9610c198.js} +172 -172
- package/dist/cjs/{f-text-field-mdc-0e22f3e3.js → f-text-field-mdc-d38d80b5.js} +59 -60
- package/dist/cjs/{index-1f177abc.js → index-a9a3b467.js} +93 -24
- package/dist/cjs/ketchup.cjs.js +3 -3
- package/dist/cjs/kup-accordion.cjs.entry.js +199 -200
- package/dist/cjs/kup-autocomplete_27.cjs.entry.js +17557 -17508
- package/dist/cjs/kup-box.cjs.entry.js +1289 -1232
- package/dist/cjs/kup-calendar.cjs.entry.js +9542 -10035
- package/dist/cjs/kup-cell.cjs.entry.js +172 -172
- package/dist/cjs/kup-dash-list.cjs.entry.js +106 -106
- package/dist/cjs/kup-dash_2.cjs.entry.js +162 -162
- package/dist/cjs/kup-dashboard.cjs.entry.js +400 -401
- package/dist/cjs/kup-drawer.cjs.entry.js +138 -138
- package/dist/cjs/kup-echart.cjs.entry.js +7228 -6598
- package/dist/cjs/kup-family-tree.cjs.entry.js +439 -439
- package/dist/cjs/kup-iframe.cjs.entry.js +94 -94
- package/dist/cjs/kup-image-list.cjs.entry.js +255 -256
- package/dist/cjs/kup-lazy.cjs.entry.js +186 -186
- package/dist/cjs/kup-magic-box.cjs.entry.js +298 -298
- package/dist/cjs/{kup-manager-85b2a756.js → kup-manager-7747decd.js} +7287 -7287
- package/dist/cjs/kup-nav-bar.cjs.entry.js +130 -130
- package/dist/cjs/kup-numeric-picker.cjs.entry.js +367 -368
- package/dist/cjs/kup-photo-frame.cjs.entry.js +144 -144
- package/dist/cjs/kup-planner.cjs.entry.js +1185 -1027
- package/dist/cjs/kup-probe.cjs.entry.js +246 -246
- package/dist/cjs/kup-qlik.cjs.entry.js +138 -138
- package/dist/cjs/kup-snackbar.cjs.entry.js +116 -116
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/collection/assets/dash-list.js +466 -293
- package/dist/collection/assets/data-table.js +45 -0
- package/dist/collection/assets/echart.js +176 -0
- package/dist/collection/assets/index.js +4 -0
- package/dist/collection/assets/planner.js +8189 -0
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/kup-accordion/kup-accordion-declarations.js +10 -10
- package/dist/collection/components/kup-accordion/kup-accordion.js +445 -445
- package/dist/collection/components/kup-autocomplete/kup-autocomplete-declarations.js +27 -27
- package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +908 -908
- package/dist/collection/components/kup-badge/kup-badge-declarations.js +10 -10
- package/dist/collection/components/kup-badge/kup-badge.js +276 -276
- package/dist/collection/components/kup-box/kup-box-declarations.js +33 -33
- package/dist/collection/components/kup-box/kup-box-state.js +15 -15
- package/dist/collection/components/kup-box/kup-box.js +2134 -2079
- package/dist/collection/components/kup-button/kup-button-declarations.js +18 -18
- package/dist/collection/components/kup-button/kup-button.js +580 -580
- package/dist/collection/components/kup-button-list/kup-button-list-declarations.js +13 -13
- package/dist/collection/components/kup-button-list/kup-button-list.e2e.js +144 -0
- package/dist/collection/components/kup-button-list/kup-button-list.js +527 -527
- package/dist/collection/components/kup-calendar/kup-calendar-declarations.js +35 -35
- package/dist/collection/components/kup-calendar/kup-calendar.css +0 -4
- package/dist/collection/components/kup-calendar/kup-calendar.js +690 -690
- package/dist/collection/components/kup-card/box/kup-card-box.js +227 -227
- package/dist/collection/components/kup-card/built-in/kup-card-built-in.js +56 -56
- package/dist/collection/components/kup-card/built-in/kup-card-calendar.js +393 -393
- package/dist/collection/components/kup-card/built-in/kup-card-clock.js +308 -308
- package/dist/collection/components/kup-card/built-in/kup-card-column-drop-menu.js +165 -165
- package/dist/collection/components/kup-card/built-in/kup-card-message-box.js +10 -10
- package/dist/collection/components/kup-card/built-in/kup-card-numeric.js +118 -118
- package/dist/collection/components/kup-card/collapsible/kup-card-collapsible.js +64 -64
- package/dist/collection/components/kup-card/dialog/kup-card-dialog.js +217 -217
- package/dist/collection/components/kup-card/free/kup-card-free.js +22 -22
- package/dist/collection/components/kup-card/kup-card-declarations.js +98 -98
- package/dist/collection/components/kup-card/kup-card-helper.js +196 -196
- package/dist/collection/components/kup-card/kup-card.js +809 -809
- package/dist/collection/components/kup-card/scalable/kup-card-scalable.js +251 -251
- package/dist/collection/components/kup-card/standard/kup-card-standard.js +593 -593
- package/dist/collection/components/kup-cell/kup-cell-declarations.js +11 -11
- package/dist/collection/components/kup-cell/kup-cell.js +401 -401
- package/dist/collection/components/kup-chart/kup-chart-builder.js +93 -93
- package/dist/collection/components/kup-chart/kup-chart-declarations.js +49 -49
- package/dist/collection/components/kup-chart/kup-chart.js +1080 -1080
- package/dist/collection/components/kup-checkbox/kup-checkbox-declarations.js +13 -13
- package/dist/collection/components/kup-checkbox/kup-checkbox.js +433 -433
- package/dist/collection/components/kup-chip/kup-chip-declarations.js +12 -12
- package/dist/collection/components/kup-chip/kup-chip.js +558 -558
- package/dist/collection/components/kup-color-picker/kup-color-picker-declarations.js +12 -12
- package/dist/collection/components/kup-color-picker/kup-color-picker.js +546 -546
- package/dist/collection/components/kup-combobox/kup-combobox-declarations.js +15 -15
- package/dist/collection/components/kup-combobox/kup-combobox.js +821 -821
- package/dist/collection/components/kup-dash/kup-dash.js +171 -171
- package/dist/collection/components/kup-dash-list/kup-dash-list.js +327 -327
- package/dist/collection/components/kup-dashboard/kup-dashboard-declarations.js +10 -10
- package/dist/collection/components/kup-dashboard/kup-dashboard.js +588 -588
- package/dist/collection/components/kup-data-table/kup-data-table-declarations.js +157 -156
- package/dist/collection/components/kup-data-table/kup-data-table-helper.js +808 -808
- package/dist/collection/components/kup-data-table/kup-data-table-state.js +36 -36
- package/dist/collection/components/kup-data-table/kup-data-table.css +1 -0
- package/dist/collection/components/kup-data-table/kup-data-table.js +5572 -5527
- package/dist/collection/components/kup-date-picker/kup-date-picker-declarations.js +18 -18
- package/dist/collection/components/kup-date-picker/kup-date-picker.js +816 -816
- package/dist/collection/components/kup-dialog/kup-dialog-declarations.js +14 -14
- package/dist/collection/components/kup-dialog/kup-dialog.js +467 -467
- package/dist/collection/components/kup-drawer/kup-drawer-declarations.js +10 -10
- package/dist/collection/components/kup-drawer/kup-drawer.e2e.js +9 -0
- package/dist/collection/components/kup-drawer/kup-drawer.js +383 -383
- package/dist/collection/components/kup-dropdown-button/kup-dropdown-button-declarations.js +18 -18
- package/dist/collection/components/kup-dropdown-button/kup-dropdown-button.js +800 -800
- package/dist/collection/components/kup-echart/kup-echart-declarations.js +53 -52
- package/dist/collection/components/kup-echart/kup-echart.js +1519 -1437
- package/dist/collection/components/kup-family-tree/kup-family-tree-declarations.js +15 -15
- package/dist/collection/components/kup-family-tree/kup-family-tree.js +829 -829
- package/dist/collection/components/kup-form/kup-form-declarations.js +29 -29
- package/dist/collection/components/kup-form/kup-form.js +734 -731
- package/dist/collection/components/kup-gauge/kup-gauge-declarations.js +26 -26
- package/dist/collection/components/kup-gauge/kup-gauge.js +764 -764
- package/dist/collection/components/kup-grid/kup-grid-declarations.js +10 -10
- package/dist/collection/components/kup-grid/kup-grid.js +253 -253
- package/dist/collection/components/kup-iframe/kup-iframe-declarations.js +10 -10
- package/dist/collection/components/kup-iframe/kup-iframe.js +281 -281
- package/dist/collection/components/kup-image/canvas/kup-image-canvas-declarations.js +184 -184
- package/dist/collection/components/kup-image/canvas/kup-image-canvas-helper.js +19 -19
- package/dist/collection/components/kup-image/canvas/kup-image-canvas.js +225 -225
- package/dist/collection/components/kup-image/kup-image-declarations.js +16 -16
- package/dist/collection/components/kup-image/kup-image.js +491 -491
- package/dist/collection/components/kup-image-list/kup-image-list-declarations.js +10 -10
- package/dist/collection/components/kup-image-list/kup-image-list-state.js +9 -9
- package/dist/collection/components/kup-image-list/kup-image-list.js +533 -533
- package/dist/collection/components/kup-lazy/kup-lazy-declarations.js +20 -20
- package/dist/collection/components/kup-lazy/kup-lazy.js +430 -430
- package/dist/collection/components/kup-list/kup-list-declarations.js +34 -34
- package/dist/collection/components/kup-list/kup-list-helper.js +121 -121
- package/dist/collection/components/kup-list/kup-list.js +949 -949
- package/dist/collection/components/kup-magic-box/kup-magic-box-declarations.js +23 -23
- package/dist/collection/components/kup-magic-box/kup-magic-box.js +431 -431
- package/dist/collection/components/kup-nav-bar/kup-nav-bar-declarations.js +21 -21
- package/dist/collection/components/kup-nav-bar/kup-nav-bar.js +315 -315
- package/dist/collection/components/kup-numeric-picker/kup-numeric-picker-declarations.js +16 -16
- package/dist/collection/components/kup-numeric-picker/kup-numeric-picker.js +864 -864
- package/dist/collection/components/kup-photo-frame/kup-photo-frame-declarations.js +10 -10
- package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +372 -372
- package/dist/collection/components/kup-planner/kup-planner-declarations.js +83 -76
- package/dist/collection/components/kup-planner/kup-planner-helper.js +54 -54
- package/dist/collection/components/kup-planner/kup-planner-state.js +16 -0
- package/dist/collection/components/kup-planner/kup-planner.css +2 -2
- package/dist/collection/components/kup-planner/kup-planner.js +1732 -1352
- package/dist/collection/components/kup-probe/kup-probe.js +358 -358
- package/dist/collection/components/kup-progress-bar/kup-progress-bar-declarations.js +14 -14
- package/dist/collection/components/kup-progress-bar/kup-progress-bar.js +405 -405
- package/dist/collection/components/kup-qlik/kup-qlik-declarations.js +1 -1
- package/dist/collection/components/kup-qlik/kup-qlik.js +326 -326
- package/dist/collection/components/kup-radio/kup-radio-declarations.js +12 -12
- package/dist/collection/components/kup-radio/kup-radio.js +398 -398
- package/dist/collection/components/kup-rating/kup-rating-declarations.js +11 -11
- package/dist/collection/components/kup-rating/kup-rating.js +332 -332
- package/dist/collection/components/kup-snackbar/kup-snackbar-declarations.js +13 -13
- package/dist/collection/components/kup-snackbar/kup-snackbar.js +389 -389
- package/dist/collection/components/kup-spinner/kup-spinner-declarations.js +15 -15
- package/dist/collection/components/kup-spinner/kup-spinner.js +468 -468
- package/dist/collection/components/kup-state/kup-state.js +1 -1
- package/dist/collection/components/kup-state/kup-store.js +1 -1
- package/dist/collection/components/kup-state/mock-store.js +13 -13
- package/dist/collection/components/kup-switch/kup-switch-declarations.js +12 -12
- package/dist/collection/components/kup-switch/kup-switch.js +402 -402
- package/dist/collection/components/kup-tab-bar/kup-tab-bar-declarations.js +10 -10
- package/dist/collection/components/kup-tab-bar/kup-tab-bar.js +443 -443
- package/dist/collection/components/kup-text-field/kup-text-field-declarations.js +35 -35
- package/dist/collection/components/kup-text-field/kup-text-field.js +1193 -1189
- package/dist/collection/components/kup-time-picker/kup-time-picker-declarations.js +14 -14
- package/dist/collection/components/kup-time-picker/kup-time-picker.js +921 -921
- package/dist/collection/components/kup-tree/kup-tree-declarations.js +43 -43
- package/dist/collection/components/kup-tree/kup-tree-faker.js +305 -305
- package/dist/collection/components/kup-tree/kup-tree-state.js +15 -15
- package/dist/collection/components/kup-tree/kup-tree.js +2479 -2479
- package/dist/collection/f-components/f-button/f-button-declarations.js +17 -17
- package/dist/collection/f-components/f-button/f-button.js +91 -91
- package/dist/collection/f-components/f-cell/f-cell-declarations.js +158 -158
- package/dist/collection/f-components/f-cell/f-cell.js +435 -429
- package/dist/collection/f-components/f-checkbox/f-checkbox-declarations.js +1 -1
- package/dist/collection/f-components/f-checkbox/f-checkbox.js +16 -16
- package/dist/collection/f-components/f-chip/f-chip-declarations.js +15 -15
- package/dist/collection/f-components/f-chip/f-chip.js +101 -101
- package/dist/collection/f-components/f-image/f-image-declarations.js +8 -8
- package/dist/collection/f-components/f-image/f-image.js +100 -100
- package/dist/collection/f-components/f-paginator/f-paginator-declarations.js +5 -5
- package/dist/collection/f-components/f-paginator/f-paginator-utils.js +28 -28
- package/dist/collection/f-components/f-paginator/f-paginator.js +86 -86
- package/dist/collection/f-components/f-switch/f-switch-declarations.js +1 -1
- package/dist/collection/f-components/f-switch/f-switch.js +12 -12
- package/dist/collection/f-components/f-text-field/f-text-field-declarations.js +1 -1
- package/dist/collection/f-components/f-text-field/f-text-field-mdc.js +29 -29
- package/dist/collection/f-components/f-text-field/f-text-field.js +151 -151
- package/dist/collection/managers/kup-data/kup-data-cell-helper.js +86 -86
- package/dist/collection/managers/kup-data/kup-data-column-helper.js +300 -300
- package/dist/collection/managers/kup-data/kup-data-declarations.js +10 -10
- package/dist/collection/managers/kup-data/kup-data-node-helper.js +165 -165
- package/dist/collection/managers/kup-data/kup-data-row-helper.js +28 -28
- package/dist/collection/managers/kup-data/kup-data.js +499 -499
- package/dist/collection/managers/kup-dates/kup-dates-declarations.js +43 -43
- package/dist/collection/managers/kup-dates/kup-dates.js +654 -654
- package/dist/collection/managers/kup-debug/kup-debug-declarations.js +20 -20
- package/dist/collection/managers/kup-debug/kup-debug.js +670 -670
- package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position-declarations.js +27 -27
- package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js +244 -244
- package/dist/collection/managers/kup-interact/kup-interact-declarations.js +49 -49
- package/dist/collection/managers/kup-interact/kup-interact.js +397 -397
- package/dist/collection/managers/kup-language/kup-language-declarations.js +211 -211
- package/dist/collection/managers/kup-language/kup-language.js +151 -151
- package/dist/collection/managers/kup-manager/kup-manager-declarations.js +1 -1
- package/dist/collection/managers/kup-manager/kup-manager.js +303 -303
- package/dist/collection/managers/kup-math/kup-math-declarations.js +13 -13
- package/dist/collection/managers/kup-math/kup-math-helper.js +39 -39
- package/dist/collection/managers/kup-math/kup-math.js +413 -413
- package/dist/collection/managers/kup-objects/kup-objects-declarations.js +1 -1
- package/dist/collection/managers/kup-objects/kup-objects.js +387 -387
- package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.js +10 -10
- package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover.js +334 -334
- package/dist/collection/managers/kup-search/kup-search-declarations.js +1 -1
- package/dist/collection/managers/kup-search/kup-search.js +75 -75
- package/dist/collection/managers/kup-theme/kup-theme-declarations.js +177 -177
- package/dist/collection/managers/kup-theme/kup-theme.js +715 -715
- package/dist/collection/managers/kup-toolbar/kup-toolbar-declarations.js +9 -9
- package/dist/collection/managers/kup-toolbar/kup-toolbar.js +111 -111
- package/dist/collection/managers/kup-tooltip/kup-tooltip-declarations.js +1 -1
- package/dist/collection/managers/kup-tooltip/kup-tooltip.js +229 -229
- package/dist/collection/types/GenericTypes.js +54 -54
- package/dist/collection/utils/cell-utils.js +156 -156
- package/dist/collection/utils/filters/filters-column-menu.js +360 -360
- package/dist/collection/utils/filters/filters-declarations.js +25 -25
- package/dist/collection/utils/filters/filters-rows.js +238 -238
- package/dist/collection/utils/filters/filters-tree-items.js +117 -117
- package/dist/collection/utils/filters/filters.js +287 -287
- package/dist/collection/utils/kup-column-menu/kup-column-menu-declarations.js +20 -20
- package/dist/collection/utils/kup-column-menu/kup-column-menu.js +751 -751
- package/dist/collection/utils/utils.js +84 -80
- package/dist/collection/variables/GenericVariables.js +4 -4
- package/dist/components/kup-accordion.js +355 -355
- package/dist/components/kup-autocomplete2.js +31821 -31763
- package/dist/components/kup-box2.js +1463 -1405
- package/dist/components/kup-calendar.js +9788 -10280
- package/dist/components/kup-card.js +1 -1
- package/dist/components/kup-cell.js +325 -325
- package/dist/components/kup-chart.js +1 -1
- package/dist/components/kup-checkbox.js +1 -1
- package/dist/components/kup-chip.js +1 -1
- package/dist/components/kup-color-picker.js +1 -1
- package/dist/components/kup-combobox.js +1 -1
- package/dist/components/kup-dash-list.js +276 -276
- package/dist/components/kup-dash2.js +220 -220
- package/dist/components/kup-dashboard.js +549 -549
- package/dist/components/kup-data-table.js +1 -1
- package/dist/components/kup-date-picker.js +1 -1
- package/dist/components/kup-dialog.js +1 -1
- package/dist/components/kup-drawer.js +295 -295
- package/dist/components/kup-dropdown-button.js +1 -1
- package/dist/components/kup-echart2.js +7395 -6765
- package/dist/components/kup-family-tree.js +604 -604
- package/dist/components/kup-form.js +1 -1
- package/dist/components/kup-gauge.js +1 -1
- package/dist/components/kup-grid2.js +251 -251
- package/dist/components/kup-iframe.js +249 -249
- package/dist/components/kup-image-list.js +407 -407
- package/dist/components/kup-image.js +1 -1
- package/dist/components/kup-lazy.js +344 -344
- package/dist/components/kup-list.js +1 -1
- package/dist/components/kup-magic-box.js +461 -461
- package/dist/components/kup-nav-bar.js +284 -284
- package/dist/components/kup-numeric-picker.js +529 -529
- package/dist/components/kup-photo-frame.js +300 -300
- package/dist/components/kup-planner.js +1376 -1207
- package/dist/components/kup-probe.js +399 -399
- package/dist/components/kup-progress-bar.js +1 -1
- package/dist/components/kup-qlik.js +296 -296
- package/dist/components/kup-radio.js +1 -1
- package/dist/components/kup-rating.js +1 -1
- package/dist/components/kup-snackbar.js +273 -273
- package/dist/components/kup-spinner.js +1 -1
- package/dist/components/kup-switch.js +1 -1
- package/dist/components/kup-tab-bar.js +1 -1
- package/dist/components/kup-text-field.js +1 -1
- package/dist/components/kup-time-picker.js +1 -1
- package/dist/components/kup-tree.js +1 -1
- package/dist/esm/{GenericVariables-665de00a.js → GenericVariables-6dfdd433.js} +3 -3
- package/dist/esm/{component-120651a0.js → component-e86c51ea.js} +81 -2
- package/dist/esm/{f-button-declarations-b1b4cac4.js → f-button-declarations-fd4965d1.js} +16 -16
- package/dist/esm/{f-button-024f0cfe.js → f-button-e0e6f65f.js} +99 -99
- package/dist/esm/{f-cell-90240a8c.js → f-cell-359dfe28.js} +478 -472
- package/dist/esm/{f-checkbox-9b3f5f5b.js → f-checkbox-91358c27.js} +23 -23
- package/dist/esm/{f-chip-2238ad43.js → f-chip-0fd043b4.js} +125 -125
- package/dist/esm/{f-image-f2e9bf79.js → f-image-b853b0cc.js} +107 -107
- package/dist/esm/{f-paginator-utils-8cb3c023.js → f-paginator-utils-124c146a.js} +1548 -1548
- package/dist/esm/{f-text-field-d231982c.js → f-text-field-92bb3a1f.js} +172 -172
- package/dist/esm/{f-text-field-mdc-cee583ea.js → f-text-field-mdc-a1b4a919.js} +27 -28
- package/dist/esm/{index-8bd38435.js → index-bb15ce14.js} +93 -25
- package/dist/esm/ketchup.js +4 -4
- package/dist/esm/kup-accordion.entry.js +199 -200
- package/dist/esm/kup-autocomplete_27.entry.js +17557 -17508
- package/dist/esm/kup-box.entry.js +1289 -1232
- package/dist/esm/kup-calendar.entry.js +9557 -10050
- package/dist/esm/kup-cell.entry.js +172 -172
- package/dist/esm/kup-dash-list.entry.js +106 -106
- package/dist/esm/kup-dash_2.entry.js +162 -162
- package/dist/esm/kup-dashboard.entry.js +400 -401
- package/dist/esm/kup-drawer.entry.js +138 -138
- package/dist/esm/kup-echart.entry.js +7228 -6598
- package/dist/esm/kup-family-tree.entry.js +439 -439
- package/dist/esm/kup-iframe.entry.js +94 -94
- package/dist/esm/kup-image-list.entry.js +255 -256
- package/dist/esm/kup-lazy.entry.js +186 -186
- package/dist/esm/kup-magic-box.entry.js +298 -298
- package/dist/esm/{kup-manager-d1da769e.js → kup-manager-1e6ea451.js} +7288 -7287
- package/dist/esm/kup-nav-bar.entry.js +130 -130
- package/dist/esm/kup-numeric-picker.entry.js +367 -368
- package/dist/esm/kup-photo-frame.entry.js +144 -144
- package/dist/esm/kup-planner.entry.js +1185 -1027
- package/dist/esm/kup-probe.entry.js +246 -246
- package/dist/esm/kup-qlik.entry.js +138 -138
- package/dist/esm/kup-snackbar.entry.js +116 -116
- package/dist/esm/loader.js +4 -4
- package/dist/ketchup/ketchup.esm.js +1 -1
- package/dist/ketchup/{p-3cf64473.js → p-0143e942.js} +1 -1
- package/dist/ketchup/{p-5f3680f2.js → p-1ca9aece.js} +1 -1
- package/dist/ketchup/p-1cd5785e.entry.js +9 -0
- package/dist/ketchup/{p-410c102a.js → p-2ac2c05e.js} +1 -1
- package/dist/ketchup/{p-8b46e7ce.js → p-349d4715.js} +1 -1
- package/dist/ketchup/{p-83435e6c.entry.js → p-374f867e.entry.js} +1 -1
- package/dist/ketchup/{p-c42b80c1.entry.js → p-41c00681.entry.js} +1 -1
- package/dist/ketchup/p-5dbd4402.entry.js +1 -0
- package/dist/ketchup/{p-89743989.entry.js → p-620faa59.entry.js} +1 -1
- package/dist/ketchup/{p-10d84b1b.js → p-6507e9eb.js} +7 -6
- package/dist/ketchup/{p-a84f1d24.entry.js → p-6837f725.entry.js} +1 -1
- package/dist/ketchup/p-6d46cbb0.js +30 -0
- package/dist/ketchup/{p-e1f1e661.entry.js → p-6e79b764.entry.js} +1 -1
- package/dist/ketchup/{p-1ad628fb.entry.js → p-818a4a09.entry.js} +1 -1
- package/dist/ketchup/p-81e20baa.entry.js +1 -0
- package/dist/ketchup/p-85d6bb1f.entry.js +1 -0
- package/dist/ketchup/p-8c1804d7.entry.js +1 -0
- package/dist/ketchup/{p-163b18b9.entry.js → p-ad919f87.entry.js} +1 -1
- package/dist/ketchup/{p-651d89c8.entry.js → p-adad6804.entry.js} +1 -1
- package/dist/ketchup/{p-37067ee6.entry.js → p-adebe276.entry.js} +1 -1
- package/dist/ketchup/p-b5deb573.js +2 -0
- package/dist/ketchup/{p-f876125d.entry.js → p-b73b3b52.entry.js} +1 -1
- package/dist/ketchup/{p-0d7d59c7.entry.js → p-ba0c4019.entry.js} +1 -1
- package/dist/ketchup/p-c010483d.entry.js +25 -0
- package/dist/ketchup/p-c1b10c9c.entry.js +1 -0
- package/dist/ketchup/{p-063d4c27.entry.js → p-c28be862.entry.js} +1 -1
- package/dist/ketchup/p-c6088459.entry.js +39 -0
- package/dist/ketchup/{p-43b67de4.entry.js → p-cf24193b.entry.js} +1 -1
- package/dist/ketchup/p-e646523d.js +1 -0
- package/dist/ketchup/p-e8977116.entry.js +1 -0
- package/dist/ketchup/{p-27a56c87.js → p-fb03f2f5.js} +2 -2
- package/dist/ketchup/{p-eda7f130.js → p-fb29ba2a.js} +1 -1
- package/dist/ketchup/{p-9f9b6656.js → p-fd1323da.js} +1 -1
- package/dist/loader/index.d.ts +1 -1
- package/dist/types/components/kup-accordion/kup-accordion-declarations.d.ts +20 -20
- package/dist/types/components/kup-accordion/kup-accordion.d.ts +80 -80
- package/dist/types/components/kup-autocomplete/kup-autocomplete-declarations.d.ts +35 -35
- package/dist/types/components/kup-autocomplete/kup-autocomplete.d.ts +119 -119
- package/dist/types/components/kup-badge/kup-badge-declarations.d.ts +9 -9
- package/dist/types/components/kup-badge/kup-badge.d.ts +51 -51
- package/dist/types/components/kup-box/kup-box-declarations.d.ts +113 -113
- package/dist/types/components/kup-box/kup-box-state.d.ts +10 -10
- package/dist/types/components/kup-box/kup-box.d.ts +270 -270
- package/dist/types/components/kup-button/kup-button-declarations.d.ts +24 -24
- package/dist/types/components/kup-button/kup-button.d.ts +111 -111
- package/dist/types/components/kup-button-list/kup-button-list-declarations.d.ts +24 -24
- package/dist/types/components/kup-button-list/kup-button-list.d.ts +82 -82
- package/dist/types/components/kup-calendar/kup-calendar-declarations.d.ts +70 -70
- package/dist/types/components/kup-calendar/kup-calendar.d.ts +100 -100
- package/dist/types/components/kup-card/box/kup-card-box.d.ts +50 -50
- package/dist/types/components/kup-card/built-in/kup-card-built-in.d.ts +39 -39
- package/dist/types/components/kup-card/built-in/kup-card-calendar.d.ts +2 -2
- package/dist/types/components/kup-card/built-in/kup-card-clock.d.ts +2 -2
- package/dist/types/components/kup-card/built-in/kup-card-column-drop-menu.d.ts +3 -3
- package/dist/types/components/kup-card/built-in/kup-card-message-box.d.ts +3 -3
- package/dist/types/components/kup-card/built-in/kup-card-numeric.d.ts +2 -2
- package/dist/types/components/kup-card/collapsible/kup-card-collapsible.d.ts +14 -14
- package/dist/types/components/kup-card/dialog/kup-card-dialog.d.ts +44 -44
- package/dist/types/components/kup-card/free/kup-card-free.d.ts +14 -14
- package/dist/types/components/kup-card/kup-card-declarations.d.ts +236 -236
- package/dist/types/components/kup-card/kup-card-helper.d.ts +27 -27
- package/dist/types/components/kup-card/kup-card.d.ts +159 -159
- package/dist/types/components/kup-card/scalable/kup-card-scalable.d.ts +56 -56
- package/dist/types/components/kup-card/standard/kup-card-standard.d.ts +92 -92
- package/dist/types/components/kup-cell/kup-cell-declarations.d.ts +10 -10
- package/dist/types/components/kup-cell/kup-cell.d.ts +67 -67
- package/dist/types/components/kup-chart/kup-chart-builder.d.ts +7 -7
- package/dist/types/components/kup-chart/kup-chart-declarations.d.ts +135 -135
- package/dist/types/components/kup-chart/kup-chart.d.ts +170 -170
- package/dist/types/components/kup-checkbox/kup-checkbox-declarations.d.ts +17 -17
- package/dist/types/components/kup-checkbox/kup-checkbox.d.ts +85 -85
- package/dist/types/components/kup-chip/kup-chip-declarations.d.ts +22 -22
- package/dist/types/components/kup-chip/kup-chip.d.ts +89 -89
- package/dist/types/components/kup-color-picker/kup-color-picker-declarations.d.ts +15 -15
- package/dist/types/components/kup-color-picker/kup-color-picker.d.ts +89 -89
- package/dist/types/components/kup-combobox/kup-combobox-declarations.d.ts +24 -24
- package/dist/types/components/kup-combobox/kup-combobox.d.ts +95 -95
- package/dist/types/components/kup-dash/kup-dash.d.ts +33 -33
- package/dist/types/components/kup-dash-list/kup-dash-list.d.ts +22 -22
- package/dist/types/components/kup-dashboard/kup-dashboard-declarations.d.ts +61 -61
- package/dist/types/components/kup-dashboard/kup-dashboard.d.ts +80 -80
- package/dist/types/components/kup-data-table/kup-data-table-declarations.d.ts +258 -254
- package/dist/types/components/kup-data-table/kup-data-table-helper.d.ts +25 -25
- package/dist/types/components/kup-data-table/kup-data-table-state.d.ts +36 -36
- package/dist/types/components/kup-data-table/kup-data-table.d.ts +452 -444
- package/dist/types/components/kup-date-picker/kup-date-picker-declarations.d.ts +20 -20
- package/dist/types/components/kup-date-picker/kup-date-picker.d.ts +110 -110
- package/dist/types/components/kup-dialog/kup-dialog-declarations.d.ts +26 -26
- package/dist/types/components/kup-dialog/kup-dialog.d.ts +77 -77
- package/dist/types/components/kup-drawer/kup-drawer-declarations.d.ts +9 -9
- package/dist/types/components/kup-drawer/kup-drawer.d.ts +74 -74
- package/dist/types/components/kup-dropdown-button/kup-dropdown-button-declarations.d.ts +21 -21
- package/dist/types/components/kup-dropdown-button/kup-dropdown-button.d.ts +161 -161
- package/dist/types/components/kup-echart/kup-echart-declarations.d.ts +63 -62
- package/dist/types/components/kup-echart/kup-echart.d.ts +111 -111
- package/dist/types/components/kup-family-tree/kup-family-tree-declarations.d.ts +38 -38
- package/dist/types/components/kup-family-tree/kup-family-tree.d.ts +87 -87
- package/dist/types/components/kup-form/kup-form-declarations.d.ts +64 -64
- package/dist/types/components/kup-form/kup-form.d.ts +83 -83
- package/dist/types/components/kup-gauge/kup-gauge-declarations.d.ts +25 -25
- package/dist/types/components/kup-gauge/kup-gauge.d.ts +147 -147
- package/dist/types/components/kup-grid/kup-grid-declarations.d.ts +9 -9
- package/dist/types/components/kup-grid/kup-grid.d.ts +48 -48
- package/dist/types/components/kup-iframe/kup-iframe-declarations.d.ts +9 -9
- package/dist/types/components/kup-iframe/kup-iframe.d.ts +49 -49
- package/dist/types/components/kup-image/canvas/kup-image-canvas-declarations.d.ts +23 -23
- package/dist/types/components/kup-image/canvas/kup-image-canvas-helper.d.ts +2 -2
- package/dist/types/components/kup-image/canvas/kup-image-canvas.d.ts +28 -28
- package/dist/types/components/kup-image/kup-image-declarations.d.ts +19 -19
- package/dist/types/components/kup-image/kup-image.d.ts +103 -103
- package/dist/types/components/kup-image-list/kup-image-list-declarations.d.ts +14 -14
- package/dist/types/components/kup-image-list/kup-image-list-state.d.ts +6 -6
- package/dist/types/components/kup-image-list/kup-image-list.d.ts +73 -73
- package/dist/types/components/kup-lazy/kup-lazy-declarations.d.ts +18 -18
- package/dist/types/components/kup-lazy/kup-lazy.d.ts +78 -78
- package/dist/types/components/kup-list/kup-list-declarations.d.ts +48 -48
- package/dist/types/components/kup-list/kup-list-helper.d.ts +6 -6
- package/dist/types/components/kup-list/kup-list.d.ts +128 -128
- package/dist/types/components/kup-magic-box/kup-magic-box-declarations.d.ts +21 -21
- package/dist/types/components/kup-magic-box/kup-magic-box.d.ts +65 -65
- package/dist/types/components/kup-nav-bar/kup-nav-bar-declarations.d.ts +19 -19
- package/dist/types/components/kup-nav-bar/kup-nav-bar.d.ts +65 -65
- package/dist/types/components/kup-numeric-picker/kup-numeric-picker-declarations.d.ts +19 -19
- package/dist/types/components/kup-numeric-picker/kup-numeric-picker.d.ts +121 -121
- package/dist/types/components/kup-photo-frame/kup-photo-frame-declarations.d.ts +9 -9
- package/dist/types/components/kup-photo-frame/kup-photo-frame.d.ts +61 -61
- package/dist/types/components/kup-planner/kup-planner-declarations.d.ts +127 -106
- package/dist/types/components/kup-planner/kup-planner-helper.d.ts +6 -6
- package/dist/types/components/kup-planner/kup-planner-state.d.ts +13 -0
- package/dist/types/components/kup-planner/kup-planner.d.ts +266 -212
- package/dist/types/components/kup-probe/kup-probe.d.ts +72 -72
- package/dist/types/components/kup-progress-bar/kup-progress-bar-declarations.d.ts +13 -13
- package/dist/types/components/kup-progress-bar/kup-progress-bar.d.ts +69 -69
- package/dist/types/components/kup-qlik/kup-qlik-declarations.d.ts +19 -19
- package/dist/types/components/kup-qlik/kup-qlik.d.ts +100 -100
- package/dist/types/components/kup-radio/kup-radio-declarations.d.ts +23 -23
- package/dist/types/components/kup-radio/kup-radio.d.ts +80 -80
- package/dist/types/components/kup-rating/kup-rating-declarations.d.ts +14 -14
- package/dist/types/components/kup-rating/kup-rating.d.ts +62 -62
- package/dist/types/components/kup-snackbar/kup-snackbar-declarations.d.ts +12 -12
- package/dist/types/components/kup-snackbar/kup-snackbar.d.ts +84 -84
- package/dist/types/components/kup-spinner/kup-spinner-declarations.d.ts +14 -14
- package/dist/types/components/kup-spinner/kup-spinner.d.ts +79 -79
- package/dist/types/components/kup-state/kup-state.d.ts +3 -3
- package/dist/types/components/kup-state/kup-store.d.ts +4 -4
- package/dist/types/components/kup-state/mock-store.d.ts +8 -8
- package/dist/types/components/kup-switch/kup-switch-declarations.d.ts +15 -15
- package/dist/types/components/kup-switch/kup-switch.d.ts +80 -80
- package/dist/types/components/kup-tab-bar/kup-tab-bar-declarations.d.ts +21 -21
- package/dist/types/components/kup-tab-bar/kup-tab-bar.d.ts +77 -77
- package/dist/types/components/kup-text-field/kup-text-field-declarations.d.ts +38 -38
- package/dist/types/components/kup-text-field/kup-text-field.d.ts +253 -253
- package/dist/types/components/kup-time-picker/kup-time-picker-declarations.d.ts +17 -17
- package/dist/types/components/kup-time-picker/kup-time-picker.d.ts +125 -125
- package/dist/types/components/kup-tree/kup-tree-declarations.d.ts +97 -97
- package/dist/types/components/kup-tree/kup-tree-faker.d.ts +54 -54
- package/dist/types/components/kup-tree/kup-tree-state.d.ts +14 -14
- package/dist/types/components/kup-tree/kup-tree.d.ts +362 -362
- package/dist/types/components.d.ts +112 -14
- package/dist/types/f-components/f-button/f-button-declarations.d.ts +41 -41
- package/dist/types/f-components/f-button/f-button.d.ts +3 -3
- package/dist/types/f-components/f-cell/f-cell-declarations.d.ts +162 -162
- package/dist/types/f-components/f-cell/f-cell.d.ts +3 -3
- package/dist/types/f-components/f-checkbox/f-checkbox-declarations.d.ts +15 -15
- package/dist/types/f-components/f-checkbox/f-checkbox.d.ts +3 -3
- package/dist/types/f-components/f-chip/f-chip-declarations.d.ts +29 -29
- package/dist/types/f-components/f-chip/f-chip.d.ts +3 -3
- package/dist/types/f-components/f-image/f-image-declarations.d.ts +36 -36
- package/dist/types/f-components/f-image/f-image.d.ts +3 -3
- package/dist/types/f-components/f-paginator/f-paginator-declarations.d.ts +22 -22
- package/dist/types/f-components/f-paginator/f-paginator-utils.d.ts +2 -2
- package/dist/types/f-components/f-paginator/f-paginator.d.ts +3 -3
- package/dist/types/f-components/f-switch/f-switch-declarations.d.ts +14 -14
- package/dist/types/f-components/f-switch/f-switch.d.ts +3 -3
- package/dist/types/f-components/f-text-field/f-text-field-declarations.d.ts +42 -42
- package/dist/types/f-components/f-text-field/f-text-field-mdc.d.ts +6 -6
- package/dist/types/f-components/f-text-field/f-text-field.d.ts +3 -3
- package/dist/types/managers/kup-data/kup-data-cell-helper.d.ts +31 -31
- package/dist/types/managers/kup-data/kup-data-column-helper.d.ts +39 -39
- package/dist/types/managers/kup-data/kup-data-declarations.d.ts +173 -173
- package/dist/types/managers/kup-data/kup-data-node-helper.d.ts +44 -44
- package/dist/types/managers/kup-data/kup-data-row-helper.d.ts +14 -14
- package/dist/types/managers/kup-data/kup-data.d.ts +86 -86
- package/dist/types/managers/kup-dates/kup-dates-declarations.d.ts +39 -39
- package/dist/types/managers/kup-dates/kup-dates.d.ts +207 -207
- package/dist/types/managers/kup-debug/kup-debug-declarations.d.ts +38 -38
- package/dist/types/managers/kup-debug/kup-debug.d.ts +95 -95
- package/dist/types/managers/kup-dynamic-position/kup-dynamic-position-declarations.d.ts +50 -50
- package/dist/types/managers/kup-dynamic-position/kup-dynamic-position.d.ts +61 -61
- package/dist/types/managers/kup-interact/kup-interact-declarations.d.ts +128 -128
- package/dist/types/managers/kup-interact/kup-interact.d.ts +105 -105
- package/dist/types/managers/kup-language/kup-language-declarations.d.ts +225 -225
- package/dist/types/managers/kup-language/kup-language.d.ts +52 -52
- package/dist/types/managers/kup-manager/kup-manager-declarations.d.ts +162 -162
- package/dist/types/managers/kup-manager/kup-manager.d.ts +95 -95
- package/dist/types/managers/kup-math/kup-math-declarations.d.ts +33 -33
- package/dist/types/managers/kup-math/kup-math-helper.d.ts +17 -17
- package/dist/types/managers/kup-math/kup-math.d.ts +147 -146
- package/dist/types/managers/kup-objects/kup-objects-declarations.d.ts +15 -15
- package/dist/types/managers/kup-objects/kup-objects.d.ts +210 -210
- package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.d.ts +28 -28
- package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover.d.ts +62 -62
- package/dist/types/managers/kup-search/kup-search-declarations.d.ts +7 -7
- package/dist/types/managers/kup-search/kup-search.d.ts +20 -20
- package/dist/types/managers/kup-theme/kup-theme-declarations.d.ts +185 -185
- package/dist/types/managers/kup-theme/kup-theme.d.ts +127 -127
- package/dist/types/managers/kup-toolbar/kup-toolbar-declarations.d.ts +8 -8
- package/dist/types/managers/kup-toolbar/kup-toolbar.d.ts +39 -39
- package/dist/types/managers/kup-tooltip/kup-tooltip-declarations.d.ts +8 -8
- package/dist/types/managers/kup-tooltip/kup-tooltip.d.ts +51 -51
- package/dist/types/stencil-public-runtime.d.ts +3 -0
- package/dist/types/types/GenericTypes.d.ts +110 -110
- package/dist/types/utils/cell-utils.d.ts +10 -10
- package/dist/types/utils/filters/filters-column-menu.d.ts +96 -96
- package/dist/types/utils/filters/filters-declarations.d.ts +39 -39
- package/dist/types/utils/filters/filters-rows.d.ts +30 -30
- package/dist/types/utils/filters/filters-tree-items.d.ts +19 -19
- package/dist/types/utils/filters/filters.d.ts +72 -72
- package/dist/types/utils/kup-column-menu/kup-column-menu-declarations.d.ts +19 -19
- package/dist/types/utils/kup-column-menu/kup-column-menu.d.ts +142 -142
- package/dist/types/utils/utils.d.ts +37 -35
- package/dist/types/variables/GenericVariables.d.ts +4 -4
- package/package.json +21 -16
- package/dist/cjs/tslib.es6-386654de.js +0 -87
- package/dist/esm/tslib.es6-8c2af864.js +0 -82
- package/dist/ketchup/p-0bcda0e2.entry.js +0 -1
- package/dist/ketchup/p-33aff1ca.entry.js +0 -25
- package/dist/ketchup/p-3432ebaf.entry.js +0 -9
- package/dist/ketchup/p-35b29b22.entry.js +0 -1
- package/dist/ketchup/p-36dac88e.js +0 -30
- package/dist/ketchup/p-39a55c47.js +0 -1
- package/dist/ketchup/p-489d55ff.entry.js +0 -39
- package/dist/ketchup/p-73c8d651.entry.js +0 -1
- package/dist/ketchup/p-7f59211b.js +0 -1
- package/dist/ketchup/p-9dcfbb1e.js +0 -2
- package/dist/ketchup/p-b2fd2dbf.entry.js +0 -1
- package/dist/ketchup/p-d1b050d0.entry.js +0 -27
- package/dist/ketchup/p-d6ea709e.entry.js +0 -1
- /package/dist/ketchup/{p-6c77a36c.js → p-0fd98ab4.js} +0 -0
- /package/dist/ketchup/{p-97e8ea42.js → p-ad2e21d2.js} +0 -0
|
@@ -1,413 +1,413 @@
|
|
|
1
|
-
import numeral from 'numeral';
|
|
2
|
-
import 'numeral/locales/chs';
|
|
3
|
-
import 'numeral/locales/es';
|
|
4
|
-
import 'numeral/locales/fr';
|
|
5
|
-
import 'numeral/locales/it';
|
|
6
|
-
import 'numeral/locales/pl';
|
|
7
|
-
import 'numeral/locales/ru';
|
|
8
|
-
import { KupDebugCategory } from '../kup-debug/kup-debug-declarations';
|
|
9
|
-
import { KupMathLocales, } from './kup-math-declarations';
|
|
10
|
-
import { customFormula, normalDistributionFormula } from './kup-math-helper';
|
|
11
|
-
import { getRegExpFromString } from '../../utils/utils';
|
|
12
|
-
const dom = document.documentElement;
|
|
13
|
-
/**
|
|
14
|
-
* Handles mathematical operations and number formatting/conversion.
|
|
15
|
-
* @module KupMath
|
|
16
|
-
*/
|
|
17
|
-
export class KupMath {
|
|
18
|
-
/**
|
|
19
|
-
* Initializes KupMath.
|
|
20
|
-
*/
|
|
21
|
-
constructor(locale) {
|
|
22
|
-
this.formulas = {
|
|
23
|
-
custom(formula, row) {
|
|
24
|
-
return customFormula(formula, row);
|
|
25
|
-
},
|
|
26
|
-
normalDistribution(average, variance, x) {
|
|
27
|
-
return normalDistributionFormula(average, variance, x);
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
this.numbers = {
|
|
31
|
-
toLocaleString(value) {
|
|
32
|
-
const maximumFractionDigits = 14;
|
|
33
|
-
if (value == null || value == '')
|
|
34
|
-
return value;
|
|
35
|
-
return Number(value).toLocaleString(this.locale, {
|
|
36
|
-
maximumFractionDigits: maximumFractionDigits,
|
|
37
|
-
});
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
this.locale = locale ? locale : KupMathLocales.en;
|
|
41
|
-
this.managedComponents = new Set();
|
|
42
|
-
this.numeral = numeral;
|
|
43
|
-
this.numeral.locale(this.locale);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Sets the locale of the numeral instance. The locales available must be tied to the KupDates locales.
|
|
47
|
-
* @param {KupMathLocales} locale - Numeraljs locale string.
|
|
48
|
-
*/
|
|
49
|
-
setLocale(locale) {
|
|
50
|
-
if (!Object.values(KupMathLocales).includes(locale)) {
|
|
51
|
-
locale = KupMathLocales.en;
|
|
52
|
-
dom.ketchup.debug.logMessage('kup-math', 'Invalid locale (' + locale + ')! Defaulting to english.', KupDebugCategory.WARNING);
|
|
53
|
-
}
|
|
54
|
-
this.locale = locale;
|
|
55
|
-
this.numeral.locale(locale);
|
|
56
|
-
this.managedComponents.forEach(function (comp) {
|
|
57
|
-
if (comp.isConnected) {
|
|
58
|
-
comp.refresh();
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
document.dispatchEvent(new CustomEvent('kup-math-localechange'));
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Calculates the normal distribution on a set of values.
|
|
65
|
-
* @param {string[] | number[] | String[]} values - Array of values.
|
|
66
|
-
* @param {number} precision - Number of iterations to run (points). When not specified, defaults to 201.
|
|
67
|
-
* @returns {number[][]} Returns an array of arrays containing numbers, which are the representation of the calculated normal distribution.
|
|
68
|
-
*/
|
|
69
|
-
normalDistribution(values, precision) {
|
|
70
|
-
if (!precision) {
|
|
71
|
-
precision = 201;
|
|
72
|
-
}
|
|
73
|
-
const data = [];
|
|
74
|
-
let max = Math.max.apply(Math, values);
|
|
75
|
-
let min = Math.min.apply(Math, values);
|
|
76
|
-
let average = 0;
|
|
77
|
-
let variance = 0;
|
|
78
|
-
for (let index = 0; index < values.length; index++) {
|
|
79
|
-
const value = values[index];
|
|
80
|
-
average += this.numberify(value);
|
|
81
|
-
}
|
|
82
|
-
average = average / values.length;
|
|
83
|
-
for (let index = 0; index < values.length; index++) {
|
|
84
|
-
const value = values[index];
|
|
85
|
-
variance += Math.pow(this.numberify(value) - average, 2);
|
|
86
|
-
}
|
|
87
|
-
variance = variance / values.length;
|
|
88
|
-
if (!variance) {
|
|
89
|
-
variance = 0.001;
|
|
90
|
-
}
|
|
91
|
-
max = max + ((average / 100) * 50 + (variance / average) * 3);
|
|
92
|
-
min = min - ((average / 100) * 50 + (variance / average) * 3);
|
|
93
|
-
for (let i = 0; i < precision; i++) {
|
|
94
|
-
const x = ((max - min) * i) / precision + min;
|
|
95
|
-
data.push([
|
|
96
|
-
x,
|
|
97
|
-
this.formulas.normalDistribution(average, variance, x),
|
|
98
|
-
]);
|
|
99
|
-
}
|
|
100
|
-
return data;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Formats the input number with the specified format of the currently set locale.
|
|
104
|
-
* @param {string | String | number} input - Input number which will be automatically "numberified".
|
|
105
|
-
* @param {string} format - Desired format. Defaults to '0,0.00' (i.e.: 2,000,000.51).
|
|
106
|
-
* @param {boolean} inputIsLocalized Numberifies assuming the input string is in the current KupMath locale's format.
|
|
107
|
-
* @returns {string} Formatted number.
|
|
108
|
-
*/
|
|
109
|
-
format(input, format, inputIsLocalized) {
|
|
110
|
-
const n = this.numberify(input, inputIsLocalized);
|
|
111
|
-
if (!format) {
|
|
112
|
-
const positiveN = Math.abs(n);
|
|
113
|
-
const decimals = positiveN - Math.floor(positiveN);
|
|
114
|
-
if (decimals) {
|
|
115
|
-
format = '0,0.00';
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
format = '0,0';
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return this.numeral(n).format(format);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Create the pattern string for format a number
|
|
125
|
-
* @param {boolean} thousandPoint - show thousandPoint
|
|
126
|
-
* @param {number} decimals - number of decimals
|
|
127
|
-
* @returns {string} - formatter pattern
|
|
128
|
-
*/
|
|
129
|
-
createFormatPattern(thousandPoint, decimals) {
|
|
130
|
-
var format = '0';
|
|
131
|
-
if (thousandPoint) {
|
|
132
|
-
format += ',0';
|
|
133
|
-
}
|
|
134
|
-
if (decimals && decimals > 0) {
|
|
135
|
-
format += '.';
|
|
136
|
-
for (let i = 0; i < decimals; i++) {
|
|
137
|
-
format += '0';
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return format;
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Returns the decimal separator of current browser
|
|
144
|
-
* @returns {string} current decimal separator, by locale
|
|
145
|
-
*/
|
|
146
|
-
decimalSeparator() {
|
|
147
|
-
const numberWithGroupAndDecimalSeparator = 1000.1;
|
|
148
|
-
return Intl.NumberFormat(this.locale)
|
|
149
|
-
.formatToParts(numberWithGroupAndDecimalSeparator)
|
|
150
|
-
.find((part) => part.type === 'decimal').value;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Returns the group separator of current browser
|
|
154
|
-
* @returns {string} current group separator, by locale
|
|
155
|
-
*/
|
|
156
|
-
groupSeparator() {
|
|
157
|
-
const numberWithGroupAndDecimalSeparator = 1000.1;
|
|
158
|
-
return Intl.NumberFormat(this.locale)
|
|
159
|
-
.formatToParts(numberWithGroupAndDecimalSeparator)
|
|
160
|
-
.find((part) => part.type === 'group').value;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Checks if an input string matches options, for desired formatted decimal number (integer digits, decimal digits)
|
|
164
|
-
* @param {string} value the input value to check
|
|
165
|
-
* @param {NumericFieldFormatOptions} options options for customize the check
|
|
166
|
-
* @returns {RegExpMatchArray} an object from applying the regular expression for check
|
|
167
|
-
*/
|
|
168
|
-
matchNumericValueWithOptions(value, options) {
|
|
169
|
-
value = value.replace(getRegExpFromString(this.groupSeparator(), 'g'), '');
|
|
170
|
-
// see https://github.com/24eme/jquery-input-number-format.git
|
|
171
|
-
let found = undefined;
|
|
172
|
-
let integerPartSuffix = '+';
|
|
173
|
-
if (options.integer && options.integer > 0) {
|
|
174
|
-
integerPartSuffix = '{0,' + options.integer + '}';
|
|
175
|
-
}
|
|
176
|
-
let regexp = '^[0-9]' + integerPartSuffix;
|
|
177
|
-
if (options.allowNegative) {
|
|
178
|
-
regexp = '^-{0,1}[0-9]' + integerPartSuffix;
|
|
179
|
-
}
|
|
180
|
-
if (options.decimal && options.decimal > 0) {
|
|
181
|
-
regexp +=
|
|
182
|
-
'([' +
|
|
183
|
-
this.decimalSeparator() +
|
|
184
|
-
'][0-9]{0,' +
|
|
185
|
-
options.decimal +
|
|
186
|
-
'})?';
|
|
187
|
-
let regexpObj = new RegExp(regexp + '$');
|
|
188
|
-
found = value.match(regexpObj);
|
|
189
|
-
if (!found) {
|
|
190
|
-
regexp =
|
|
191
|
-
'^[' +
|
|
192
|
-
this.decimalSeparator() +
|
|
193
|
-
'][0-9]{0,' +
|
|
194
|
-
options.decimal +
|
|
195
|
-
'}';
|
|
196
|
-
regexpObj = new RegExp(regexp + '$');
|
|
197
|
-
found = value.match(regexpObj);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
let regexpObj = new RegExp(regexp + '$');
|
|
202
|
-
found = value.match(regexpObj);
|
|
203
|
-
}
|
|
204
|
-
return found;
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Returns a number from a non-specified input type between string, number, or String.
|
|
208
|
-
* @param {string | String | number} input - Input value to numberify.
|
|
209
|
-
* @param {boolean} inputIsLocalized - Numberifies assuming the input string is in the current KupMath locale's format.
|
|
210
|
-
* @param {string} type - type of number for calculate suffix
|
|
211
|
-
* @
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
: '
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
if (n === null) {
|
|
237
|
-
return NaN;
|
|
238
|
-
}
|
|
239
|
-
return n;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Returns a number from a non-specified input type between string, number, or String.
|
|
243
|
-
* If value in is null, undefined or blank, returns 0
|
|
244
|
-
* @param {string} input number as string, formatted by locale US, decimal separator . (like java decimal numbers)
|
|
245
|
-
* @param {boolean} inputIsLocalized - Numberifies assuming the input string is in the current KupMath locale's format.
|
|
246
|
-
* @param {string} type - type of number for calculate suffix
|
|
247
|
-
* @returns {number} Resulting number
|
|
248
|
-
**/
|
|
249
|
-
numberifySafe(input, inputIsLocalized, type) {
|
|
250
|
-
if (!input || input == null || input.trim() == '') {
|
|
251
|
-
input = '0';
|
|
252
|
-
}
|
|
253
|
-
return this.numberify(input, inputIsLocalized, type);
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Checks if input is a valid number
|
|
257
|
-
* @param {any} value input value to check
|
|
258
|
-
* @returns {boolean} if input value is valid number
|
|
259
|
-
*/
|
|
260
|
-
isNumber(value) {
|
|
261
|
-
//return typeof value === 'number';
|
|
262
|
-
return !isNaN(value);
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Checks if string in input is a valid formatted number
|
|
266
|
-
* @param {string} value number as string, formatted by actual browser locale
|
|
267
|
-
* @param {string} type - type of number for calculate suffix
|
|
268
|
-
* @returns {boolean} true if number string in input is a valid number
|
|
269
|
-
*/
|
|
270
|
-
isStringNumber(value, type) {
|
|
271
|
-
if (value == null || value.trim() == '') {
|
|
272
|
-
return false;
|
|
273
|
-
}
|
|
274
|
-
let tmpStr = this.formattedStringToNumberString(value, type);
|
|
275
|
-
if (this.isNumber(tmpStr)) {
|
|
276
|
-
return true;
|
|
277
|
-
}
|
|
278
|
-
return false;
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Gets number as string, formatted by locale US, decimal separator . (like java decimal numbers)
|
|
282
|
-
* @param {string} input number as string, formatted by actual browser locale (maybe)
|
|
283
|
-
* @param {string} type - type of number for calculate suffix
|
|
284
|
-
* @param {string} decSeparator - decimal serparator of input string
|
|
285
|
-
* @returns {string} number as string, formatted by locale US, decimal separator . (like java decimal numbers), without group separator
|
|
286
|
-
**/
|
|
287
|
-
formattedStringToNumberString(input, type, decSeparator) {
|
|
288
|
-
return numberStringToNumberString(input, type, decSeparator
|
|
289
|
-
function numberStringToNumberString(input, type, decFmt, kupMath) {
|
|
290
|
-
if (!input || input == null || input.trim() == '') {
|
|
291
|
-
return '';
|
|
292
|
-
}
|
|
293
|
-
let unf = kupMath.numberifySafe(input, decFmt != '.', type);
|
|
294
|
-
if (unf == null || isNaN(unf)) {
|
|
295
|
-
return input;
|
|
296
|
-
}
|
|
297
|
-
return numberToString(unf, -1, 'en-US', kupMath);
|
|
298
|
-
}
|
|
299
|
-
function numberToString(input, decimals, locale, kupMath) {
|
|
300
|
-
if (input == null) {
|
|
301
|
-
input = 0;
|
|
302
|
-
}
|
|
303
|
-
if (decimals == null || decimals == -1) {
|
|
304
|
-
decimals = kupMath.countDecimals(input);
|
|
305
|
-
}
|
|
306
|
-
let n = Number(input);
|
|
307
|
-
let f = decimals > -1
|
|
308
|
-
? {
|
|
309
|
-
minimumFractionDigits: decimals,
|
|
310
|
-
maximumFractionDigits: decimals,
|
|
311
|
-
useGrouping: false,
|
|
312
|
-
}
|
|
313
|
-
: { useGrouping: false };
|
|
314
|
-
return n.toLocaleString(locale, f);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* Gets the number of decimals for current number
|
|
319
|
-
* @param {number} value numer input
|
|
320
|
-
* @returns {number} the number of decimals
|
|
321
|
-
*/
|
|
322
|
-
countDecimals(value) {
|
|
323
|
-
var _a;
|
|
324
|
-
if (Math.floor(value) === value)
|
|
325
|
-
return 0;
|
|
326
|
-
let stringValue = value.toString().split('.')[1];
|
|
327
|
-
if (stringValue) {
|
|
328
|
-
return (_a = stringValue.length) !== null && _a !== void 0 ? _a : 0;
|
|
329
|
-
}
|
|
330
|
-
else {
|
|
331
|
-
return 0;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
/**
|
|
335
|
-
* Gets the suffix for number, by type
|
|
336
|
-
* @param {string} type - type of number for calculate suffix
|
|
337
|
-
* @returns {string} suffix for number, by type
|
|
338
|
-
**/
|
|
339
|
-
getNumericValueSuffix(type) {
|
|
340
|
-
type = type.toUpperCase();
|
|
341
|
-
let nstr = '';
|
|
342
|
-
if (type == 'P') {
|
|
343
|
-
nstr = ' %';
|
|
344
|
-
}
|
|
345
|
-
else if (type == 'VE') {
|
|
346
|
-
nstr = ' €';
|
|
347
|
-
}
|
|
348
|
-
else if (type == 'VL') {
|
|
349
|
-
nstr = ' £';
|
|
350
|
-
}
|
|
351
|
-
else if (type == 'VV') {
|
|
352
|
-
nstr = ' $';
|
|
353
|
-
}
|
|
354
|
-
return nstr;
|
|
355
|
-
}
|
|
356
|
-
/**
|
|
357
|
-
* Gets the number as string, formatted by actual browser locale, with suffix by type
|
|
358
|
-
* @param {number} input number
|
|
359
|
-
* @param {number} decimals number of significant decimal digits for output
|
|
360
|
-
* @param {string} type - type of number for calculate suffix
|
|
361
|
-
* @returns {string} number as string, formatted by actual browser locale, with suffix by type
|
|
362
|
-
**/
|
|
363
|
-
numberToFormattedString(input, decimals, type) {
|
|
364
|
-
if (input == null || isNaN(input)) {
|
|
365
|
-
return '';
|
|
366
|
-
}
|
|
367
|
-
if (decimals == null || decimals == -1) {
|
|
368
|
-
decimals = this.countDecimals(input);
|
|
369
|
-
}
|
|
370
|
-
let nstr = this.format(input, this.createFormatPattern(true, decimals));
|
|
371
|
-
nstr = nstr + this.getNumericValueSuffix(type);
|
|
372
|
-
return nstr;
|
|
373
|
-
}
|
|
374
|
-
/**
|
|
375
|
-
* Gets the number as string, formatted by actual browser locale, with suffix by type
|
|
376
|
-
* @param {string} input number as string, formatted by locale US, decimal separator . (like java decimal numbers)
|
|
377
|
-
* @param {number} decimals number of significant decimal digits for output
|
|
378
|
-
* @param {string} type - type of number for calculate suffix
|
|
379
|
-
* @param {string} decSeparator decimal separator for outpu string
|
|
380
|
-
* @returns {string} number as string, formatted by actual browser locale (or using decimal separator param), with suffix by type
|
|
381
|
-
**/
|
|
382
|
-
numberStringToFormattedString(input, decimals, type, decSeparator) {
|
|
383
|
-
let value = this.numberToFormattedString(this.numberifySafe(input), decimals, type);
|
|
384
|
-
if (!decSeparator) {
|
|
385
|
-
return value;
|
|
386
|
-
}
|
|
387
|
-
const browserDecSeparator = this.decimalSeparator();
|
|
388
|
-
if (browserDecSeparator == decSeparator) {
|
|
389
|
-
return value;
|
|
390
|
-
}
|
|
391
|
-
const browserGroupSeparator = this.groupSeparator();
|
|
392
|
-
value = value.replace(getRegExpFromString(browserGroupSeparator, 'g'), '');
|
|
393
|
-
value = value.replace(getRegExpFromString(browserDecSeparator, 'g'), decSeparator);
|
|
394
|
-
return value;
|
|
395
|
-
}
|
|
396
|
-
/**
|
|
397
|
-
* Registers a KupComponent in KupMath, in order to be properly handled whenever the locale changes.
|
|
398
|
-
* @param {any} component - The Ketchup component to be registered.
|
|
399
|
-
*/
|
|
400
|
-
register(component) {
|
|
401
|
-
this.managedComponents.add(component.rootElement ? component.rootElement : component);
|
|
402
|
-
}
|
|
403
|
-
/**
|
|
404
|
-
* Unregisters a KupComponent, so it won't be refreshed when the locale changes.
|
|
405
|
-
*
|
|
406
|
-
* @param {any} component - The component calling this function.
|
|
407
|
-
*/
|
|
408
|
-
unregister(component) {
|
|
409
|
-
if (this.managedComponents) {
|
|
410
|
-
this.managedComponents.delete(component.rootElement ? component.rootElement : component);
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
}
|
|
1
|
+
import numeral from 'numeral';
|
|
2
|
+
import 'numeral/locales/chs';
|
|
3
|
+
import 'numeral/locales/es';
|
|
4
|
+
import 'numeral/locales/fr';
|
|
5
|
+
import 'numeral/locales/it';
|
|
6
|
+
import 'numeral/locales/pl';
|
|
7
|
+
import 'numeral/locales/ru';
|
|
8
|
+
import { KupDebugCategory } from '../kup-debug/kup-debug-declarations';
|
|
9
|
+
import { KupMathLocales, } from './kup-math-declarations';
|
|
10
|
+
import { customFormula, normalDistributionFormula } from './kup-math-helper';
|
|
11
|
+
import { getRegExpFromString } from '../../utils/utils';
|
|
12
|
+
const dom = document.documentElement;
|
|
13
|
+
/**
|
|
14
|
+
* Handles mathematical operations and number formatting/conversion.
|
|
15
|
+
* @module KupMath
|
|
16
|
+
*/
|
|
17
|
+
export class KupMath {
|
|
18
|
+
/**
|
|
19
|
+
* Initializes KupMath.
|
|
20
|
+
*/
|
|
21
|
+
constructor(locale) {
|
|
22
|
+
this.formulas = {
|
|
23
|
+
custom(formula, row) {
|
|
24
|
+
return customFormula(formula, row);
|
|
25
|
+
},
|
|
26
|
+
normalDistribution(average, variance, x) {
|
|
27
|
+
return normalDistributionFormula(average, variance, x);
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
this.numbers = {
|
|
31
|
+
toLocaleString(value) {
|
|
32
|
+
const maximumFractionDigits = 14;
|
|
33
|
+
if (value == null || value == '')
|
|
34
|
+
return value;
|
|
35
|
+
return Number(value).toLocaleString(this.locale, {
|
|
36
|
+
maximumFractionDigits: maximumFractionDigits,
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
this.locale = locale ? locale : KupMathLocales.en;
|
|
41
|
+
this.managedComponents = new Set();
|
|
42
|
+
this.numeral = numeral;
|
|
43
|
+
this.numeral.locale(this.locale);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Sets the locale of the numeral instance. The locales available must be tied to the KupDates locales.
|
|
47
|
+
* @param {KupMathLocales} locale - Numeraljs locale string.
|
|
48
|
+
*/
|
|
49
|
+
setLocale(locale) {
|
|
50
|
+
if (!Object.values(KupMathLocales).includes(locale)) {
|
|
51
|
+
locale = KupMathLocales.en;
|
|
52
|
+
dom.ketchup.debug.logMessage('kup-math', 'Invalid locale (' + locale + ')! Defaulting to english.', KupDebugCategory.WARNING);
|
|
53
|
+
}
|
|
54
|
+
this.locale = locale;
|
|
55
|
+
this.numeral.locale(locale);
|
|
56
|
+
this.managedComponents.forEach(function (comp) {
|
|
57
|
+
if (comp.isConnected) {
|
|
58
|
+
comp.refresh();
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
document.dispatchEvent(new CustomEvent('kup-math-localechange'));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Calculates the normal distribution on a set of values.
|
|
65
|
+
* @param {string[] | number[] | String[]} values - Array of values.
|
|
66
|
+
* @param {number} precision - Number of iterations to run (points). When not specified, defaults to 201.
|
|
67
|
+
* @returns {number[][]} Returns an array of arrays containing numbers, which are the representation of the calculated normal distribution.
|
|
68
|
+
*/
|
|
69
|
+
normalDistribution(values, precision) {
|
|
70
|
+
if (!precision) {
|
|
71
|
+
precision = 201;
|
|
72
|
+
}
|
|
73
|
+
const data = [];
|
|
74
|
+
let max = Math.max.apply(Math, values);
|
|
75
|
+
let min = Math.min.apply(Math, values);
|
|
76
|
+
let average = 0;
|
|
77
|
+
let variance = 0;
|
|
78
|
+
for (let index = 0; index < values.length; index++) {
|
|
79
|
+
const value = values[index];
|
|
80
|
+
average += this.numberify(value);
|
|
81
|
+
}
|
|
82
|
+
average = average / values.length;
|
|
83
|
+
for (let index = 0; index < values.length; index++) {
|
|
84
|
+
const value = values[index];
|
|
85
|
+
variance += Math.pow(this.numberify(value) - average, 2);
|
|
86
|
+
}
|
|
87
|
+
variance = variance / values.length;
|
|
88
|
+
if (!variance) {
|
|
89
|
+
variance = 0.001;
|
|
90
|
+
}
|
|
91
|
+
max = max + ((average / 100) * 50 + (variance / average) * 3);
|
|
92
|
+
min = min - ((average / 100) * 50 + (variance / average) * 3);
|
|
93
|
+
for (let i = 0; i < precision; i++) {
|
|
94
|
+
const x = ((max - min) * i) / precision + min;
|
|
95
|
+
data.push([
|
|
96
|
+
x,
|
|
97
|
+
this.formulas.normalDistribution(average, variance, x),
|
|
98
|
+
]);
|
|
99
|
+
}
|
|
100
|
+
return data;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Formats the input number with the specified format of the currently set locale.
|
|
104
|
+
* @param {string | String | number} input - Input number which will be automatically "numberified".
|
|
105
|
+
* @param {string} format - Desired format. Defaults to '0,0.00' (i.e.: 2,000,000.51).
|
|
106
|
+
* @param {boolean} inputIsLocalized Numberifies assuming the input string is in the current KupMath locale's format.
|
|
107
|
+
* @returns {string} Formatted number.
|
|
108
|
+
*/
|
|
109
|
+
format(input, format, inputIsLocalized) {
|
|
110
|
+
const n = this.numberify(input, inputIsLocalized);
|
|
111
|
+
if (!format) {
|
|
112
|
+
const positiveN = Math.abs(n);
|
|
113
|
+
const decimals = positiveN - Math.floor(positiveN);
|
|
114
|
+
if (decimals) {
|
|
115
|
+
format = '0,0.00';
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
format = '0,0';
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return this.numeral(n).format(format);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Create the pattern string for format a number
|
|
125
|
+
* @param {boolean} thousandPoint - show thousandPoint
|
|
126
|
+
* @param {number} decimals - number of decimals
|
|
127
|
+
* @returns {string} - formatter pattern
|
|
128
|
+
*/
|
|
129
|
+
createFormatPattern(thousandPoint, decimals) {
|
|
130
|
+
var format = '0';
|
|
131
|
+
if (thousandPoint) {
|
|
132
|
+
format += ',0';
|
|
133
|
+
}
|
|
134
|
+
if (decimals && decimals > 0) {
|
|
135
|
+
format += '.';
|
|
136
|
+
for (let i = 0; i < decimals; i++) {
|
|
137
|
+
format += '0';
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return format;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Returns the decimal separator of current browser
|
|
144
|
+
* @returns {string} current decimal separator, by locale
|
|
145
|
+
*/
|
|
146
|
+
decimalSeparator() {
|
|
147
|
+
const numberWithGroupAndDecimalSeparator = 1000.1;
|
|
148
|
+
return Intl.NumberFormat(this.locale)
|
|
149
|
+
.formatToParts(numberWithGroupAndDecimalSeparator)
|
|
150
|
+
.find((part) => part.type === 'decimal').value;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Returns the group separator of current browser
|
|
154
|
+
* @returns {string} current group separator, by locale
|
|
155
|
+
*/
|
|
156
|
+
groupSeparator() {
|
|
157
|
+
const numberWithGroupAndDecimalSeparator = 1000.1;
|
|
158
|
+
return Intl.NumberFormat(this.locale)
|
|
159
|
+
.formatToParts(numberWithGroupAndDecimalSeparator)
|
|
160
|
+
.find((part) => part.type === 'group').value;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Checks if an input string matches options, for desired formatted decimal number (integer digits, decimal digits)
|
|
164
|
+
* @param {string} value the input value to check
|
|
165
|
+
* @param {NumericFieldFormatOptions} options options for customize the check
|
|
166
|
+
* @returns {RegExpMatchArray} an object from applying the regular expression for check
|
|
167
|
+
*/
|
|
168
|
+
matchNumericValueWithOptions(value, options) {
|
|
169
|
+
value = value.replace(getRegExpFromString(this.groupSeparator(), 'g'), '');
|
|
170
|
+
// see https://github.com/24eme/jquery-input-number-format.git
|
|
171
|
+
let found = undefined;
|
|
172
|
+
let integerPartSuffix = '+';
|
|
173
|
+
if (options.integer && options.integer > 0) {
|
|
174
|
+
integerPartSuffix = '{0,' + options.integer + '}';
|
|
175
|
+
}
|
|
176
|
+
let regexp = '^[0-9]' + integerPartSuffix;
|
|
177
|
+
if (options.allowNegative) {
|
|
178
|
+
regexp = '^-{0,1}[0-9]' + integerPartSuffix;
|
|
179
|
+
}
|
|
180
|
+
if (options.decimal && options.decimal > 0) {
|
|
181
|
+
regexp +=
|
|
182
|
+
'([' +
|
|
183
|
+
this.decimalSeparator() +
|
|
184
|
+
'][0-9]{0,' +
|
|
185
|
+
options.decimal +
|
|
186
|
+
'})?';
|
|
187
|
+
let regexpObj = new RegExp(regexp + '$');
|
|
188
|
+
found = value.match(regexpObj);
|
|
189
|
+
if (!found) {
|
|
190
|
+
regexp =
|
|
191
|
+
'^[' +
|
|
192
|
+
this.decimalSeparator() +
|
|
193
|
+
'][0-9]{0,' +
|
|
194
|
+
options.decimal +
|
|
195
|
+
'}';
|
|
196
|
+
regexpObj = new RegExp(regexp + '$');
|
|
197
|
+
found = value.match(regexpObj);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
let regexpObj = new RegExp(regexp + '$');
|
|
202
|
+
found = value.match(regexpObj);
|
|
203
|
+
}
|
|
204
|
+
return found;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Returns a number from a non-specified input type between string, number, or String.
|
|
208
|
+
* @param {string | String | number} input - Input value to numberify.
|
|
209
|
+
* @param {boolean} inputIsLocalized - Numberifies assuming the input string is in the current KupMath locale's format.
|
|
210
|
+
* @param {string} type - type of number for calculate suffix
|
|
211
|
+
* @param {string} decFmt - decimal format for the input value.
|
|
212
|
+
* @returns {number} Resulting number or NaN (when not a number).
|
|
213
|
+
*/
|
|
214
|
+
numberify(input, inputIsLocalized, type, decFmt) {
|
|
215
|
+
if (typeof input != 'number') {
|
|
216
|
+
if (type) {
|
|
217
|
+
let suffix = this.getNumericValueSuffix(type);
|
|
218
|
+
if (suffix != '') {
|
|
219
|
+
input = input.replace(getRegExpFromString(suffix, 'g'), '');
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (!decFmt) {
|
|
223
|
+
decFmt = inputIsLocalized ? this.decimalSeparator() : '.';
|
|
224
|
+
}
|
|
225
|
+
const groupSeparator = decFmt == '.' ? ',' : '.';
|
|
226
|
+
input = input.replace(getRegExpFromString(groupSeparator, 'g'), '');
|
|
227
|
+
if (decFmt != '.') {
|
|
228
|
+
input = input.replace(getRegExpFromString(decFmt, 'g'), '.');
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
let n = NaN;
|
|
232
|
+
const locale = this.numeral.locale();
|
|
233
|
+
this.numeral.locale(KupMathLocales.en);
|
|
234
|
+
n = this.numeral(input).value();
|
|
235
|
+
this.numeral.locale(locale);
|
|
236
|
+
if (n === null) {
|
|
237
|
+
return NaN;
|
|
238
|
+
}
|
|
239
|
+
return n;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Returns a number from a non-specified input type between string, number, or String.
|
|
243
|
+
* If value in is null, undefined or blank, returns 0
|
|
244
|
+
* @param {string} input number as string, formatted by locale US, decimal separator . (like java decimal numbers)
|
|
245
|
+
* @param {boolean} inputIsLocalized - Numberifies assuming the input string is in the current KupMath locale's format.
|
|
246
|
+
* @param {string} type - type of number for calculate suffix
|
|
247
|
+
* @returns {number} Resulting number
|
|
248
|
+
**/
|
|
249
|
+
numberifySafe(input, inputIsLocalized, type, decFmt) {
|
|
250
|
+
if (!input || input == null || input.trim() == '') {
|
|
251
|
+
input = '0';
|
|
252
|
+
}
|
|
253
|
+
return this.numberify(input, inputIsLocalized, type, decFmt);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Checks if input is a valid number
|
|
257
|
+
* @param {any} value input value to check
|
|
258
|
+
* @returns {boolean} if input value is valid number
|
|
259
|
+
*/
|
|
260
|
+
isNumber(value) {
|
|
261
|
+
//return typeof value === 'number';
|
|
262
|
+
return !isNaN(value);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Checks if string in input is a valid formatted number
|
|
266
|
+
* @param {string} value number as string, formatted by actual browser locale
|
|
267
|
+
* @param {string} type - type of number for calculate suffix
|
|
268
|
+
* @returns {boolean} true if number string in input is a valid number
|
|
269
|
+
*/
|
|
270
|
+
isStringNumber(value, type) {
|
|
271
|
+
if (value == null || value.trim() == '') {
|
|
272
|
+
return false;
|
|
273
|
+
}
|
|
274
|
+
let tmpStr = this.formattedStringToNumberString(value, type);
|
|
275
|
+
if (this.isNumber(tmpStr)) {
|
|
276
|
+
return true;
|
|
277
|
+
}
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Gets number as string, formatted by locale US, decimal separator . (like java decimal numbers)
|
|
282
|
+
* @param {string} input number as string, formatted by actual browser locale (maybe)
|
|
283
|
+
* @param {string} type - type of number for calculate suffix
|
|
284
|
+
* @param {string} decSeparator - decimal serparator of input string
|
|
285
|
+
* @returns {string} number as string, formatted by locale US, decimal separator . (like java decimal numbers), without group separator
|
|
286
|
+
**/
|
|
287
|
+
formattedStringToNumberString(input, type, decSeparator) {
|
|
288
|
+
return numberStringToNumberString(input, type, decSeparator, this);
|
|
289
|
+
function numberStringToNumberString(input, type, decFmt, kupMath) {
|
|
290
|
+
if (!input || input == null || input.trim() == '') {
|
|
291
|
+
return '';
|
|
292
|
+
}
|
|
293
|
+
let unf = kupMath.numberifySafe(input, !decFmt || decFmt != '.', type, decFmt);
|
|
294
|
+
if (unf == null || isNaN(unf)) {
|
|
295
|
+
return input;
|
|
296
|
+
}
|
|
297
|
+
return numberToString(unf, -1, 'en-US', kupMath);
|
|
298
|
+
}
|
|
299
|
+
function numberToString(input, decimals, locale, kupMath) {
|
|
300
|
+
if (input == null) {
|
|
301
|
+
input = 0;
|
|
302
|
+
}
|
|
303
|
+
if (decimals == null || decimals == -1) {
|
|
304
|
+
decimals = kupMath.countDecimals(input);
|
|
305
|
+
}
|
|
306
|
+
let n = Number(input);
|
|
307
|
+
let f = decimals > -1
|
|
308
|
+
? {
|
|
309
|
+
minimumFractionDigits: decimals,
|
|
310
|
+
maximumFractionDigits: decimals,
|
|
311
|
+
useGrouping: false,
|
|
312
|
+
}
|
|
313
|
+
: { useGrouping: false };
|
|
314
|
+
return n.toLocaleString(locale, f);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Gets the number of decimals for current number
|
|
319
|
+
* @param {number} value numer input
|
|
320
|
+
* @returns {number} the number of decimals
|
|
321
|
+
*/
|
|
322
|
+
countDecimals(value) {
|
|
323
|
+
var _a;
|
|
324
|
+
if (Math.floor(value) === value)
|
|
325
|
+
return 0;
|
|
326
|
+
let stringValue = value.toString().split('.')[1];
|
|
327
|
+
if (stringValue) {
|
|
328
|
+
return (_a = stringValue.length) !== null && _a !== void 0 ? _a : 0;
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
return 0;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Gets the suffix for number, by type
|
|
336
|
+
* @param {string} type - type of number for calculate suffix
|
|
337
|
+
* @returns {string} suffix for number, by type
|
|
338
|
+
**/
|
|
339
|
+
getNumericValueSuffix(type) {
|
|
340
|
+
type = type.toUpperCase();
|
|
341
|
+
let nstr = '';
|
|
342
|
+
if (type == 'P') {
|
|
343
|
+
nstr = ' %';
|
|
344
|
+
}
|
|
345
|
+
else if (type == 'VE') {
|
|
346
|
+
nstr = ' €';
|
|
347
|
+
}
|
|
348
|
+
else if (type == 'VL') {
|
|
349
|
+
nstr = ' £';
|
|
350
|
+
}
|
|
351
|
+
else if (type == 'VV') {
|
|
352
|
+
nstr = ' $';
|
|
353
|
+
}
|
|
354
|
+
return nstr;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Gets the number as string, formatted by actual browser locale, with suffix by type
|
|
358
|
+
* @param {number} input number
|
|
359
|
+
* @param {number} decimals number of significant decimal digits for output
|
|
360
|
+
* @param {string} type - type of number for calculate suffix
|
|
361
|
+
* @returns {string} number as string, formatted by actual browser locale, with suffix by type
|
|
362
|
+
**/
|
|
363
|
+
numberToFormattedString(input, decimals, type) {
|
|
364
|
+
if (input == null || isNaN(input)) {
|
|
365
|
+
return '';
|
|
366
|
+
}
|
|
367
|
+
if (decimals == null || decimals == -1) {
|
|
368
|
+
decimals = this.countDecimals(input);
|
|
369
|
+
}
|
|
370
|
+
let nstr = this.format(input, this.createFormatPattern(true, decimals));
|
|
371
|
+
nstr = nstr + this.getNumericValueSuffix(type);
|
|
372
|
+
return nstr;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Gets the number as string, formatted by actual browser locale, with suffix by type
|
|
376
|
+
* @param {string} input number as string, formatted by locale US, decimal separator . (like java decimal numbers)
|
|
377
|
+
* @param {number} decimals number of significant decimal digits for output
|
|
378
|
+
* @param {string} type - type of number for calculate suffix
|
|
379
|
+
* @param {string} decSeparator decimal separator for outpu string
|
|
380
|
+
* @returns {string} number as string, formatted by actual browser locale (or using decimal separator param), with suffix by type
|
|
381
|
+
**/
|
|
382
|
+
numberStringToFormattedString(input, decimals, type, decSeparator) {
|
|
383
|
+
let value = this.numberToFormattedString(this.numberifySafe(input), decimals, type);
|
|
384
|
+
if (!decSeparator) {
|
|
385
|
+
return value;
|
|
386
|
+
}
|
|
387
|
+
const browserDecSeparator = this.decimalSeparator();
|
|
388
|
+
if (browserDecSeparator == decSeparator) {
|
|
389
|
+
return value;
|
|
390
|
+
}
|
|
391
|
+
const browserGroupSeparator = this.groupSeparator();
|
|
392
|
+
value = value.replace(getRegExpFromString(browserGroupSeparator, 'g'), '');
|
|
393
|
+
value = value.replace(getRegExpFromString(browserDecSeparator, 'g'), decSeparator);
|
|
394
|
+
return value;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Registers a KupComponent in KupMath, in order to be properly handled whenever the locale changes.
|
|
398
|
+
* @param {any} component - The Ketchup component to be registered.
|
|
399
|
+
*/
|
|
400
|
+
register(component) {
|
|
401
|
+
this.managedComponents.add(component.rootElement ? component.rootElement : component);
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Unregisters a KupComponent, so it won't be refreshed when the locale changes.
|
|
405
|
+
*
|
|
406
|
+
* @param {any} component - The component calling this function.
|
|
407
|
+
*/
|
|
408
|
+
unregister(component) {
|
|
409
|
+
if (this.managedComponents) {
|
|
410
|
+
this.managedComponents.delete(component.rootElement ? component.rootElement : component);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|