bromcom-ui 2.7.38-rc.0 → 2.7.38-rc.1

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 (204) 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-00dc3d2e.entry.js +5 -0
  4. package/dist/bromcom-ui/{p-1192f094.js → p-04b6abc3.js} +1 -1
  5. package/dist/bromcom-ui/{p-24bfaf3c.entry.js → p-0612fbb0.entry.js} +1 -1
  6. package/dist/bromcom-ui/{p-68f57e0b.entry.js → p-08662565.entry.js} +1 -1
  7. package/dist/bromcom-ui/{p-455f416f.entry.js → p-0c343f1d.entry.js} +1 -1
  8. package/dist/bromcom-ui/{p-52e9eb72.entry.js → p-14afb435.entry.js} +1 -1
  9. package/dist/bromcom-ui/{p-516b3b59.entry.js → p-161d83e1.entry.js} +1 -1
  10. package/dist/bromcom-ui/{p-0e8b8316.js → p-16c10cc7.js} +1 -1
  11. package/dist/bromcom-ui/{p-e48c96b5.entry.js → p-1a1ee7ac.entry.js} +1 -1
  12. package/dist/bromcom-ui/{p-f0b62f8e.entry.js → p-1bb7803c.entry.js} +1 -1
  13. package/dist/bromcom-ui/p-1fa6181a.entry.js +5 -0
  14. package/dist/bromcom-ui/{p-980e5824.entry.js → p-26d5b24d.entry.js} +1 -1
  15. package/dist/bromcom-ui/{p-3e6e1e62.entry.js → p-27085077.entry.js} +1 -1
  16. package/dist/bromcom-ui/{p-e2fe4755.entry.js → p-29f3c080.entry.js} +1 -1
  17. package/dist/bromcom-ui/{p-0a29a882.entry.js → p-2c9f6e6a.entry.js} +1 -1
  18. package/dist/bromcom-ui/{p-1c207a2d.entry.js → p-35502aac.entry.js} +1 -1
  19. package/dist/bromcom-ui/{p-6720d135.entry.js → p-375429c3.entry.js} +1 -1
  20. package/dist/bromcom-ui/{p-8c018ae0.js → p-3c7a0345.js} +1 -1
  21. package/dist/bromcom-ui/p-3d2cdbcc.entry.js +5 -0
  22. package/dist/bromcom-ui/{p-c3fc854c.entry.js → p-3fcb3478.entry.js} +1 -1
  23. package/dist/bromcom-ui/{p-4db160cc.js → p-4058bd89.js} +1 -1
  24. package/dist/bromcom-ui/{p-7b7f4c29.entry.js → p-432ebc3f.entry.js} +1 -1
  25. package/dist/bromcom-ui/p-43c148a4.entry.js +5 -0
  26. package/dist/bromcom-ui/{p-6c92a756.entry.js → p-4f79155d.entry.js} +1 -1
  27. package/dist/bromcom-ui/p-52707827.entry.js +5 -0
  28. package/dist/bromcom-ui/{p-38e67de7.entry.js → p-529cece6.entry.js} +1 -1
  29. package/dist/bromcom-ui/p-56a57960.entry.js +5 -0
  30. package/dist/bromcom-ui/{p-7e44e6b5.js → p-5ae0a59b.js} +1 -1
  31. package/dist/bromcom-ui/{p-68ab7a63.entry.js → p-5de35604.entry.js} +1 -1
  32. package/dist/bromcom-ui/{p-42d537ac.entry.js → p-649f6d13.entry.js} +1 -1
  33. package/dist/bromcom-ui/{p-e6d92da4.entry.js → p-6a0c96dc.entry.js} +1 -1
  34. package/dist/bromcom-ui/{p-f5ae5381.entry.js → p-6bc8c9a5.entry.js} +1 -1
  35. package/dist/bromcom-ui/{p-62bb8bf1.entry.js → p-783cb2bb.entry.js} +1 -1
  36. package/dist/bromcom-ui/p-79719bd4.entry.js +5 -0
  37. package/dist/bromcom-ui/{p-cf337431.entry.js → p-7f137af3.entry.js} +1 -1
  38. package/dist/bromcom-ui/p-8065cf74.js +5 -0
  39. package/dist/bromcom-ui/{p-6f1b3d34.entry.js → p-85688ecf.entry.js} +1 -1
  40. package/dist/bromcom-ui/p-878e45a0.entry.js +5 -0
  41. package/dist/bromcom-ui/{p-f495426e.entry.js → p-888b5c8c.entry.js} +1 -1
  42. package/dist/bromcom-ui/{p-78cf8966.entry.js → p-9086c5e5.entry.js} +1 -1
  43. package/dist/bromcom-ui/{p-eb639e76.entry.js → p-9710630f.entry.js} +1 -1
  44. package/dist/bromcom-ui/{p-da7603b0.entry.js → p-9e6e812b.entry.js} +1 -1
  45. package/dist/bromcom-ui/p-a0b83826.js +5 -0
  46. package/dist/bromcom-ui/{p-758a20ad.entry.js → p-a23d2359.entry.js} +1 -1
  47. package/dist/bromcom-ui/p-a2d79502.entry.js +5 -0
  48. package/dist/bromcom-ui/p-a8abc160.entry.js +5 -0
  49. package/dist/bromcom-ui/{p-a3ffcb0d.js → p-a8d1397d.js} +1 -1
  50. package/dist/bromcom-ui/p-b1b449e5.entry.js +5 -0
  51. package/dist/bromcom-ui/p-b95461ec.entry.js +5 -0
  52. package/dist/bromcom-ui/{p-906848af.entry.js → p-c09b0566.entry.js} +1 -1
  53. package/dist/bromcom-ui/{p-59b121e1.entry.js → p-c546cfdf.entry.js} +1 -1
  54. package/dist/bromcom-ui/{p-e14fb705.entry.js → p-c7e3e6b0.entry.js} +1 -1
  55. package/dist/bromcom-ui/{p-7b5e88c5.entry.js → p-cb975855.entry.js} +1 -1
  56. package/dist/bromcom-ui/{p-77e0d2b5.entry.js → p-cbfa56e8.entry.js} +1 -1
  57. package/dist/bromcom-ui/{p-96525d60.entry.js → p-d33c83e8.entry.js} +1 -1
  58. package/dist/bromcom-ui/p-d4200c87.entry.js +5 -0
  59. package/dist/bromcom-ui/{p-a2710121.entry.js → p-d5503ae8.entry.js} +1 -1
  60. package/dist/bromcom-ui/p-d98d05a3.js +5 -0
  61. package/dist/bromcom-ui/{p-99bed73b.entry.js → p-d9acb076.entry.js} +1 -1
  62. package/dist/bromcom-ui/{p-2f4d6b32.entry.js → p-df615728.entry.js} +1 -1
  63. package/dist/bromcom-ui/p-e07222d9.entry.js +5 -0
  64. package/dist/bromcom-ui/{p-41df4c5d.entry.js → p-e974df65.entry.js} +1 -1
  65. package/dist/bromcom-ui/{p-1af75960.entry.js → p-e987ebfa.entry.js} +1 -1
  66. package/dist/bromcom-ui/{p-1978e4ae.entry.js → p-eaa34b84.entry.js} +1 -1
  67. package/dist/bromcom-ui/{p-765ee6c1.js → p-f20c8e07.js} +1 -1
  68. package/dist/bromcom-ui/{p-5f002c1c.entry.js → p-ff737d82.entry.js} +1 -1
  69. package/dist/cjs/bcm-accordion.cjs.entry.js +1 -1
  70. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  71. package/dist/cjs/bcm-attendance.cjs.entry.js +1 -1
  72. package/dist/cjs/bcm-avatar_2.cjs.entry.js +165 -0
  73. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +1 -1
  74. package/dist/cjs/bcm-button-group.cjs.entry.js +1 -1
  75. package/dist/cjs/bcm-button.cjs.entry.js +384 -0
  76. package/dist/cjs/bcm-card.cjs.entry.js +1 -1
  77. package/dist/cjs/bcm-checkbox-group.cjs.entry.js +1 -1
  78. package/dist/cjs/bcm-checkbox-lite_9.cjs.entry.js +1 -1
  79. package/dist/cjs/bcm-checkbox_2.cjs.entry.js +1 -1
  80. package/dist/cjs/bcm-chip.cjs.entry.js +1 -1
  81. package/dist/cjs/bcm-collapse.cjs.entry.js +1 -1
  82. package/dist/cjs/bcm-date-picker.cjs.entry.js +1 -1
  83. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +1 -1
  84. package/dist/cjs/bcm-default.cjs.entry.js +1 -1
  85. package/dist/cjs/bcm-drawer.cjs.entry.js +3 -3
  86. package/dist/cjs/bcm-dropdown.cjs.entry.js +111 -0
  87. package/dist/cjs/bcm-expansion-panel.cjs.entry.js +1 -1
  88. package/dist/cjs/bcm-form-2.cjs.entry.js +1 -1
  89. package/dist/cjs/bcm-form.cjs.entry.js +487 -0
  90. package/dist/cjs/bcm-icon.cjs.entry.js +41 -0
  91. package/dist/cjs/bcm-input.cjs.entry.js +4 -4
  92. package/dist/cjs/bcm-item.cjs.entry.js +84 -0
  93. package/dist/cjs/bcm-items.cjs.entry.js +61 -0
  94. package/dist/cjs/bcm-label_2.cjs.entry.js +122 -0
  95. package/dist/cjs/bcm-linked_2.cjs.entry.js +239 -0
  96. package/dist/cjs/bcm-list.cjs.entry.js +7 -6
  97. package/dist/cjs/bcm-menu.cjs.entry.js +137 -0
  98. package/dist/cjs/bcm-modal.cjs.entry.js +1 -1
  99. package/dist/cjs/bcm-popconfirm-box.cjs.entry.js +1 -1
  100. package/dist/cjs/bcm-popconfirm.cjs.entry.js +1 -1
  101. package/dist/cjs/bcm-popover.cjs.entry.js +183 -0
  102. package/dist/cjs/bcm-progress.cjs.entry.js +1 -1
  103. package/dist/cjs/bcm-radio-group.cjs.entry.js +1 -1
  104. package/dist/cjs/bcm-radio.cjs.entry.js +1 -1
  105. package/dist/cjs/bcm-range.cjs.entry.js +1 -1
  106. package/dist/cjs/bcm-search.cjs.entry.js +2 -2
  107. package/dist/cjs/bcm-skeleton.cjs.entry.js +1 -1
  108. package/dist/cjs/bcm-step.cjs.entry.js +2 -2
  109. package/dist/cjs/bcm-stepper.cjs.entry.js +2 -2
  110. package/dist/cjs/bcm-switch.cjs.entry.js +149 -0
  111. package/dist/cjs/bcm-tab-group.cjs.entry.js +1 -1
  112. package/dist/cjs/bcm-tag.cjs.entry.js +2 -2
  113. package/dist/cjs/bcm-textarea.cjs.entry.js +2 -2
  114. package/dist/cjs/bcm-time-picker.cjs.entry.js +1 -1
  115. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  116. package/dist/cjs/{generate-0d51cba6.js → generate-e98dfd99.js} +14 -14
  117. package/dist/cjs/{input-template-d7f600a5.js → input-template-00b50605.js} +1 -1
  118. package/dist/cjs/json-parse-decarator-98c9ac9a.js +40 -0
  119. package/dist/cjs/loader.cjs.js +1 -1
  120. package/dist/cjs/{number-helper-1d113d3e.js → number-helper-b80392ed.js} +1 -1
  121. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +2 -2
  122. package/dist/cjs/old-bcm-popover.cjs.entry.js +1 -1
  123. package/dist/cjs/{stepper-states-f66c2ae8.js → stepper-states-bd774fce.js} +1 -1
  124. package/dist/cjs/{tooltip-helper-eff66c97.js → tooltip-helper-1418bb15.js} +3 -35
  125. package/dist/cjs/{validators-424a487a.js → validators-5514189b.js} +1 -1
  126. package/dist/collection/components/molecules/linked/linked.js +1 -1
  127. package/dist/components/generate.js +1 -1
  128. package/dist/components/linked.js +1 -1
  129. package/dist/esm/bcm-accordion.entry.js +1 -1
  130. package/dist/esm/bcm-alert.entry.js +1 -1
  131. package/dist/esm/bcm-attendance.entry.js +1 -1
  132. package/dist/esm/bcm-avatar_2.entry.js +160 -0
  133. package/dist/esm/bcm-breadcrumb.entry.js +1 -1
  134. package/dist/esm/bcm-button-group.entry.js +1 -1
  135. package/dist/esm/bcm-button.entry.js +380 -0
  136. package/dist/esm/bcm-card.entry.js +3 -3
  137. package/dist/esm/bcm-checkbox-group.entry.js +2 -2
  138. package/dist/esm/bcm-checkbox-lite_9.entry.js +2 -2
  139. package/dist/esm/bcm-checkbox_2.entry.js +3 -3
  140. package/dist/esm/bcm-chip.entry.js +3 -3
  141. package/dist/esm/bcm-collapse-group.entry.js +1 -1
  142. package/dist/esm/bcm-collapse.entry.js +1 -1
  143. package/dist/esm/bcm-colorpicker.entry.js +2 -2
  144. package/dist/esm/bcm-date-picker.entry.js +2 -2
  145. package/dist/esm/bcm-datetime-picker.entry.js +3 -3
  146. package/dist/esm/bcm-default.entry.js +1 -1
  147. package/dist/esm/bcm-drawer.entry.js +6 -6
  148. package/dist/esm/bcm-dropdown.entry.js +107 -0
  149. package/dist/esm/bcm-expansion-panel.entry.js +3 -3
  150. package/dist/esm/bcm-form-2.entry.js +1 -1
  151. package/dist/esm/bcm-form.entry.js +483 -0
  152. package/dist/esm/bcm-icon.entry.js +37 -0
  153. package/dist/esm/bcm-input.entry.js +5 -5
  154. package/dist/esm/bcm-item.entry.js +80 -0
  155. package/dist/esm/bcm-items.entry.js +57 -0
  156. package/dist/esm/bcm-label_2.entry.js +117 -0
  157. package/dist/esm/bcm-linked_2.entry.js +234 -0
  158. package/dist/esm/bcm-list.entry.js +9 -8
  159. package/dist/esm/bcm-menu.entry.js +133 -0
  160. package/dist/esm/bcm-modal.entry.js +1 -1
  161. package/dist/esm/bcm-old-input.entry.js +1 -1
  162. package/dist/esm/bcm-old-tag_2.entry.js +1 -1
  163. package/dist/esm/bcm-popconfirm-box.entry.js +3 -3
  164. package/dist/esm/bcm-popconfirm.entry.js +1 -1
  165. package/dist/esm/bcm-popover.entry.js +179 -0
  166. package/dist/esm/bcm-progress.entry.js +3 -3
  167. package/dist/esm/bcm-radio-group.entry.js +2 -2
  168. package/dist/esm/bcm-radio.entry.js +3 -3
  169. package/dist/esm/bcm-range.entry.js +2 -2
  170. package/dist/esm/bcm-search.entry.js +3 -3
  171. package/dist/esm/bcm-select.entry.js +1 -1
  172. package/dist/esm/bcm-skeleton.entry.js +1 -1
  173. package/dist/esm/bcm-step.entry.js +2 -2
  174. package/dist/esm/bcm-stepper.entry.js +3 -3
  175. package/dist/esm/bcm-switch.entry.js +145 -0
  176. package/dist/esm/bcm-tab-group.entry.js +1 -1
  177. package/dist/esm/bcm-table.entry.js +1 -1
  178. package/dist/esm/bcm-tabs-content.entry.js +1 -1
  179. package/dist/esm/bcm-tabs.entry.js +1 -1
  180. package/dist/esm/bcm-tag.entry.js +3 -3
  181. package/dist/esm/bcm-textarea.entry.js +3 -3
  182. package/dist/esm/bcm-time-picker.entry.js +2 -2
  183. package/dist/esm/bromcom-ui.js +1 -1
  184. package/dist/esm/{color-helper-7e202fd8.js → color-helper-b5e9aa56.js} +1 -1
  185. package/dist/esm/{element-dragger-89bb52fd.js → element-dragger-7ea06c76.js} +1 -1
  186. package/dist/esm/{generate-30f32431.js → generate-38707d04.js} +14 -14
  187. package/dist/esm/{input-template-0131cb6b.js → input-template-bd2265e4.js} +1 -1
  188. package/dist/esm/json-parse-decarator-0e105c28.js +38 -0
  189. package/dist/esm/loader.js +1 -1
  190. package/dist/esm/{number-helper-49efb3a0.js → number-helper-5268042c.js} +1 -1
  191. package/dist/esm/old-bcm-popover-box.entry.js +4 -4
  192. package/dist/esm/old-bcm-popover.entry.js +1 -1
  193. package/dist/esm/{stepper-states-204a065e.js → stepper-states-925a81ea.js} +1 -1
  194. package/dist/esm/{tooltip-helper-968148fa.js → tooltip-helper-2c89e1cc.js} +6 -37
  195. package/dist/esm/{utils-57652744.js → utils-b3338faf.js} +1 -1
  196. package/dist/esm/{validators-e1c02a1a.js → validators-734a2c8e.js} +1 -1
  197. package/package.json +1 -1
  198. package/dist/bromcom-ui/p-3b07a0b1.entry.js +0 -5
  199. package/dist/bromcom-ui/p-3b43ad99.entry.js +0 -5
  200. package/dist/bromcom-ui/p-937e2bed.js +0 -5
  201. package/dist/bromcom-ui/p-c78bc99b.js +0 -5
  202. package/dist/bromcom-ui/p-dcf02363.entry.js +0 -5
  203. package/dist/cjs/bcm-avatar_15.cjs.entry.js +0 -1954
  204. package/dist/esm/bcm-avatar_15.entry.js +0 -1936
@@ -0,0 +1,483 @@
1
+ /*!
2
+ * Built with Stencil
3
+ * Copyright (c) Bromcom.
4
+ */
5
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-58077b32.js';
6
+ import { c as classnames } from './index-ba2edd32.js';
7
+ import { I as IsLoad } from './is-load-decorator-d57b8f9e.js';
8
+ import { S as StringHelper } from './string-helper-74a1648f.js';
9
+ import { d as delay, a as getChildElements } from './utils-b3338faf.js';
10
+ import './_commonjsHelpers-3016b722.js';
11
+ import './bcm-b8d8a236.js';
12
+
13
+ // /**
14
+ // *
15
+ // * @param type
16
+ // */
17
+ // export const required = (value:any) => {
18
+ // if ( value || value != null ) {
19
+ // return true
20
+ // } else {
21
+ // return true
22
+ // }
23
+ // }
24
+ class rules {
25
+ constructor() { }
26
+ response(status, message) {
27
+ return Object.assign(Object.assign({ valid: status }, (message && { message })), (!status && { type: 'error' }));
28
+ }
29
+ required(value, componentValidation) {
30
+ let validation = this.response(true);
31
+ if (value == '' || value == "" || value == undefined || value == null || value === false) {
32
+ validation = this.response(false, 'This field is required.');
33
+ }
34
+ if (componentValidation) {
35
+ if (!componentValidation.valid) {
36
+ validation = this.response(false, componentValidation.errorText);
37
+ }
38
+ if (value instanceof Object) {
39
+ if (value.isValid) {
40
+ if (value.isValid == false)
41
+ validation = this.response(false, 'This field is required.');
42
+ }
43
+ }
44
+ }
45
+ return validation;
46
+ }
47
+ selfValidation(input) {
48
+ let validation = this.response(true);
49
+ if (input.captionError != null || input.captionType == 'error') {
50
+ validation = this.response(false, input.captionError);
51
+ }
52
+ return validation;
53
+ }
54
+ }
55
+ const validate = new rules;
56
+
57
+ const formCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");.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}:host{display:block;margin-bottom:8px}:host(.hidden){display:none}";
58
+
59
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
60
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
62
+ r = Reflect.decorate(decorators, target, key, desc);
63
+ else
64
+ for (var i = decorators.length - 1; i >= 0; i--)
65
+ if (d = decorators[i])
66
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
67
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
68
+ };
69
+ const BcmForm = class {
70
+ constructor(hostRef) {
71
+ registerInstance(this, hostRef);
72
+ this.bcmForm = createEvent(this, "bcm-form", 7);
73
+ this.formData = {};
74
+ this.inputs = [];
75
+ this.duplicateInput = [];
76
+ this.isValid = true;
77
+ this.returnCaption = [];
78
+ this.Bromcom = {
79
+ errors: {
80
+ targetFormNotExist: 'target form is not exist --> ',
81
+ },
82
+ inputComponents: {
83
+ // Birbirinin aynısı
84
+ INPUT: 'input',
85
+ TEXTAREA: 'textarea',
86
+ //çok benzer
87
+ SWITCH: 'switch',
88
+ CHECKBOX: 'checkbox',
89
+ RADIO_GROUP: 'radio-group',
90
+ CHECKBOX_GROUP: 'checkbox-group',
91
+ RANGE: 'range',
92
+ // sadece value fırlatıyor
93
+ FORM: 'form',
94
+ FORM_GROUP: 'form-group',
95
+ // *En vakit alacak => içinde select, autocomplete, listbox, treeview özellikleri var
96
+ LIST: 'list',
97
+ //
98
+ COLORPICKER: 'colorpicker',
99
+ // picker aslında tek komponent hepsi datetimepicker
100
+ DATE_PICKER: 'date-picker',
101
+ TIME_PICKER: 'time-picker',
102
+ DATETIME_PICKER: 'datetime-picker',
103
+ // silinecek komponentler
104
+ SELECT: 'select',
105
+ LISTBOX: 'listbox'
106
+ },
107
+ helpers: {
108
+ randomId: function () {
109
+ return Math.random().toString(16).slice(2, -1);
110
+ },
111
+ },
112
+ };
113
+ this._id = (Math.random() * 4).toString(16).replace('.', '');
114
+ this.hidden = false;
115
+ this.validation = false;
116
+ this.name = "";
117
+ this.value = undefined;
118
+ this.autocomplete = false;
119
+ }
120
+ handleSubmit() {
121
+ // if (lowercase(e.target.nodeName) === 'bcm-button') {
122
+ // if (e.target.type === 'submit') {
123
+ // this.submitFunction()
124
+ // }
125
+ // }
126
+ }
127
+ async submitFunction() {
128
+ this.formData = {};
129
+ this.inputs = [];
130
+ this.selector = this.el;
131
+ await this.getInputs();
132
+ await delay(10);
133
+ const usrFrmData = await this.userFormData();
134
+ var formData = { isValid: true, formData: usrFrmData };
135
+ if (this.name) {
136
+ formData = Object.assign(Object.assign({}, formData), { formName: this.name });
137
+ }
138
+ if (this.isValid) {
139
+ this.bcmForm.emit(formData);
140
+ return formData;
141
+ }
142
+ else {
143
+ this.returnCaption = { isValid: false, 'message': 'Please fill in all inputs', 'errorDetails': this.returnCaption, formData: usrFrmData };
144
+ if (this.name) {
145
+ this.returnCaption = Object.assign(Object.assign({}, this.returnCaption), { formName: this.name });
146
+ }
147
+ this.bcmForm.emit(this.returnCaption);
148
+ return this.returnCaption;
149
+ }
150
+ }
151
+ async submit() {
152
+ return Promise.resolve(this.submitFunction());
153
+ }
154
+ async set(data) {
155
+ var _a;
156
+ const validate = this.validation;
157
+ this.validation = false;
158
+ // debugger
159
+ this.selector = this.el;
160
+ await this.getInputs();
161
+ if (data && ((_a = this.inputs) === null || _a === void 0 ? void 0 : _a.length) > 0) {
162
+ for (const key of Object.keys(data)) {
163
+ const item = this.inputs.find(item => item.name === key);
164
+ if (item) {
165
+ try {
166
+ await item.set(data[key]);
167
+ }
168
+ catch (error) {
169
+ console.log(item.nodeName, "set", error);
170
+ }
171
+ }
172
+ }
173
+ }
174
+ this.validation = validate;
175
+ }
176
+ async get() {
177
+ var _a;
178
+ let formData = {};
179
+ this.selector = this.el;
180
+ const inputsCache = this.inputs;
181
+ await this.getInputs();
182
+ ((_a = this.inputs) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.inputs.forEach(async (item) => {
183
+ try {
184
+ const value = await item.get();
185
+ formData = Object.assign(Object.assign({}, formData), { [item.name]: value });
186
+ }
187
+ catch (error) {
188
+ console.log(`${item.nodeName} get error`);
189
+ }
190
+ });
191
+ this.inputs = inputsCache;
192
+ await delay(10);
193
+ return Promise.resolve(formData);
194
+ }
195
+ async setClear() {
196
+ this.formData = {};
197
+ this.inputs = [];
198
+ this.selector = this.el;
199
+ let clear = [];
200
+ await this.getInputs();
201
+ this.inputs.forEach(async (item) => {
202
+ try {
203
+ clear.push(await item.setClear());
204
+ }
205
+ catch (error) {
206
+ console.log(error);
207
+ }
208
+ });
209
+ await Promise.all(clear).then(() => {
210
+ this.formData = {};
211
+ this.inputs = [];
212
+ this.duplicateInput = [];
213
+ this.isValid = true;
214
+ this.returnCaption = [];
215
+ });
216
+ await delay(10);
217
+ return Promise.resolve(true);
218
+ }
219
+ async resetCaption() {
220
+ await delay(10);
221
+ this.formData = {};
222
+ this.inputs = [];
223
+ this.selector = this.el;
224
+ await this.getInputs();
225
+ for (const item of this.inputs) {
226
+ try {
227
+ await item.resetCaption();
228
+ }
229
+ catch (error) {
230
+ console.log(item.nodeName, "rc p");
231
+ }
232
+ }
233
+ await delay(10);
234
+ return Promise.resolve();
235
+ }
236
+ async config(_config) {
237
+ if (_config['validation']) {
238
+ typeof _config['validation'] == 'boolean'
239
+ ? this.validation = _config['validation']
240
+ : this.validation = false;
241
+ }
242
+ return true;
243
+ }
244
+ async getInputs() {
245
+ var form = this.selector;
246
+ if (!form) {
247
+ console.warn(this.Bromcom.errors.targetFormNotExist + this.selector);
248
+ return;
249
+ }
250
+ const inputs = Array.from(form.querySelectorAll('bcm-' + Object.values(this.Bromcom.inputComponents).join(',bcm-')));
251
+ this.duplicateInput = [];
252
+ // s-hn: Stencil private flag that contains host web component
253
+ // https://github.com/ionic-team/stencil/blob/45388e95edb46ef357eb9ae37cd32bbb5bc1ed23/src/runtime/vdom/vdom-render.ts#L116
254
+ const rootInputs = inputs.filter((input) => { var _a; return !input['s-hn'] || ((_a = input['s-hn']) === null || _a === void 0 ? void 0 : _a.nodeName) !== 'BcmForm'; });
255
+ // debugger;
256
+ for (const item of rootInputs) {
257
+ if (StringHelper.lowercase(item.nodeName) == "bcm-checkbox-group") {
258
+ let checkboxs = item.querySelectorAll("bcm-checkbox");
259
+ if (checkboxs) {
260
+ for (const checkbox of checkboxs) {
261
+ this.duplicateInput.push(checkbox.name);
262
+ }
263
+ }
264
+ }
265
+ if (StringHelper.lowercase(item.nodeName) == "bcm-form") {
266
+ const groupInputs = Array.from(item.querySelectorAll('bcm-' + Object.values(this.Bromcom.inputComponents).join(',bcm-')));
267
+ let itemObject = {};
268
+ for (const element of groupInputs) {
269
+ var name = element.name;
270
+ var value = element.value;
271
+ itemObject = Object.assign(Object.assign({}, itemObject), { [name]: value });
272
+ this.duplicateInput.push(element.name);
273
+ }
274
+ item.value = itemObject;
275
+ let checkboxs = item.querySelectorAll("bcm-checkbox");
276
+ if (checkboxs) {
277
+ for (const checkbox of checkboxs) {
278
+ this.duplicateInput.push(checkbox.name);
279
+ }
280
+ }
281
+ }
282
+ }
283
+ await delay(10);
284
+ this.inputs = rootInputs;
285
+ }
286
+ getItemValue(item) {
287
+ const tagName = item.tagName.toLowerCase().replace('bcm-', '');
288
+ switch (tagName) {
289
+ /* case 'date-picker':
290
+ case 'datetime-picker':
291
+ return item.value.timestamp
292
+ case 'time-picker':
293
+ return item.value.time */
294
+ default:
295
+ return item.value;
296
+ }
297
+ }
298
+ isWrapperComponent(item) {
299
+ return ['bcm-datetime-picker', 'bcm-date-picker', 'bcm-time-picker'].includes(item.toLowerCase());
300
+ }
301
+ isGroupComponent(item) {
302
+ return ['bcm-checkbox-group'].includes(item.toLowerCase());
303
+ }
304
+ isListComponent(item) {
305
+ return ['bcm-list'].includes(item.toLowerCase());
306
+ }
307
+ async userFormData() {
308
+ this.formData = {};
309
+ this.isValid = true;
310
+ this.returnCaption = [];
311
+ for (const item of this.inputs) {
312
+ // const isListComponent = this.isListComponent(item.tagName);
313
+ const isGroupComponent = this.isGroupComponent(item.tagName);
314
+ const isWrapperComponent = this.isWrapperComponent(item.tagName);
315
+ const wrapperComponent = isWrapperComponent && item;
316
+ const input = isWrapperComponent
317
+ ? await item.getInput() && item
318
+ : item;
319
+ // input.caption = ''
320
+ // input.captionType = ''
321
+ if (this.validation) {
322
+ let valid = null;
323
+ // if (isListComponent) {
324
+ // valid = !(input.value && input.value.length > 0) && validate.required(input.value)
325
+ // } else
326
+ if (isWrapperComponent) {
327
+ const isPickerValid = await wrapperComponent.isValid();
328
+ valid = validate.required(input.value, isPickerValid);
329
+ if (valid) {
330
+ if (input.value instanceof Object) {
331
+ if (input.value["isValid"] == false) {
332
+ valid = validate.required("", isPickerValid);
333
+ }
334
+ }
335
+ else {
336
+ valid = validate.required(input.value, isPickerValid);
337
+ }
338
+ }
339
+ }
340
+ else if (isGroupComponent) {
341
+ const childsCheckbox = getChildElements(input, 'bcm-checkbox:not(#bcm-indeterminate-element)');
342
+ if (childsCheckbox && childsCheckbox.length > 0) {
343
+ for (const element of childsCheckbox) {
344
+ if (element && element.required === true) {
345
+ valid = validate.required(element.checked);
346
+ if (!valid['valid']) {
347
+ element.noCaption = false;
348
+ element.captionError = valid['message'];
349
+ element.captionType = valid['type'];
350
+ }
351
+ else {
352
+ element.noCaption = input.noCaption;
353
+ element.captionError = null;
354
+ element.captionType = "default";
355
+ }
356
+ }
357
+ }
358
+ }
359
+ }
360
+ else {
361
+ valid = validate.required(input.value);
362
+ }
363
+ if (input.required) {
364
+ if (!valid['valid']) {
365
+ input.captionError = valid['message'];
366
+ input.captionType = valid['type'];
367
+ }
368
+ else {
369
+ input.captionError = null;
370
+ input.captionType = "default";
371
+ }
372
+ await delay(10);
373
+ const selfValidation = validate.selfValidation(input);
374
+ if (valid['valid']) {
375
+ if (!selfValidation['valid']) {
376
+ input.captionError = selfValidation['message'];
377
+ input.captionType = selfValidation['type'];
378
+ }
379
+ }
380
+ }
381
+ let name = input.name;
382
+ let value = input.captionError;
383
+ !input.hidden && input.captionType == 'error' && (this.returnCaption = [...Array.from(this.returnCaption), { [name]: value }],
384
+ this.isValid = false);
385
+ }
386
+ if (input.name && !this.duplicateInput.includes(input.name)) {
387
+ var itemValue = this.getItemValue(input);
388
+ if (!itemValue || itemValue == undefined || itemValue == null) {
389
+ itemValue = null;
390
+ }
391
+ this.formData[input.name] = itemValue;
392
+ }
393
+ }
394
+ return this.formData;
395
+ }
396
+ async handleChange(e) {
397
+ const isWrapperComponent = this.isWrapperComponent(e.target.tagName);
398
+ const isGroupComponent = this.isGroupComponent(e.target.tagName);
399
+ let target;
400
+ if (isWrapperComponent) {
401
+ target = e.target.getInput && await e.target.getInput() || e.target;
402
+ }
403
+ else if (isGroupComponent) {
404
+ let req = false;
405
+ const childsCheckbox = getChildElements(e.target, 'bcm-checkbox:not(#bcm-indeterminate-element)');
406
+ childsCheckbox.length > 0 && (childsCheckbox.forEach((element) => {
407
+ if (element && element.required === true) {
408
+ req = true;
409
+ }
410
+ }));
411
+ target = Object.assign(Object.assign({}, e.target), { required: req });
412
+ }
413
+ else {
414
+ target = e.target;
415
+ }
416
+ const value = e.target.value;
417
+ const wrapperComponent = isWrapperComponent && e.target;
418
+ var isPickerValid;
419
+ if (isWrapperComponent) {
420
+ isPickerValid = await wrapperComponent.isValid();
421
+ }
422
+ const tick = setTimeout(() => {
423
+ if (target.required) {
424
+ let valid = null;
425
+ if (isWrapperComponent) {
426
+ valid = validate.required(value, isPickerValid);
427
+ if (valid) {
428
+ if (value instanceof Object) {
429
+ if (value["isValid"] == false) {
430
+ valid = validate.required("", isPickerValid);
431
+ }
432
+ }
433
+ else {
434
+ valid = validate.required(value, isPickerValid);
435
+ }
436
+ }
437
+ }
438
+ else if (isGroupComponent) {
439
+ const childsCheckbox = getChildElements(e.target, 'bcm-checkbox:not(#bcm-indeterminate-element)');
440
+ childsCheckbox.length > 0 && (childsCheckbox.forEach((element) => {
441
+ if (element && element.required === true) {
442
+ valid = validate.required(element.checked);
443
+ if (!valid['valid']) {
444
+ element.noCaption = false;
445
+ element.captionError = valid['message'];
446
+ element.captionType = valid['type'];
447
+ }
448
+ else {
449
+ element.noCaption = e.target.noCaption;
450
+ element.captionError = null;
451
+ element.captionType = "default";
452
+ }
453
+ }
454
+ }));
455
+ }
456
+ else {
457
+ valid = validate.required(value);
458
+ }
459
+ if (valid['valid']) {
460
+ target.captionError = null;
461
+ target.captionType = null;
462
+ }
463
+ else {
464
+ target.captionError = valid['message'];
465
+ target.captionType = valid['type'];
466
+ }
467
+ }
468
+ clearTimeout(tick);
469
+ });
470
+ this.value = await this.userFormData();
471
+ }
472
+ render() {
473
+ const hostClasses = classnames(this.hidden ? 'hidden' : null);
474
+ return (h(Host, { class: hostClasses, tabindex: "-1" }, h("form", { class: "bcm-form", autocomplete: this.autocomplete ? "on" : "off", tabindex: "-1" }, h("slot", null))));
475
+ }
476
+ get el() { return getElement(this); }
477
+ };
478
+ __decorate([
479
+ IsLoad()
480
+ ], BcmForm.prototype, "el", void 0);
481
+ BcmForm.style = formCss;
482
+
483
+ export { BcmForm as bcm_form };
@@ -0,0 +1,37 @@
1
+ /*!
2
+ * Built with Stencil
3
+ * Copyright (c) Bromcom.
4
+ */
5
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-58077b32.js';
6
+ import { I as IsLoad } from './is-load-decorator-d57b8f9e.js';
7
+
8
+ const iconCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");.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}.bcm-icon.hidden{display:none}";
9
+
10
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
13
+ r = Reflect.decorate(decorators, target, key, desc);
14
+ else
15
+ for (var i = decorators.length - 1; i >= 0; i--)
16
+ if (d = decorators[i])
17
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19
+ };
20
+ const BcmIcon = class {
21
+ constructor(hostRef) {
22
+ registerInstance(this, hostRef);
23
+ this.hidden = false;
24
+ this.icon = undefined;
25
+ }
26
+ render() {
27
+ const { icon, hidden } = this;
28
+ return (h(Host, { class: `bcm-icon fa ${hidden ? 'hidden' : ''}` }, h("i", { class: `${icon}` })));
29
+ }
30
+ get el() { return getElement(this); }
31
+ };
32
+ __decorate([
33
+ IsLoad()
34
+ ], BcmIcon.prototype, "el", void 0);
35
+ BcmIcon.style = iconCss;
36
+
37
+ export { BcmIcon as bcm_icon };
@@ -3,15 +3,15 @@
3
3
  * Copyright (c) Bromcom.
4
4
  */
5
5
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-58077b32.js';
6
- import { G as Generate } from './generate-30f32431.js';
7
- import { N as NumberHelper } from './number-helper-49efb3a0.js';
6
+ import { G as Generate } from './generate-38707d04.js';
7
+ import { N as NumberHelper } from './number-helper-5268042c.js';
8
8
  import { S as StringHelper } from './string-helper-74a1648f.js';
9
- import { V as Validators } from './validators-e1c02a1a.js';
9
+ import { V as Validators } from './validators-734a2c8e.js';
10
10
  import { a as Bcm } from './bcm-b8d8a236.js';
11
11
  import { C as CaptionTemplate } from './caption-template-e7d51661.js';
12
- import { I as InputTemplate } from './input-template-0131cb6b.js';
12
+ import { I as InputTemplate } from './input-template-bd2265e4.js';
13
13
  import { c as classnames } from './index-ba2edd32.js';
14
- import { d as delay } from './utils-57652744.js';
14
+ import { d as delay } from './utils-b3338faf.js';
15
15
  import { I as IsLoad } from './is-load-decorator-d57b8f9e.js';
16
16
  import './_commonjsHelpers-3016b722.js';
17
17
  import './types-6f06fa1a.js';
@@ -0,0 +1,80 @@
1
+ /*!
2
+ * Built with Stencil
3
+ * Copyright (c) Bromcom.
4
+ */
5
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-58077b32.js';
6
+ import { G as Generate } from './generate-38707d04.js';
7
+ import { a as Bcm } from './bcm-b8d8a236.js';
8
+ import { c as classnames } from './index-ba2edd32.js';
9
+ import { C as ColorHelper } from './color-helper-b5e9aa56.js';
10
+ import { I as IsLoad } from './is-load-decorator-d57b8f9e.js';
11
+ import './_commonjsHelpers-3016b722.js';
12
+ import './colors-1d7854ea.js';
13
+ import './utils-b3338faf.js';
14
+
15
+ const itemCss = "@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}:root{--bcm-new-ds-color-inherit:inherit;--bcm-new-ds-color-current:currentColor;--bcm-new-ds-color-transparent:transparent;--bcm-new-ds-color-black:#000;--bcm-new-ds-color-white:#fff;--bcm-new-ds-color-slate:#64748b;--bcm-new-ds-color-slate-50:#f8fafc;--bcm-new-ds-color-slate-100:#f1f5f9;--bcm-new-ds-color-slate-200:#e2e8f0;--bcm-new-ds-color-slate-300:#cbd5e1;--bcm-new-ds-color-slate-400:#94a3b8;--bcm-new-ds-color-slate-500:#64748b;--bcm-new-ds-color-slate-600:#475569;--bcm-new-ds-color-slate-700:#334155;--bcm-new-ds-color-slate-800:#1e293b;--bcm-new-ds-color-slate-900:#0f172a;--bcm-new-ds-color-gray:#6b7280;--bcm-new-ds-color-gray-50:#f9fafb;--bcm-new-ds-color-gray-100:#f3f4f6;--bcm-new-ds-color-gray-200:#e5e7eb;--bcm-new-ds-color-gray-300:#d1d5db;--bcm-new-ds-color-gray-400:#9ca3af;--bcm-new-ds-color-gray-500:#6b7280;--bcm-new-ds-color-gray-600:#4b5563;--bcm-new-ds-color-gray-700:#374151;--bcm-new-ds-color-gray-800:#1f2937;--bcm-new-ds-color-gray-900:#111827;--bcm-new-ds-color-zinc:#71717a;--bcm-new-ds-color-zinc-50:#fafafa;--bcm-new-ds-color-zinc-100:#f4f4f5;--bcm-new-ds-color-zinc-200:#e4e4e7;--bcm-new-ds-color-zinc-300:#d4d4d8;--bcm-new-ds-color-zinc-400:#a1a1aa;--bcm-new-ds-color-zinc-500:#71717a;--bcm-new-ds-color-zinc-600:#52525b;--bcm-new-ds-color-zinc-700:#3f3f46;--bcm-new-ds-color-zinc-800:#27272a;--bcm-new-ds-color-zinc-900:#18181b;--bcm-new-ds-color-neutral:#737373;--bcm-new-ds-color-neutral-50:#fafafa;--bcm-new-ds-color-neutral-100:#f5f5f5;--bcm-new-ds-color-neutral-200:#e5e5e5;--bcm-new-ds-color-neutral-300:#d4d4d4;--bcm-new-ds-color-neutral-400:#a3a3a3;--bcm-new-ds-color-neutral-500:#737373;--bcm-new-ds-color-neutral-600:#525252;--bcm-new-ds-color-neutral-700:#404040;--bcm-new-ds-color-neutral-800:#262626;--bcm-new-ds-color-neutral-900:#171717;--bcm-new-ds-color-stone:#78716c;--bcm-new-ds-color-stone-50:#fafaf9;--bcm-new-ds-color-stone-100:#f5f5f4;--bcm-new-ds-color-stone-200:#e7e5e4;--bcm-new-ds-color-stone-300:#d6d3d1;--bcm-new-ds-color-stone-400:#a8a29e;--bcm-new-ds-color-stone-500:#78716c;--bcm-new-ds-color-stone-600:#57534e;--bcm-new-ds-color-stone-700:#44403c;--bcm-new-ds-color-stone-800:#292524;--bcm-new-ds-color-stone-900:#1c1917;--bcm-new-ds-color-red:#ef4444;--bcm-new-ds-color-red-50:#fef2f2;--bcm-new-ds-color-red-100:#fee2e2;--bcm-new-ds-color-red-200:#fecaca;--bcm-new-ds-color-red-300:#fca5a5;--bcm-new-ds-color-red-400:#f87171;--bcm-new-ds-color-red-500:#ef4444;--bcm-new-ds-color-red-600:#dc2626;--bcm-new-ds-color-red-700:#b91c1c;--bcm-new-ds-color-red-800:#991b1b;--bcm-new-ds-color-red-900:#7f1d1d;--bcm-new-ds-color-orange:#f97316;--bcm-new-ds-color-orange-50:#fff7ed;--bcm-new-ds-color-orange-100:#ffedd5;--bcm-new-ds-color-orange-200:#fed7aa;--bcm-new-ds-color-orange-300:#fdba74;--bcm-new-ds-color-orange-400:#fb923c;--bcm-new-ds-color-orange-500:#f97316;--bcm-new-ds-color-orange-600:#ea580c;--bcm-new-ds-color-orange-700:#c2410c;--bcm-new-ds-color-orange-800:#9a3412;--bcm-new-ds-color-orange-900:#7c2d12;--bcm-new-ds-color-amber:#f59e0b;--bcm-new-ds-color-amber-50:#fffbeb;--bcm-new-ds-color-amber-100:#fef3c7;--bcm-new-ds-color-amber-200:#fde68a;--bcm-new-ds-color-amber-300:#fcd34d;--bcm-new-ds-color-amber-400:#fbbf24;--bcm-new-ds-color-amber-500:#f59e0b;--bcm-new-ds-color-amber-600:#d97706;--bcm-new-ds-color-amber-700:#b45309;--bcm-new-ds-color-amber-800:#92400e;--bcm-new-ds-color-amber-900:#78350f;--bcm-new-ds-color-yellow:#eab308;--bcm-new-ds-color-yellow-50:#fefce8;--bcm-new-ds-color-yellow-100:#fef9c3;--bcm-new-ds-color-yellow-200:#fef08a;--bcm-new-ds-color-yellow-300:#fde047;--bcm-new-ds-color-yellow-400:#facc15;--bcm-new-ds-color-yellow-500:#eab308;--bcm-new-ds-color-yellow-600:#ca8a04;--bcm-new-ds-color-yellow-700:#a16207;--bcm-new-ds-color-yellow-800:#854d0e;--bcm-new-ds-color-yellow-900:#713f12;--bcm-new-ds-color-lime:#84cc16;--bcm-new-ds-color-lime-50:#f7fee7;--bcm-new-ds-color-lime-100:#ecfccb;--bcm-new-ds-color-lime-200:#d9f99d;--bcm-new-ds-color-lime-300:#bef264;--bcm-new-ds-color-lime-400:#a3e635;--bcm-new-ds-color-lime-500:#84cc16;--bcm-new-ds-color-lime-600:#65a30d;--bcm-new-ds-color-lime-700:#4d7c0f;--bcm-new-ds-color-lime-800:#3f6212;--bcm-new-ds-color-lime-900:#365314;--bcm-new-ds-color-green:#22c55e;--bcm-new-ds-color-green-50:#f0fdf4;--bcm-new-ds-color-green-100:#dcfce7;--bcm-new-ds-color-green-200:#bbf7d0;--bcm-new-ds-color-green-300:#86efac;--bcm-new-ds-color-green-400:#4ade80;--bcm-new-ds-color-green-500:#22c55e;--bcm-new-ds-color-green-600:#16a34a;--bcm-new-ds-color-green-700:#15803d;--bcm-new-ds-color-green-800:#166534;--bcm-new-ds-color-green-900:#14532d;--bcm-new-ds-color-emerald:#10b981;--bcm-new-ds-color-emerald-50:#ecfdf5;--bcm-new-ds-color-emerald-100:#d1fae5;--bcm-new-ds-color-emerald-200:#a7f3d0;--bcm-new-ds-color-emerald-300:#6ee7b7;--bcm-new-ds-color-emerald-400:#34d399;--bcm-new-ds-color-emerald-500:#10b981;--bcm-new-ds-color-emerald-600:#059669;--bcm-new-ds-color-emerald-700:#047857;--bcm-new-ds-color-emerald-800:#065f46;--bcm-new-ds-color-emerald-900:#064e3b;--bcm-new-ds-color-teal:#14b8a6;--bcm-new-ds-color-teal-50:#f0fdfa;--bcm-new-ds-color-teal-100:#ccfbf1;--bcm-new-ds-color-teal-200:#99f6e4;--bcm-new-ds-color-teal-300:#5eead4;--bcm-new-ds-color-teal-400:#2dd4bf;--bcm-new-ds-color-teal-500:#14b8a6;--bcm-new-ds-color-teal-600:#0d9488;--bcm-new-ds-color-teal-700:#0f766e;--bcm-new-ds-color-teal-800:#115e59;--bcm-new-ds-color-teal-900:#134e4a;--bcm-new-ds-color-cyan:#06b6d4;--bcm-new-ds-color-cyan-50:#ecfeff;--bcm-new-ds-color-cyan-100:#cffafe;--bcm-new-ds-color-cyan-200:#a5f3fc;--bcm-new-ds-color-cyan-300:#67e8f9;--bcm-new-ds-color-cyan-400:#22d3ee;--bcm-new-ds-color-cyan-500:#06b6d4;--bcm-new-ds-color-cyan-600:#0891b2;--bcm-new-ds-color-cyan-700:#0e7490;--bcm-new-ds-color-cyan-800:#155e75;--bcm-new-ds-color-cyan-900:#164e63;--bcm-new-ds-color-sky:#0ea5e9;--bcm-new-ds-color-sky-50:#f0f9ff;--bcm-new-ds-color-sky-100:#e0f2fe;--bcm-new-ds-color-sky-200:#bae6fd;--bcm-new-ds-color-sky-300:#7dd3fc;--bcm-new-ds-color-sky-400:#38bdf8;--bcm-new-ds-color-sky-500:#0ea5e9;--bcm-new-ds-color-sky-600:#0284c7;--bcm-new-ds-color-sky-700:#0369a1;--bcm-new-ds-color-sky-800:#075985;--bcm-new-ds-color-sky-900:#0c4a6e;--bcm-new-ds-color-blue:#3b82f6;--bcm-new-ds-color-blue-50:#eff6ff;--bcm-new-ds-color-blue-100:#dbeafe;--bcm-new-ds-color-blue-200:#bfdbfe;--bcm-new-ds-color-blue-300:#93c5fd;--bcm-new-ds-color-blue-400:#60a5fa;--bcm-new-ds-color-blue-500:#3b82f6;--bcm-new-ds-color-blue-600:#2563eb;--bcm-new-ds-color-blue-700:#1d4ed8;--bcm-new-ds-color-blue-800:#1e40af;--bcm-new-ds-color-blue-900:#1e3a8a;--bcm-new-ds-color-indigo:#6366f1;--bcm-new-ds-color-indigo-50:#eef2ff;--bcm-new-ds-color-indigo-100:#e0e7ff;--bcm-new-ds-color-indigo-200:#c7d2fe;--bcm-new-ds-color-indigo-300:#a5b4fc;--bcm-new-ds-color-indigo-400:#818cf8;--bcm-new-ds-color-indigo-500:#6366f1;--bcm-new-ds-color-indigo-600:#4f46e5;--bcm-new-ds-color-indigo-700:#4338ca;--bcm-new-ds-color-indigo-800:#3730a3;--bcm-new-ds-color-indigo-900:#312e81;--bcm-new-ds-color-violet:#8b5cf6;--bcm-new-ds-color-violet-50:#f5f3ff;--bcm-new-ds-color-violet-100:#ede9fe;--bcm-new-ds-color-violet-200:#ddd6fe;--bcm-new-ds-color-violet-300:#c4b5fd;--bcm-new-ds-color-violet-400:#a78bfa;--bcm-new-ds-color-violet-500:#8b5cf6;--bcm-new-ds-color-violet-600:#7c3aed;--bcm-new-ds-color-violet-700:#6d28d9;--bcm-new-ds-color-violet-800:#5b21b6;--bcm-new-ds-color-violet-900:#4c1d95;--bcm-new-ds-color-purple:#a855f7;--bcm-new-ds-color-purple-50:#faf5ff;--bcm-new-ds-color-purple-100:#f3e8ff;--bcm-new-ds-color-purple-200:#e9d5ff;--bcm-new-ds-color-purple-300:#d8b4fe;--bcm-new-ds-color-purple-400:#c084fc;--bcm-new-ds-color-purple-500:#a855f7;--bcm-new-ds-color-purple-600:#9333ea;--bcm-new-ds-color-purple-700:#7e22ce;--bcm-new-ds-color-purple-800:#6b21a8;--bcm-new-ds-color-purple-900:#581c87;--bcm-new-ds-color-fuchsia:#d946ef;--bcm-new-ds-color-fuchsia-50:#fdf4ff;--bcm-new-ds-color-fuchsia-100:#fae8ff;--bcm-new-ds-color-fuchsia-200:#f5d0fe;--bcm-new-ds-color-fuchsia-300:#f0abfc;--bcm-new-ds-color-fuchsia-400:#e879f9;--bcm-new-ds-color-fuchsia-500:#d946ef;--bcm-new-ds-color-fuchsia-600:#c026d3;--bcm-new-ds-color-fuchsia-700:#a21caf;--bcm-new-ds-color-fuchsia-800:#86198f;--bcm-new-ds-color-fuchsia-900:#701a75;--bcm-new-ds-color-pink:#ec4899;--bcm-new-ds-color-pink-50:#fdf2f8;--bcm-new-ds-color-pink-100:#fce7f3;--bcm-new-ds-color-pink-200:#fbcfe8;--bcm-new-ds-color-pink-300:#f9a8d4;--bcm-new-ds-color-pink-400:#f472b6;--bcm-new-ds-color-pink-500:#ec4899;--bcm-new-ds-color-pink-600:#db2777;--bcm-new-ds-color-pink-700:#be185d;--bcm-new-ds-color-pink-800:#9d174d;--bcm-new-ds-color-pink-900:#831843;--bcm-new-ds-color-rose:#f43f5e;--bcm-new-ds-color-rose-50:#fff1f2;--bcm-new-ds-color-rose-100:#ffe4e6;--bcm-new-ds-color-rose-200:#fecdd3;--bcm-new-ds-color-rose-300:#fda4af;--bcm-new-ds-color-rose-400:#fb7185;--bcm-new-ds-color-rose-500:#f43f5e;--bcm-new-ds-color-rose-600:#e11d48;--bcm-new-ds-color-rose-700:#be123c;--bcm-new-ds-color-rose-800:#9f1239;--bcm-new-ds-color-rose-900:#881337}*{box-sizing:border-box}.bcm-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:nowrap;--bcm-item-color-default:var(--bcm-new-ds-color-white);--bcm-item-background-color-default:var(--bcm-new-ds-color-blue-500);--bcm-item-color-hover:var(--bcm-new-ds-color-white);--bcm-item-background-color-hover:var(--bcm-new-ds-color-blue-600);--bcm-item-color-focus-visible:var(--bcm-new-ds-color-white);--bcm-item-background-color-focus-visible:var(--bcm-new-ds-color-blue-800);--bcm-item-color-active:var(--bcm-new-ds-color-white);--bcm-item-background-color-active:var(--bcm-new-ds-color-blue-700);--bcm-item-color-disabled:var(--bcm-new-ds-color-white);--bcm-item-background-color-disabled:var(--bcm-new-ds-color-slate-400);font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;border-radius:4px;outline:none;color:var(--bcm-item-color-default);background-color:var(--bcm-item-background-color-default)}.bcm-item-size-small{font-size:12px;line-height:calc(12px + 8px);padding:2px 12px;min-height:calc(calc(12px + 8px) + calc(2px) * 2)}.bcm-item-size-medium{font-size:14px;line-height:calc(14px + 8px);padding:5px 12px;min-height:calc(calc(14px + 8px) + calc(5px) * 2)}.bcm-item-size-large{font-size:16px;line-height:calc(16px + 8px);padding:8px 12px;min-height:calc(calc(16px + 8px) + calc(8px) * 2)}.bcm-item:default{color:var(--bcm-item-color-default);background-color:var(--bcm-item-background-color-default)}.bcm-item:hover{color:var(--bcm-item-color-hover);background-color:var(--bcm-item-background-color-hover)}.bcm-item:focus-visible{color:var(--bcm-item-color-focus-visible);background-color:var(--bcm-item-background-color-focus-visible)}.bcm-item:active{color:var(--bcm-item-color-active);background-color:var(--bcm-item-background-color-active)}.bcm-item:disabled{color:var(--bcm-item-color-disabled);background-color:var(--bcm-item-background-color-disabled)}.bcm-item:not(.static):hover{cursor:pointer}";
16
+
17
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
20
+ r = Reflect.decorate(decorators, target, key, desc);
21
+ else
22
+ for (var i = decorators.length - 1; i >= 0; i--)
23
+ if (d = decorators[i])
24
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
25
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
26
+ };
27
+ const BcmItem = class {
28
+ constructor(hostRef) {
29
+ registerInstance(this, hostRef);
30
+ this._id = Generate.UID();
31
+ this.size = Bcm.Size.medium;
32
+ this.color = undefined;
33
+ this.static = false;
34
+ }
35
+ setColor(color = this.color) {
36
+ if (!color)
37
+ return;
38
+ const prefix = `--bcm-item`;
39
+ if (color == "white") {
40
+ return {
41
+ [`${prefix}-color-default`]: ColorHelper.dsColor('slate-600'),
42
+ [`${prefix}-color-hover`]: ColorHelper.dsColor('slate-600'),
43
+ [`${prefix}-color-focus-visible`]: ColorHelper.dsColor('slate-600'),
44
+ [`${prefix}-color-active`]: ColorHelper.dsColor('slate-600'),
45
+ [`${prefix}-color-disabled`]: ColorHelper.dsColor('white'),
46
+ [`${prefix}-background-color-default`]: ColorHelper.dsColor(this.static ? 'white' : 'white'),
47
+ [`${prefix}-background-color-hover`]: ColorHelper.dsColor(this.static ? 'white' : 'slate-100'),
48
+ [`${prefix}-background-color-focus-visible`]: ColorHelper.dsColor(this.static ? 'white' : 'slate-200'),
49
+ [`${prefix}-background-color-active`]: ColorHelper.dsColor(this.static ? 'white' : 'slate-300'),
50
+ [`${prefix}-background-color-disabled`]: ColorHelper.dsColor('slate-400'),
51
+ };
52
+ }
53
+ return {
54
+ [`${prefix}-color-default`]: ColorHelper.dsColor('white'),
55
+ [`${prefix}-color-hover`]: ColorHelper.dsColor('white'),
56
+ [`${prefix}-color-focus-visible`]: ColorHelper.dsColor('white'),
57
+ [`${prefix}-color-active`]: ColorHelper.dsColor('white'),
58
+ [`${prefix}-color-disabled`]: ColorHelper.dsColor('white'),
59
+ [`${prefix}-background-color-default`]: ColorHelper.dsColor(color + '-500'),
60
+ [`${prefix}-background-color-hover`]: ColorHelper.dsColor(color + '-600'),
61
+ [`${prefix}-background-color-focus-visible`]: ColorHelper.dsColor(color + '-700'),
62
+ [`${prefix}-background-color-active`]: ColorHelper.dsColor(color + '-800'),
63
+ [`${prefix}-background-color-disabled`]: ColorHelper.dsColor('slate-400'),
64
+ };
65
+ }
66
+ disconnectedCallback() {
67
+ // this.el.remove()
68
+ }
69
+ render() {
70
+ const hostClasses = classnames('bcm-item', `bcm-item-size-${this.size}`);
71
+ return (h(Host, { class: hostClasses, style: this.setColor() }, h("slot", null)));
72
+ }
73
+ get el() { return getElement(this); }
74
+ };
75
+ __decorate([
76
+ IsLoad()
77
+ ], BcmItem.prototype, "el", void 0);
78
+ BcmItem.style = itemCss;
79
+
80
+ export { BcmItem as bcm_item };