bromcom-ui 2.8.1-rc.2 → 2.8.1-rc.3

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 (218) 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-dac557b6.entry.js → p-05852df3.entry.js} +1 -1
  4. package/dist/bromcom-ui/{p-b7cc2017.entry.js → p-1b1f82cf.entry.js} +1 -1
  5. package/dist/bromcom-ui/{p-3567551d.entry.js → p-1c1f02a8.entry.js} +1 -1
  6. package/dist/bromcom-ui/{p-8b855df0.entry.js → p-1d591e1e.entry.js} +1 -1
  7. package/dist/bromcom-ui/p-1eabd5dc.js +10 -0
  8. package/dist/bromcom-ui/{p-56106366.entry.js → p-23b6f1b6.entry.js} +1 -1
  9. package/dist/bromcom-ui/{p-419de710.entry.js → p-25e6e25d.entry.js} +1 -1
  10. package/dist/bromcom-ui/{p-d5a01b74.entry.js → p-2c93afb8.entry.js} +1 -1
  11. package/dist/bromcom-ui/{p-4127fc78.entry.js → p-2d1124ca.entry.js} +1 -1
  12. package/dist/bromcom-ui/{p-4d331d46.entry.js → p-50b59f5f.entry.js} +1 -1
  13. package/dist/bromcom-ui/p-5358bb45.entry.js +5 -0
  14. package/dist/bromcom-ui/p-53658089.entry.js +13 -0
  15. package/dist/bromcom-ui/{p-c8e8b60e.entry.js → p-538a13af.entry.js} +1 -1
  16. package/dist/bromcom-ui/{p-7ba96cf2.js → p-594fbc80.js} +1 -1
  17. package/dist/bromcom-ui/p-59efe1da.js +5 -0
  18. package/dist/bromcom-ui/{p-7cf1f3de.entry.js → p-5bb7e3b7.entry.js} +1 -1
  19. package/dist/bromcom-ui/{p-f09dbef5.entry.js → p-5bf4d697.entry.js} +1 -1
  20. package/dist/bromcom-ui/{p-be825c0f.entry.js → p-5c718986.entry.js} +1 -1
  21. package/dist/bromcom-ui/{p-a5cd708f.entry.js → p-5e72a278.entry.js} +1 -1
  22. package/dist/bromcom-ui/{p-3c065d74.entry.js → p-63608aaa.entry.js} +1 -1
  23. package/dist/bromcom-ui/{p-cf31f51c.entry.js → p-6b988756.entry.js} +1 -1
  24. package/dist/bromcom-ui/{p-78258c6a.entry.js → p-6db0f8dd.entry.js} +1 -1
  25. package/dist/bromcom-ui/{p-bb7e043b.entry.js → p-6eefda1d.entry.js} +1 -1
  26. package/dist/bromcom-ui/{p-d8dc6cbc.entry.js → p-6f5bd54d.entry.js} +1 -1
  27. package/dist/bromcom-ui/{p-70d0ec99.entry.js → p-702a285b.entry.js} +1 -1
  28. package/dist/bromcom-ui/{p-7fca36fc.entry.js → p-70b210af.entry.js} +1 -1
  29. package/dist/bromcom-ui/{p-ba983d4d.js → p-75a2820f.js} +1 -1
  30. package/dist/bromcom-ui/{p-80961b1f.entry.js → p-76182c8b.entry.js} +1 -1
  31. package/dist/bromcom-ui/{p-5a828ce3.entry.js → p-78527fcd.entry.js} +1 -1
  32. package/dist/bromcom-ui/{p-8c25cbe7.entry.js → p-7baef152.entry.js} +1 -1
  33. package/dist/bromcom-ui/{p-cd5a2b60.entry.js → p-8aa4fee3.entry.js} +1 -1
  34. package/dist/bromcom-ui/{p-58122b12.js → p-8e7a489e.js} +1 -1
  35. package/dist/bromcom-ui/{p-2e29836f.entry.js → p-962fee18.entry.js} +1 -1
  36. package/dist/bromcom-ui/{p-7c3d76b0.entry.js → p-97e22a22.entry.js} +1 -1
  37. package/dist/bromcom-ui/{p-dd908a30.js → p-9bc739ac.js} +1 -1
  38. package/dist/bromcom-ui/{p-612462f9.entry.js → p-9c2f39ab.entry.js} +1 -1
  39. package/dist/bromcom-ui/{p-d47493db.entry.js → p-9d00bf3c.entry.js} +1 -1
  40. package/dist/bromcom-ui/{p-b707b27a.js → p-aea6f62f.js} +1 -1
  41. package/dist/bromcom-ui/{p-1a64f637.entry.js → p-af81e5fa.entry.js} +1 -1
  42. package/dist/bromcom-ui/{p-9bb0596c.entry.js → p-b1b64c8b.entry.js} +1 -1
  43. package/dist/bromcom-ui/{p-b95ef982.entry.js → p-b29766b2.entry.js} +1 -1
  44. package/dist/bromcom-ui/{p-889c98a7.entry.js → p-b4b06540.entry.js} +1 -1
  45. package/dist/bromcom-ui/{p-92a86fe4.entry.js → p-b685ca73.entry.js} +1 -1
  46. package/dist/bromcom-ui/{p-b8d63188.entry.js → p-b7919ac8.entry.js} +1 -1
  47. package/dist/bromcom-ui/{p-5f8993f5.entry.js → p-bae55354.entry.js} +1 -1
  48. package/dist/bromcom-ui/{p-ce7c5d82.entry.js → p-bbd80e20.entry.js} +1 -1
  49. package/dist/bromcom-ui/{p-ba6d4f9b.entry.js → p-c0bb9cfc.entry.js} +1 -1
  50. package/dist/bromcom-ui/{p-e3ea3b39.entry.js → p-c4e92744.entry.js} +1 -1
  51. package/dist/bromcom-ui/{p-32ce5b3d.entry.js → p-c863ba72.entry.js} +1 -1
  52. package/dist/bromcom-ui/{p-661f583b.entry.js → p-d019f179.entry.js} +1 -1
  53. package/dist/bromcom-ui/{p-1f7deee4.entry.js → p-d497bc00.entry.js} +1 -1
  54. package/dist/bromcom-ui/{p-db7096a8.entry.js → p-d9838751.entry.js} +1 -1
  55. package/dist/bromcom-ui/{p-d59d8968.entry.js → p-dd4c1650.entry.js} +1 -1
  56. package/dist/bromcom-ui/{p-e8e33954.js → p-e1119ff2.js} +1 -1
  57. package/dist/bromcom-ui/{p-d79a5538.entry.js → p-e1898d81.entry.js} +1 -1
  58. package/dist/bromcom-ui/p-ea6c32e1.entry.js +5 -0
  59. package/dist/bromcom-ui/{p-1e6a0c27.entry.js → p-f1eefc73.entry.js} +1 -1
  60. package/dist/bromcom-ui/{p-43f4cac9.entry.js → p-f2699133.entry.js} +1 -1
  61. package/dist/bromcom-ui/{p-103314ff.entry.js → p-f35d0fc2.entry.js} +1 -1
  62. package/dist/cjs/bcm-accordion.cjs.entry.js +1 -1
  63. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  64. package/dist/cjs/bcm-attendance.cjs.entry.js +1 -1
  65. package/dist/cjs/bcm-avatar_2.cjs.entry.js +3 -3
  66. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +1 -1
  67. package/dist/cjs/bcm-button-group.cjs.entry.js +1 -1
  68. package/dist/cjs/bcm-button_7.cjs.entry.js +4 -4
  69. package/dist/cjs/bcm-card.cjs.entry.js +1 -1
  70. package/dist/cjs/bcm-checkbox-lite_9.cjs.entry.js +1 -1
  71. package/dist/cjs/bcm-chip.cjs.entry.js +1 -1
  72. package/dist/cjs/bcm-collapse.cjs.entry.js +1 -1
  73. package/dist/cjs/bcm-color-input.cjs.entry.js +3 -3
  74. package/dist/cjs/bcm-colorful_2.cjs.entry.js +15 -544
  75. package/dist/cjs/bcm-date-picker.cjs.entry.js +1 -1
  76. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +1 -1
  77. package/dist/cjs/bcm-default.cjs.entry.js +1 -1
  78. package/dist/cjs/bcm-drawer.cjs.entry.js +3 -3
  79. package/dist/cjs/bcm-dropdown.cjs.entry.js +2 -2
  80. package/dist/cjs/bcm-expansion-panel.cjs.entry.js +1 -1
  81. package/dist/cjs/bcm-form-2.cjs.entry.js +1 -1
  82. package/dist/cjs/bcm-input-custom.cjs.entry.js +1 -1
  83. package/dist/cjs/bcm-input.cjs.entry.js +4 -4
  84. package/dist/cjs/bcm-item.cjs.entry.js +1 -1
  85. package/dist/cjs/bcm-items.cjs.entry.js +1 -1
  86. package/dist/cjs/bcm-list.cjs.entry.js +139 -327
  87. package/dist/cjs/bcm-menu.cjs.entry.js +4 -4
  88. package/dist/cjs/bcm-modal-2-footer.cjs.entry.js +3 -3
  89. package/dist/cjs/bcm-modal-2-header.cjs.entry.js +3 -3
  90. package/dist/cjs/bcm-modal-2.cjs.entry.js +3 -3
  91. package/dist/cjs/bcm-modal.cjs.entry.js +1 -1
  92. package/dist/cjs/bcm-popconfirm-box.cjs.entry.js +1 -1
  93. package/dist/cjs/bcm-popconfirm.cjs.entry.js +1 -1
  94. package/dist/cjs/bcm-popover.cjs.entry.js +3 -3
  95. package/dist/cjs/bcm-progress.cjs.entry.js +1 -1
  96. package/dist/cjs/bcm-radio-group.cjs.entry.js +3 -3
  97. package/dist/cjs/bcm-radio.cjs.entry.js +3 -3
  98. package/dist/cjs/bcm-range.cjs.entry.js +1 -1
  99. package/dist/cjs/bcm-rc-overflow_2.cjs.entry.js +2443 -0
  100. package/dist/cjs/bcm-skeleton.cjs.entry.js +1 -1
  101. package/dist/cjs/bcm-step.cjs.entry.js +2 -2
  102. package/dist/cjs/bcm-stepper.cjs.entry.js +4 -4
  103. package/dist/cjs/bcm-switch.cjs.entry.js +1 -1
  104. package/dist/cjs/bcm-tab-group.cjs.entry.js +3 -3
  105. package/dist/cjs/bcm-tab-item-header.cjs.entry.js +3 -3
  106. package/dist/cjs/bcm-tab-item.cjs.entry.js +3 -3
  107. package/dist/cjs/bcm-tag.cjs.entry.js +2 -2
  108. package/dist/cjs/bcm-textarea.cjs.entry.js +2 -2
  109. package/dist/cjs/bcm-time-picker.cjs.entry.js +1 -1
  110. package/dist/cjs/bcm-toast.cjs.entry.js +1 -1
  111. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  112. package/dist/cjs/{generate-227da8fb.js → generate-5564014f.js} +1 -1
  113. package/dist/cjs/index-906fb4e5.js +540 -0
  114. package/dist/cjs/{input-template-3af2733b.js → input-template-b8eb3568.js} +1 -1
  115. package/dist/cjs/{json-parse-decarator-97c404e9.js → json-parse-decarator-c9d01873.js} +1 -1
  116. package/dist/cjs/loader.cjs.js +1 -1
  117. package/dist/cjs/{number-helper-724bd3c0.js → number-helper-57fc05a9.js} +1 -1
  118. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +2 -2
  119. package/dist/cjs/old-bcm-popover.cjs.entry.js +1 -1
  120. package/dist/cjs/{stepper-states-c08457f9.js → stepper-states-47bcb1a4.js} +1 -1
  121. package/dist/cjs/{tooltip-helper-dc91538e.js → tooltip-helper-4ca7648e.js} +3 -3
  122. package/dist/cjs/{validators-4277e26c.js → validators-f1b75654.js} +1 -1
  123. package/dist/collection/collection-manifest.json +3 -2
  124. package/dist/collection/components/organism/list/list.css +4 -3
  125. package/dist/collection/components/organism/list/list.js +171 -176
  126. package/dist/collection/components/{molecules → third-parts}/colorful/colorful.css +1 -1
  127. package/dist/collection/components/third-parts/rc-overflow/rc-overflow.css +138 -0
  128. package/dist/collection/components/third-parts/rc-overflow/rc-overflow.js +194 -0
  129. package/dist/components/bcm-alert.js +1 -1
  130. package/dist/components/bcm-checkbox-group.js +1 -1
  131. package/dist/components/bcm-list.js +153 -328
  132. package/dist/components/bcm-rc-overflow.d.ts +11 -0
  133. package/dist/components/bcm-rc-overflow.js +10 -0
  134. package/dist/components/button.js +1 -1
  135. package/dist/components/colorful.js +2 -531
  136. package/dist/components/generate.js +1 -1
  137. package/dist/components/index.d.ts +2 -1
  138. package/dist/components/index.js +1 -0
  139. package/dist/components/index3.js +523 -177
  140. package/dist/components/index4.js +191 -0
  141. package/dist/components/rc-overflow.js +2238 -0
  142. package/dist/components/search.js +1 -1
  143. package/dist/components/step.js +1 -1
  144. package/dist/esm/bcm-accordion.entry.js +1 -1
  145. package/dist/esm/bcm-alert.entry.js +1 -1
  146. package/dist/esm/bcm-attendance.entry.js +1 -1
  147. package/dist/esm/bcm-avatar_2.entry.js +3 -3
  148. package/dist/esm/bcm-breadcrumb.entry.js +1 -1
  149. package/dist/esm/bcm-button-group.entry.js +1 -1
  150. package/dist/esm/bcm-button_7.entry.js +4 -4
  151. package/dist/esm/bcm-card.entry.js +1 -1
  152. package/dist/esm/bcm-checkbox-lite_9.entry.js +1 -1
  153. package/dist/esm/bcm-chip.entry.js +1 -1
  154. package/dist/esm/bcm-collapse.entry.js +1 -1
  155. package/dist/esm/bcm-color-input.entry.js +3 -3
  156. package/dist/esm/bcm-colorful_2.entry.js +5 -534
  157. package/dist/esm/bcm-date-picker.entry.js +1 -1
  158. package/dist/esm/bcm-datetime-picker.entry.js +1 -1
  159. package/dist/esm/bcm-default.entry.js +1 -1
  160. package/dist/esm/bcm-drawer.entry.js +3 -3
  161. package/dist/esm/bcm-dropdown.entry.js +2 -2
  162. package/dist/esm/bcm-expansion-panel.entry.js +1 -1
  163. package/dist/esm/bcm-form-2.entry.js +1 -1
  164. package/dist/esm/bcm-input-custom.entry.js +1 -1
  165. package/dist/esm/bcm-input.entry.js +4 -4
  166. package/dist/esm/bcm-item.entry.js +1 -1
  167. package/dist/esm/bcm-items.entry.js +1 -1
  168. package/dist/esm/bcm-list.entry.js +139 -327
  169. package/dist/esm/bcm-menu.entry.js +4 -4
  170. package/dist/esm/bcm-modal-2-footer.entry.js +3 -3
  171. package/dist/esm/bcm-modal-2-header.entry.js +3 -3
  172. package/dist/esm/bcm-modal-2.entry.js +3 -3
  173. package/dist/esm/bcm-modal.entry.js +1 -1
  174. package/dist/esm/bcm-popconfirm-box.entry.js +1 -1
  175. package/dist/esm/bcm-popconfirm.entry.js +1 -1
  176. package/dist/esm/bcm-popover.entry.js +3 -3
  177. package/dist/esm/bcm-progress.entry.js +1 -1
  178. package/dist/esm/bcm-radio-group.entry.js +3 -3
  179. package/dist/esm/bcm-radio.entry.js +3 -3
  180. package/dist/esm/bcm-range.entry.js +1 -1
  181. package/dist/esm/bcm-rc-overflow_2.entry.js +2438 -0
  182. package/dist/esm/bcm-skeleton.entry.js +1 -1
  183. package/dist/esm/bcm-step.entry.js +2 -2
  184. package/dist/esm/bcm-stepper.entry.js +4 -4
  185. package/dist/esm/bcm-switch.entry.js +1 -1
  186. package/dist/esm/bcm-tab-group.entry.js +3 -3
  187. package/dist/esm/bcm-tab-item-header.entry.js +3 -3
  188. package/dist/esm/bcm-tab-item.entry.js +3 -3
  189. package/dist/esm/bcm-tag.entry.js +2 -2
  190. package/dist/esm/bcm-textarea.entry.js +2 -2
  191. package/dist/esm/bcm-time-picker.entry.js +1 -1
  192. package/dist/esm/bcm-toast.entry.js +1 -1
  193. package/dist/esm/bromcom-ui.js +1 -1
  194. package/dist/esm/{generate-ae8dfae8.js → generate-5684c743.js} +1 -1
  195. package/dist/esm/index-6310a048.js +537 -0
  196. package/dist/esm/{input-template-56b65f6e.js → input-template-846cd4f3.js} +1 -1
  197. package/dist/esm/{json-parse-decarator-463c98c9.js → json-parse-decarator-5cdef266.js} +1 -1
  198. package/dist/esm/loader.js +1 -1
  199. package/dist/esm/{number-helper-8ae3f523.js → number-helper-3c971b4e.js} +1 -1
  200. package/dist/esm/old-bcm-popover-box.entry.js +2 -2
  201. package/dist/esm/old-bcm-popover.entry.js +1 -1
  202. package/dist/esm/{stepper-states-fd4a335e.js → stepper-states-2f1dd0bd.js} +1 -1
  203. package/dist/esm/{tooltip-helper-d3858d00.js → tooltip-helper-86b9b16e.js} +3 -3
  204. package/dist/esm/{validators-d4d1cbd1.js → validators-d6dd6432.js} +1 -1
  205. package/dist/types/components/organism/list/list.d.ts +9 -5
  206. package/dist/types/components/third-parts/rc-overflow/rc-overflow.d.ts +17 -0
  207. package/dist/types/components.d.ts +26 -0
  208. package/package.json +2 -1
  209. package/dist/bromcom-ui/p-01a2410a.entry.js +0 -5
  210. package/dist/bromcom-ui/p-026a22c1.entry.js +0 -5
  211. package/dist/bromcom-ui/p-a53b91a2.entry.js +0 -10
  212. package/dist/bromcom-ui/p-b9d70b21.js +0 -5
  213. package/dist/cjs/bcm-search.cjs.entry.js +0 -245
  214. package/dist/collection/components/organism/list/list-tag-control.js +0 -173
  215. package/dist/esm/bcm-search.entry.js +0 -241
  216. package/dist/types/components/organism/list/list-tag-control.d.ts +0 -18
  217. /package/dist/collection/components/{molecules → third-parts}/colorful/colorful.js +0 -0
  218. /package/dist/types/components/{molecules → third-parts}/colorful/colorful.d.ts +0 -0
@@ -1,245 +0,0 @@
1
- /*!
2
- * Built with Stencil
3
- * Copyright (c) Bromcom.
4
- */
5
- 'use strict';
6
-
7
- Object.defineProperty(exports, '__esModule', { value: true });
8
-
9
- const index$1 = require('./index-ddfd6d8f.js');
10
- const generate = require('./generate-227da8fb.js');
11
- const bcm = require('./bcm-634604e3.js');
12
- const inputTemplate = require('./input-template-3af2733b.js');
13
- const utils = require('./utils-fc077139.js');
14
- const index = require('./index-4506fcd7.js');
15
- const stringHelper = require('./string-helper-45cffee0.js');
16
- require('./colors-e1d142ad.js');
17
- require('./_commonjsHelpers-bd20f4c0.js');
18
- require('./types-cc4adee7.js');
19
- require('./index-fdbf5226.js');
20
-
21
- const { state } = index.createStore({
22
- value: new Map(),
23
- });
24
- const setValue = val => {
25
- const { id, dataSource } = val;
26
- const data = {
27
- id: generate.snq(() => id, generate.Generate.UID),
28
- dataSource: dataSource && dataSource.length > 0 && recursive(dataSource),
29
- searchIsOnlyChilds: val.searchIsOnlyChilds,
30
- };
31
- state.value.set(data.id, data);
32
- };
33
- const recursive = (data, parentId) => {
34
- let recData = [];
35
- if (data) {
36
- recData = data.map(item => (Object.assign(Object.assign(Object.assign({}, item), { parentId: generate.snq(() => parentId, null) }), (item.items && item.items.length > 0 && { items: generate.snq(() => recursive(item.items, item.id), []) }))));
37
- }
38
- return recData;
39
- };
40
- const removeValue = _id => {
41
- state.value.delete(_id);
42
- };
43
- const getValue = id => generate.snq(() => state.value.get(id), {});
44
- const getDataPagination = (id, limit = 3) => {
45
- let data = [];
46
- const value = getValue(id);
47
- if (value) {
48
- const { dataSource } = value;
49
- data = dataSource.slice(0, limit);
50
- }
51
- return data;
52
- };
53
- // //search treeview data by text
54
- // const searchData = (id, search, items?) => {
55
- // let dataSource
56
- // if (items && items.length > 0) {
57
- // dataSource = items
58
- // } else {
59
- // const value = getValue(id);
60
- // dataSource = value.dataSource;
61
- // }
62
- // let result = []
63
- // if (dataSource) {
64
- // dataSource.forEach(child => {
65
- // if (child.text.toLowerCase().includes(search.toLowerCase())) {
66
- // result.push(child)
67
- // }
68
- // result = result.concat(searchData(id, search, child.items))
69
- // })
70
- // };
71
- // return result
72
- // };
73
- //nested search
74
- const searchData = (id, searchText, items) => {
75
- let dataSource;
76
- if (items && items.length > 0) {
77
- dataSource = items;
78
- }
79
- else {
80
- const value = getValue(id);
81
- dataSource = value.dataSource;
82
- }
83
- let results = [];
84
- if (dataSource) {
85
- results.push(nestedSearch(id, dataSource, searchText));
86
- //return with their parents
87
- // dataSource.forEach(child => {
88
- // if (child.text.toLowerCase().includes(searchText.toLowerCase())) {
89
- // results.push(child)
90
- // } else if (child.items && child.items.length > 0) {
91
- // child.items = nestedSearch(child.items, searchText)
92
- // if (child.items.length > 0) {
93
- // results.push(child)
94
- // }
95
- // }
96
- // })
97
- }
98
- return {
99
- result: generate.snq(() => generate.Generate.flatArray(results[0].result), []),
100
- matching: generate.snq(() => results[0].matching, []),
101
- parentIndex: generate.snq(() => results[0].parentIndex, []),
102
- nestedResult: generate.snq(() => results[0].nestedResult, []),
103
- };
104
- };
105
- const nestedSearch = (id, items, searchText) => {
106
- let matching = [];
107
- let parentIndex = [];
108
- let result = [];
109
- let nestedResult = [];
110
- const { searchIsOnlyChilds } = getValue(id);
111
- if (items && items.length > 0) {
112
- items.forEach(child => {
113
- let isChild = searchIsOnlyChilds && child.parentId !== null;
114
- let isMatching = stringHelper.StringHelper.slugify(child.text).indexOf(stringHelper.StringHelper.slugify(searchText)) > -1 ||
115
- (child.keywords && stringHelper.StringHelper.slugify(child.keywords).indexOf(stringHelper.StringHelper.slugify(searchText)) > -1);
116
- if (isMatching && (!searchIsOnlyChilds || (searchIsOnlyChilds && isChild))) {
117
- result.push(child.id);
118
- matching.push(child.id);
119
- parentIndex.push(child.id);
120
- nestedResult.push({ id: child.id, text: child.text, parentId: child.parentId });
121
- if (child.items && child.items.length > 0) {
122
- const found = nestedSearch(id, child.items, searchText);
123
- if (found.matching.length > 0) {
124
- found.matching.forEach(chi => {
125
- matching.push(chi);
126
- });
127
- }
128
- }
129
- }
130
- else if (child.items && child.items.length > 0) {
131
- const found = nestedSearch(id, child.items, searchText);
132
- if (found.result.length > 0) {
133
- found.result.forEach(chi => {
134
- result.push(chi);
135
- });
136
- result.push(child.id);
137
- parentIndex.push(child.id);
138
- nestedResult.push({ id: child.id, text: child.text, parentId: child.parentId, items: found.nestedResult });
139
- }
140
- if (found.matching.length > 0) {
141
- matching.push(...found.matching);
142
- }
143
- }
144
- });
145
- }
146
- return { result, matching, parentIndex, nestedResult };
147
- };
148
- const searchState = {
149
- setValue,
150
- removeValue,
151
- getValue,
152
- getDataPagination,
153
- searchData,
154
- };
155
-
156
- const searchCss = "@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\"); @import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); .size-1{font-size:12px;line-height:20px}.size-2{font-size:14px;line-height:22px}.size-3{font-size:16px;line-height:24px}.size-4{font-size:20px;line-height:28px}.size-5{font-size:24px;line-height:32px}.size-6{font-size:30px;line-height:38px}.size-7{font-size:38px;line-height:46px}.size-8{font-size:46px;line-height:54px}.size-9{font-size:56px;line-height:64px}.weight-regular{font-weight:400}.weight-semibold{font-weight:500}.input-size-large{height:40px}.input-size-medium{height:32px}.input-size-small{height:24px}.resize-none textarea{resize:none}.resize-vertical textarea{resize:vertical}.resize-auto textarea{height:auto;resize:none}.textarea-size-large{padding:4px 0 0 4px;min-height:40px}.textarea-size-large .bcm-input-element{min-height:calc((40px - 8px) + 2px)}.textarea-size-large .input-clear-button{height:calc( 40px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-medium{padding:4px 0 0 4px;min-height:32px}.textarea-size-medium .bcm-input-element{min-height:calc((32px - 8px) + 2px)}.textarea-size-medium .input-clear-button{height:calc( 32px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-small{padding:0px 0 0 4px;min-height:24px}.textarea-size-small .bcm-input-element{min-height:calc((24px - 8px) + 2px)}.textarea-size-small .input-clear-button{height:calc( 24px - 16px );top:8px;padding:0;margin-right:8px}*{box-sizing:border-box}.bcm-caption-area{font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;font-size:12px;line-height:calc(12px + 8px);color:var(--bcm-new-ds-color-slate-400);display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;flex-wrap:nowrap;margin-top:2px}.bcm-caption-area__text{color:var(--bcm-new-ds-color-slate-400)}.bcm-caption-area__text.default{color:var(--bcm-new-ds-color-slate-400)}.bcm-caption-area__text.info{color:var(--bcm-new-ds-color-blue-500)}.bcm-caption-area__text.success{color:var(--bcm-new-ds-color-emerald-500)}.bcm-caption-area__text.warning{color:var(--bcm-new-ds-color-amber-500)}.bcm-caption-area__text.error{color:var(--bcm-new-ds-color-red-500)}.bcm-caption-area__size-small{font-size:10px;line-height:calc(10px + 8px);min-height:calc(10px + 8px)}.bcm-caption-area__size-medium{font-size:12px;line-height:calc(12px + 8px);min-height:calc(12px + 8px)}.bcm-caption-area__size-large{font-size:14px;line-height:calc(14px + 8px);min-height:calc(14px + 8px)}*{box-sizing:border-box}.bcm-label{display:inline-flex;align-items:flex-start;grid-gap:2px}.bcm-label__text{margin-bottom:2px;font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;display:inline-block;color:var(--bcm-new-ds-color-slate-600)}.bcm-label__size-small{font-size:10px;line-height:calc(10px + 8px);min-height:calc(10px + 8px)}.bcm-label__size-medium{font-size:12px;line-height:calc(12px + 8px);min-height:calc(12px + 8px)}.bcm-label__size-large{font-size:14px;line-height:calc(14px + 8px);min-height:calc(14px + 8px)}.bcm-input[no-margin]{margin:0}.bcm-textarea[no-margin]{margin:0}.bcm-switch[no-margin]{margin:0}.bcm-checkbox[no-margin]{margin:0}.bcm-radio-group[no-margin]{margin:0}.bcm-checkbox-group[no-margin]{margin:0}.bcm-range[no-margin]{margin:0}.bcm-form[no-margin]{margin:0}.bcm-form-group[no-margin]{margin:0}.bcm-list[no-margin]{margin:0}.bcm-colorpicker[no-margin]{margin:0}.bcm-date-picker[no-margin]{margin:0}.bcm-time-picker[no-margin]{margin:0}.bcm-datetime-picker[no-margin]{margin:0}.bcm-select[no-margin]{margin:0}.bcm-listbox[no-margin]{margin:0}*{box-sizing:border-box}.bcm-input{display:inline-flex;flex-direction:column;width:100%;max-width:256px;margin-bottom:8px}.bcm-input.full-width{max-width:100%}.bcm-input.hidden{display:none}.bcm-input__container{font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;display:flex;align-items:stretch;flex-direction:row;background-color:var(--bcm-new-ds-color-white);border:1px solid var(--bcm-new-ds-color-slate-300);border-radius:4px;box-sizing:border-box;cursor:text;padding:0 0 0 4px;position:relative;width:100%}.bcm-input__container.disabled{background-color:var(--bcm-new-ds-color-slate-50);cursor:not-allowed}.bcm-input__container.disabled .bcm-input-element{color:var(--bcm-new-ds-color-slate-500)}.bcm-input__container.readonly{background-color:var(--bcm-new-ds-color-slate-50);cursor:default}.bcm-input__container.readonly .bcm-input-element{color:var(--bcm-new-ds-color-slate-600)}.bcm-input__container:not(.disabled):hover .caret-container,.bcm-input__container:not(.disabled).focused .caret-container{opacity:1}.bcm-input__container:not(.disabled):hover .input-clear-button,.bcm-input__container:not(.disabled).focused .input-clear-button{opacity:1}.bcm-input__container:not(.disabled).focused{background-color:var(--bcm-new-ds-color-slate-50)}.bcm-input__container:not(.disabled):hover{border-color:var(--bcm-color-prime-blue-6)}.bcm-input__container.empty .input-clear-button{display:none}.bcm-input__container.invalid,.bcm-input__container.error{border-color:var(--bcm-new-ds-color-red-500)}.bcm-input__container .bcm-input-element{width:100%;color:var(--bcm-new-ds-color-slate-600);flex:1;border:none;background:transparent;box-shadow:unset;padding:0 4px;font-family:\"Inter\", sans-serif;cursor:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-input__container .bcm-input-element::placeholder{font-family:\"Inter\", sans-serif;color:var(--bcm-new-ds-color-slate-300);user-select:none}.bcm-input__container .bcm-input-element::-webkit-search-decoration,.bcm-input__container .bcm-input-element::-webkit-search-cancel-button,.bcm-input__container .bcm-input-element::-webkit-search-results-button,.bcm-input__container .bcm-input-element::-webkit-search-results-decoration,.bcm-input__container .bcm-input-element::-webkit-calendar-picker-indicator,.bcm-input__container .bcm-input-element::-webkit-inner-spin-button,.bcm-input__container .bcm-input-element::-webkit-outer-spin-button{-webkit-appearance:none}.bcm-input__container .caret-container{width:30px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;border-left:1px solid #D9D9D9;transition:0.2s opacity;user-select:none;box-sizing:border-box}.bcm-input__container .caret-container .bcm-input-caret{display:flex;align-items:center;justify-content:center;color:var(--bcm-color-grey-7);cursor:pointer;flex:1}.bcm-input__container .caret-container .bcm-input-caret bcm-icon{line-height:1}.bcm-input__container .caret-container .bcm-input-caret:hover{color:var(--bcm-color-prime-blue-6)}.bcm-input__container .caret-container .bcm-input-caret:active{background-color:var(--bcm-color-grey-3)}.bcm-input__container .caret-container .bcm-input-caret:last-child{border-top:1px solid #D9D9D9}.bcm-input__container .caret-container.disabled{background-color:var(--bcm-color-grey-3)}.bcm-input__container .caret-container.disabled .bcm-input-caret{cursor:not-allowed}.bcm-input__container .input-suffix-content{display:flex;align-items:center;justify-content:center}.bcm-input__container .input-prefix:not(:empty){padding-left:4px}.bcm-input__container .input-suffix:not(:empty){min-width:24px;padding-right:4px}.bcm-input__container .input-prefix:not(:empty),.bcm-input__container .input-suffix:not(:empty){display:flex;align-items:center;justify-content:center;cursor:default;color:#64748a}.bcm-input__container .input-prefix:not(:empty) .unit-prefix,.bcm-input__container .input-suffix:not(:empty) .unit-prefix{color:#64748a}.bcm-input__container .input-prefix-button:not(:empty),.bcm-input__container .input-suffix-button:not(:empty){cursor:pointer}.bcm-input__container .caret-container,.bcm-input__container .input-clear-button{opacity:0}.bcm-input__container--small{font-size:12px}.bcm-input__container--medium{font-size:14px}.bcm-input__container--large{font-size:16px}.bcm-input__textarea .bcm-input-element{white-space:normal}.bcm-input__textarea.clearable .bcm-input-element{padding-right:24px}.bcm-input__textarea .input-clear-button{position:absolute;top:4px;right:0}";
157
-
158
- const BcmSearch = class {
159
- constructor(hostRef) {
160
- index$1.registerInstance(this, hostRef);
161
- this.bcmOnSearch = index$1.createEvent(this, "bcm-on-search", 7);
162
- this.bcmOnSearchClear = index$1.createEvent(this, "bcm-on-search-clear", 7);
163
- this.debounceHandler = generate.Generate.debounceInput((event) => this.onSearchValue(event, this), 300, false, () => {
164
- var _a, _b;
165
- this.isActiveClearable = ((_b = (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.length) > 0 && this.clearable;
166
- });
167
- this._id = generate.Generate.UID();
168
- this.placeholder = "Search";
169
- this.disabled = false;
170
- this.readonly = false;
171
- this.clearable = true;
172
- this.size = bcm.Bcm.Size.medium;
173
- this.limit = 10;
174
- this.searchIsOnlyChilds = false;
175
- this.minSearchLength = 2;
176
- this.data = [];
177
- this.tick = {};
178
- this.isActiveClearable = false;
179
- }
180
- async componentDidLoad() {
181
- await this.initState();
182
- }
183
- async dataChanged(newValue, oldValue) {
184
- // console.log('data changed', newValue, oldValue)
185
- if (newValue !== oldValue) {
186
- await this.initState();
187
- }
188
- }
189
- async initState() {
190
- await searchState.setValue({
191
- id: this._id + "-input",
192
- dataSource: this.data,
193
- searchIsOnlyChilds: this.searchIsOnlyChilds,
194
- });
195
- await this.markForCheck();
196
- }
197
- markForCheck() {
198
- this.tick = generate.Generate.UID();
199
- }
200
- handleInput() {
201
- // console.log("aheyya")
202
- }
203
- async onBcmFocus() {
204
- this.inputElement.focus();
205
- }
206
- async onBcmBlur() {
207
- this.inputElement.blur();
208
- }
209
- async onBcmSelect() {
210
- this.inputElement.select();
211
- }
212
- async setValue(newValue) {
213
- this.inputElement.value = newValue;
214
- }
215
- handleFocus() { }
216
- handleBlur() { }
217
- handleChange() { }
218
- async handleClear(eventEmit = true) {
219
- this.inputElement.value = '';
220
- const { value, id } = this.inputElement;
221
- searchState.searchData(id, value);
222
- this.isActiveClearable = false;
223
- this.bcmOnSearch.emit({ result: null, value: null, matching: null, parentIndex: null });
224
- this.bcmOnSearchClear.emit(eventEmit);
225
- await utils.delay(10);
226
- return Promise.resolve();
227
- }
228
- onSearchValue(event, instance) {
229
- const { value, id } = event.target;
230
- const searchResult = (value === null || value === void 0 ? void 0 : value.length) >= this.minSearchLength ? searchState.searchData(id, value, null) : null;
231
- const { bcmOnSearch, inputElement } = instance;
232
- bcmOnSearch.emit({ result: searchResult === null || searchResult === void 0 ? void 0 : searchResult.result, value: inputElement === null || inputElement === void 0 ? void 0 : inputElement.value, matching: searchResult === null || searchResult === void 0 ? void 0 : searchResult.matching, parentIndex: searchResult === null || searchResult === void 0 ? void 0 : searchResult.parentIndex, nestedResult: searchResult === null || searchResult === void 0 ? void 0 : searchResult.nestedResult });
233
- }
234
- render() {
235
- const { _id, placeholder, disabled, readonly } = this;
236
- return index$1.h(index$1.Host, { onClick: () => { this.onBcmFocus(); this.onBcmSelect(); } }, index$1.h(inputTemplate.InputTemplate, { size: this.size, id: _id, type: "search", placeholder: placeholder, disabled: disabled, "full-width": true, readonly: readonly, clearable: this.isActiveClearable, handleFocus: () => this.handleFocus(), handleBlur: () => this.handleBlur(), handleChange: () => this.handleChange(), handleClear: () => this.handleClear(), handleInput: this.debounceHandler, ref: (el) => this.inputElement = el }));
237
- }
238
- get el() { return index$1.getElement(this); }
239
- static get watchers() { return {
240
- "data": ["dataChanged"]
241
- }; }
242
- };
243
- BcmSearch.style = searchCss;
244
-
245
- exports.bcm_search = BcmSearch;
@@ -1,173 +0,0 @@
1
- /*!
2
- * Built with Stencil
3
- * Copyright (c) Bromcom.
4
- */
5
- import { Tooltip } from '@bcm/helpers';
6
- import snq from 'snq';
7
- import { StringHelper } from '../../../helper/string-helper';
8
- import { pluralize } from '../../../utils/utils';
9
- export class ListTagControl {
10
- constructor(containerId, values, listId, selectedOtherTag, clearable) {
11
- this.clearable = false;
12
- this.containerId = containerId;
13
- this.values = values;
14
- this.listId = listId;
15
- this.selectedOtherTag = selectedOtherTag;
16
- this.clearable = clearable;
17
- }
18
- getTooltip(id, text) {
19
- return new Tooltip({ message: text, targetId: id, placement: 'bottom' });
20
- }
21
- tagHtmlTemplate(tag, isOtherTag = false, otherTagIsSingle = false) {
22
- return `<span class="bcm-tag__content dismissable ${!otherTagIsSingle && isOtherTag && (this.selectedOtherTag ? 'checkable checked' : '')}">
23
- <span class="value">${tag.text}</span>
24
- ${otherTagIsSingle
25
- ? ''
26
- : `
27
- <span class="right close-button" bcm-list-tag-dismiss >
28
- <bcm-icon icon="fal fa-times"></bcm-icon>
29
- </span>`}
30
- </span>`;
31
- }
32
- getContainer() {
33
- return document.getElementById(this.containerId);
34
- }
35
- getContainerWidth() {
36
- let tagContainerWidth = snq(() => document.getElementById(this.containerId).clientWidth, 0);
37
- tagContainerWidth = (this.clearable ? tagContainerWidth - 20 : tagContainerWidth) - 20;
38
- return [tagContainerWidth < 130 ? 130 : tagContainerWidth - 20, tagContainerWidth];
39
- }
40
- isClickDismiss(e) {
41
- const path = e.path || (e.composedPath && e.composedPath());
42
- const tag = path.find(element => element.attributes && element.attributes['bcm-list-tag-dismiss']);
43
- return !!tag;
44
- }
45
- onClickControl(e, id, isOtherTag = false) {
46
- const isDismiss = this.isClickDismiss(e);
47
- let tooltipId = '';
48
- if (isDismiss) {
49
- this.onClickDismiss(id);
50
- tooltipId = isOtherTag ? `bcm-list-input-tag-${this.listId}-other-tag` : `list-${this.listId}-${id}`;
51
- this.getTooltip(tooltipId, '').hide();
52
- }
53
- else {
54
- isOtherTag ? this.onClickOtherTag(id) : this.onClickTag(id);
55
- }
56
- }
57
- calculateTags() {
58
- const containerWidth = this.getContainerWidth();
59
- const virtualDom = this.getContainer();
60
- if (virtualDom) {
61
- if (this.values && this.values.length > 0) {
62
- if (containerWidth[0] > 0 && virtualDom) {
63
- virtualDom.innerHTML = '';
64
- this.values.slice(0, 50).map(value => {
65
- const tag = document.createElement('div');
66
- tag.classList.add('bcm-tag');
67
- tag.id = `list-${this.listId}-${value.id}`;
68
- // tag.title = value.tagTitle || value.text || '';
69
- tag.onmouseenter = () => this.getTooltip(`list-${this.listId}-${value.id}`, value.tagTitle || value.text || '').show();
70
- tag.onmouseleave = () => this.getTooltip(`list-${this.listId}-${value.id}`, value.tagTitle || value.text || '').hide();
71
- tag.dataset.id = value.id;
72
- tag.onclick = e => this.onClickControl(e, value.id);
73
- tag.innerHTML = this.tagHtmlTemplate(Object.assign(Object.assign({}, value), { text: StringHelper.textLimitter(value.text, 10) }));
74
- virtualDom.appendChild(tag);
75
- });
76
- let tags = virtualDom.querySelectorAll('.bcm-tag');
77
- let otherTags = [];
78
- let visibleTags = [];
79
- const checkControl = () => {
80
- const virtualDomTags = virtualDom.querySelectorAll('.bcm-tag');
81
- if (visibleTags.length === 1 && (virtualDomTags === null || virtualDomTags === void 0 ? void 0 : virtualDomTags.length) === 1) {
82
- visibleTags[0].innerHTML = this.tagHtmlTemplate({ text: '+1' }, false, true);
83
- }
84
- };
85
- let tagsWidth = Array.from(tags).reduce((acc, tag) => {
86
- const tagClientWidth = tag.clientWidth > 50 ? tag.clientWidth : 50;
87
- if (tagClientWidth > 0 && acc + tagClientWidth + 10 < containerWidth[0]) {
88
- acc += tagClientWidth + 10;
89
- visibleTags.push(tag);
90
- const checkFreeSpace = tagClientWidth > 0 && acc + tagClientWidth + 10 < containerWidth[0];
91
- !checkFreeSpace && containerWidth[1] < 70 && checkControl();
92
- }
93
- else {
94
- otherTags.push(tag);
95
- tag.remove();
96
- }
97
- return acc;
98
- }, 0);
99
- const otherTagElement = this.values.slice(visibleTags.length);
100
- const virtualDomLastElements = virtualDom.lastElementChild;
101
- const otherTagTextControl = args => {
102
- const { count, width } = args;
103
- if (count > 999)
104
- return '999+' + pluralize('item', count);
105
- if (width >= 100)
106
- return `${count} ` + pluralize('item', count) + ' selected';
107
- if (width < 100)
108
- return `+${count < 10 ? count : '9'}`;
109
- };
110
- if (otherTags && otherTags.length > 0 && virtualDomLastElements && virtualDomLastElements.id !== `bcm-list-input-tag-${this.listId}-other-tag`) {
111
- otherTags.push(virtualDomLastElements);
112
- if (otherTags.length > 0) {
113
- const otherCounter = otherTagElement.length + 1;
114
- const createOthertagElement = {
115
- id: `bcm-list-input-tag-${this.listId}-other-tag`,
116
- text: otherTagTextControl({ count: otherCounter, width: containerWidth[1] }),
117
- title: snq(() => otherTags
118
- .map(tag => this.values.find(value => value.id == tag.dataset.id))
119
- .sort((a, b) => +a.ct - +b.ct)
120
- .slice(0, 15)
121
- .map(item => StringHelper.textLimitter(item.tagTitle || item.text, 40, true))
122
- .toString()
123
- .split(',')
124
- .join('\r\n') + (otherTags.length > 15 ? ('\r\n...') : ''), '...'),
125
- };
126
- virtualDomLastElements.remove();
127
- visibleTags = visibleTags.filter(tag => tag.id !== virtualDomLastElements.id);
128
- const hiddenTags = this.values.filter(value => !visibleTags.find(tag => tag.dataset.id == value.id)).map(value => value.id);
129
- const otherTag = document.createElement('div');
130
- const otherTagIds = hiddenTags.join(',');
131
- const otherTagIsSingle = visibleTags.length === 0;
132
- otherTag.classList.add('bcm-tag');
133
- !otherTagIsSingle && otherTag.classList.add('bcm-tag--other');
134
- otherTag.id = createOthertagElement.id;
135
- // otherTag.title = createOthertagElement.title || false;
136
- if (createOthertagElement.title) {
137
- otherTag.onmouseenter = () => this.getTooltip(createOthertagElement.id, createOthertagElement.title).show();
138
- otherTag.onmouseleave = () => this.getTooltip(createOthertagElement.id, createOthertagElement.title).hide();
139
- }
140
- otherTag.onclick = e => this.onClickControl(e, otherTagIds, otherTagIsSingle ? false : true);
141
- otherTag.innerHTML = this.tagHtmlTemplate(createOthertagElement, true, otherTagIsSingle);
142
- otherTag.dataset.ids = hiddenTags.join(',');
143
- virtualDom.appendChild(otherTag);
144
- }
145
- }
146
- const otherTag = document.getElementById(`bcm-list-input-tag-${this.listId}-other-tag`);
147
- const otherTagWidth = otherTag ? (otherTag.clientWidth && otherTag.clientWidth < 50 ? 50 : otherTag.clientWidth) : 200;
148
- const tagsPerRow = Math.floor(containerWidth[0] - tagsWidth);
149
- if (tagsPerRow > otherTagWidth) {
150
- if (otherTag) {
151
- const findElement = this.values.find(value => value.id == otherTag.dataset.ids.split(',')[0]);
152
- const tag = document.createElement('div');
153
- tag.classList.add('bcm-tag');
154
- tag.id = `list-${this.listId}-${findElement.id}`;
155
- // tag.title = findElement?.title || '';
156
- tag.onmouseenter = () => this.getTooltip(`list-${this.listId}-${findElement.id}`, (findElement === null || findElement === void 0 ? void 0 : findElement.title) || '').show();
157
- tag.onmouseleave = () => this.getTooltip(`list-${this.listId}-${findElement.id}`, (findElement === null || findElement === void 0 ? void 0 : findElement.title) || '').hide();
158
- tag.dataset.id = findElement.id;
159
- tag.onclick = e => this.onClickControl(e, findElement === null || findElement === void 0 ? void 0 : findElement.id);
160
- tag.innerHTML = this.tagHtmlTemplate(Object.assign(Object.assign({}, findElement), { text: StringHelper.textLimitter(findElement.text, 10) }));
161
- const otherTagElement = document.getElementById(`bcm-list-input-tag-${this.listId}-other-tag`);
162
- otherTagElement.remove();
163
- virtualDom.appendChild(tag);
164
- }
165
- }
166
- }
167
- }
168
- else {
169
- virtualDom.innerHTML = '';
170
- }
171
- }
172
- }
173
- }