bromcom-ui 2.7.37-rc.4-1 → 2.7.37-rc.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 (200) hide show
  1. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  2. package/dist/bromcom-ui/{p-30806ec7.js → p-02e409a7.js} +1 -1
  3. package/dist/bromcom-ui/{p-2c3c7265.entry.js → p-0cb7f56d.entry.js} +1 -1
  4. package/dist/bromcom-ui/{p-3716c24c.entry.js → p-1001b996.entry.js} +1 -1
  5. package/dist/bromcom-ui/{p-8513e734.entry.js → p-1293c732.entry.js} +1 -1
  6. package/dist/bromcom-ui/p-134dab8d.entry.js +5 -0
  7. package/dist/bromcom-ui/{p-db7c75ac.entry.js → p-136835e2.entry.js} +1 -1
  8. package/dist/bromcom-ui/{p-ce9f87de.entry.js → p-17b76b14.entry.js} +1 -1
  9. package/dist/bromcom-ui/{p-6768e612.entry.js → p-1d2f7e2a.entry.js} +1 -1
  10. package/dist/bromcom-ui/{p-087d371a.entry.js → p-330e54fa.entry.js} +1 -1
  11. package/dist/bromcom-ui/{p-8c018ae0.js → p-3c7a0345.js} +1 -1
  12. package/dist/bromcom-ui/{p-7df25164.entry.js → p-3ce198ac.entry.js} +1 -1
  13. package/dist/bromcom-ui/{p-e75fa6be.entry.js → p-4a61404a.entry.js} +1 -1
  14. package/dist/bromcom-ui/{p-2b27570e.entry.js → p-4b9c5239.entry.js} +1 -1
  15. package/dist/bromcom-ui/{p-31bc32d4.entry.js → p-4bac0542.entry.js} +1 -1
  16. package/dist/bromcom-ui/{p-99dc108e.entry.js → p-4e0ad77f.entry.js} +1 -1
  17. package/dist/bromcom-ui/{p-7e44e6b5.js → p-5ae0a59b.js} +1 -1
  18. package/dist/bromcom-ui/{p-0653fefc.entry.js → p-5c124ef7.entry.js} +1 -1
  19. package/dist/bromcom-ui/p-5c628a83.js +5 -0
  20. package/dist/bromcom-ui/{p-577cf8e3.js → p-5ccfb7e1.js} +1 -1
  21. package/dist/bromcom-ui/{p-f9b0e4d2.entry.js → p-61b69b38.entry.js} +1 -1
  22. package/dist/bromcom-ui/{p-a677275e.entry.js → p-67129170.entry.js} +1 -1
  23. package/dist/bromcom-ui/{p-7b7caea1.entry.js → p-6713ac32.entry.js} +1 -1
  24. package/dist/bromcom-ui/{p-fda9a21b.entry.js → p-6be310cc.entry.js} +1 -1
  25. package/dist/bromcom-ui/{p-8255f60a.entry.js → p-6e873e3c.entry.js} +1 -1
  26. package/dist/bromcom-ui/{p-55cce901.entry.js → p-6fe41aaf.entry.js} +1 -1
  27. package/dist/bromcom-ui/{p-fef3003b.entry.js → p-73c456b7.entry.js} +1 -1
  28. package/dist/bromcom-ui/{p-82ad3d24.entry.js → p-74f6a79a.entry.js} +1 -1
  29. package/dist/bromcom-ui/{p-6a3c1fb9.entry.js → p-75704e25.entry.js} +1 -1
  30. package/dist/bromcom-ui/{p-109d49c2.entry.js → p-78d5859f.entry.js} +1 -1
  31. package/dist/bromcom-ui/{p-27f0db71.js → p-798ddccb.js} +1 -1
  32. package/dist/bromcom-ui/{p-b1d1cdb0.entry.js → p-7f88494f.entry.js} +1 -1
  33. package/dist/bromcom-ui/{p-ea15e1f4.entry.js → p-8d0de360.entry.js} +1 -1
  34. package/dist/bromcom-ui/{p-a59a0361.entry.js → p-8d1ac847.entry.js} +1 -1
  35. package/dist/bromcom-ui/{p-ad11bb72.entry.js → p-993ef128.entry.js} +1 -1
  36. package/dist/bromcom-ui/{p-a98aecdf.entry.js → p-a08d69f0.entry.js} +1 -1
  37. package/dist/bromcom-ui/{p-11d54517.entry.js → p-a0dd1886.entry.js} +1 -1
  38. package/dist/bromcom-ui/{p-1672aa8b.js → p-a5e91b45.js} +1 -1
  39. package/dist/bromcom-ui/{p-34f30b8b.entry.js → p-a693e049.entry.js} +1 -1
  40. package/dist/bromcom-ui/{p-a3ffcb0d.js → p-a8d1397d.js} +1 -1
  41. package/dist/bromcom-ui/{p-2b3b55ef.entry.js → p-aa3eab04.entry.js} +1 -1
  42. package/dist/bromcom-ui/{p-76153673.entry.js → p-abaa6215.entry.js} +1 -1
  43. package/dist/bromcom-ui/{p-1507f99a.entry.js → p-ad9303de.entry.js} +1 -1
  44. package/dist/bromcom-ui/{p-78d48636.entry.js → p-adc35e17.entry.js} +1 -1
  45. package/dist/bromcom-ui/p-ae18981d.entry.js +5 -0
  46. package/dist/bromcom-ui/{p-65dcaa9e.entry.js → p-b34c45c6.entry.js} +1 -1
  47. package/dist/bromcom-ui/{p-d9fb53c9.entry.js → p-b4e2c796.entry.js} +1 -1
  48. package/dist/bromcom-ui/{p-d18c5524.entry.js → p-b682fda6.entry.js} +1 -1
  49. package/dist/bromcom-ui/p-b8ec7783.js +5 -0
  50. package/dist/bromcom-ui/{p-609bc368.entry.js → p-bb47fe4e.entry.js} +1 -1
  51. package/dist/bromcom-ui/{p-7c8d47f6.entry.js → p-bd74419c.entry.js} +1 -1
  52. package/dist/bromcom-ui/{p-47fa3046.entry.js → p-c6b5640b.entry.js} +1 -1
  53. package/dist/bromcom-ui/p-c706583c.js +5 -0
  54. package/dist/bromcom-ui/{p-a661a9d5.entry.js → p-c72ea38e.entry.js} +1 -1
  55. package/dist/bromcom-ui/{p-9efe118a.entry.js → p-d11d1f5a.entry.js} +1 -1
  56. package/dist/bromcom-ui/{p-cd638c37.entry.js → p-d26276b1.entry.js} +1 -1
  57. package/dist/bromcom-ui/{p-2b91dab0.entry.js → p-de4e1e66.entry.js} +1 -1
  58. package/dist/bromcom-ui/{p-dbb106a4.entry.js → p-e9f81882.entry.js} +1 -1
  59. package/dist/bromcom-ui/{p-b9421650.entry.js → p-ee60536b.entry.js} +1 -1
  60. package/dist/bromcom-ui/{p-ab3f2735.entry.js → p-f05fbad7.entry.js} +1 -1
  61. package/dist/bromcom-ui/{p-9e8eb647.entry.js → p-f19989b2.entry.js} +1 -1
  62. package/dist/bromcom-ui/{p-49c83e11.entry.js → p-f4e0efd6.entry.js} +1 -1
  63. package/dist/bromcom-ui/{p-a04909f2.entry.js → p-f7904fcd.entry.js} +1 -1
  64. package/dist/cjs/bcm-accordion.cjs.entry.js +1 -1
  65. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  66. package/dist/cjs/bcm-attendance.cjs.entry.js +2 -2
  67. package/dist/cjs/bcm-avatar_2.cjs.entry.js +3 -3
  68. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +1 -1
  69. package/dist/cjs/bcm-button-group.cjs.entry.js +1 -1
  70. package/dist/cjs/bcm-button_7.cjs.entry.js +2424 -0
  71. package/dist/cjs/bcm-card.cjs.entry.js +1 -1
  72. package/dist/cjs/bcm-checkbox-group.cjs.entry.js +1 -1
  73. package/dist/cjs/bcm-checkbox-lite_9.cjs.entry.js +1 -1
  74. package/dist/cjs/bcm-checkbox_2.cjs.entry.js +1 -1
  75. package/dist/cjs/bcm-chip.cjs.entry.js +1 -1
  76. package/dist/cjs/bcm-collapse.cjs.entry.js +1 -1
  77. package/dist/cjs/bcm-date-picker.cjs.entry.js +1 -1
  78. package/dist/cjs/bcm-default.cjs.entry.js +1 -1
  79. package/dist/cjs/bcm-drawer.cjs.entry.js +3 -3
  80. package/dist/cjs/bcm-dropdown.cjs.entry.js +2 -2
  81. package/dist/cjs/bcm-expansion-panel.cjs.entry.js +1 -1
  82. package/dist/cjs/bcm-form-2.cjs.entry.js +1 -1
  83. package/dist/cjs/bcm-form.cjs.entry.js +486 -0
  84. package/dist/cjs/bcm-input.cjs.entry.js +4 -4
  85. package/dist/cjs/bcm-item.cjs.entry.js +1 -1
  86. package/dist/cjs/bcm-items.cjs.entry.js +1 -1
  87. package/dist/cjs/bcm-linked.cjs.entry.js +3 -3
  88. package/dist/cjs/bcm-list.cjs.entry.js +5 -5
  89. package/dist/cjs/bcm-menu.cjs.entry.js +5 -5
  90. package/dist/cjs/bcm-popconfirm-box.cjs.entry.js +1 -1
  91. package/dist/cjs/bcm-popconfirm.cjs.entry.js +1 -1
  92. package/dist/cjs/bcm-popover.cjs.entry.js +3 -3
  93. package/dist/cjs/bcm-progress.cjs.entry.js +1 -1
  94. package/dist/cjs/bcm-radio-group.cjs.entry.js +1 -1
  95. package/dist/cjs/bcm-radio.cjs.entry.js +1 -1
  96. package/dist/cjs/bcm-range.cjs.entry.js +1 -1
  97. package/dist/cjs/bcm-search.cjs.entry.js +3 -3
  98. package/dist/cjs/bcm-skeleton.cjs.entry.js +1 -1
  99. package/dist/cjs/bcm-step.cjs.entry.js +2 -2
  100. package/dist/cjs/bcm-stepper.cjs.entry.js +3 -3
  101. package/dist/cjs/bcm-switch.cjs.entry.js +1 -1
  102. package/dist/cjs/bcm-tab-group.cjs.entry.js +1 -1
  103. package/dist/cjs/bcm-tag.cjs.entry.js +2 -2
  104. package/dist/cjs/bcm-textarea.cjs.entry.js +2 -2
  105. package/dist/cjs/bcm-time-picker.cjs.entry.js +1 -1
  106. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  107. package/dist/cjs/{generate-9444aa87.js → generate-55fb2e3e.js} +1 -1
  108. package/dist/cjs/{input-template-623d767d.js → input-template-bf26b388.js} +1 -1
  109. package/dist/cjs/{json-parse-decarator-e39af071.js → json-parse-decarator-a22bf884.js} +1 -1
  110. package/dist/cjs/loader.cjs.js +1 -1
  111. package/dist/cjs/{number-helper-ba5aa459.js → number-helper-479ff55c.js} +1 -1
  112. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +2 -2
  113. package/dist/cjs/old-bcm-popover.cjs.entry.js +1 -1
  114. package/dist/cjs/{stepper-states-46c5f64b.js → stepper-states-59ee02a2.js} +1 -1
  115. package/dist/cjs/{tooltip-helper-5442af2e.js → tooltip-helper-b09a83de.js} +3 -3
  116. package/dist/cjs/{validators-e45ced35.js → validators-ffc47793.js} +1 -1
  117. package/dist/collection/components/molecules/modal/modal.js +7 -4
  118. package/dist/components/bcm-modal.js +6 -3
  119. package/dist/components/generate.js +1 -1
  120. package/dist/esm/bcm-accordion.entry.js +1 -1
  121. package/dist/esm/bcm-alert.entry.js +1 -1
  122. package/dist/esm/bcm-attendance.entry.js +2 -2
  123. package/dist/esm/bcm-avatar_2.entry.js +6 -6
  124. package/dist/esm/bcm-breadcrumb.entry.js +1 -1
  125. package/dist/esm/bcm-button-group.entry.js +1 -1
  126. package/dist/esm/bcm-button_7.entry.js +2414 -0
  127. package/dist/esm/bcm-card.entry.js +3 -3
  128. package/dist/esm/bcm-checkbox-group.entry.js +2 -2
  129. package/dist/esm/bcm-checkbox-lite_9.entry.js +2 -2
  130. package/dist/esm/bcm-checkbox_2.entry.js +3 -3
  131. package/dist/esm/bcm-chip.entry.js +3 -3
  132. package/dist/esm/bcm-collapse-group.entry.js +1 -1
  133. package/dist/esm/bcm-collapse.entry.js +1 -1
  134. package/dist/esm/bcm-colorpicker.entry.js +2 -2
  135. package/dist/esm/bcm-date-picker.entry.js +2 -2
  136. package/dist/esm/bcm-default.entry.js +1 -1
  137. package/dist/esm/bcm-drawer.entry.js +6 -6
  138. package/dist/esm/bcm-dropdown.entry.js +2 -2
  139. package/dist/esm/bcm-expansion-panel.entry.js +3 -3
  140. package/dist/esm/bcm-form-2.entry.js +1 -1
  141. package/dist/esm/bcm-form.entry.js +482 -0
  142. package/dist/esm/bcm-input.entry.js +5 -5
  143. package/dist/esm/bcm-item.entry.js +3 -3
  144. package/dist/esm/bcm-items.entry.js +1 -1
  145. package/dist/esm/bcm-linked.entry.js +6 -6
  146. package/dist/esm/bcm-list.entry.js +8 -8
  147. package/dist/esm/bcm-menu.entry.js +8 -8
  148. package/dist/esm/bcm-old-tag_2.entry.js +1 -1
  149. package/dist/esm/bcm-popconfirm-box.entry.js +3 -3
  150. package/dist/esm/bcm-popconfirm.entry.js +1 -1
  151. package/dist/esm/bcm-popover.entry.js +6 -6
  152. package/dist/esm/bcm-progress.entry.js +3 -3
  153. package/dist/esm/bcm-radio-group.entry.js +2 -2
  154. package/dist/esm/bcm-radio.entry.js +3 -3
  155. package/dist/esm/bcm-range.entry.js +2 -2
  156. package/dist/esm/bcm-search.entry.js +4 -4
  157. package/dist/esm/bcm-select.entry.js +1 -1
  158. package/dist/esm/bcm-skeleton.entry.js +1 -1
  159. package/dist/esm/bcm-step.entry.js +2 -2
  160. package/dist/esm/bcm-stepper.entry.js +4 -4
  161. package/dist/esm/bcm-switch.entry.js +2 -2
  162. package/dist/esm/bcm-tab-group.entry.js +1 -1
  163. package/dist/esm/bcm-table.entry.js +1 -1
  164. package/dist/esm/bcm-tabs-content.entry.js +1 -1
  165. package/dist/esm/bcm-tabs.entry.js +1 -1
  166. package/dist/esm/bcm-tag.entry.js +3 -3
  167. package/dist/esm/bcm-text.entry.js +2 -2
  168. package/dist/esm/bcm-textarea.entry.js +3 -3
  169. package/dist/esm/bcm-time-picker.entry.js +2 -2
  170. package/dist/esm/bromcom-ui.js +1 -1
  171. package/dist/esm/{color-helper-7e202fd8.js → color-helper-b5e9aa56.js} +1 -1
  172. package/dist/esm/{element-dragger-89bb52fd.js → element-dragger-7ea06c76.js} +1 -1
  173. package/dist/esm/{generate-d57a5f95.js → generate-96b04324.js} +1 -1
  174. package/dist/esm/{input-template-2044f4f6.js → input-template-ea7eadee.js} +1 -1
  175. package/dist/esm/{json-parse-decarator-50541a21.js → json-parse-decarator-637dd275.js} +1 -1
  176. package/dist/esm/loader.js +1 -1
  177. package/dist/esm/{number-helper-75d21178.js → number-helper-455629d7.js} +1 -1
  178. package/dist/esm/old-bcm-popover-box.entry.js +4 -4
  179. package/dist/esm/old-bcm-popover.entry.js +1 -1
  180. package/dist/esm/{stepper-states-9f66e2b4.js → stepper-states-4e3db756.js} +1 -1
  181. package/dist/esm/{tooltip-helper-bed79484.js → tooltip-helper-54e225e0.js} +5 -5
  182. package/dist/esm/{utils-57652744.js → utils-b3338faf.js} +1 -1
  183. package/dist/esm/{validators-6af629b4.js → validators-a6db6d05.js} +1 -1
  184. package/dist/types/components/molecules/modal/modal.d.ts +1 -0
  185. package/package.json +1 -1
  186. package/dist/bromcom-ui/p-00f2b559.entry.js +0 -5
  187. package/dist/bromcom-ui/p-034cd518.js +0 -5
  188. package/dist/bromcom-ui/p-6c12e5dd.entry.js +0 -5
  189. package/dist/bromcom-ui/p-7d119b6d.js +0 -5
  190. package/dist/bromcom-ui/p-85d1183b.entry.js +0 -5
  191. package/dist/bromcom-ui/p-b9983e4b.entry.js +0 -5
  192. package/dist/bromcom-ui/p-ea9c10c3.js +0 -5
  193. package/dist/cjs/bcm-button_4.cjs.entry.js +0 -997
  194. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +0 -1432
  195. package/dist/cjs/bcm-label_2.cjs.entry.js +0 -119
  196. package/dist/cjs/bcm-old-input.cjs.entry.js +0 -398
  197. package/dist/esm/bcm-button_4.entry.js +0 -990
  198. package/dist/esm/bcm-datetime-picker.entry.js +0 -1428
  199. package/dist/esm/bcm-label_2.entry.js +0 -114
  200. package/dist/esm/bcm-old-input.entry.js +0 -394
@@ -1,990 +0,0 @@
1
- /*!
2
- * Built with Stencil
3
- * Copyright (c) Bromcom.
4
- */
5
- import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-2a3eeccc.js';
6
- import { s as snq, G as Generate } from './generate-d57a5f95.js';
7
- import { B as Bcm } from './bcm-b8d8a236.js';
8
- import { c as classnames } from './index-ba2edd32.js';
9
- import { c as createStore } from './index-6e950253.js';
10
- import { S as SlotTemplate } from './slot-template-877c4e01.js';
11
- import { C as ColorHelper } from './color-helper-7e202fd8.js';
12
- import { I as IsLoad } from './is-load-decorator-b990575a.js';
13
- import { S as StringHelper } from './string-helper-74a1648f.js';
14
- import { d as delay, g as getChildElements } from './utils-57652744.js';
15
- import './_commonjsHelpers-3016b722.js';
16
- import './colors-1d7854ea.js';
17
-
18
- const variantOptions = {
19
- save: {
20
- text: 'Save',
21
- color: 'emerald',
22
- icon: 'far fa-save',
23
- iconPosition: 'prefix',
24
- },
25
- ok: {
26
- text: 'Ok',
27
- color: 'emerald',
28
- icon: 'far fa-check',
29
- iconPosition: 'prefix',
30
- },
31
- new: {
32
- text: 'New',
33
- color: 'emerald',
34
- icon: 'far fa-plus',
35
- iconPosition: 'prefix',
36
- },
37
- add: {
38
- text: 'Add',
39
- color: 'emerald',
40
- icon: 'far fa-plus',
41
- iconPosition: 'prefix',
42
- },
43
- create: {
44
- text: 'Create',
45
- color: 'emerald',
46
- icon: 'far fa-plus',
47
- iconPosition: 'prefix',
48
- },
49
- prev: {
50
- text: 'Prev',
51
- color: '',
52
- icon: 'far fa-arrow-left',
53
- iconPosition: 'prefix',
54
- },
55
- next: {
56
- text: 'Next',
57
- color: '',
58
- icon: 'far fa-arrow-right',
59
- iconPosition: 'suffix',
60
- },
61
- apply: {
62
- text: 'Apply',
63
- color: '',
64
- icon: 'far fa-check-circle',
65
- iconPosition: 'prefix',
66
- },
67
- submit: {
68
- text: 'Submit',
69
- color: '',
70
- icon: 'far fa-save',
71
- iconPosition: 'prefix',
72
- },
73
- send: {
74
- text: 'Send',
75
- color: 'emerald',
76
- icon: 'far fa-paper-plane',
77
- iconPosition: 'prefix',
78
- },
79
- delete: {
80
- text: 'Delete',
81
- color: 'red',
82
- icon: 'far fa-trash',
83
- iconPosition: 'prefix',
84
- },
85
- cancel: {
86
- text: 'Cancel',
87
- color: 'red',
88
- icon: 'far fa-times',
89
- iconPosition: 'prefix',
90
- },
91
- decline: {
92
- text: 'Decline',
93
- color: 'red',
94
- icon: 'far fa-ban',
95
- iconPosition: 'prefix',
96
- },
97
- close: {
98
- text: 'Close',
99
- color: 'red',
100
- icon: 'far fa-times-circle',
101
- iconPosition: 'prefix',
102
- },
103
- archive: {
104
- text: 'Archive',
105
- color: 'red',
106
- icon: 'far fa-folder-open',
107
- iconPosition: 'prefix',
108
- },
109
- remove: {
110
- text: 'Remove',
111
- color: 'red',
112
- icon: 'far fa-minus-circle',
113
- iconPosition: 'prefix',
114
- },
115
- edit: {
116
- text: 'Edit',
117
- color: '',
118
- icon: 'far fa-edit',
119
- iconPosition: 'prefix',
120
- },
121
- export: {
122
- text: 'Export',
123
- color: '',
124
- icon: 'far fa-sign-out',
125
- iconPosition: 'prefix',
126
- },
127
- import: {
128
- text: 'Import',
129
- color: '',
130
- icon: 'far fa-sign-in',
131
- iconPosition: 'prefix',
132
- },
133
- filter: {
134
- text: 'Filter',
135
- color: '',
136
- icon: 'far fa-filter',
137
- iconPosition: 'prefix',
138
- },
139
- update: {
140
- text: 'Update',
141
- color: '',
142
- icon: 'far fa-sync',
143
- iconPosition: 'prefix',
144
- },
145
- reset: {
146
- text: "Reset",
147
- color: "",
148
- icon: 'far fa-sync',
149
- iconPosition: "prefix",
150
- },
151
- download: {
152
- text: 'Download',
153
- color: '',
154
- icon: 'far fa-download',
155
- iconPosition: 'prefix',
156
- },
157
- };
158
- var VariantProps;
159
- (function (VariantProps) {
160
- VariantProps["save"] = "save";
161
- VariantProps["submit"] = "submit";
162
- VariantProps["ok"] = "ok";
163
- VariantProps["new"] = "new";
164
- VariantProps["add"] = "add";
165
- VariantProps["create"] = "create";
166
- VariantProps["apply"] = "apply";
167
- VariantProps["prev"] = "prev";
168
- VariantProps["next"] = "next";
169
- VariantProps["send"] = "send";
170
- VariantProps["delete"] = "delete";
171
- VariantProps["cancel"] = "cancel";
172
- VariantProps["decline"] = "decline";
173
- VariantProps["close"] = "close";
174
- VariantProps["archive"] = "archive";
175
- VariantProps["remove"] = "remove";
176
- VariantProps["edit"] = "edit";
177
- VariantProps["export"] = "export";
178
- VariantProps["import"] = "import";
179
- VariantProps["filter"] = "filter";
180
- VariantProps["update"] = "update";
181
- VariantProps["reset"] = "Reset";
182
- VariantProps["download"] = "download";
183
- })(VariantProps || (VariantProps = {}));
184
-
185
- const { state } = createStore({
186
- value: new Map(),
187
- setData: {},
188
- removeData: {}
189
- });
190
- const setValue = (val) => {
191
- const data = Object.assign(Object.assign({}, val), (variantOptions[val.variant] && {
192
- icon: variantOptions[val.variant].icon,
193
- value: variantOptions[val.variant].text,
194
- iconPosition: Bcm.IconPosition[variantOptions[val.variant].iconPosition],
195
- variantColor: variantOptions[val.variant].color
196
- }));
197
- state.value.set(data.id, data);
198
- };
199
- const removeValue = (_id) => {
200
- state.value.delete(_id);
201
- };
202
- const getValue = (id) => snq(() => state.value.get(id), {});
203
- const buttonState = {
204
- setValue,
205
- removeValue,
206
- getValue
207
- };
208
-
209
- const ButtonTemplate = ({ value, type, componentClass, disabled, href, target, loading, isIconOnly, icon, iconPosition, id }) => {
210
- const ButtonTagType = (href) ? Bcm.HtmlElementType.a : Bcm.HtmlElementType.button;
211
- return (h(ButtonTagType, Object.assign({ id: id }, (type == Bcm.HtmlElementType.button && { type }), { class: componentClass, disabled: disabled, href: href, target: target, tabindex: "1" }),
212
- h("span", { hidden: true },
213
- h("slot", null)),
214
- loading && h("span", { class: "bcm-button__container-loading" },
215
- " ",
216
- h("span", { class: "bcm-button__container-icon" },
217
- h("i", { class: "far fa-spinner-third fa-spin" }),
218
- " ")),
219
- icon && h("span", { class: `${iconPosition} bcm-button__container-icon` },
220
- h("i", { class: `${icon}` })),
221
- !isIconOnly && (h(SlotTemplate, { className: "bcm-button__container-text", value: value })),
222
- h("slot", { name: "suffix" })));
223
- };
224
-
225
- const buttonCss = "@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-button{display:inline-flex;width:fit-content;height:fit-content;--bcm-button-solid-color-default:var(--bcm-new-ds-color-white);--bcm-button-solid-background-color-default:var(--bcm-new-ds-color-blue-500);--bcm-button-solid-border-default:var(--bcm-new-ds-color-blue-500);--bcm-button-solid-color-hover:var(--bcm-new-ds-color-white);--bcm-button-solid-background-color-hover:var(--bcm-new-ds-color-blue-600);--bcm-button-solid-border-hover:var(--bcm-new-ds-color-blue-600);--bcm-button-solid-color-focus-visible:var(--bcm-new-ds-color-white);--bcm-button-solid-background-color-focus-visible:var(--bcm-new-ds-color-blue-800);--bcm-button-solid-border-focus-visible:var(--bcm-new-ds-color-blue-800);--bcm-button-solid-color-active:var(--bcm-new-ds-color-white);--bcm-button-solid-background-color-active:var(--bcm-new-ds-color-blue-700);--bcm-button-solid-border-active:var(--bcm-new-ds-color-blue-700);--bcm-button-solid-color-disabled:var(--bcm-new-ds-color-white);--bcm-button-solid-background-color-disabled:var(--bcm-new-ds-color-slate-400);--bcm-button-solid-border-disabled:var(--bcm-new-ds-color-slate-400);--bcm-button-ghost-color-default:var(--bcm-new-ds-color-slate-600);--bcm-button-ghost-background-color-default:var(--bcm-new-ds-color-slate-100);--bcm-button-ghost-border-default:var(--bcm-new-ds-color-slate-300);--bcm-button-ghost-color-hover:var(--bcm-new-ds-color-slate-600);--bcm-button-ghost-background-color-hover:var(--bcm-new-ds-color-slate-200);--bcm-button-ghost-border-hover:var(--bcm-new-ds-color-slate-400);--bcm-button-ghost-color-focus-visible:var(--bcm-new-ds-color-slate-600);--bcm-button-ghost-background-color-focus-visible:var(--bcm-new-ds-color-slate-400);--bcm-button-ghost-border-focus-visible:var(--bcm-new-ds-color-slate-600);--bcm-button-ghost-color-active:var(--bcm-new-ds-color-slate-600);--bcm-button-ghost-background-color-active:var(--bcm-new-ds-color-slate-300);--bcm-button-ghost-border-active:var(--bcm-new-ds-color-slate-500);--bcm-button-ghost-color-disabled:var(--bcm-new-ds-color-slate-300);--bcm-button-ghost-background-color-disabled:var(--bcm-new-ds-color-slate-50);--bcm-button-ghost-border-disabled:var(--bcm-new-ds-color-slate-200);--bcm-button-link-color-default:var(--bcm-new-ds-color-blue-500);--bcm-button-link-background-color-default:var(--bcm-new-ds-color-transparent);--bcm-button-link-border-default:var(--bcm-new-ds-color-transparent);--bcm-button-link-color-hover:var(--bcm-new-ds-color-blue-600);--bcm-button-link-background-color-hover:var(--bcm-new-ds-color-transparent);--bcm-button-link-border-hover:var(--bcm-new-ds-color-transparent);--bcm-button-link-color-focus-visible:var(--bcm-new-ds-color-blue-800);--bcm-button-link-background-color-focus-visible:var(--bcm-new-ds-color-slate-50);--bcm-button-link-border-focus-visible:var(--bcm-new-ds-color-slate-50);--bcm-button-link-color-active:var(--bcm-new-ds-color-blue-700);--bcm-button-link-background-color-active:var(--bcm-new-ds-color-slate-50);--bcm-button-link-border-active:var(--bcm-new-ds-color-slate-50);--bcm-button-link-color-disabled:var(--bcm-new-ds-color-slate-400);--bcm-button-link-background-color-disabled:var(--bcm-new-ds-color-transparent);--bcm-button-link-border-disabled:var(--bcm-new-ds-color-transparent)}.bcm-button.full-width{width:100%}.bcm-button.full-width .bcm-button__container{width:100%}.bcm-button:after,.bcm-button:before{content:\"\";clear:both}.bcm-button__container{border:none;color:inherit;background-color:inherit;padding:0;margin:0;font:inherit;cursor:pointer;outline:none;text-decoration:none;font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:4px 12px;outline:none;border-radius:4px;transition:background-color 0.1s ease-in-out;position:relative;min-width:40px;border-width:1px;border-style:solid;border-color:initial}.bcm-button__container:hover,.bcm-button__container:focus,.bcm-button__container:active{outline:none;text-decoration:none}.bcm-button__container-loading{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px;display:flex;align-items:center;justify-content:center}.bcm-button__container-kind-solid{color:var(--bcm-button-solid-color-default);background-color:var(--bcm-button-solid-background-color-default);border-color:var(--bcm-button-solid-border-default)}.bcm-button__container-kind-solid:hover{color:var(--bcm-button-solid-color-hover);background-color:var(--bcm-button-solid-background-color-hover);border-color:var(--bcm-button-solid-border-hover)}.bcm-button__container-kind-solid:focus-visible{color:var(--bcm-button-solid-color-focus-visible);background-color:var(--bcm-button-solid-background-color-focus-visible);border-color:var(--bcm-button-solid-border-focus-visible)}.bcm-button__container-kind-solid:active{color:var(--bcm-button-solid-color-active);background-color:var(--bcm-button-solid-background-color-active);border-color:var(--bcm-button-solid-border-active)}.bcm-button__container-kind-solid:disabled{color:var(--bcm-button-solid-color-disabled);background-color:var(--bcm-button-solid-background-color-disabled);border-color:var(--bcm-button-solid-border-disabled)}.bcm-button__container-kind-solid.checked{color:var(--bcm-button-solid-color-active);background-color:var(--bcm-button-solid-background-color-active);border-color:var(--bcm-button-solid-border-active)}.bcm-button__container-kind-solid.disabled{color:var(--bcm-button-solid-color-disabled);background-color:var(--bcm-button-solid-background-color-disabled);border-color:var(--bcm-button-solid-border-disabled)}.bcm-button__container-kind-solid .bcm-button__container-loading{color:var(--bcm-button-solid-color-default);background-color:var(--bcm-button-solid-background-color-default);border-color:var(--bcm-button-solid-border-default)}.bcm-button__container-kind-ghost{color:var(--bcm-button-ghost-color-default);background-color:var(--bcm-button-ghost-background-color-default);border-color:var(--bcm-button-ghost-border-default)}.bcm-button__container-kind-ghost:not([disabled]) .bcm-icon{color:var(--bcm-new-ds-color-slate-500)}.bcm-button__container-kind-ghost:hover{color:var(--bcm-button-ghost-color-hover);background-color:var(--bcm-button-ghost-background-color-hover);border-color:var(--bcm-button-ghost-border-hover)}.bcm-button__container-kind-ghost:focus-visible{color:var(--bcm-button-ghost-color-focus-visible);background-color:var(--bcm-button-ghost-background-color-focus-visible);border-color:var(--bcm-button-ghost-border-focus-visible)}.bcm-button__container-kind-ghost:active{color:var(--bcm-button-ghost-color-active);background-color:var(--bcm-button-ghost-background-color-active);border-color:var(--bcm-button-ghost-border-active)}.bcm-button__container-kind-ghost:disabled{color:var(--bcm-button-ghost-color-disabled);background-color:var(--bcm-button-ghost-background-color-disabled);border-color:var(--bcm-button-ghost-border-disabled)}.bcm-button__container-kind-ghost.checked{color:var(--bcm-button-ghost-color-active);background-color:var(--bcm-button-ghost-background-color-active);border-color:var(--bcm-button-ghost-border-active)}.bcm-button__container-kind-ghost.disabled{color:var(--bcm-button-ghost-color-disabled);background-color:var(--bcm-button-ghost-background-color-disabled);border-color:var(--bcm-button-ghost-border-disabled)}.bcm-button__container-kind-ghost .bcm-button__container-loading{color:var(--bcm-button-ghost-color-default);background-color:var(--bcm-button-ghost-background-color-default);border-color:var(--bcm-button-ghost-border-default)}.bcm-button__container-kind-link{color:var(--bcm-button-link-color-default);background-color:var(--bcm-button-link-background-color-default);border-color:var(--bcm-button-link-border-default)}.bcm-button__container-kind-link:hover{color:var(--bcm-button-link-color-hover);background-color:var(--bcm-button-link-background-color-hover);border-color:var(--bcm-button-link-border-hover)}.bcm-button__container-kind-link:focus-visible{color:var(--bcm-button-link-color-focus-visible);background-color:var(--bcm-button-link-background-color-focus-visible);border-color:var(--bcm-button-link-border-focus-visible)}.bcm-button__container-kind-link:active{color:var(--bcm-button-link-color-active);background-color:var(--bcm-button-link-background-color-active);border-color:var(--bcm-button-link-border-active)}.bcm-button__container-kind-link:disabled{color:var(--bcm-button-link-color-disabled);background-color:var(--bcm-button-link-background-color-disabled);border-color:var(--bcm-button-link-border-disabled)}.bcm-button__container-kind-link.checked{color:var(--bcm-button-link-color-active);background-color:var(--bcm-button-link-background-color-active);border-color:var(--bcm-button-link-border-active)}.bcm-button__container-kind-link.disabled{color:var(--bcm-button-link-color-disabled);background-color:var(--bcm-button-link-background-color-disabled);border-color:var(--bcm-button-link-border-disabled)}.bcm-button__container-kind-link .bcm-button__container-loading{color:var(--bcm-button-link-color-default);background-color:var(--bcm-button-link-background-color-default);border-color:var(--bcm-button-link-border-default)}.bcm-button__container[disabled]{cursor:not-allowed}.bcm-button__container-text{order:3;display:flex;align-items:center;gap:8px;white-space:nowrap}.bcm-button__container-icon{min-height:calc(12px + 8px)}.bcm-button__container-icon.prefix{order:2}.bcm-button__container-icon.suffix{order:4}.bcm-button__container-size-small{font-size:12px;line-height:calc(12px + 8px);padding:calc(4px - 3px) 12px;min-height:calc(calc(12px + 8px) + calc(calc(4px - 2px)) * 2)}.bcm-button__container-size-small .bcm-button__container-icon{min-height:calc(12px + 8px)}.bcm-button__container-size-medium{font-size:calc(12px + 1px);line-height:calc(12px + 8px);padding:calc(4px + 1px) 12px;min-height:calc(calc(12px + 8px) + calc(calc(4px + 2px)) * 2)}.bcm-button__container-size-medium .bcm-button__container-icon{min-height:calc(12px + 8px)}.bcm-button__container-size-large{font-size:16px;line-height:calc(16px + 8px);padding:calc(8px - 1px) 12px;min-height:calc(calc(16px + 8px) + (calc(8px) * 2))}.bcm-button__container-size-large .bcm-button__container-icon{min-height:calc(16px + 8px)}";
226
-
227
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
228
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
229
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
230
- r = Reflect.decorate(decorators, target, key, desc);
231
- else
232
- for (var i = decorators.length - 1; i >= 0; i--)
233
- if (d = decorators[i])
234
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
235
- return c > 3 && r && Object.defineProperty(target, key, r), r;
236
- };
237
- const BcmButton = class {
238
- constructor(hostRef) {
239
- registerInstance(this, hostRef);
240
- this.bcmClick = createEvent(this, "bcm-click", 7);
241
- this._id = Generate.UID();
242
- this.hidden = false;
243
- this.type = Bcm.ButtonType.button;
244
- this.size = Bcm.Size.medium;
245
- this.disabled = false;
246
- this.kind = Bcm.Kind.solid;
247
- this.outline = false;
248
- this.loading = false;
249
- this.dataDismiss = false;
250
- this.fullWidth = false;
251
- this.iconPosition = Bcm.IconPosition.prefix;
252
- this.checked = false;
253
- }
254
- handleOnClick(e) {
255
- if (this.disabled) {
256
- e.preventDefault();
257
- e.stopPropagation();
258
- return false;
259
- }
260
- }
261
- componentWillRender() {
262
- const { size, kind, icon, iconPosition, disabled, outline, href, type, target, loading, variant, fullWidth, hidden, value } = this;
263
- buttonState.setValue({
264
- id: this._id,
265
- size,
266
- type,
267
- kind,
268
- icon,
269
- iconPosition,
270
- disabled,
271
- outline,
272
- href,
273
- target,
274
- loading,
275
- variant,
276
- fullWidth,
277
- hidden,
278
- value,
279
- isIconOnly: !!(this.isHaveChildNodes() && this.icon),
280
- });
281
- }
282
- getStateData() {
283
- return buttonState.getValue(this._id);
284
- }
285
- isHaveChildNodes() {
286
- const childNodes = Array.from(this.el.childNodes);
287
- return childNodes.find(node => node.nodeType === Node.TEXT_NODE) === undefined;
288
- }
289
- setColor(color = this.color) {
290
- if (!color)
291
- return;
292
- const { kind } = this;
293
- const prefix = `--bcm-button-${kind}`;
294
- if (kind === 'solid') {
295
- return {
296
- [`${prefix}-color-default`]: ColorHelper.dsColor('white'),
297
- [`${prefix}-color-hover`]: ColorHelper.dsColor('white'),
298
- [`${prefix}-color-focus-visible`]: ColorHelper.dsColor('white'),
299
- [`${prefix}-color-active`]: ColorHelper.dsColor('white'),
300
- [`${prefix}-color-disabled`]: ColorHelper.dsColor('white'),
301
- [`${prefix}-background-color-default`]: ColorHelper.dsColor(color + '-500'),
302
- [`${prefix}-background-color-hover`]: ColorHelper.dsColor(color + '-600'),
303
- [`${prefix}-background-color-focus-visible`]: ColorHelper.dsColor(color + '-700'),
304
- [`${prefix}-background-color-active`]: ColorHelper.dsColor(color + '-800'),
305
- [`${prefix}-background-color-disabled`]: ColorHelper.dsColor('slate-400'),
306
- [`${prefix}-border-default`]: ColorHelper.dsColor(color + '-500'),
307
- [`${prefix}-border-hover`]: ColorHelper.dsColor(color + '-600'),
308
- [`${prefix}-border-focus-visible`]: ColorHelper.dsColor(color + '-700'),
309
- [`${prefix}-border-active`]: ColorHelper.dsColor(color + '-800'),
310
- [`${prefix}-border-disabled`]: ColorHelper.dsColor('slate-400')
311
- };
312
- }
313
- else if (kind == 'link') {
314
- return {
315
- [`${prefix}-color-default`]: ColorHelper.dsColor(color + '-500'),
316
- [`${prefix}-color-hover`]: ColorHelper.dsColor(color + '-600'),
317
- [`${prefix}-color-focus-visible`]: ColorHelper.dsColor(color + '-800'),
318
- [`${prefix}-color-active`]: ColorHelper.dsColor(color + '-700'),
319
- [`${prefix}-color-disabled`]: ColorHelper.dsColor('slate-400'),
320
- [`${prefix}-background-color-default`]: ColorHelper.dsColor('transparent'),
321
- [`${prefix}-background-color-hover`]: ColorHelper.dsColor('transparent'),
322
- [`${prefix}-background-color-focus-visible`]: ColorHelper.dsColor('slate-50'),
323
- [`${prefix}-background-color-active`]: ColorHelper.dsColor('slate-50'),
324
- [`${prefix}-background-color-disabled`]: ColorHelper.dsColor('transparent'),
325
- [`${prefix}-border-default`]: ColorHelper.dsColor('transparent'),
326
- [`${prefix}-border-hover`]: ColorHelper.dsColor('transparent'),
327
- [`${prefix}-border-focus-visible`]: ColorHelper.dsColor('slate-50'),
328
- [`${prefix}-border-active`]: ColorHelper.dsColor('slate-50'),
329
- [`${prefix}-border-disabled`]: ColorHelper.dsColor('transparent')
330
- };
331
- }
332
- else if (kind == 'ghost') {
333
- return {
334
- [`${prefix}-color-default`]: ColorHelper.dsColor(color + '-600'),
335
- [`${prefix}-color-hover`]: ColorHelper.dsColor(color + '-600'),
336
- [`${prefix}-color-focus-visible`]: ColorHelper.dsColor(color + '-600'),
337
- [`${prefix}-color-active`]: ColorHelper.dsColor(color + '-600'),
338
- [`${prefix}-color-disabled`]: ColorHelper.dsColor(color + '-300'),
339
- [`${prefix}-background-color-default`]: ColorHelper.dsColor(color + '-100'),
340
- [`${prefix}-background-color-hover`]: ColorHelper.dsColor(color + '-200'),
341
- [`${prefix}-background-color-focus-visible`]: ColorHelper.dsColor(color + '-400'),
342
- [`${prefix}-background-color-active`]: ColorHelper.dsColor(color + '-300'),
343
- [`${prefix}-background-color-disabled`]: ColorHelper.dsColor(color + '-50'),
344
- [`${prefix}-border-default`]: ColorHelper.dsColor(color + '-300'),
345
- [`${prefix}-border-hover`]: ColorHelper.dsColor(color + '-400'),
346
- [`${prefix}-border-focus-visible`]: ColorHelper.dsColor(color + '-600'),
347
- [`${prefix}-border-active`]: ColorHelper.dsColor(color + '-500'),
348
- [`${prefix}-border-disabled`]: ColorHelper.dsColor(color + '-200'),
349
- };
350
- }
351
- return;
352
- }
353
- render() {
354
- const { size, kind, disabled, outline, type, href, target, loading, variantColor, fullWidth, hidden, icon, iconPosition, value, isIconOnly, iconSize } = this.getStateData();
355
- const classPrefix = 'bcm-button';
356
- let componentClass = classnames('bcm-button__container', `bcm-button__container-size-${size}`, `bcm-button__container-kind-${outline ? 'ghost' : kind}`, {
357
- 'full-width': fullWidth,
358
- 'checked': this.checked,
359
- 'disabled': disabled,
360
- });
361
- const hostClasses = classnames(`${classPrefix}`, {
362
- hidden,
363
- 'full-width': fullWidth,
364
- });
365
- return (h(Host, { class: hostClasses, tabindex: "-1", style: this.setColor(variantColor), onClick: () => !disabled && this.bcmClick.emit(this.el) }, h(ButtonTemplate, { type: type, value: value, componentClass: componentClass, disabled: disabled, href: href, target: target, icon: icon, loading: loading, iconSize: iconSize, isIconOnly: isIconOnly, iconPosition: iconPosition })));
366
- }
367
- get el() { return getElement(this); }
368
- };
369
- __decorate$3([
370
- IsLoad()
371
- ], BcmButton.prototype, "el", void 0);
372
- BcmButton.style = buttonCss;
373
-
374
- // /**
375
- // *
376
- // * @param type
377
- // */
378
- // export const required = (value:any) => {
379
- // if ( value || value != null ) {
380
- // return true
381
- // } else {
382
- // return true
383
- // }
384
- // }
385
- class rules {
386
- constructor() { }
387
- response(status, message) {
388
- return Object.assign(Object.assign({ valid: status }, (message && { message })), (!status && { type: 'error' }));
389
- }
390
- required(value, componentValidation) {
391
- let validation = this.response(true);
392
- if (value == '' || value == "" || value == undefined || value == null || value === false) {
393
- validation = this.response(false, 'This field is required.');
394
- }
395
- if (componentValidation) {
396
- if (!componentValidation.valid) {
397
- validation = this.response(false, componentValidation.errorText);
398
- }
399
- if (value instanceof Object) {
400
- if (value.isValid) {
401
- if (value.isValid == false)
402
- validation = this.response(false, 'This field is required.');
403
- }
404
- }
405
- }
406
- return validation;
407
- }
408
- selfValidation(input) {
409
- let validation = this.response(true);
410
- if (input.captionError != null || input.captionType == 'error') {
411
- validation = this.response(false, input.captionError);
412
- }
413
- return validation;
414
- }
415
- }
416
- const validate = new rules;
417
-
418
- 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}";
419
-
420
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
421
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
422
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
423
- r = Reflect.decorate(decorators, target, key, desc);
424
- else
425
- for (var i = decorators.length - 1; i >= 0; i--)
426
- if (d = decorators[i])
427
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
428
- return c > 3 && r && Object.defineProperty(target, key, r), r;
429
- };
430
- const BcmForm = class {
431
- constructor(hostRef) {
432
- registerInstance(this, hostRef);
433
- this.bcmForm = createEvent(this, "bcm-form", 7);
434
- this.formData = {};
435
- this.inputs = [];
436
- this.duplicateInput = [];
437
- this.isValid = true;
438
- this.returnCaption = [];
439
- this.Bromcom = {
440
- errors: {
441
- targetFormNotExist: 'target form is not exist --> ',
442
- },
443
- inputComponents: {
444
- // Birbirinin aynısı
445
- INPUT: 'input',
446
- TEXTAREA: 'textarea',
447
- //çok benzer
448
- SWITCH: 'switch',
449
- CHECKBOX: 'checkbox',
450
- RADIO_GROUP: 'radio-group',
451
- CHECKBOX_GROUP: 'checkbox-group',
452
- RANGE: 'range',
453
- // sadece value fırlatıyor
454
- FORM: 'form',
455
- FORM_GROUP: 'form-group',
456
- // *En vakit alacak => içinde select, autocomplete, listbox, treeview özellikleri var
457
- LIST: 'list',
458
- //
459
- COLORPICKER: 'colorpicker',
460
- // picker aslında tek komponent hepsi datetimepicker
461
- DATE_PICKER: 'date-picker',
462
- TIME_PICKER: 'time-picker',
463
- DATETIME_PICKER: 'datetime-picker',
464
- // silinecek komponentler
465
- SELECT: 'select',
466
- LISTBOX: 'listbox'
467
- },
468
- helpers: {
469
- randomId: function () {
470
- return Math.random().toString(16).slice(2, -1);
471
- },
472
- },
473
- };
474
- this._id = (Math.random() * 4).toString(16).replace('.', '');
475
- this.hidden = false;
476
- this.validation = false;
477
- this.name = "";
478
- this.autocomplete = false;
479
- }
480
- handleSubmit() {
481
- // if (lowercase(e.target.nodeName) === 'bcm-button') {
482
- // if (e.target.type === 'submit') {
483
- // this.submitFunction()
484
- // }
485
- // }
486
- }
487
- async submitFunction() {
488
- this.formData = {};
489
- this.inputs = [];
490
- this.selector = this.el;
491
- await this.getInputs();
492
- await delay(10);
493
- const usrFrmData = await this.userFormData();
494
- var formData = { isValid: true, formData: usrFrmData };
495
- if (this.name) {
496
- formData = Object.assign(Object.assign({}, formData), { formName: this.name });
497
- }
498
- if (this.isValid) {
499
- this.bcmForm.emit(formData);
500
- return formData;
501
- }
502
- else {
503
- this.returnCaption = { isValid: false, 'message': 'Please fill in all inputs', 'errorDetails': this.returnCaption, formData: usrFrmData };
504
- if (this.name) {
505
- this.returnCaption = Object.assign(Object.assign({}, this.returnCaption), { formName: this.name });
506
- }
507
- this.bcmForm.emit(this.returnCaption);
508
- return this.returnCaption;
509
- }
510
- }
511
- async submit() {
512
- return Promise.resolve(this.submitFunction());
513
- }
514
- async set(data) {
515
- var _a;
516
- const validate = this.validation;
517
- this.validation = false;
518
- // debugger
519
- this.selector = this.el;
520
- await this.getInputs();
521
- if (data && ((_a = this.inputs) === null || _a === void 0 ? void 0 : _a.length) > 0) {
522
- for (const key of Object.keys(data)) {
523
- const item = this.inputs.find(item => item.name === key);
524
- if (item) {
525
- try {
526
- await item.set(data[key]);
527
- }
528
- catch (error) {
529
- console.log(item.nodeName, "set", error);
530
- }
531
- }
532
- }
533
- }
534
- this.validation = validate;
535
- }
536
- async get() {
537
- var _a;
538
- let formData = {};
539
- this.selector = this.el;
540
- const inputsCache = this.inputs;
541
- await this.getInputs();
542
- ((_a = this.inputs) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.inputs.forEach(async (item) => {
543
- try {
544
- const value = await item.get();
545
- formData = Object.assign(Object.assign({}, formData), { [item.name]: value });
546
- }
547
- catch (error) {
548
- console.log(`${item.nodeName} get error`);
549
- }
550
- });
551
- this.inputs = inputsCache;
552
- await delay(10);
553
- return Promise.resolve(formData);
554
- }
555
- async setClear() {
556
- this.formData = {};
557
- this.inputs = [];
558
- this.selector = this.el;
559
- let clear = [];
560
- await this.getInputs();
561
- this.inputs.forEach(async (item) => {
562
- try {
563
- clear.push(await item.setClear());
564
- }
565
- catch (error) {
566
- console.log(error);
567
- }
568
- });
569
- await Promise.all(clear).then(() => {
570
- this.formData = {};
571
- this.inputs = [];
572
- this.duplicateInput = [];
573
- this.isValid = true;
574
- this.returnCaption = [];
575
- });
576
- await delay(10);
577
- return Promise.resolve(true);
578
- }
579
- async resetCaption() {
580
- await delay(10);
581
- this.formData = {};
582
- this.inputs = [];
583
- this.selector = this.el;
584
- await this.getInputs();
585
- for (const item of this.inputs) {
586
- try {
587
- await item.resetCaption();
588
- }
589
- catch (error) {
590
- console.log(item.nodeName, "rc p");
591
- }
592
- }
593
- await delay(10);
594
- return Promise.resolve();
595
- }
596
- async config(_config) {
597
- if (_config['validation']) {
598
- typeof _config['validation'] == 'boolean'
599
- ? this.validation = _config['validation']
600
- : this.validation = false;
601
- }
602
- return true;
603
- }
604
- async getInputs() {
605
- var form = this.selector;
606
- if (!form) {
607
- console.warn(this.Bromcom.errors.targetFormNotExist + this.selector);
608
- return;
609
- }
610
- const inputs = Array.from(form.querySelectorAll('bcm-' + Object.values(this.Bromcom.inputComponents).join(',bcm-')));
611
- this.duplicateInput = [];
612
- // s-hn: Stencil private flag that contains host web component
613
- // https://github.com/ionic-team/stencil/blob/45388e95edb46ef357eb9ae37cd32bbb5bc1ed23/src/runtime/vdom/vdom-render.ts#L116
614
- const rootInputs = inputs.filter((input) => { var _a; return !input['s-hn'] || ((_a = input['s-hn']) === null || _a === void 0 ? void 0 : _a.nodeName) !== 'BcmForm'; });
615
- // debugger;
616
- for (const item of rootInputs) {
617
- if (StringHelper.lowercase(item.nodeName) == "bcm-checkbox-group") {
618
- let checkboxs = item.querySelectorAll("bcm-checkbox");
619
- if (checkboxs) {
620
- for (const checkbox of checkboxs) {
621
- this.duplicateInput.push(checkbox.name);
622
- }
623
- }
624
- }
625
- if (StringHelper.lowercase(item.nodeName) == "bcm-form") {
626
- const groupInputs = Array.from(item.querySelectorAll('bcm-' + Object.values(this.Bromcom.inputComponents).join(',bcm-')));
627
- let itemObject = {};
628
- for (const element of groupInputs) {
629
- var name = element.name;
630
- var value = element.value;
631
- itemObject = Object.assign(Object.assign({}, itemObject), { [name]: value });
632
- this.duplicateInput.push(element.name);
633
- }
634
- item.value = itemObject;
635
- let checkboxs = item.querySelectorAll("bcm-checkbox");
636
- if (checkboxs) {
637
- for (const checkbox of checkboxs) {
638
- this.duplicateInput.push(checkbox.name);
639
- }
640
- }
641
- }
642
- }
643
- await delay(10);
644
- this.inputs = rootInputs;
645
- }
646
- getItemValue(item) {
647
- const tagName = item.tagName.toLowerCase().replace('bcm-', '');
648
- switch (tagName) {
649
- /* case 'date-picker':
650
- case 'datetime-picker':
651
- return item.value.timestamp
652
- case 'time-picker':
653
- return item.value.time */
654
- default:
655
- return item.value;
656
- }
657
- }
658
- isWrapperComponent(item) {
659
- return ['bcm-datetime-picker', 'bcm-date-picker', 'bcm-time-picker'].includes(item.toLowerCase());
660
- }
661
- isGroupComponent(item) {
662
- return ['bcm-checkbox-group'].includes(item.toLowerCase());
663
- }
664
- isListComponent(item) {
665
- return ['bcm-list'].includes(item.toLowerCase());
666
- }
667
- async userFormData() {
668
- this.formData = {};
669
- this.isValid = true;
670
- this.returnCaption = [];
671
- for (const item of this.inputs) {
672
- // const isListComponent = this.isListComponent(item.tagName);
673
- const isGroupComponent = this.isGroupComponent(item.tagName);
674
- const isWrapperComponent = this.isWrapperComponent(item.tagName);
675
- const wrapperComponent = isWrapperComponent && item;
676
- const input = isWrapperComponent
677
- ? await item.getInput() && item
678
- : item;
679
- // input.caption = ''
680
- // input.captionType = ''
681
- if (this.validation) {
682
- let valid = null;
683
- // if (isListComponent) {
684
- // valid = !(input.value && input.value.length > 0) && validate.required(input.value)
685
- // } else
686
- if (isWrapperComponent) {
687
- const isPickerValid = await wrapperComponent.isValid();
688
- valid = validate.required(input.value, isPickerValid);
689
- if (valid) {
690
- if (input.value instanceof Object) {
691
- if (input.value["isValid"] == false) {
692
- valid = validate.required("", isPickerValid);
693
- }
694
- }
695
- else {
696
- valid = validate.required(input.value, isPickerValid);
697
- }
698
- }
699
- }
700
- else if (isGroupComponent) {
701
- const childsCheckbox = getChildElements(input, 'bcm-checkbox:not(#bcm-indeterminate-element)');
702
- if (childsCheckbox && childsCheckbox.length > 0) {
703
- for (const element of childsCheckbox) {
704
- if (element && element.required === true) {
705
- valid = validate.required(element.checked);
706
- if (!valid['valid']) {
707
- element.noCaption = false;
708
- element.captionError = valid['message'];
709
- element.captionType = valid['type'];
710
- }
711
- else {
712
- element.noCaption = input.noCaption;
713
- element.captionError = null;
714
- element.captionType = "default";
715
- }
716
- }
717
- }
718
- }
719
- }
720
- else {
721
- valid = validate.required(input.value);
722
- }
723
- if (input.required) {
724
- if (!valid['valid']) {
725
- input.captionError = valid['message'];
726
- input.captionType = valid['type'];
727
- }
728
- else {
729
- input.captionError = null;
730
- input.captionType = "default";
731
- }
732
- await delay(10);
733
- const selfValidation = validate.selfValidation(input);
734
- if (valid['valid']) {
735
- if (!selfValidation['valid']) {
736
- input.captionError = selfValidation['message'];
737
- input.captionType = selfValidation['type'];
738
- }
739
- }
740
- }
741
- let name = input.name;
742
- let value = input.captionError;
743
- !input.hidden && input.captionType == 'error' && (this.returnCaption = [...Array.from(this.returnCaption), { [name]: value }],
744
- this.isValid = false);
745
- }
746
- if (input.name && !this.duplicateInput.includes(input.name)) {
747
- var itemValue = this.getItemValue(input);
748
- if (!itemValue || itemValue == undefined || itemValue == null) {
749
- itemValue = null;
750
- }
751
- this.formData[input.name] = itemValue;
752
- }
753
- }
754
- return this.formData;
755
- }
756
- async handleChange(e) {
757
- const isWrapperComponent = this.isWrapperComponent(e.target.tagName);
758
- const isGroupComponent = this.isGroupComponent(e.target.tagName);
759
- let target;
760
- if (isWrapperComponent) {
761
- target = e.target.getInput && await e.target.getInput() || e.target;
762
- }
763
- else if (isGroupComponent) {
764
- let req = false;
765
- const childsCheckbox = getChildElements(e.target, 'bcm-checkbox:not(#bcm-indeterminate-element)');
766
- childsCheckbox.length > 0 && (childsCheckbox.forEach((element) => {
767
- if (element && element.required === true) {
768
- req = true;
769
- }
770
- }));
771
- target = Object.assign(Object.assign({}, e.target), { required: req });
772
- }
773
- else {
774
- target = e.target;
775
- }
776
- const value = e.target.value;
777
- const wrapperComponent = isWrapperComponent && e.target;
778
- var isPickerValid;
779
- if (isWrapperComponent) {
780
- isPickerValid = await wrapperComponent.isValid();
781
- }
782
- const tick = setTimeout(() => {
783
- if (target.required) {
784
- let valid = null;
785
- if (isWrapperComponent) {
786
- valid = validate.required(value, isPickerValid);
787
- if (valid) {
788
- if (value instanceof Object) {
789
- if (value["isValid"] == false) {
790
- valid = validate.required("", isPickerValid);
791
- }
792
- }
793
- else {
794
- valid = validate.required(value, isPickerValid);
795
- }
796
- }
797
- }
798
- else if (isGroupComponent) {
799
- const childsCheckbox = getChildElements(e.target, 'bcm-checkbox:not(#bcm-indeterminate-element)');
800
- childsCheckbox.length > 0 && (childsCheckbox.forEach((element) => {
801
- if (element && element.required === true) {
802
- valid = validate.required(element.checked);
803
- if (!valid['valid']) {
804
- element.noCaption = false;
805
- element.captionError = valid['message'];
806
- element.captionType = valid['type'];
807
- }
808
- else {
809
- element.noCaption = e.target.noCaption;
810
- element.captionError = null;
811
- element.captionType = "default";
812
- }
813
- }
814
- }));
815
- }
816
- else {
817
- valid = validate.required(value);
818
- }
819
- if (valid['valid']) {
820
- target.captionError = null;
821
- target.captionType = null;
822
- }
823
- else {
824
- target.captionError = valid['message'];
825
- target.captionType = valid['type'];
826
- }
827
- }
828
- clearTimeout(tick);
829
- });
830
- this.value = await this.userFormData();
831
- }
832
- render() {
833
- const hostClasses = classnames(this.hidden ? 'hidden' : null);
834
- return (h(Host, { class: hostClasses, tabindex: "-1" }, h("form", { class: "bcm-form", autocomplete: this.autocomplete ? "on" : "off", tabindex: "-1" }, h("slot", null))));
835
- }
836
- get el() { return getElement(this); }
837
- };
838
- __decorate$2([
839
- IsLoad()
840
- ], BcmForm.prototype, "el", void 0);
841
- BcmForm.style = formCss;
842
-
843
- 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}";
844
-
845
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
846
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
847
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
848
- r = Reflect.decorate(decorators, target, key, desc);
849
- else
850
- for (var i = decorators.length - 1; i >= 0; i--)
851
- if (d = decorators[i])
852
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
853
- return c > 3 && r && Object.defineProperty(target, key, r), r;
854
- };
855
- const BcmIcon = class {
856
- constructor(hostRef) {
857
- registerInstance(this, hostRef);
858
- this.hidden = false;
859
- }
860
- render() {
861
- const { icon, hidden } = this;
862
- return (h(Host, { class: `bcm-icon fa ${hidden ? 'hidden' : ''}` }, h("i", { class: `${icon}` })));
863
- }
864
- get el() { return getElement(this); }
865
- };
866
- __decorate$1([
867
- IsLoad()
868
- ], BcmIcon.prototype, "el", void 0);
869
- BcmIcon.style = iconCss;
870
-
871
- const modalCss = "@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-modal{font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex-wrap:nowrap;width:100%;height:100%;position:fixed;z-index:-1;opacity:0;top:0;left:0;visibility:hidden;overflow:auto;padding:24px;transition:opacity 0.5s ease, visibility 0.4s ease-in-out, 0.3s z-index}.bcm-modal__show{opacity:1;z-index:10500;visibility:visible;transition:opacity 0.2s ease, visibility 0.4s ease-in-out, 0.3s z-index}.bcm-modal__show .bcm-modal__container{transition:opacity 0.2s ease-in-out, transform 0.2s ease-in-out;transform:translateY(0)}.bcm-modal .overlay{position:fixed;width:100vw;height:100vh;z-index:1;top:0;left:0;opacity:0.6;background-color:var(--bcm-new-ds-color-slate-900)}.bcm-modal__container{display:flex;flex-direction:column;width:100%;box-shadow:0 2px 6px 1px rgba(17, 24, 38, 0.1);border-radius:8px;background-color:var(--bcm-new-ds-color-white);z-index:2;transform:translateY(-50px);transition:opacity 0.2s ease-in-out, transform 0.2s ease-in-out}.bcm-modal__container.portrait{max-width:312px}.bcm-modal__container.landscape{max-width:475px}.bcm-modal__container.small{max-width:576px}.bcm-modal__container.medium{max-width:768px}.bcm-modal__container.large{max-width:992px}.bcm-modal__container.xlarge{max-width:1024px}.bcm-modal__container.xxlarge{max-width:1200px}.bcm-modal__container.xxxlarge{max-width:1700px}.bcm-modal__container.full-width{width:100%;max-width:100%}.bcm-modal__container.custom-size main{overflow:auto;height:100%;width:100%}.bcm-modal__container-main{color:var(--bcm-color-grey-8);padding:0}.bcm-modal__container-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:12px 24px;font-size:16px;line-height:calc(16px + 8px);font-weight:500;color:var(--bcm-new-ds-color-slate-600);background-color:var(--bcm-new-ds-color-sky-50);position:relative}.bcm-modal__container-header span.full-width{width:100%}.bcm-modal__container-header-close{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:nowrap;padding:8px;cursor:pointer;color:var(--bcm-new-ds-color-slate-500);transition:color 0.1s ease-in-out}.bcm-modal__container-header-close:hover{color:var(--bcm-new-ds-color-slate-600)}.bcm-modal__container-header-close:active{color:var(--bcm-new-ds-color-slate-700)}.bcm-modal__container-header-close:focus-visible{color:var(--bcm-new-ds-color-slate-800)}.bcm-modal__container-header:after{border-radius:8px 8px 0 0;content:\"\";display:block;width:100%;height:4px;background-color:var(--bcm-new-ds-color-blue-400);position:absolute;top:-4px;left:0}.bcm-modal__container-footer-content{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-end;flex-wrap:nowrap;padding:12px 24px 24px;grid-gap:8px}";
872
-
873
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
874
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
875
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
876
- r = Reflect.decorate(decorators, target, key, desc);
877
- else
878
- for (var i = decorators.length - 1; i >= 0; i--)
879
- if (d = decorators[i])
880
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
881
- return c > 3 && r && Object.defineProperty(target, key, r), r;
882
- };
883
- const BcmModal = class {
884
- constructor(hostRef) {
885
- registerInstance(this, hostRef);
886
- this.beforeOpen = createEvent(this, "beforeOpen", 7);
887
- this.beforeClose = createEvent(this, "beforeClose", 7);
888
- this.close = createEvent(this, "bcm-close", 7);
889
- this.modalSlots = {};
890
- this._id = Generate.UID();
891
- this.isShow = false;
892
- this.hidden = false;
893
- this.size = Bcm.Size.medium;
894
- this.backdrop = true;
895
- this.fullWidth = false;
896
- }
897
- connectedCallback() {
898
- const bcmSlots = this.el.querySelectorAll('bcm-modal-header, bcm-modal-footer');
899
- if (bcmSlots) {
900
- bcmSlots.forEach(el => {
901
- let slotName = StringHelper.lowercase(StringHelper.split(el.nodeName, '-').pop());
902
- el.slot = slotName;
903
- el.classList.add(`bcm-modal__container-${slotName}-content`);
904
- this.modalSlots[slotName] = el;
905
- });
906
- }
907
- const disableScrollClass = `bcm-modal--disable-scroll-${this._id}`;
908
- const styleId = `bcm-modal-style-${this._id}`;
909
- let style = document.getElementById(styleId);
910
- if (!style) {
911
- style = document.createElement('style');
912
- style.id = styleId;
913
- style.innerHTML = `.${disableScrollClass} { overflow: hidden; }`;
914
- document.head.appendChild(style);
915
- }
916
- }
917
- handleSubmit(e) {
918
- const button = Generate.findEventPathWithNodeName(e, StringHelper.uppercase('bcm-button'));
919
- if (button && button.dataDismiss) {
920
- this.hide();
921
- }
922
- }
923
- handleBackdrop() {
924
- if (this.backdrop == true) {
925
- this.hide();
926
- }
927
- }
928
- async hide() {
929
- this.beforeClose.emit(this.el);
930
- this.isShow = false;
931
- this.close.emit(this);
932
- }
933
- async show() {
934
- this.beforeOpen.emit(this.el);
935
- this.isShow = true;
936
- }
937
- keyboardNavigation(e) {
938
- if (this.backdrop == true) {
939
- const keyCode = e.keyCode || 0;
940
- if (keyCode == Bcm.KeyCode.escape) {
941
- e.preventDefault();
942
- this.hide();
943
- }
944
- }
945
- }
946
- _openHandler() {
947
- const disableScrollClass = `bcm-modal--disable-scroll-${this._id}`;
948
- if (this.isShow) {
949
- document.body.classList.add(disableScrollClass);
950
- }
951
- else {
952
- document.body.classList.remove(disableScrollClass);
953
- }
954
- }
955
- disconnectedCallback() {
956
- const disableScrollClass = `bcm-modal--disable-scroll-${this._id}`;
957
- document.body.classList.remove(disableScrollClass);
958
- }
959
- render() {
960
- const { isShow, size, fullWidth, hidden, width, height } = this;
961
- const bcmModalContainer = classnames('bcm-modal__container', size, {
962
- 'custom-size': width || height,
963
- 'full-width': fullWidth,
964
- "bcm-modal__show": isShow,
965
- });
966
- const bcmModalHostClasses = classnames('bcm-modal', {
967
- hidden,
968
- "bcm-modal__show": isShow,
969
- });
970
- const mainClasses = classnames('bcm-modal__container-main', 'size-2');
971
- const FooterTemplate = () => {
972
- return (this.modalSlots['footer'] && (h("footer", { class: "bcm-modal__container-footer" }, h("slot", { name: "footer" }))));
973
- };
974
- const HeaderTemplate = () => {
975
- return (this.modalSlots['header'] && (h("header", { class: "bcm-modal__container-header" }, h(SlotTemplate, { name: "header", className: 'full-width' }), h("div", { class: "bcm-modal__container-header-close", onClick: () => this.hide() }, h("bcm-icon", { icon: "far fa-times" })))));
976
- };
977
- const customStyle = Object.assign(Object.assign({}, (width && { width: width })), (height && { height: height }));
978
- return (h(Host, { class: bcmModalHostClasses }, h("div", { class: "overlay", onClick: () => this.handleBackdrop() }), h("div", { class: bcmModalContainer, style: customStyle }, h(HeaderTemplate, null), h("main", { class: mainClasses }, h("article", null, h(SlotTemplate, null))), h(FooterTemplate, null))));
979
- }
980
- get el() { return getElement(this); }
981
- static get watchers() { return {
982
- "isShow": ["_openHandler"]
983
- }; }
984
- };
985
- __decorate([
986
- IsLoad()
987
- ], BcmModal.prototype, "el", void 0);
988
- BcmModal.style = modalCss;
989
-
990
- export { BcmButton as bcm_button, BcmForm as bcm_form, BcmIcon as bcm_icon, BcmModal as bcm_modal };