bromcom-ui 2.11.1-rc.9-3 → 2.11.1-rc.9-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.
Files changed (183) hide show
  1. package/dist/bromcom-ui/bromcom-ui.css +1 -1
  2. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  3. package/dist/bromcom-ui/{p-3cdfd8eb.entry.js → p-082b9695.entry.js} +1 -1
  4. package/dist/bromcom-ui/{p-14ed8029.entry.js → p-0da8ad9f.entry.js} +1 -1
  5. package/dist/bromcom-ui/{p-7fd22a35.entry.js → p-0ef4f5ec.entry.js} +1 -1
  6. package/dist/bromcom-ui/p-15199f10.entry.js +5 -0
  7. package/dist/bromcom-ui/{p-0eacfbb2.entry.js → p-198cccb5.entry.js} +1 -1
  8. package/dist/bromcom-ui/p-222203a4.entry.js +16 -0
  9. package/dist/bromcom-ui/{p-adcb30bc.entry.js → p-2ab3e5cb.entry.js} +1 -1
  10. package/dist/bromcom-ui/p-2addde9e.js +5 -0
  11. package/dist/bromcom-ui/p-2b42d77e.entry.js +5 -0
  12. package/dist/bromcom-ui/{p-db15dca3.entry.js → p-2c9f9889.entry.js} +1 -1
  13. package/dist/bromcom-ui/{p-a018f340.entry.js → p-42d09898.entry.js} +1 -1
  14. package/dist/bromcom-ui/{p-6f37a4d7.entry.js → p-471c7f34.entry.js} +1 -1
  15. package/dist/bromcom-ui/{p-35c215f2.entry.js → p-4d0680e1.entry.js} +1 -1
  16. package/dist/bromcom-ui/{p-8b31581f.js → p-5cb99e9e.js} +1 -1
  17. package/dist/bromcom-ui/{p-9589f69c.entry.js → p-5d670fd7.entry.js} +1 -1
  18. package/dist/bromcom-ui/{p-e497cf5d.entry.js → p-5df2d3f1.entry.js} +1 -1
  19. package/dist/bromcom-ui/{p-70253803.entry.js → p-5ee56cae.entry.js} +1 -1
  20. package/dist/bromcom-ui/{p-e10780ed.entry.js → p-603efb90.entry.js} +1 -1
  21. package/dist/bromcom-ui/{p-178fa936.entry.js → p-64a8db1d.entry.js} +1 -1
  22. package/dist/bromcom-ui/{p-61753299.js → p-6bea284a.js} +1 -1
  23. package/dist/bromcom-ui/{p-dc607ae4.entry.js → p-7230713c.entry.js} +1 -1
  24. package/dist/bromcom-ui/{p-fba1682e.entry.js → p-7d4f57be.entry.js} +1 -1
  25. package/dist/bromcom-ui/p-87e5fda5.entry.js +5 -0
  26. package/dist/bromcom-ui/{p-e93d6619.js → p-8f3ca5d9.js} +1 -1
  27. package/dist/bromcom-ui/p-9bbd341c.entry.js +5 -0
  28. package/dist/bromcom-ui/{p-bca0ff0a.entry.js → p-a292b41d.entry.js} +1 -1
  29. package/dist/bromcom-ui/{p-90223f9f.entry.js → p-a933ac12.entry.js} +1 -1
  30. package/dist/bromcom-ui/{p-5a22b74b.entry.js → p-adb21984.entry.js} +1 -1
  31. package/dist/bromcom-ui/p-aeb4be41.js +5 -0
  32. package/dist/bromcom-ui/p-b847cbea.js +5 -0
  33. package/dist/bromcom-ui/p-bbe8c777.entry.js +5 -0
  34. package/dist/bromcom-ui/{p-c10b07cc.entry.js → p-c157a7d4.entry.js} +1 -1
  35. package/dist/bromcom-ui/{p-ebeb9689.entry.js → p-c23d73fb.entry.js} +1 -1
  36. package/dist/bromcom-ui/p-c67a5e5f.entry.js +5 -0
  37. package/dist/bromcom-ui/p-c77541f4.js +10 -0
  38. package/dist/bromcom-ui/{p-abd2f9ff.entry.js → p-c89acfca.entry.js} +1 -1
  39. package/dist/bromcom-ui/p-d1298c40.js +5 -0
  40. package/dist/bromcom-ui/{p-5bf1657b.entry.js → p-e8bb9019.entry.js} +1 -1
  41. package/dist/bromcom-ui/{p-627c7769.entry.js → p-e9928d0c.entry.js} +1 -1
  42. package/dist/bromcom-ui/p-f478ad92.entry.js +5 -0
  43. package/dist/bromcom-ui/{p-5a391fcd.js → p-fcf70988.js} +1 -1
  44. package/dist/cjs/{bcm-accordion_46.cjs.entry.js → bcm-accordion_47.cjs.entry.js} +8764 -8633
  45. package/dist/cjs/bcm-alert.cjs.entry.js +3 -3
  46. package/dist/cjs/bcm-attendance-actions-comment.cjs.entry.js +6 -6
  47. package/dist/cjs/bcm-attendance-actions-dropdown.cjs.entry.js +6 -6
  48. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +3 -3
  49. package/dist/cjs/bcm-caption.cjs.entry.js +6 -6
  50. package/dist/cjs/bcm-card.cjs.entry.js +4 -4
  51. package/dist/cjs/bcm-checkbox-lite_8.cjs.entry.js +3 -3
  52. package/dist/cjs/bcm-chip-group.cjs.entry.js +6 -6
  53. package/dist/cjs/bcm-collapse.cjs.entry.js +3 -3
  54. package/dist/cjs/bcm-date-picker.cjs.entry.js +3 -3
  55. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +3 -3
  56. package/dist/cjs/bcm-default.cjs.entry.js +3 -3
  57. package/dist/cjs/bcm-form-2.cjs.entry.js +5 -4
  58. package/dist/cjs/bcm-input-2.cjs.entry.js +153 -0
  59. package/dist/cjs/bcm-input-custom.cjs.entry.js +3 -3
  60. package/dist/cjs/bcm-input-dropdown.cjs.entry.js +6 -6
  61. package/dist/cjs/bcm-modal-2-footer.cjs.entry.js +6 -6
  62. package/dist/cjs/bcm-modal-2-header.cjs.entry.js +6 -6
  63. package/dist/cjs/bcm-modal-2.cjs.entry.js +6 -6
  64. package/dist/cjs/bcm-number-input.cjs.entry.js +260 -72
  65. package/dist/cjs/bcm-overlay_2.cjs.entry.js +1 -1
  66. package/dist/cjs/bcm-popover.cjs.entry.js +6 -6
  67. package/dist/cjs/bcm-range.cjs.entry.js +3 -3
  68. package/dist/cjs/bcm-react-number.cjs.entry.js +1230 -0
  69. package/dist/cjs/bcm-skeleton.cjs.entry.js +6 -6
  70. package/dist/cjs/bcm-table.cjs.entry.js +6 -6
  71. package/dist/cjs/bcm-tag.cjs.entry.js +4 -4
  72. package/dist/cjs/bcm-time-picker.cjs.entry.js +3 -3
  73. package/dist/cjs/bcm-toast.cjs.entry.js +3 -3
  74. package/dist/cjs/bromcom-ui.cjs.js +3 -3
  75. package/dist/cjs/{color-helper-c3a819ea.js → color-helper-dc98a2ca.js} +1 -1
  76. package/dist/cjs/{colors-078851ec.js → colors-250d0982.js} +13 -7
  77. package/dist/cjs/{generate-f73a098d.js → generate-2f15ee94.js} +2 -2
  78. package/dist/cjs/{global-baf04c81.js → global-da78178f.js} +1 -1
  79. package/dist/cjs/index-e05a7c6f.js +545 -0
  80. package/dist/cjs/input.style-b5676e6a.js +122 -0
  81. package/dist/cjs/loader.cjs.js +3 -3
  82. package/dist/cjs/{number-helper-0543a62e.js → number-helper-9b0b5976.js} +1 -1
  83. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +4 -4
  84. package/dist/cjs/old-bcm-popover.cjs.entry.js +3 -3
  85. package/dist/cjs/{package-e717a31f.js → package-7b89373b.js} +1 -1
  86. package/dist/cjs/{validators-77768582.js → validators-082184cd.js} +1 -1
  87. package/dist/collection/collection-manifest.json +2 -0
  88. package/dist/collection/components/atoms/link/link.css +9 -3
  89. package/dist/collection/components/molecules/input/input.style.js +117 -0
  90. package/dist/collection/components/molecules/input/input2.js +918 -0
  91. package/dist/collection/components/molecules/number-input/number-input.js +776 -95
  92. package/dist/collection/components/molecules/number-input/react-input.js +96 -0
  93. package/dist/collection/components/molecules/radio/radio.js +1 -1
  94. package/dist/collection/components/organism/form/form.js +2 -2
  95. package/dist/collection/components/organism/form-2/bcm-form-components.js +2 -1
  96. package/dist/collection/components/organism/list/list.css +0 -1
  97. package/dist/collection/components/third-parts/rc-picker/date.js +1 -1
  98. package/dist/collection/components/third-parts/rc-picker/rc-picker.css +40 -5
  99. package/dist/collection/components/third-parts/rc-picker/rc-picker.js +11 -2
  100. package/dist/components/{raf.js → Overflow.js} +692 -69
  101. package/dist/components/bcm-date.js +1 -1
  102. package/dist/components/bcm-form-2.js +2 -1
  103. package/dist/components/bcm-input-2.d.ts +11 -0
  104. package/dist/components/bcm-input-2.js +225 -0
  105. package/dist/components/bcm-number-input.js +295 -79
  106. package/dist/components/bcm-react-number.d.ts +11 -0
  107. package/dist/components/bcm-react-number.js +10 -0
  108. package/dist/components/colors2.js +13 -7
  109. package/dist/components/form.js +2 -2
  110. package/dist/components/generate.js +1 -1
  111. package/dist/components/index.d.ts +2 -0
  112. package/dist/components/index.js +2 -0
  113. package/dist/components/input.style.js +120 -0
  114. package/dist/components/link.js +1 -1
  115. package/dist/components/list.js +1 -1
  116. package/dist/components/radio.js +1 -1
  117. package/dist/components/rc-overflow.js +1 -593
  118. package/dist/components/rc-picker.js +8620 -8025
  119. package/dist/components/react-input.js +1242 -0
  120. package/dist/esm/{bcm-accordion_46.entry.js → bcm-accordion_47.entry.js} +8656 -8526
  121. package/dist/esm/bcm-alert.entry.js +3 -3
  122. package/dist/esm/bcm-attendance-actions-comment.entry.js +6 -6
  123. package/dist/esm/bcm-attendance-actions-dropdown.entry.js +6 -6
  124. package/dist/esm/bcm-breadcrumb.entry.js +3 -3
  125. package/dist/esm/bcm-caption.entry.js +6 -6
  126. package/dist/esm/bcm-card.entry.js +4 -4
  127. package/dist/esm/bcm-checkbox-lite_8.entry.js +3 -3
  128. package/dist/esm/bcm-chip-group.entry.js +6 -6
  129. package/dist/esm/bcm-collapse.entry.js +3 -3
  130. package/dist/esm/bcm-date-picker.entry.js +3 -3
  131. package/dist/esm/bcm-datetime-picker.entry.js +3 -3
  132. package/dist/esm/bcm-default.entry.js +3 -3
  133. package/dist/esm/bcm-form-2.entry.js +5 -4
  134. package/dist/esm/bcm-input-2.entry.js +149 -0
  135. package/dist/esm/bcm-input-custom.entry.js +3 -3
  136. package/dist/esm/bcm-input-dropdown.entry.js +6 -6
  137. package/dist/esm/bcm-modal-2-footer.entry.js +6 -6
  138. package/dist/esm/bcm-modal-2-header.entry.js +6 -6
  139. package/dist/esm/bcm-modal-2.entry.js +6 -6
  140. package/dist/esm/bcm-number-input.entry.js +259 -71
  141. package/dist/esm/bcm-overlay_2.entry.js +1 -1
  142. package/dist/esm/bcm-popover.entry.js +6 -6
  143. package/dist/esm/bcm-range.entry.js +3 -3
  144. package/dist/esm/bcm-react-number.entry.js +1226 -0
  145. package/dist/esm/bcm-skeleton.entry.js +6 -6
  146. package/dist/esm/bcm-table.entry.js +6 -6
  147. package/dist/esm/bcm-tag.entry.js +4 -4
  148. package/dist/esm/bcm-time-picker.entry.js +3 -3
  149. package/dist/esm/bcm-toast.entry.js +3 -3
  150. package/dist/esm/bromcom-ui.js +3 -3
  151. package/dist/esm/{color-helper-3b528349.js → color-helper-74614f24.js} +1 -1
  152. package/dist/esm/{colors-c530a5b8.js → colors-dd598eea.js} +13 -7
  153. package/dist/esm/{generate-c2c0b02e.js → generate-df0f43b2.js} +2 -2
  154. package/dist/esm/{global-2473677b.js → global-72a67caf.js} +1 -1
  155. package/dist/esm/index-036974d7.js +541 -0
  156. package/dist/esm/input.style-e855c0f3.js +120 -0
  157. package/dist/esm/loader.js +3 -3
  158. package/dist/esm/{number-helper-75447fa6.js → number-helper-b012c05f.js} +1 -1
  159. package/dist/esm/old-bcm-popover-box.entry.js +4 -4
  160. package/dist/esm/old-bcm-popover.entry.js +3 -3
  161. package/dist/esm/{package-28dc6847.js → package-40075eb9.js} +1 -1
  162. package/dist/esm/{validators-5a383988.js → validators-166e2a4e.js} +1 -1
  163. package/dist/types/components/molecules/input/input.style.d.ts +576 -0
  164. package/dist/types/components/molecules/input/input2.d.ts +64 -0
  165. package/dist/types/components/molecules/number-input/number-input.d.ts +66 -17
  166. package/dist/types/components/molecules/number-input/react-input.d.ts +16 -0
  167. package/dist/types/components.d.ts +203 -19
  168. package/package.json +4 -3
  169. package/dist/bromcom-ui/p-3361f6c9.entry.js +0 -5
  170. package/dist/bromcom-ui/p-350dbff0.entry.js +0 -5
  171. package/dist/bromcom-ui/p-3a43bf45.js +0 -5
  172. package/dist/bromcom-ui/p-64f21481.entry.js +0 -20
  173. package/dist/bromcom-ui/p-930f3618.js +0 -5
  174. package/dist/bromcom-ui/p-a4b675ef.entry.js +0 -5
  175. package/dist/bromcom-ui/p-bb46d881.entry.js +0 -5
  176. package/dist/bromcom-ui/p-c7030364.entry.js +0 -5
  177. package/dist/bromcom-ui/p-de0b0192.entry.js +0 -5
  178. package/dist/bromcom-ui/p-ede82918.js +0 -5
  179. package/dist/cjs/bcm-link.cjs.entry.js +0 -51
  180. package/dist/collection/components/molecules/number-input/number-input.css +0 -137
  181. package/dist/collection/components/molecules/number-input/number-input.style.js +0 -45
  182. package/dist/esm/bcm-link.entry.js +0 -47
  183. package/dist/types/components/molecules/number-input/number-input.style.d.ts +0 -200
@@ -6,104 +6,292 @@
6
6
 
7
7
  Object.defineProperty(exports, '__esModule', { value: true });
8
8
 
9
- const index$1 = require('./index-c591ecec.js');
10
- require('./color-helper-c3a819ea.js');
9
+ const index = require('./index-c591ecec.js');
10
+ require('./color-helper-dc98a2ca.js');
11
11
  require('./datetime-helper-eaf4fadb.js');
12
- const generate = require('./generate-f73a098d.js');
13
- require('./number-helper-0543a62e.js');
14
- require('./string-helper-9cdfb273.js');
15
- require('./validators-77768582.js');
12
+ const generate = require('./generate-2f15ee94.js');
13
+ require('./number-helper-9b0b5976.js');
14
+ const stringHelper = require('./string-helper-9cdfb273.js');
15
+ require('./validators-082184cd.js');
16
16
  require('./element-dragger-a8562f82.js');
17
+ const utils = require('./utils-fc077139.js');
17
18
  const bcm = require('./bcm-1d1fcf21.js');
18
19
  const captionTemplate = require('./caption-template-85a18b6d.js');
19
- require('./index-95ae50d0.js');
20
+ const index$1 = require('./index-95ae50d0.js');
20
21
  require('./types-cc4adee7.js');
21
22
  require('./types-7523fd99.js');
22
- const index = require('./index-5279dea2.js');
23
+ const input_style = require('./input.style-b5676e6a.js');
23
24
  require('./colors-56282b00.js');
24
- require('./utils-fc077139.js');
25
- require('./colors-078851ec.js');
25
+ require('./colors-250d0982.js');
26
26
  require('./_commonjsHelpers-ed84c3ca.js');
27
- require('./package-e717a31f.js');
28
-
29
- const numberInputStyle = index.ce({
30
- slots: {
31
- host: "bcm-number-input bcm-ui-element tw-flex tw-flex-col tw-items-start tw-justify-start tw-max-w-[256px] tw-w-full",
32
- container: "tw-flex tw-flex-row tw-items-center tw-justify-between tw-rounded tw-border tw-border-solid tw-border-slate-300 tw-w-full tw-min-h-full hover:tw-bg-slate-50",
33
- inputContainer: "tw-flex tw-min-h-fit tw-w-full tw-flex-row tw-items-center tw-justify-center tw-gap-2 tw-px-3",
34
- input: "tw-outline-none tw-appearance-none tw-flex-1 tw-bg-transparent tw-text-slate-400 tw-text-inherit tw-font-normal",
35
- caretContainer: "tw-flex tw-flex-col tw-min-h-full tw-border-l tw-items-stretch tw-self-stretch tw-justify-center tw-border-l-slate-300 tw-select-none tw-w-[30px]",
36
- caretIcon: "tw-flex tw-items-center tw-text-slate-500 tw-justify-center tw-h-full tw-cursor-pointer active:tw-bg-slate-400 last:tw-border-t last:tw-border-t-slate-300",
37
- slotIcon: "tw-text-slate-500",
38
- },
39
- variants: {
40
- size: {
41
- small: {
42
- host: "tw-gap-0.5 tw-text-xs",
43
- slotIcon: "tw-text-[10px]",
44
- inputContainer: "tw-py-[2px]",
45
- caretIcon: "tw-text-[10px]",
46
- },
47
- medium: {
48
- host: "tw-gap-1 tw-text-base",
49
- slotIcon: "tw-text-xs",
50
- inputContainer: "tw-py-[5px]",
51
- },
52
- large: {
53
- host: "tw-gap-2 tw-text-base",
54
- slotIcon: "tw-text-[14px]",
55
- inputContainer: "tw-py-2",
56
- },
57
- },
58
- focus: {
59
- true: {
60
- container: "tw-ring-1 tw-ring-blue-600",
61
- input: "tw-text-slate-700",
62
- },
63
- },
64
- },
65
- defaultVariants: {
66
- size: "medium",
67
- },
68
- });
69
-
70
- const numberInputCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");\n.size-1 {\n font-size: 12px;\n line-height: 20px;\n}\n\n.size-2 {\n font-size: 14px;\n line-height: 22px;\n}\n\n.size-3 {\n font-size: 16px;\n line-height: 24px;\n}\n\n.size-4 {\n font-size: 20px;\n line-height: 28px;\n}\n\n.size-5 {\n font-size: 24px;\n line-height: 32px;\n}\n\n.size-6 {\n font-size: 30px;\n line-height: 38px;\n}\n\n.size-7 {\n font-size: 38px;\n line-height: 46px;\n}\n\n.size-8 {\n font-size: 46px;\n line-height: 54px;\n}\n\n.size-9 {\n font-size: 56px;\n line-height: 64px;\n}\n\n.weight-regular {\n font-weight: 400;\n}\n\n.weight-semibold {\n font-weight: 500;\n}\n\n/**\n * Generator\n */\n.input-size-large {\n height: 40px;\n}\n\n.input-size-medium {\n height: 32px;\n}\n\n.input-size-small {\n height: 24px;\n}\n\n.resize-none textarea {\n resize: none;\n}\n\n.resize-vertical textarea {\n resize: vertical;\n}\n\n.resize-auto textarea {\n height: auto;\n resize: none;\n}\n\n.textarea-size-large {\n padding: 4px 0 0 4px;\n min-height: 40px;\n}\n.textarea-size-large .bcm-input-element {\n min-height: calc((40px - 8px) + 2px);\n}\n.textarea-size-large .input-clear-button {\n height: calc( 40px - 16px );\n top: 8px;\n padding: 0;\n margin-right: 8px;\n}\n\n.textarea-size-medium {\n padding: 4px 0 0 4px;\n min-height: 32px;\n}\n.textarea-size-medium .bcm-input-element {\n min-height: calc((32px - 8px) + 2px);\n}\n.textarea-size-medium .input-clear-button {\n height: calc( 32px - 16px );\n top: 8px;\n padding: 0;\n margin-right: 8px;\n}\n\n.textarea-size-small {\n padding: 0px 0 0 4px;\n min-height: 24px;\n}\n.textarea-size-small .bcm-input-element {\n min-height: calc((24px - 8px) + 2px);\n}\n.textarea-size-small .input-clear-button {\n height: calc( 24px - 16px );\n top: 8px;\n padding: 0;\n margin-right: 8px;\n}\n\n@layer base {\n .bcm-number-input input[type=number]::-webkit-outer-spin-button,\n.bcm-number-input input[type=number]::-webkit-inner-spin-button,\n.bcm-number-input input[type=number] {\n -webkit-appearance: none;\n padding: 0px;\n margin: 0px;\n outline: none;\n border: 0px;\n vertical-align: baseline;\n -moz-appearance: textfield !important;\n }\n}";
27
+ require('./package-7b89373b.js');
28
+ require('./index-5279dea2.js');
71
29
 
72
30
  const NumberInput = class {
73
31
  constructor(hostRef) {
74
- index$1.registerInstance(this, hostRef);
75
- this.blockInvalidChar = e => {
76
- return ["e", "E", "+", "-"].includes(e.key) && e.preventDefault();
32
+ index.registerInstance(this, hostRef);
33
+ this.focus = index.createEvent(this, "bcm-focus", 3);
34
+ this.blur = index.createEvent(this, "bcm-blur", 3);
35
+ this.clear = index.createEvent(this, "bcm-clear", 3);
36
+ this.change = index.createEvent(this, "bcm-change", 7);
37
+ this.input = index.createEvent(this, "bcm-input", 3);
38
+ this.beforeClear = index.createEvent(this, "bcm-input-before-clear", 3);
39
+ this._onChange = index.createEvent(this, "bcm-onchange", 3);
40
+ this.inValid = false;
41
+ this.onInput = () => {
42
+ var _a;
43
+ (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.addEventListener("input", (e) => {
44
+ this.input.emit(e);
45
+ });
46
+ };
47
+ this.onChange = () => {
48
+ var _a;
49
+ (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.addEventListener("change", (e) => {
50
+ this.change.emit(e);
51
+ });
52
+ };
53
+ this.onFocus = () => {
54
+ var _a;
55
+ (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.addEventListener("focus", e => {
56
+ this.isFocus = true;
57
+ this.focus.emit(e);
58
+ });
59
+ };
60
+ this.onBlur = () => {
61
+ var _a;
62
+ (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.addEventListener("blur", e => {
63
+ this.isFocus = false;
64
+ this.blur.emit(e);
65
+ });
66
+ };
67
+ this.onKeydown = () => {
68
+ var _a;
69
+ (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.addEventListener("keydown", (e) => {
70
+ if (e.key === "ArrowUp") {
71
+ e.preventDefault();
72
+ this.up();
73
+ }
74
+ if (e.key === "ArrowDown") {
75
+ e.preventDefault();
76
+ this.down();
77
+ }
78
+ });
79
+ };
80
+ this.listener = () => {
81
+ this.onInput();
82
+ this.onChange();
83
+ this.onFocus();
84
+ this.onBlur();
85
+ this.onKeydown();
77
86
  };
78
87
  this._id = generate.Generate.UID();
79
- this.size = bcm.Bcm.Size.medium;
80
- this.min = 0;
81
- this.max = 100;
88
+ this.value = "";
89
+ this.defaultValue = undefined;
90
+ this._prefix = undefined;
91
+ this._suffix = undefined;
92
+ this.size = "medium";
93
+ this.min = undefined;
94
+ this.max = undefined;
82
95
  this.step = 1;
83
- this.placeholder = undefined;
84
96
  this.label = undefined;
85
- this.tooltip = undefined;
86
- this.value = 0;
87
- this.disabled = false;
97
+ this.name = undefined;
98
+ this.fullWidth = false;
99
+ this.clearable = false;
88
100
  this.readonly = false;
101
+ this.disabled = false;
89
102
  this.required = false;
90
- this.pattern = undefined;
103
+ this.mode = "none";
104
+ this.placeholder = undefined;
105
+ this.thousandSeparator = false;
106
+ this.decimalSeparator = undefined;
107
+ this.decimalScale = undefined;
108
+ this.fixedDecimalScale = false;
109
+ this.allowNegative = false;
110
+ this.allowLeadingZeros = false;
111
+ this.unitPrefix = undefined;
112
+ this.unitSuffix = undefined;
91
113
  this.caption = undefined;
92
114
  this.noCaption = false;
93
115
  this.captionType = bcm.Bcm.Status.default;
94
116
  this.captionError = undefined;
95
117
  this.customErrorMessage = undefined;
96
- this.prefixIcon = undefined;
97
- this.suffixIcon = undefined;
98
118
  this.isFocus = false;
99
- this.isError = false;
119
+ this.captionCache = undefined;
120
+ this.captionTypeCache = undefined;
121
+ this.valueCache = "";
122
+ }
123
+ connectedCallback() {
124
+ if (this.defaultValue)
125
+ this.value = +this.defaultValue;
126
+ this.valueCache = this.value;
127
+ this.captionCache = this.caption;
128
+ this.captionTypeCache = this.captionType;
129
+ }
130
+ componentDidLoad() {
131
+ this.listener();
132
+ }
133
+ up() {
134
+ if (this.disabled)
135
+ return;
136
+ if (!this.value)
137
+ this.value = Number(0);
138
+ this.value = +this.value + +this.step;
139
+ if (this.mode === "strict") {
140
+ if (this.max && +this.value > +this.max) {
141
+ this.value = this.max;
142
+ }
143
+ }
144
+ }
145
+ down() {
146
+ if (this.disabled)
147
+ return;
148
+ if (!this.value)
149
+ this.value = Number(0);
150
+ this.value = +this.value - +this.step;
151
+ if (this.mode === "strict") {
152
+ if (this.min && +this.value < +this.min) {
153
+ this.value = this.min;
154
+ }
155
+ }
156
+ }
157
+ handleClear(e) {
158
+ if (this.disabled)
159
+ return;
160
+ const event = this.beforeClear.emit(e);
161
+ if (event.defaultPrevented)
162
+ return;
163
+ this.value = "";
164
+ this.clear.emit(e);
165
+ }
166
+ checkLength() {
167
+ const { min, max, value } = this;
168
+ const minLength = min;
169
+ const maxLength = max;
170
+ let valuePoint = value === null || value === void 0 ? void 0 : value.toString();
171
+ if (min && max) {
172
+ if (+valuePoint < +min || +valuePoint > +max) {
173
+ this.setCaption(stringHelper.StringHelper.getMessage("betweenlength", [minLength, maxLength]), "error");
174
+ this.inValid = true;
175
+ }
176
+ else {
177
+ this.setCaption();
178
+ this.inValid = false;
179
+ }
180
+ }
181
+ else if (minLength) {
182
+ if (+valuePoint < +minLength) {
183
+ this.setCaption(stringHelper.StringHelper.getMessage("minlength", [minLength]), "error");
184
+ this.inValid = true;
185
+ }
186
+ else {
187
+ this.setCaption();
188
+ this.inValid = false;
189
+ }
190
+ }
191
+ else if (maxLength) {
192
+ if (valuePoint > maxLength) {
193
+ this.setCaption(stringHelper.StringHelper.getMessage("maxlength", [maxLength]), "error");
194
+ this.inValid = true;
195
+ }
196
+ else {
197
+ this.setCaption();
198
+ this.inValid = false;
199
+ }
200
+ }
201
+ }
202
+ watchValue() {
203
+ this.checkLength();
204
+ }
205
+ async onBcmFocus() {
206
+ this.inputElement.focus();
207
+ }
208
+ async onBcmBlur() {
209
+ this.inputElement.blur();
210
+ }
211
+ async onBcmSelect() {
212
+ this.inputElement.select();
213
+ }
214
+ async set(data) {
215
+ await this.setValue(data);
216
+ }
217
+ async get() {
218
+ return this.value || null;
219
+ }
220
+ async setValue(value) {
221
+ this.value = value;
222
+ }
223
+ async setClear() {
224
+ this.value = null;
225
+ await utils.delay(10);
226
+ return Promise.resolve();
227
+ }
228
+ async resetCaption() {
229
+ await utils.delay(10);
230
+ this.caption = this.captionCache;
231
+ this.captionType = this.captionTypeCache;
232
+ this.captionError = null;
233
+ this.inValid = false;
234
+ await utils.delay(10);
235
+ return Promise.resolve();
236
+ }
237
+ setCaption(caption = null, captionType = null) {
238
+ this.caption = caption || this.captionCache;
239
+ this.captionType = captionType || this.captionTypeCache;
240
+ this.captionError = captionType == "error" ? caption : null;
241
+ return Promise.resolve();
242
+ }
243
+ disconnectedCallback() {
244
+ var _a, _b, _c, _d, _e;
245
+ (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.removeEventListener("input", this.onInput.bind(this));
246
+ (_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.removeEventListener("change", this.onChange.bind(this));
247
+ (_c = this.inputElement) === null || _c === void 0 ? void 0 : _c.removeEventListener("focus", this.onFocus.bind(this));
248
+ (_d = this.inputElement) === null || _d === void 0 ? void 0 : _d.removeEventListener("blur", this.onBlur.bind(this));
249
+ (_e = this.inputElement) === null || _e === void 0 ? void 0 : _e.removeEventListener("keydown", this.onKeydown.bind(this));
100
250
  }
101
251
  render() {
102
- const { _id, value, min, max, step, tooltip, disabled, size, label, caption, captionType, required, noCaption, captionError, customErrorMessage, prefixIcon, suffixIcon, pattern } = this;
103
- const { host, input, container, inputContainer, caretContainer, caretIcon, slotIcon } = numberInputStyle({ size, focus: this.isFocus });
104
- return (index$1.h(index$1.Host, { class: host(), onClick: () => !disabled && this.nativeInput.focus() }, label && index$1.h("bcm-label", { tooltip: tooltip, "no-margin": true, type: captionType, value: label, required: required, htmlFor: _id }), index$1.h("div", { class: container() }, index$1.h("div", { class: inputContainer() }, prefixIcon && (index$1.h("span", { class: slotIcon() }, index$1.h("i", { class: prefixIcon }))), index$1.h("input", { type: "number", class: input(), min: min, max: max, step: step, value: value, inputmode: "numeric", pattern: pattern, ref: input => (this.nativeInput = input), onKeyPress: this.blockInvalidChar, onFocus: () => (this.isFocus = true), onBlur: () => (this.isFocus = false), onError: e => console.log(e), onErrorCapture: e => console.log(e) }), suffixIcon && (index$1.h("span", { class: slotIcon() }, index$1.h("i", { class: suffixIcon })))), index$1.h("div", { class: caretContainer() }, index$1.h("span", { class: caretIcon() }, index$1.h("i", { class: "fas fa-caret-up" })), index$1.h("span", { class: caretIcon() }, index$1.h("i", { class: "fas fa-caret-down" })))), index$1.h(captionTemplate.CaptionTemplate, { noCaption: noCaption, captionType: captionType, captionError: captionError, caption: caption, customErrorMessage: customErrorMessage })));
252
+ const { _prefix, _suffix, noCaption, captionType, captionError, caption, required, _id, label, size, fullWidth, clearable, value, placeholder, thousandSeparator, decimalSeparator, decimalScale, fixedDecimalScale, allowNegative, allowLeadingZeros, unitPrefix, unitSuffix, min, max, step, defaultValue, disabled, mode, } = this;
253
+ const isActiveClearable = (value === null || value === void 0 ? void 0 : value.toString().length) > 0 && clearable;
254
+ const isInvalid = this.captionType == "error" || this.inValid;
255
+ const { host, inputContainer, slotClass, clearButton, controls, controlsBtn, controlsBtnDown, controlsBtnUp, controlsDivider, input } = input_style.inputStyle({
256
+ size,
257
+ fullWidth,
258
+ clearable: isActiveClearable,
259
+ disabled,
260
+ invalid: isInvalid,
261
+ });
262
+ const numericProps = {
263
+ placeholder,
264
+ thousandSeparator,
265
+ decimalSeparator,
266
+ decimalScale,
267
+ fixedDecimalScale,
268
+ allowNegative,
269
+ allowLeadingZeros,
270
+ prefix: unitPrefix,
271
+ suffix: unitSuffix,
272
+ };
273
+ /* input props */
274
+ const inputProps = {
275
+ min,
276
+ max,
277
+ step,
278
+ value,
279
+ defaultValue,
280
+ };
281
+ const generalProps = Object.assign(Object.assign(Object.assign({ "id": _id + "-base-input", "name": this.name, disabled,
282
+ mode, "aria-label": label, "aria-labelledby": _id + "-label", "getInputRef": el => {
283
+ this.inputElement = el;
284
+ }, "className": input() }, numericProps), inputProps), { "onValueChange": (e) => {
285
+ const { floatValue } = e;
286
+ this.value = floatValue;
287
+ this._onChange.emit(e);
288
+ } });
289
+ return (index.h(index.Host, { class: host() }, label && index.h("bcm-label", { size: size, type: captionType, value: label, required: required, htmlFor: _id + "-base-input", id: _id + "-label" }), index.h("div", { class: inputContainer() }, index.h("div", { class: slotClass() }, index.h("slot", { name: "prefix" }, _prefix && _prefix.length > 0 && index.h("span", { innerHTML: _prefix }))), index.h("bcm-react-number", { disabled: disabled, class: "tw-flex-1", options: generalProps }), index.h("div", { class: slotClass() }, !disabled && isActiveClearable && (index.h("button", { class: clearButton(), onClick: event => this.handleClear(event) }, index.h("i", { class: "far fa-times" }))), index.h("slot", { name: "suffix" }, _suffix && _suffix.length > 0 && index.h("span", { innerHTML: _suffix })), index.h("div", { class: controls() }, index.h("button", { type: "button", disabled: disabled, class: index$1.classnames(controlsBtn(), controlsBtnUp()), onClick: this.up.bind(this), "aria-label": "Increase value" }, index.h("i", { class: "fas fa-caret-up" })), index.h("div", { class: controlsDivider() }), index.h("button", { type: "button", disabled: disabled, class: index$1.classnames(controlsBtn(), controlsBtnDown()), onClick: this.down.bind(this), "aria-label": "Decrease value" }, index.h("i", { class: "fas fa-caret-down" }))))), index.h(captionTemplate.CaptionTemplate, { noCaption: noCaption, captionType: captionType, captionError: captionError, caption: caption, customErrorMessage: this.customErrorMessage })));
105
290
  }
291
+ get el() { return index.getElement(this); }
292
+ static get watchers() { return {
293
+ "value": ["watchValue"]
294
+ }; }
106
295
  };
107
- NumberInput.style = numberInputCss;
108
296
 
109
297
  exports.bcm_number_input = NumberInput;
@@ -8,7 +8,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
 
9
9
  const index = require('./index-c591ecec.js');
10
10
  const index$1 = require('./index-95ae50d0.js');
11
- const colors = require('./colors-078851ec.js');
11
+ const colors = require('./colors-250d0982.js');
12
12
  require('./_commonjsHelpers-ed84c3ca.js');
13
13
 
14
14
  const BcmOverlay = class {
@@ -7,20 +7,20 @@
7
7
  Object.defineProperty(exports, '__esModule', { value: true });
8
8
 
9
9
  const index = require('./index-c591ecec.js');
10
- const colorHelper = require('./color-helper-c3a819ea.js');
10
+ const colorHelper = require('./color-helper-dc98a2ca.js');
11
11
  require('./datetime-helper-eaf4fadb.js');
12
- const generate = require('./generate-f73a098d.js');
13
- require('./number-helper-0543a62e.js');
12
+ const generate = require('./generate-2f15ee94.js');
13
+ require('./number-helper-9b0b5976.js');
14
14
  const stringHelper = require('./string-helper-9cdfb273.js');
15
- require('./validators-77768582.js');
15
+ require('./validators-082184cd.js');
16
16
  require('./element-dragger-a8562f82.js');
17
17
  const bcm = require('./bcm-1d1fcf21.js');
18
18
  const utils = require('./utils-fc077139.js');
19
19
  const floatingUi = require('./floating-ui-5b396838.js');
20
20
  require('./colors-56282b00.js');
21
- require('./colors-078851ec.js');
21
+ require('./colors-250d0982.js');
22
22
  require('./_commonjsHelpers-ed84c3ca.js');
23
- require('./package-e717a31f.js');
23
+ require('./package-7b89373b.js');
24
24
 
25
25
  class Popover {
26
26
  constructor({ content, message, targetId, placement = "top", color = "slate-700", trigger = "none", openDelay = 0, closeDelay = 0, autoHide = false, emitShow = () => { }, emitHide = () => { } }) {
@@ -8,12 +8,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
 
9
9
  const index = require('./index-c591ecec.js');
10
10
  const index$1 = require('./index-95ae50d0.js');
11
- const generate = require('./generate-f73a098d.js');
11
+ const generate = require('./generate-2f15ee94.js');
12
12
  const bcm = require('./bcm-1d1fcf21.js');
13
13
  const utils = require('./utils-fc077139.js');
14
14
  require('./_commonjsHelpers-ed84c3ca.js');
15
- require('./package-e717a31f.js');
16
- require('./colors-078851ec.js');
15
+ require('./package-7b89373b.js');
16
+ require('./colors-250d0982.js');
17
17
 
18
18
  const rangeCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); .size-1{font-size:12px;line-height:20px}.size-2{font-size:14px;line-height:22px}.size-3{font-size:16px;line-height:24px}.size-4{font-size:20px;line-height:28px}.size-5{font-size:24px;line-height:32px}.size-6{font-size:30px;line-height:38px}.size-7{font-size:38px;line-height:46px}.size-8{font-size:46px;line-height:54px}.size-9{font-size:56px;line-height:64px}.weight-regular{font-weight:400}.weight-semibold{font-weight:500}.input-size-large{height:40px}.input-size-medium{height:32px}.input-size-small{height:24px}.resize-none textarea{resize:none}.resize-vertical textarea{resize:vertical}.resize-auto textarea{height:auto;resize:none}.textarea-size-large{padding:4px 0 0 4px;min-height:40px}.textarea-size-large .bcm-input-element{min-height:calc((40px - 8px) + 2px)}.textarea-size-large .input-clear-button{height:calc( 40px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-medium{padding:4px 0 0 4px;min-height:32px}.textarea-size-medium .bcm-input-element{min-height:calc((32px - 8px) + 2px)}.textarea-size-medium .input-clear-button{height:calc( 32px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-small{padding:0px 0 0 4px;min-height:24px}.textarea-size-small .bcm-input-element{min-height:calc((24px - 8px) + 2px)}.textarea-size-small .input-clear-button{height:calc( 24px - 16px );top:8px;padding:0;margin-right:8px}*{box-sizing:border-box}.bcm-range{font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;width:100%;position:relative;display:block;margin:16px 0}.bcm-range input[type=range]{position:absolute;pointer-events:none;-webkit-appearance:none;z-index:4;height:30px;width:100%;top:-17px;opacity:0}.bcm-range input[type=range].single{display:none}.bcm-range input[type=range]::-webkit-slider-thumb{pointer-events:all;width:30px;height:30px;border-radius:0;border:0 none;background-color:red;-webkit-appearance:none;cursor:pointer}.bcm-range__container-bar{width:calc(100% - 24px);left:12px;position:relative}.bcm-range__container-bar-track{position:absolute;top:-2px;width:100%;height:4px;background-color:var(--bcm-new-ds-color-slate-300);z-index:1}.bcm-range__container-bar-range{position:absolute;top:-2px;left:22.22%;right:22.22%;height:4px;background-color:var(--bcm-new-ds-color-blue-500);z-index:2}.bcm-range__container-bar-thumb{position:absolute;top:0;width:16px;height:16px;background-color:var(--bcm-new-ds-color-blue-500);border-radius:50%;z-index:3;transition:box-shadow 0.2s ease-in-out;display:flex;align-items:center;justify-content:center}.bcm-range__container-bar-thumb>span{display:flex;width:100%;height:100%}.bcm-range__container-bar-thumb.hover{box-shadow:0px 2px 2px rgba(0, 0, 0, 0.1), 0px 3px 1px rgba(0, 0, 0, 0.05), 0px 1px 5px rgba(0, 0, 0, 0.1);cursor:pointer}.bcm-range__container-bar-thumb.hidden{display:none}.bcm-range__container-bar-thumb.left{left:22.22222%;transform:translate(-8px, -8px)}.bcm-range__container-bar-thumb.right{right:0%;transform:translate(8px, -8px)}.bcm-range .ticks{position:absolute;z-index:0;top:0;left:0;width:100%;display:flex;justify-content:space-between;padding:4px 0;user-select:none}.bcm-range .tick{position:relative;display:flex;justify-content:center;width:1px;color:var(--bcm-new-ds-color-slate-300);cursor:pointer;height:8px;line-height:32px;margin-bottom:8px;z-index:-1;transition:color 0.1s ease-in-out}.bcm-range .tick::before,.bcm-range .tick::after{content:\" \";position:absolute;width:1px;height:8px;background-color:var(--bcm-new-ds-color-slate-300);z-index:-1;transition:background-color 0.1s ease-in-out}.bcm-range .tick::before{top:-16px}.bcm-range .tick::after{top:0}.bcm-range .tick.hover{color:var(--bcm-new-ds-color-slate-400)}.bcm-range .tick.hover::before,.bcm-range .tick.hover::after{background-color:var(--bcm-new-ds-color-slate-400)}.bcm-range .touch{position:absolute;width:calc(100% + 48px);left:-24px;top:-17px;opacity:0;height:45px;z-index:2;background-color:transparent;display:flex;flex-direction:row;justify-content:space-between}.bcm-range .touch-point{cursor:pointer;flex:1;border:1px solid var(--bcm-new-ds-color-slate-300);box-sizing:border-box;background-color:var(--bcm-new-ds-color-slate-300)}.bcm-range .touch-point:hover{border-color:var(--bcm-new-ds-color-blue-500);background-color:var(--bcm-new-ds-color-blue-500)}.bcm-range .touch::after,.bcm-range .touch::before{content:\"\";position:absolute;width:24px;height:100%;top:0}.bcm-range .touch::before{left:0}.bcm-range .touch::after{right:0}.bcm-range.vertical{margin:0 16px;padding:12px 0}.bcm-range.vertical .touch{width:calc(100% + 12px);left:-6px;top:-17px}.bcm-range.vertical .touch::after,.bcm-range.vertical .touch::before{width:12px}.bcm-range.vertical .bcm-range__container{transform:rotate(270deg)}.bcm-range.vertical .bcm-range__container .ticks .tick-text{position:absolute;top:0px;width:100%;transform:rotate(90deg)}";
19
19