@sellmate/design-system 1.0.40 → 1.0.42

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 (249) hide show
  1. package/dist/cjs/component.textinput-43trvZ5m.js +41 -0
  2. package/dist/cjs/design-system.cjs.js +1 -1
  3. package/dist/cjs/index.cjs.js +0 -9
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/sd-barcode-input.cjs.entry.js +162 -0
  6. package/dist/cjs/sd-button-v2_2.cjs.entry.js +4 -4
  7. package/dist/cjs/sd-button_20.cjs.entry.js +44 -69
  8. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  9. package/dist/cjs/sd-confirm-modal.cjs.entry.js +124 -0
  10. package/dist/cjs/sd-date-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/sd-dropdown-button.cjs.entry.js +3 -3
  12. package/dist/cjs/sd-file-picker.cjs.entry.js +3 -3
  13. package/dist/cjs/sd-guide.cjs.entry.js +2 -2
  14. package/dist/cjs/sd-modal-container.cjs.entry.js +17 -73
  15. package/dist/cjs/sd-popover.cjs.entry.js +10 -2
  16. package/dist/cjs/sd-progress.cjs.entry.js +2 -2
  17. package/dist/cjs/sd-select-group.cjs.entry.js +1 -1
  18. package/dist/cjs/sd-select-multiple.cjs.entry.js +1 -1
  19. package/dist/cjs/sd-select-option-group.cjs.entry.js +3 -3
  20. package/dist/cjs/sd-select-v2-list-item_2.cjs.entry.js +7 -16
  21. package/dist/cjs/sd-select-v2-listbox_2.cjs.entry.js +181 -14
  22. package/dist/cjs/sd-select-v2.cjs.entry.js +13 -21
  23. package/dist/cjs/{sd-select-v2.config-DZrPJ6OS.js → sd-select-v2.config-BJXi4hMP.js} +12 -7
  24. package/dist/cjs/sd-text-link.cjs.entry.js +3 -3
  25. package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
  26. package/dist/cjs/sd-toast.cjs.entry.js +2 -2
  27. package/dist/cjs/sd-toggle-button.cjs.entry.js +1 -1
  28. package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
  29. package/dist/collection/collection-manifest.json +1 -1
  30. package/dist/collection/components/sd-barcode-input/sd-barcode-input.config.js +34 -0
  31. package/dist/collection/components/sd-barcode-input/sd-barcode-input.css +72 -0
  32. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +750 -0
  33. package/dist/collection/components/sd-button-v2/sd-button-v2.js +2 -2
  34. package/dist/collection/components/sd-card/sd-card.js +1 -1
  35. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.config.js +4 -1
  36. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.css +17 -17
  37. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +7 -7
  38. package/dist/collection/components/sd-date-picker/sd-date-picker.js +1 -1
  39. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +4 -4
  40. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +3 -3
  41. package/dist/collection/components/sd-field/sd-field.js +4 -3
  42. package/dist/collection/components/sd-file-picker/sd-file-picker.js +3 -3
  43. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  44. package/dist/collection/components/sd-guide/sd-guide.js +2 -2
  45. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  46. package/dist/collection/components/sd-input/sd-input.js +2 -2
  47. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +1 -1
  48. package/dist/collection/components/sd-modal-container/sd-modal-container.js +19 -118
  49. package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
  50. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
  51. package/dist/collection/components/sd-popover/sd-popover.js +10 -2
  52. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  53. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  54. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +2 -2
  55. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  56. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +3 -3
  57. package/dist/collection/components/sd-select-group/sd-select-group.js +1 -1
  58. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +1 -1
  59. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  60. package/dist/collection/components/sd-select-v2/sd-select-v2-list-item/sd-select-v2-list-item.css +6 -6
  61. package/dist/collection/components/sd-select-v2/sd-select-v2-list-item/sd-select-v2-list-item.js +2 -2
  62. package/dist/collection/components/sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.js +3 -12
  63. package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.css +1 -0
  64. package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.js +185 -16
  65. package/dist/collection/components/sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.js +2 -2
  66. package/dist/collection/components/sd-select-v2/sd-select-v2.config.js +12 -7
  67. package/dist/collection/components/sd-select-v2/sd-select-v2.js +13 -21
  68. package/dist/collection/components/sd-tag/sd-tag.js +2 -2
  69. package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
  70. package/dist/collection/components/sd-textarea/sd-textarea.js +2 -2
  71. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  72. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  73. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  74. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +1 -1
  75. package/dist/collection/components/sd-tooltip/sd-tooltip.js +10 -2
  76. package/dist/collection/utils/modal.js +0 -9
  77. package/dist/components/index.js +1 -1
  78. package/dist/components/{p-8oyZJ0FK.js → p-6FZWkn3V.js} +1 -1
  79. package/dist/components/p-AfdVu7_V.js +1 -0
  80. package/dist/components/{p-PcxVERcm.js → p-B2IPxQNl.js} +1 -1
  81. package/dist/components/{p-DBCQtIY4.js → p-BBKrHUCP.js} +1 -1
  82. package/dist/components/{p-A5atk1St.js → p-BKtAiyh0.js} +1 -1
  83. package/dist/components/{p-5UN9Ry8A.js → p-BXuZFSsU.js} +1 -1
  84. package/dist/components/{p-CZN_I4v-.js → p-BZJDhQ6h.js} +1 -1
  85. package/dist/components/{p-CKi7RueC.js → p-BfqA9RSe.js} +1 -1
  86. package/dist/components/{p-2JXqy61T.js → p-Bo7U7jA2.js} +1 -1
  87. package/dist/components/{p-VztCEgcN.js → p-C7dgr7sG.js} +1 -1
  88. package/dist/components/p-CArAuWdh.js +1 -0
  89. package/dist/components/{p-vznqVg6E.js → p-CPr3lzac.js} +1 -1
  90. package/dist/components/{p-DEBuE-pW.js → p-CV1qJByG.js} +1 -1
  91. package/dist/components/p-CXjMXCNh.js +1 -0
  92. package/dist/components/p-CbjDAdZ_.js +1 -0
  93. package/dist/components/p-CnZPI5RL.js +1 -0
  94. package/dist/components/{p-du_AmhYu.js → p-CrJXDjO0.js} +1 -1
  95. package/dist/components/{p-DtCG-y6d.js → p-Cx2K_zB2.js} +1 -1
  96. package/dist/components/{p-CJZIwyH-.js → p-D3H3ILJG.js} +1 -1
  97. package/dist/components/{p-BNNjhCQc.js → p-DgDoP1wQ.js} +1 -1
  98. package/dist/components/{p-DPjPJkXv.js → p-DvQzT5XM.js} +1 -1
  99. package/dist/components/{p-CjZTu6hh.js → p-UaMNiu8y.js} +1 -1
  100. package/dist/components/p-gHb970iC.js +1 -0
  101. package/dist/components/p-jaHdAlr9.js +1 -0
  102. package/dist/components/{p-Ese2dRYD.js → p-jk3tAdJg.js} +1 -1
  103. package/dist/components/p-qbtTff3q.js +1 -0
  104. package/dist/components/{sd-notice-modal.d.ts → sd-barcode-input.d.ts} +4 -4
  105. package/dist/components/sd-barcode-input.js +1 -0
  106. package/dist/components/sd-button-v2.js +1 -1
  107. package/dist/components/sd-button.js +1 -1
  108. package/dist/components/sd-calendar.js +1 -1
  109. package/dist/components/sd-card.js +1 -1
  110. package/dist/components/sd-checkbox.js +1 -1
  111. package/dist/components/sd-confirm-modal.js +1 -1
  112. package/dist/components/sd-date-picker.js +1 -1
  113. package/dist/components/sd-date-range-picker.js +1 -1
  114. package/dist/components/sd-dropdown-button.js +1 -1
  115. package/dist/components/sd-field.js +1 -1
  116. package/dist/components/sd-file-picker.js +1 -1
  117. package/dist/components/sd-floating-portal.js +1 -1
  118. package/dist/components/sd-guide.js +1 -1
  119. package/dist/components/sd-icon.js +1 -1
  120. package/dist/components/sd-input.js +1 -1
  121. package/dist/components/sd-loading-spinner.js +1 -1
  122. package/dist/components/sd-modal-container.js +1 -1
  123. package/dist/components/sd-number-input.js +1 -1
  124. package/dist/components/sd-pagination.js +1 -1
  125. package/dist/components/sd-popover.js +1 -1
  126. package/dist/components/sd-portal.js +1 -1
  127. package/dist/components/sd-progress.js +1 -1
  128. package/dist/components/sd-select-dropdown.js +1 -1
  129. package/dist/components/sd-select-group.js +1 -1
  130. package/dist/components/sd-select-multiple-group.js +1 -1
  131. package/dist/components/sd-select-multiple.js +1 -1
  132. package/dist/components/sd-select-option-group.js +1 -1
  133. package/dist/components/sd-select-option.js +1 -1
  134. package/dist/components/sd-select-search-input.js +1 -1
  135. package/dist/components/sd-select-v2-list-item-search.js +1 -1
  136. package/dist/components/sd-select-v2-list-item.js +1 -1
  137. package/dist/components/sd-select-v2-listbox.js +1 -1
  138. package/dist/components/sd-select-v2-trigger.js +1 -1
  139. package/dist/components/sd-select-v2.js +1 -1
  140. package/dist/components/sd-select.js +1 -1
  141. package/dist/components/sd-table.js +1 -1
  142. package/dist/components/sd-tabs.js +1 -1
  143. package/dist/components/sd-tag.js +1 -1
  144. package/dist/components/sd-text-link.js +1 -1
  145. package/dist/components/sd-textarea.js +1 -1
  146. package/dist/components/sd-toast-container.js +1 -1
  147. package/dist/components/sd-toast.js +1 -1
  148. package/dist/components/sd-toggle-button.js +1 -1
  149. package/dist/components/sd-toggle.js +1 -1
  150. package/dist/components/sd-tooltip.js +1 -1
  151. package/dist/design-system/design-system.css +1 -1
  152. package/dist/design-system/design-system.esm.js +1 -1
  153. package/dist/design-system/index.esm.js +1 -1
  154. package/dist/design-system/p-0174f3c5.entry.js +1 -0
  155. package/dist/design-system/{p-8e0cc9be.entry.js → p-0dee408f.entry.js} +1 -1
  156. package/dist/design-system/{p-fb71301e.entry.js → p-4301b50d.entry.js} +1 -1
  157. package/dist/design-system/p-4921c569.entry.js +1 -0
  158. package/dist/design-system/{p-2408d1ab.entry.js → p-50b1196b.entry.js} +1 -1
  159. package/dist/design-system/p-535b0778.entry.js +1 -0
  160. package/dist/design-system/{p-7ce76a05.entry.js → p-57b1e335.entry.js} +1 -1
  161. package/dist/design-system/{p-6a34e6b8.entry.js → p-5ce3142c.entry.js} +1 -1
  162. package/dist/design-system/{p-d8b04e91.entry.js → p-634797a4.entry.js} +1 -1
  163. package/dist/design-system/{p-b71d0858.entry.js → p-63a43fc9.entry.js} +1 -1
  164. package/dist/design-system/{p-72b09ede.entry.js → p-6a371d98.entry.js} +1 -1
  165. package/dist/design-system/p-6db4e8c7.entry.js +1 -0
  166. package/dist/design-system/{p-36ba5f33.entry.js → p-7368eb09.entry.js} +1 -1
  167. package/dist/design-system/p-868ce552.entry.js +1 -0
  168. package/dist/design-system/p-9eea4660.entry.js +1 -0
  169. package/dist/design-system/p-CbjDAdZ_.js +1 -0
  170. package/dist/design-system/{p-9933475e.entry.js → p-aaf91535.entry.js} +1 -1
  171. package/dist/design-system/{p-e96c881f.entry.js → p-c1963b5e.entry.js} +1 -1
  172. package/dist/design-system/{p-63f997d7.entry.js → p-dc6246be.entry.js} +1 -1
  173. package/dist/design-system/p-e39687d0.entry.js +1 -0
  174. package/dist/design-system/p-f91f4fcc.entry.js +1 -0
  175. package/dist/design-system/{p-f9075737.entry.js → p-f9cf0d6f.entry.js} +1 -1
  176. package/dist/design-system/{p-b79756cc.entry.js → p-fdde3de0.entry.js} +1 -1
  177. package/dist/design-system/p-feb80c2f.entry.js +1 -0
  178. package/dist/design-system/{p-BOmBg3kj.js → p-o9Ugc4Ua.js} +1 -1
  179. package/dist/esm/component.textinput-CbjDAdZ_.js +39 -0
  180. package/dist/esm/design-system.js +1 -1
  181. package/dist/esm/index.js +0 -9
  182. package/dist/esm/loader.js +1 -1
  183. package/dist/esm/sd-barcode-input.entry.js +160 -0
  184. package/dist/esm/sd-button-v2_2.entry.js +4 -4
  185. package/dist/esm/sd-button_20.entry.js +39 -64
  186. package/dist/esm/sd-card.entry.js +1 -1
  187. package/dist/esm/sd-confirm-modal.entry.js +122 -0
  188. package/dist/esm/sd-date-picker.entry.js +1 -1
  189. package/dist/esm/sd-dropdown-button.entry.js +3 -3
  190. package/dist/esm/sd-file-picker.entry.js +3 -3
  191. package/dist/esm/sd-guide.entry.js +2 -2
  192. package/dist/esm/sd-modal-container.entry.js +17 -73
  193. package/dist/esm/sd-popover.entry.js +10 -2
  194. package/dist/esm/sd-progress.entry.js +2 -2
  195. package/dist/esm/sd-select-group.entry.js +1 -1
  196. package/dist/esm/sd-select-multiple.entry.js +1 -1
  197. package/dist/esm/sd-select-option-group.entry.js +3 -3
  198. package/dist/esm/sd-select-v2-list-item_2.entry.js +7 -16
  199. package/dist/esm/sd-select-v2-listbox_2.entry.js +181 -14
  200. package/dist/esm/{sd-select-v2.config-BOmBg3kj.js → sd-select-v2.config-o9Ugc4Ua.js} +12 -7
  201. package/dist/esm/sd-select-v2.entry.js +13 -21
  202. package/dist/esm/sd-text-link.entry.js +3 -3
  203. package/dist/esm/sd-toast-container.entry.js +1 -1
  204. package/dist/esm/sd-toast.entry.js +2 -2
  205. package/dist/esm/sd-toggle-button.entry.js +1 -1
  206. package/dist/esm/sd-toggle.entry.js +1 -1
  207. package/dist/types/components/sd-barcode-input/sd-barcode-input.config.d.ts +38 -0
  208. package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +50 -0
  209. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.config.d.ts +4 -3
  210. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +1 -1
  211. package/dist/types/components/sd-modal-container/sd-modal-container.config.d.ts +3 -13
  212. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +2 -5
  213. package/dist/types/components/sd-popover/sd-popover.d.ts +1 -0
  214. package/dist/types/components/sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.d.ts +0 -1
  215. package/dist/types/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.d.ts +44 -2
  216. package/dist/types/components/sd-select-v2/sd-select-v2.config.d.ts +4 -0
  217. package/dist/types/components/sd-select-v2/sd-select-v2.d.ts +0 -1
  218. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +1 -0
  219. package/dist/types/components.d.ts +249 -130
  220. package/dist/types/index.d.ts +1 -1
  221. package/dist/types/utils/modal.d.ts +3 -4
  222. package/hydrate/index.js +584 -368
  223. package/hydrate/index.mjs +584 -368
  224. package/package.json +1 -1
  225. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +0 -199
  226. package/dist/collection/components/sd-notice-modal/sd-notice-modal.config.js +0 -3
  227. package/dist/collection/components/sd-notice-modal/sd-notice-modal.css +0 -61
  228. package/dist/collection/components/sd-notice-modal/sd-notice-modal.js +0 -324
  229. package/dist/components/p-BDUKWznE.js +0 -1
  230. package/dist/components/p-BzfvfP0u.js +0 -1
  231. package/dist/components/p-C-AFCWLs.js +0 -1
  232. package/dist/components/p-CN-WKnUJ.js +0 -1
  233. package/dist/components/p-C_L-UaCP.js +0 -1
  234. package/dist/components/p-CrYrMUpQ.js +0 -1
  235. package/dist/components/p-D0PYeSW9.js +0 -1
  236. package/dist/components/p-DLe_Tu-I.js +0 -1
  237. package/dist/components/p-H9Vl4enQ.js +0 -1
  238. package/dist/components/sd-notice-modal.js +0 -1
  239. package/dist/design-system/p-10945e57.entry.js +0 -1
  240. package/dist/design-system/p-342f48ab.entry.js +0 -1
  241. package/dist/design-system/p-3ded14dc.entry.js +0 -1
  242. package/dist/design-system/p-951e5615.entry.js +0 -1
  243. package/dist/design-system/p-9c6fea35.entry.js +0 -1
  244. package/dist/design-system/p-9d431ea6.entry.js +0 -1
  245. package/dist/design-system/p-ba393cc8.entry.js +0 -1
  246. package/dist/design-system/p-df1f9832.entry.js +0 -1
  247. package/dist/esm/sd-confirm-modal_2.entry.js +0 -196
  248. package/dist/types/components/sd-notice-modal/sd-notice-modal.config.d.ts +0 -5
  249. package/dist/types/components/sd-notice-modal/sd-notice-modal.d.ts +0 -28
@@ -81,11 +81,6 @@ const SdSelectV2 = class {
81
81
  flattenOptions(options) {
82
82
  return options.flatMap(o => (o.children ? this.flattenOptions(o.children) : [o]));
83
83
  }
84
- collectLeaves(option) {
85
- if (!option.children)
86
- return [option];
87
- return option.children.flatMap(child => this.collectLeaves(child));
88
- }
89
84
  getSelectedOptions() {
90
85
  const val = this.value;
91
86
  if (!val || !Array.isArray(val))
@@ -165,9 +160,10 @@ const SdSelectV2 = class {
165
160
  emitUpdate(value) {
166
161
  this.update.emit(value);
167
162
  }
168
- handleOptionSelect = (option) => {
163
+ handleOptionSelect = (detail) => {
164
+ const { option, leaves } = detail;
169
165
  if (this.isMulti) {
170
- this.handleMultiSelect(option);
166
+ this.handleMultiSelect(option, leaves);
171
167
  }
172
168
  else {
173
169
  this.closeDropdown();
@@ -178,14 +174,12 @@ const SdSelectV2 = class {
178
174
  });
179
175
  }
180
176
  };
181
- handleMultiSelect(option) {
177
+ handleMultiSelect(option, leaves) {
182
178
  const selected = this.getSelectedOptions();
183
- if (option.children) {
184
- const originalOption = this.findOriginalOption(option.value, this.options);
185
- const targetOption = originalOption ?? option;
186
- const leaves = this.collectLeaves(targetOption);
179
+ const isGroup = !!option.children;
180
+ let newSelected;
181
+ if (isGroup) {
187
182
  const allSelected = leaves.every(l => selected.some(s => s.value === l.value));
188
- let newSelected;
189
183
  if (allSelected) {
190
184
  const leafValues = new Set(leaves.map(l => l.value));
191
185
  newSelected = selected.filter(s => !leafValues.has(s.value));
@@ -195,17 +189,15 @@ const SdSelectV2 = class {
195
189
  const toAdd = leaves.filter(l => !existing.has(l.value));
196
190
  newSelected = [...selected, ...toAdd];
197
191
  }
198
- this.value = this.toMultiValue(newSelected);
199
- this.emitUpdate(this.value);
200
192
  }
201
193
  else {
202
194
  const exists = selected.some(s => s.value === option.value);
203
- const newSelected = exists
195
+ newSelected = exists
204
196
  ? selected.filter(s => s.value !== option.value)
205
197
  : [...selected, option];
206
- this.value = this.toMultiValue(newSelected);
207
- this.emitUpdate(this.value);
208
198
  }
199
+ this.value = this.toMultiValue(newSelected);
200
+ this.emitUpdate(this.value);
209
201
  }
210
202
  connectedCallback() {
211
203
  window.addEventListener('resize', this.handleViewportResize);
@@ -224,13 +216,13 @@ const SdSelectV2 = class {
224
216
  this.closeDropdown();
225
217
  },
226
218
  };
227
- return (index.h("sd-field", { key: '9a3a1bd2836d61ffadbe6b256907e060bc2552a6', name: this.fieldName || this.internalName, label: this.label, addonLabel: this.addonLabel, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
219
+ return (index.h("sd-field", { key: 'd9659682ab2e8b46fe24491149b8bc3c19d169c2', name: this.fieldName || this.internalName, label: this.label, addonLabel: this.addonLabel, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
228
220
  this.hovered = true;
229
221
  }, onMouseLeave: () => {
230
222
  this.hovered = false;
231
- } }, index.h("div", { key: '70fcf772f6c38b8f310ccbb20004c80cab4481a9', class: "sd-select-v2", ref: el => {
223
+ } }, index.h("div", { key: '75a27f70ba737748900efd4a68f8b3885b183f27', class: "sd-select-v2", ref: el => {
232
224
  this.triggerRef = el;
233
- } }, index.h("sd-select-v2-trigger", { key: 'aef3433f65f6dae8205f8913ac2236aebb8a8013', displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: '58e8050281036e4aef645271cc2384f6ba4e50be', ...portalProps }, index.h("sd-select-v2-listbox", { key: 'ae2d57b4118aae66bd1d0d6090aebb25f773cd58', name: this.name, options: this.options, value: this.value, emitValue: this.emitValue, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
225
+ } }, index.h("sd-select-v2-trigger", { key: 'e639279afd63ec5addbaccd76bf9c73ec3a3da7d', displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: '3df82f58ba7bf599694ab1ce6ae7ef1ec3fb6035', ...portalProps }, index.h("sd-select-v2-listbox", { key: 'a1afe865d25f3afd39e28011dbb036f74604b76f', name: this.name, options: this.options, value: this.value, emitValue: this.emitValue, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
234
226
  }
235
227
  static get watchers() { return {
236
228
  "isOpen": [{
@@ -137,17 +137,22 @@ function filterTree(options, keyword) {
137
137
  const lowerKeyword = keyword.toLowerCase();
138
138
  return options.reduce((acc, option) => {
139
139
  const selfMatch = option.label.toLowerCase().includes(lowerKeyword);
140
- if (selfMatch) {
141
- acc.push({
142
- ...option,
143
- children: option.children ? [] : undefined,
144
- });
145
- }
146
- else if (option.children) {
140
+ if (option.children) {
141
+ // 그룹: 자식은 항상 추가로 필터링한다.
142
+ // - 자식 중 일치하는 게 있으면 그 자식들만 노출
143
+ // - 자식 매칭이 없더라도 그룹명이 매칭되면 그룹 헤더는 그대로 노출
144
+ // (이때 children 은 빈 배열로 두고, 선택 동작은 collectVisibleLeaves
145
+ // 의 fallback 이 원본 트리를 사용해 처리한다)
147
146
  const filteredChildren = filterTree(option.children, keyword);
148
147
  if (filteredChildren.length > 0) {
149
148
  acc.push({ ...option, children: filteredChildren });
150
149
  }
150
+ else if (selfMatch) {
151
+ acc.push({ ...option, children: [] });
152
+ }
153
+ }
154
+ else if (selfMatch) {
155
+ acc.push({ ...option });
151
156
  }
152
157
  return acc;
153
158
  }, []);
@@ -82,16 +82,16 @@ const SdTextLink = class {
82
82
  '--sd-text-link-text-decoration': typo.textDecoration,
83
83
  '--sd-text-link-color': contentColor,
84
84
  };
85
- return (index.h("span", { key: '85a81d70f93ced4c094baa972dd4691c5659f341', class: {
85
+ return (index.h("span", { key: '3345bf7ddd99b9eeca4e8e6014f88e5f4505665e', class: {
86
86
  'sd-text-link': true,
87
87
  'sd-text-link--disabled': this.disabled,
88
- }, style: cssVars, onClick: this.handleClick }, this.icon && (index.h("sd-icon", { key: 'e9350162c38383610feca59f47a087452e586642', name: this.icon, size: TEXT_LINK_LAYOUT.iconSize, color: iconColor, class: "sd-text-link__icon" })), index.h("span", { key: '011b7f22e5fe897548b31d883b1c8dc1accab2c9', class: "sd-text-link__label" }, this.label), this.useArrow && (index.h("span", { key: '578d8532cf1c296a48e27c865f32052494cae5e3', class: "sd-text-link__arrow", style: {
88
+ }, style: cssVars, onClick: this.handleClick }, this.icon && (index.h("sd-icon", { key: 'e8f1cf6482745bce5856988d5e30702d807335db', name: this.icon, size: TEXT_LINK_LAYOUT.iconSize, color: iconColor, class: "sd-text-link__icon" })), index.h("span", { key: '09293467bc7289dd587a5ed0fc4b2cedbc1d925a', class: "sd-text-link__label" }, this.label), this.useArrow && (index.h("span", { key: '10330d4acc1e323997804146629e3397605b9d58', class: "sd-text-link__arrow", style: {
89
89
  width: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
90
90
  height: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
91
91
  display: 'inline-flex',
92
92
  alignItems: 'center',
93
93
  justifyContent: 'center',
94
- } }, index.h("sd-icon", { key: '33293275c5a68628298af50dafeeb22a544e9469', name: "arrowRight", size: TEXT_LINK_LAYOUT.arrowIconSize, color: arrowColor })))));
94
+ } }, index.h("sd-icon", { key: '01def7dd04278fce78f9eb49efd857999fa255db', name: "arrowRight", size: TEXT_LINK_LAYOUT.arrowIconSize, color: arrowColor })))));
95
95
  }
96
96
  };
97
97
  SdTextLink.style = sdTextLinkCss();
@@ -234,7 +234,7 @@ const SdToastContainer = class {
234
234
  const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
235
235
  const indexMap = new Map();
236
236
  activeToasts.forEach((t, i) => indexMap.set(t.id, i));
237
- return (index.h("div", { key: 'd4bb037ee2e46d4f32e45a7d0cdde98a61634a5c', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
237
+ return (index.h("div", { key: 'ea70acd97b25230c2c2ae74504381fe00d458043', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
238
238
  this.expanded = true;
239
239
  this.pauseTimers();
240
240
  }, onMouseLeave: () => {
@@ -57,10 +57,10 @@ const SdToast = class {
57
57
  render() {
58
58
  const typeConfig = TOAST_TYPE_CONFIG[this.type] ?? TOAST_TYPE_CONFIG.default;
59
59
  const iconSize = Number(TOAST_LAYOUT.iconSize);
60
- return (index.h("div", { key: 'a557c0c6b78e07eeec74dd14aa86507a8b9f37ae', style: {
60
+ return (index.h("div", { key: 'd8e1a82c9daebbe6b262bedcecd3fcdb5d9cdff6', style: {
61
61
  '--sd-toast-bg': typeConfig.bg,
62
62
  '--sd-toast-text': typeConfig.content,
63
- } }, index.h("div", { key: '027041528a39f35035c2ced8b1aa2e20e48a82bc', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (index.h("div", { key: '324df178ebcae7cf429c356bc8866e03b02a5ebc', class: "sd-toast__icon" }, index.h("sd-icon", { key: '62b9b6f38ed3b62e01a71388295aa6e73eb9b934', name: this.icon, size: iconSize, color: typeConfig.content }))), index.h("div", { key: '475d4b8f5021b1d7661138abd97288697fe332c3', class: "sd-toast__content" }, index.h("span", { key: '1b7469e1f46a576cc4f8ef6d363080f020ec2c70', class: "sd-toast__message" }, this.message)), this.link && (index.h("a", { key: '3a6ed7ff07d2fb50c8178d3260ed6ef50bf0a4c8', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.useClose && (index.h("button", { key: 'f05e512d165a54cb14b716548b4677321e32478a', type: "button", class: "sd-toast__close", onClick: () => this.close.emit(), "aria-label": "Close", title: "Close" }, index.h("sd-icon", { key: 'd914147a9a74287878597579f94dda8ddd453cf7', name: "close", size: iconSize, color: typeConfig.content }))))));
63
+ } }, index.h("div", { key: 'ef1c9243616c34947bd03a8de734b28fd7d32bd4', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (index.h("div", { key: 'ef4ff52c084175eb34f1e88b69258b72966af947', class: "sd-toast__icon" }, index.h("sd-icon", { key: '7c8f49358fb158807f09855c169ec99f3dcd9469', name: this.icon, size: iconSize, color: typeConfig.content }))), index.h("div", { key: 'b229d53142ab92037b8c409da478305bba954710', class: "sd-toast__content" }, index.h("span", { key: '1c623880c6e6e7d5d5a0fbaab980774cc494ab82', class: "sd-toast__message" }, this.message)), this.link && (index.h("a", { key: '9ff007a2436fd16519e22f024486a40a3c9f6ff9', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.useClose && (index.h("button", { key: '4b2371414437c7f3c9c70ec3b44879d0b6bbc212', type: "button", class: "sd-toast__close", onClick: () => this.close.emit(), "aria-label": "Close", title: "Close" }, index.h("sd-icon", { key: '3aed44c8b9bf783445cb49d4fc513b086f5fc428', name: "close", size: iconSize, color: typeConfig.content }))))));
64
64
  }
65
65
  };
66
66
  SdToast.style = sdToastCss();
@@ -41,7 +41,7 @@ const SdToggleButton = class {
41
41
  this.change.emit(newValue);
42
42
  };
43
43
  render() {
44
- return (index.h("label", { key: 'd1570ff6c0a69dfa6ba4bd135328d93641ca6483', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, index.h("input", { key: '53224a02ab3cd75dc0685c0f11616dcfe714285a', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
44
+ return (index.h("label", { key: 'c8e3adb9201066f7e39ff49df97e80cd4a716345', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, index.h("input", { key: '8fb523287f4d593a455a2366632797098401398e', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
45
45
  }
46
46
  };
47
47
  SdToggleButton.style = sdToggleButtonCss();
@@ -37,7 +37,7 @@ const SdToggle = class {
37
37
  this.change.emit(newValue);
38
38
  };
39
39
  render() {
40
- return (index.h("label", { key: '820b6e47f94d777c0540871ea1ea0b400bbd26de', "aria-label": this.label || 'toggle', class: this.toggleClasses }, index.h("input", { key: '880fd48071d635ca229c073ee3f3b60212c00a68', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && index.h("span", { key: 'c3b8652c7347b2703d4725f543c9faa7e4143d6b', class: "sd-toggle__label" }, this.label), index.h("div", { key: '90ea67512ab0b1e6d44f02a4d12d0f4fb44b850b', class: "sd-toggle__track" }, index.h("div", { key: 'ffc0074e1f3e683cc324537957235f0bf4b80c40', class: "sd-toggle__thumb" }))));
40
+ return (index.h("label", { key: '60d9d2c1feca4256b7a279bc64e52da8e9f81995', "aria-label": this.label || 'toggle', class: this.toggleClasses }, index.h("input", { key: 'd25f6af7f9c6ea95e423a39ff44c394ad9624fe6', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && index.h("span", { key: '52383a1ca0f17666fdc386beed30512e7349b470', class: "sd-toggle__label" }, this.label), index.h("div", { key: '32c76872e30e2d8b1b06e096c394ee1d3dfc4381', class: "sd-toggle__track" }, index.h("div", { key: '0ec405309e322492ed7af4e0ddf115da87d03150', class: "sd-toggle__thumb" }))));
41
41
  }
42
42
  };
43
43
  SdToggle.style = sdToggleCss();
@@ -13,6 +13,7 @@
13
13
  "components/sd-table/sd-table.js",
14
14
  "components/sd-tabs/sd-tabs.js",
15
15
  "components/sd-badge/sd-badge.js",
16
+ "components/sd-barcode-input/sd-barcode-input.js",
16
17
  "components/sd-button-v2/sd-button-v2.js",
17
18
  "components/sd-card/sd-card.js",
18
19
  "components/sd-confirm-modal/sd-confirm-modal.js",
@@ -28,7 +29,6 @@
28
29
  "components/sd-input/sd-input.js",
29
30
  "components/sd-loading-spinner/sd-loading-spinner.js",
30
31
  "components/sd-modal-container/sd-modal-container.js",
31
- "components/sd-notice-modal/sd-notice-modal.js",
32
32
  "components/sd-number-input/sd-number-input.js",
33
33
  "components/sd-pagination/sd-pagination.js",
34
34
  "components/sd-popover/sd-popover.js",
@@ -0,0 +1,34 @@
1
+ import inputTokens from "../../tokens/generated/component.textinput.json";
2
+ import systemTokens from "../../tokens/generated/system.json";
3
+ const sm = inputTokens.input.sm;
4
+ const md = inputTokens.input.md;
5
+ export const BARCODE_INPUT_SIZE_MAP = {
6
+ sm: {
7
+ height: sm.height,
8
+ paddingX: sm.paddingX,
9
+ gap: sm.gap,
10
+ radius: sm.radius,
11
+ fontSize: sm.typography.fontSize,
12
+ lineHeight: sm.typography.lineHeight,
13
+ fontWeight: sm.typography.fontWeight,
14
+ },
15
+ md: {
16
+ height: md.height,
17
+ paddingX: md.paddingX,
18
+ gap: md.gap,
19
+ radius: md.radius,
20
+ fontSize: md.typography.fontSize,
21
+ lineHeight: md.typography.lineHeight,
22
+ fontWeight: md.typography.fontWeight,
23
+ },
24
+ };
25
+ export const BARCODE_INPUT_COLORS = {
26
+ border: inputTokens.input.border,
27
+ bg: inputTokens.input.bg,
28
+ text: inputTokens.input.text,
29
+ icon: inputTokens.input.icon,
30
+ };
31
+ export const BARCODE_INPUT_ICON = {
32
+ frameSize: Number(inputTokens.input.size.icon),
33
+ iconSize: Number(systemTokens.size.field.icon),
34
+ };
@@ -0,0 +1,72 @@
1
+ sd-icon {
2
+ display: inline-block;
3
+ line-height: 0;
4
+ }
5
+ sd-icon .sd-icon--rotate-90 {
6
+ transform: rotate(90deg);
7
+ }
8
+ sd-icon .sd-icon--rotate-180 {
9
+ transform: rotate(180deg);
10
+ }
11
+ sd-icon .sd-icon--rotate-270 {
12
+ transform: rotate(270deg);
13
+ }
14
+
15
+ input:-webkit-autofill,
16
+ input:-webkit-autofill:hover,
17
+ input:-webkit-autofill:focus,
18
+ input:-webkit-autofill:active {
19
+ -webkit-text-fill-color: #000;
20
+ -webkit-box-shadow: 0 0 0px 1000px #FAFAA1 inset;
21
+ box-shadow: 0 0 0px 1000px #FAFAA1 inset;
22
+ transition: background-color 5000s ease-in-out 0s;
23
+ }
24
+
25
+ input:autofill,
26
+ input:autofill:hover,
27
+ input:autofill:focus,
28
+ input:autofill:active {
29
+ -webkit-text-fill-color: #000;
30
+ -webkit-box-shadow: 0 0 0px 1000px #FAFAA1 inset;
31
+ box-shadow: 0 0 0px 1000px #FAFAA1 inset;
32
+ transition: background-color 5000s ease-in-out 0s;
33
+ }
34
+
35
+ sd-barcode-input {
36
+ display: inline-flex;
37
+ }
38
+ sd-barcode-input .sd-barcode-input__content {
39
+ width: 100%;
40
+ height: 100%;
41
+ display: flex;
42
+ flex-flow: row nowrap;
43
+ align-items: center;
44
+ color: var(--sd-barcode-input-text-color);
45
+ font-size: var(--sd-barcode-input-font-size);
46
+ line-height: var(--sd-barcode-input-line-height);
47
+ font-weight: var(--sd-barcode-input-font-weight);
48
+ padding: 0 var(--sd-barcode-input-padding-x);
49
+ gap: var(--sd-barcode-input-gap);
50
+ }
51
+ sd-barcode-input .sd-barcode-input__content .sd-barcode-input__native {
52
+ width: 100%;
53
+ height: 100%;
54
+ border: none;
55
+ outline: none;
56
+ background: transparent;
57
+ font-size: inherit;
58
+ line-height: inherit;
59
+ font-weight: inherit;
60
+ color: inherit;
61
+ }
62
+ sd-barcode-input .sd-barcode-input__content .sd-barcode-input__native[disabled] {
63
+ cursor: not-allowed;
64
+ color: var(--sd-barcode-input-disabled-color);
65
+ }
66
+ sd-barcode-input .sd-barcode-input__content .sd-barcode-input__native::placeholder {
67
+ color: var(--sd-barcode-input-placeholder-color);
68
+ }
69
+ sd-barcode-input .sd-barcode-input__content .sd-barcode-input__clear-icon {
70
+ flex-shrink: 0;
71
+ cursor: pointer;
72
+ }