@ds-mo/ui 15.2.0 → 15.4.0

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 (504) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +3 -3
  3. package/dist/agent.json +936 -80
  4. package/dist/angular/ds-card-setting.d.ts +1 -1
  5. package/dist/angular/ds-card-setting.js +3 -3
  6. package/dist/angular/ds-checkbox-group.d.ts +12 -0
  7. package/dist/angular/ds-checkbox-group.js +38 -0
  8. package/dist/angular/ds-checkbox.d.ts +1 -1
  9. package/dist/angular/ds-checkbox.js +3 -3
  10. package/dist/angular/ds-inline-banner-settings.d.ts +12 -0
  11. package/dist/angular/ds-inline-banner-settings.js +38 -0
  12. package/dist/angular/ds-input-time.d.ts +1 -1
  13. package/dist/angular/ds-input-time.js +3 -3
  14. package/dist/angular/ds-input.d.ts +5 -1
  15. package/dist/angular/ds-input.js +10 -4
  16. package/dist/angular/ds-map-entity-marker.d.ts +1 -1
  17. package/dist/angular/ds-map-entity-marker.js +3 -3
  18. package/dist/angular/ds-radio-tile.d.ts +15 -0
  19. package/dist/angular/ds-radio-tile.js +43 -0
  20. package/dist/angular/ds-radio.d.ts +1 -1
  21. package/dist/angular/ds-radio.js +3 -3
  22. package/dist/angular/ds-setting-row-checkbox.d.ts +12 -0
  23. package/dist/angular/ds-setting-row-checkbox.js +38 -0
  24. package/dist/angular/ds-setting-row-radio.d.ts +12 -0
  25. package/dist/angular/ds-setting-row-radio.js +38 -0
  26. package/dist/angular/ds-setting-row-toggle.d.ts +18 -0
  27. package/dist/angular/ds-setting-row-toggle.js +42 -0
  28. package/dist/angular/ds-slider.d.ts +1 -1
  29. package/dist/angular/ds-slider.js +3 -3
  30. package/dist/angular/ds-textarea.d.ts +1 -1
  31. package/dist/angular/ds-textarea.js +3 -3
  32. package/dist/angular/ds-time-picker.d.ts +1 -1
  33. package/dist/angular/ds-time-picker.js +3 -3
  34. package/dist/angular/index.d.ts +1 -1
  35. package/dist/angular/index.js +6 -0
  36. package/dist/angular/number-value-accessor.d.ts +9 -0
  37. package/dist/angular/number-value-accessor.js +39 -0
  38. package/dist/angular/proxies.d.ts +6 -0
  39. package/dist/angular/proxies.js +6 -0
  40. package/dist/angular/radio-value-accessor.d.ts +1 -1
  41. package/dist/angular/radio-value-accessor.js +2 -2
  42. package/dist/angular/select-value-accessor.d.ts +1 -1
  43. package/dist/angular/select-value-accessor.js +2 -2
  44. package/dist/angular/text-value-accessor.d.ts +1 -1
  45. package/dist/angular/text-value-accessor.js +2 -2
  46. package/dist/components/ds-agent-activity.js +1 -1
  47. package/dist/components/ds-agent-questionnaire.js +1 -1
  48. package/dist/components/ds-agent-response.js +1 -1
  49. package/dist/components/ds-agent-response.js.map +1 -1
  50. package/dist/components/ds-agent-source-list.js +1 -1
  51. package/dist/components/ds-agent-tool-call.js +1 -1
  52. package/dist/components/ds-attachment-list.js +1 -1
  53. package/dist/components/ds-badge.js +1 -1
  54. package/dist/components/ds-banner.js +1 -1
  55. package/dist/components/ds-bar-action.js +1 -1
  56. package/dist/components/ds-bar-nav.js +1 -1
  57. package/dist/components/ds-bar-page-title.js +1 -1
  58. package/dist/components/ds-bar-title.js +1 -1
  59. package/dist/components/ds-bar-workflow.js +1 -1
  60. package/dist/components/ds-breadcrumb.js +1 -1
  61. package/dist/components/ds-button-filled.js +1 -1
  62. package/dist/components/ds-button-inverted.js +1 -1
  63. package/dist/components/ds-button-inverted.js.map +1 -1
  64. package/dist/components/ds-button-unfilled.js +1 -1
  65. package/dist/components/ds-calendar.js +1 -1
  66. package/dist/components/ds-card-action-center.js +1 -1
  67. package/dist/components/ds-card-action-center.js.map +1 -1
  68. package/dist/components/ds-card-chart.js +1 -1
  69. package/dist/components/ds-card-navigation.js +1 -1
  70. package/dist/components/ds-card-navigation.js.map +1 -1
  71. package/dist/components/ds-card-overview.js +1 -1
  72. package/dist/components/ds-card-overview.js.map +1 -1
  73. package/dist/components/ds-card-setting.js +1 -1
  74. package/dist/components/ds-card-setting.js.map +1 -1
  75. package/dist/components/ds-card-settings-scope.js +1 -1
  76. package/dist/components/ds-card-settings-scope.js.map +1 -1
  77. package/dist/components/ds-chart-legend.js +1 -1
  78. package/dist/components/ds-chart-legend.js.map +1 -1
  79. package/dist/components/ds-chart.js +1 -1
  80. package/dist/components/ds-checkbox-group.d.ts +11 -0
  81. package/dist/components/ds-checkbox-group.js +2 -0
  82. package/dist/components/ds-checkbox-group.js.map +1 -0
  83. package/dist/components/ds-checkbox.js +1 -1
  84. package/dist/components/ds-chip.js +1 -1
  85. package/dist/components/ds-code-block.js +1 -1
  86. package/dist/components/ds-conversation-list-item.js +1 -1
  87. package/dist/components/ds-conversation-list-item.js.map +1 -1
  88. package/dist/components/ds-conversation-list-section.js +1 -1
  89. package/dist/components/ds-conversation-list.js +1 -1
  90. package/dist/components/ds-data-customize.js +1 -1
  91. package/dist/components/ds-data-customize.js.map +1 -1
  92. package/dist/components/ds-data-filter.js +1 -1
  93. package/dist/components/ds-data-filter.js.map +1 -1
  94. package/dist/components/ds-data-group.js +1 -1
  95. package/dist/components/ds-data-preferences.js +1 -1
  96. package/dist/components/ds-data-preferences.js.map +1 -1
  97. package/dist/components/ds-data-saved-views.js +1 -1
  98. package/dist/components/ds-data-saved-views.js.map +1 -1
  99. package/dist/components/ds-data-search.js +1 -1
  100. package/dist/components/ds-data-search.js.map +1 -1
  101. package/dist/components/ds-data-sort.js +1 -1
  102. package/dist/components/ds-data-toolbar.js +1 -1
  103. package/dist/components/ds-divider.js +1 -1
  104. package/dist/components/ds-empty-state.js +1 -1
  105. package/dist/components/ds-field.js +1 -1
  106. package/dist/components/ds-filter-menu.js +1 -1
  107. package/dist/components/ds-inline-banner-settings.d.ts +11 -0
  108. package/dist/components/ds-inline-banner-settings.js +2 -0
  109. package/dist/components/ds-inline-banner-settings.js.map +1 -0
  110. package/dist/components/ds-input-date.js +1 -1
  111. package/dist/components/ds-input-date.js.map +1 -1
  112. package/dist/components/ds-input-time.js +1 -1
  113. package/dist/components/ds-input-time.js.map +1 -1
  114. package/dist/components/ds-input.js +1 -1
  115. package/dist/components/ds-map-cluster-marker.js +1 -1
  116. package/dist/components/ds-map-entity-marker.js +1 -1
  117. package/dist/components/ds-map-entity-marker.js.map +1 -1
  118. package/dist/components/ds-markdown.js +1 -1
  119. package/dist/components/ds-menu.js +1 -1
  120. package/dist/components/ds-message-actions.js +1 -1
  121. package/dist/components/ds-message-bubble.js +1 -1
  122. package/dist/components/ds-message-bubble.js.map +1 -1
  123. package/dist/components/ds-message-composer.js +1 -1
  124. package/dist/components/ds-message-composer.js.map +1 -1
  125. package/dist/components/ds-message-scroller.js +1 -1
  126. package/dist/components/ds-message.js +1 -1
  127. package/dist/components/ds-mobile-bar-nav.js +1 -1
  128. package/dist/components/ds-mobile-header.js +1 -1
  129. package/dist/components/ds-mobile-section-switcher.js +1 -1
  130. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  131. package/dist/components/ds-modal.js +1 -1
  132. package/dist/components/ds-pagination.js +1 -1
  133. package/dist/components/ds-panel-nav.js +1 -1
  134. package/dist/components/ds-panel-sub-nav.js +1 -1
  135. package/dist/components/ds-panel-sub-nav.js.map +1 -1
  136. package/dist/components/ds-panel-tool-header.js +1 -1
  137. package/dist/components/ds-panel-tool-search.js +1 -1
  138. package/dist/components/ds-panel-tool-search.js.map +1 -1
  139. package/dist/components/ds-panel-tools.js +1 -1
  140. package/dist/components/ds-paper-texture.js +1 -1
  141. package/dist/components/ds-radio-tile.d.ts +11 -0
  142. package/dist/components/ds-radio-tile.js +2 -0
  143. package/dist/components/ds-radio-tile.js.map +1 -0
  144. package/dist/components/ds-radio.js +1 -1
  145. package/dist/components/ds-score.js +1 -1
  146. package/dist/components/ds-scroll-overlay.js +1 -1
  147. package/dist/components/ds-select.js +1 -1
  148. package/dist/components/ds-setting-row-checkbox.d.ts +11 -0
  149. package/dist/components/ds-setting-row-checkbox.js +2 -0
  150. package/dist/components/ds-setting-row-checkbox.js.map +1 -0
  151. package/dist/components/ds-setting-row-radio.d.ts +11 -0
  152. package/dist/components/ds-setting-row-radio.js +2 -0
  153. package/dist/components/ds-setting-row-radio.js.map +1 -0
  154. package/dist/components/ds-setting-row-toggle.d.ts +11 -0
  155. package/dist/components/ds-setting-row-toggle.js +2 -0
  156. package/dist/components/ds-setting-row-toggle.js.map +1 -0
  157. package/dist/components/ds-shell-app.js +1 -1
  158. package/dist/components/ds-shell-app.js.map +1 -1
  159. package/dist/components/ds-shell-page.js +1 -1
  160. package/dist/components/ds-shell-tools.js +1 -1
  161. package/dist/components/ds-skeleton.js +1 -1
  162. package/dist/components/ds-slider.js +1 -1
  163. package/dist/components/ds-slider.js.map +1 -1
  164. package/dist/components/ds-swatch-picker.js +1 -1
  165. package/dist/components/ds-switch.js +1 -1
  166. package/dist/components/ds-tab-group.js +1 -1
  167. package/dist/components/ds-table.js +1 -1
  168. package/dist/components/ds-table.js.map +1 -1
  169. package/dist/components/ds-tag.js +1 -1
  170. package/dist/components/ds-text.js +1 -1
  171. package/dist/components/ds-textarea.js +1 -1
  172. package/dist/components/ds-textarea.js.map +1 -1
  173. package/dist/components/ds-time-picker.js +1 -1
  174. package/dist/components/ds-toast.js +1 -1
  175. package/dist/components/ds-tooltip-chart.js +1 -1
  176. package/dist/components/ds-tooltip.js +1 -1
  177. package/dist/components/ds-typing-indicator.js +1 -1
  178. package/dist/components/p-7TVdPhGR.js +2 -0
  179. package/dist/components/{p-YrnU2fM7.js.map → p-7TVdPhGR.js.map} +1 -1
  180. package/dist/components/{p-7V1AhetH.js → p-B0BQCVkq.js} +2 -2
  181. package/dist/components/p-B0EpvBDs.js +2 -0
  182. package/dist/components/{p-lamoJZE4.js.map → p-B0EpvBDs.js.map} +1 -1
  183. package/dist/components/{p-Cu8o2rOz.js → p-B39iJO8F.js} +2 -2
  184. package/dist/components/p-B9TM6FqC.js +2 -0
  185. package/dist/components/{p-BJJh-Bf7.js.map → p-B9TM6FqC.js.map} +1 -1
  186. package/dist/components/{p-B6qQaYkB.js → p-B9y6azEw.js} +2 -2
  187. package/dist/components/p-BDdlJZyL.js +2 -0
  188. package/dist/components/{p-CZ7hxDy_.js.map → p-BDdlJZyL.js.map} +1 -1
  189. package/dist/components/{p-5SVmAjXY.js → p-BERXvOCf.js} +2 -2
  190. package/dist/components/{p-xhn1cZgU.js → p-BFHpU-uU.js} +2 -2
  191. package/dist/components/{p-CuWPWC3t.js → p-BQspV5U7.js} +2 -2
  192. package/dist/components/p-BWSIw8AQ.js +2 -0
  193. package/dist/components/p-BWSIw8AQ.js.map +1 -0
  194. package/dist/components/p-BhjqYTiY.js +2 -0
  195. package/dist/components/p-BhjqYTiY.js.map +1 -0
  196. package/dist/components/{p-BOhefRMt.js → p-Bk3poU91.js} +2 -2
  197. package/dist/components/{p-QWukusRL.js → p-BnuNaXR2.js} +2 -2
  198. package/dist/components/p-BwdnVqAY.js +2 -0
  199. package/dist/components/p-BwdnVqAY.js.map +1 -0
  200. package/dist/components/p-C4huuwed.js +2 -0
  201. package/dist/components/{p-CRk0TjQv.js.map → p-C4huuwed.js.map} +1 -1
  202. package/dist/components/{p-BtnTQp4K.js → p-C8V4lkVy.js} +2 -2
  203. package/dist/components/p-CJ1NnOEW.js +2 -0
  204. package/dist/components/p-CJ1NnOEW.js.map +1 -0
  205. package/dist/components/p-CPamUzaj.js +2 -0
  206. package/dist/components/{p-CNZ6-kWd.js.map → p-CPamUzaj.js.map} +1 -1
  207. package/dist/components/{p-Dqfc6Nvd.js → p-CUDocY23.js} +2 -2
  208. package/dist/components/{p-Dqfc6Nvd.js.map → p-CUDocY23.js.map} +1 -1
  209. package/dist/components/p-CX6ZxUQT.js +2 -0
  210. package/dist/components/p-CX6ZxUQT.js.map +1 -0
  211. package/dist/components/p-CZNZTcYS.js +2 -0
  212. package/dist/components/p-CZNZTcYS.js.map +1 -0
  213. package/dist/components/p-CbCN9ew9.js +2 -0
  214. package/dist/components/p-CbCN9ew9.js.map +1 -0
  215. package/dist/components/p-CeXf9-X3.js.map +1 -1
  216. package/dist/components/p-Cgn-BORA.js +2 -0
  217. package/dist/components/p-Cgn-BORA.js.map +1 -0
  218. package/dist/components/{p-mux14tWZ.js → p-Co1rUdOR.js} +2 -2
  219. package/dist/components/p-Co1rUdOR.js.map +1 -0
  220. package/dist/components/{p-CGidq1iC.js → p-CuwopElg.js} +2 -2
  221. package/dist/components/p-CwUXroLs.js +2 -0
  222. package/dist/components/{p-etg-Uk1u.js.map → p-CwUXroLs.js.map} +1 -1
  223. package/dist/components/{p-Cn6AfzeF.js → p-CwdRaJER.js} +2 -2
  224. package/dist/components/p-D6FRqNhN.js +2 -0
  225. package/dist/components/p-D6FRqNhN.js.map +1 -0
  226. package/dist/components/{p-ZwRLjD5M.js → p-D8OWhnID.js} +2 -2
  227. package/dist/components/p-DCyJ3_PL.js +2 -0
  228. package/dist/components/{p-BZ_e69zx.js.map → p-DCyJ3_PL.js.map} +1 -1
  229. package/dist/components/{p-C_Ma6Xa-.js → p-DIQiHX0q.js} +2 -2
  230. package/dist/components/{p-B3CZvMXs.js → p-DJDbskZf.js} +2 -2
  231. package/dist/components/p-DRdoGSGX.js +2 -0
  232. package/dist/components/{p-CTGgXIXM.js.map → p-DRdoGSGX.js.map} +1 -1
  233. package/dist/components/{p-C1gaWjOm.js → p-DSZPO06T.js} +2 -2
  234. package/dist/components/{p-uADksYMl.js → p-DSmDyI2o.js} +2 -2
  235. package/dist/components/{p-UY63jmrO.js → p-DVEx-Xg9.js} +2 -2
  236. package/dist/components/p-DXk1eml1.js +2 -0
  237. package/dist/components/{p-Dlp1HqgS.js.map → p-DXk1eml1.js.map} +1 -1
  238. package/dist/components/{p-p0FVyEFa.js → p-DYQa1DVF.js} +2 -2
  239. package/dist/components/p-DYQa1DVF.js.map +1 -0
  240. package/dist/components/p-DYsE6HLk.js +2 -0
  241. package/dist/components/p-DYsE6HLk.js.map +1 -0
  242. package/dist/components/{p-vfCu7XSc.js → p-DZ58Sg5a.js} +2 -2
  243. package/dist/components/p-DebLYW7A.js +2 -0
  244. package/dist/components/p-DebLYW7A.js.map +1 -0
  245. package/dist/components/p-DhKvqh5G.js +2 -0
  246. package/dist/components/p-DhKvqh5G.js.map +1 -0
  247. package/dist/components/{p-DFO5lV_A.js → p-DmSnHVW6.js} +2 -2
  248. package/dist/components/p-Dnt5xUBD.js +2 -0
  249. package/dist/components/{p-BR5OC2PX.js.map → p-Dnt5xUBD.js.map} +1 -1
  250. package/dist/components/p-Doa2blZT.js +2 -0
  251. package/dist/components/{p-BLuqpHvp.js.map → p-Doa2blZT.js.map} +1 -1
  252. package/dist/components/{p-DsLXlxt3.js → p-Dyqd-cub.js} +2 -2
  253. package/dist/components/p-Dyqd-cub.js.map +1 -0
  254. package/dist/components/p-DzvTC27M.js +2 -0
  255. package/dist/components/p-DzvTC27M.js.map +1 -0
  256. package/dist/components/p-JBki_jyY.js +2 -0
  257. package/dist/components/{p-C0JkLR83.js.map → p-JBki_jyY.js.map} +1 -1
  258. package/dist/components/p-MOJmB6vX.js +2 -0
  259. package/dist/components/{p-BzYW1IqO.js.map → p-MOJmB6vX.js.map} +1 -1
  260. package/dist/components/p-TVkFIMXz.js +2 -0
  261. package/dist/components/p-TVkFIMXz.js.map +1 -0
  262. package/dist/components/{p-ER5M085B.js → p-UJMEz8_O.js} +2 -2
  263. package/dist/components/{p-CR-Jjdcn.js → p-_IqSPt5V.js} +2 -2
  264. package/dist/components/p-g0jsfEXz.js +2 -0
  265. package/dist/components/{p-BfF4RZdp.js.map → p-g0jsfEXz.js.map} +1 -1
  266. package/dist/components/{p-BLSSaVWm.js → p-pp1IQN4Z.js} +2 -2
  267. package/dist/docs/components.json +2901 -835
  268. package/dist/framework/angular.d.ts +1 -0
  269. package/dist/framework/angular.js +1 -0
  270. package/dist/lib/shell/index.js +1 -1
  271. package/dist/lib/shell/index.js.map +1 -1
  272. package/dist/lint/index.js +1 -1
  273. package/dist/mcp-data/registry/agent-activity.json +2 -2
  274. package/dist/mcp-data/registry/agent-questionnaire.json +2 -2
  275. package/dist/mcp-data/registry/agent-response.json +3 -3
  276. package/dist/mcp-data/registry/agent-source-list.json +2 -2
  277. package/dist/mcp-data/registry/agent-tool-call.json +2 -2
  278. package/dist/mcp-data/registry/attachment-list.json +2 -2
  279. package/dist/mcp-data/registry/avatar.json +2 -2
  280. package/dist/mcp-data/registry/badge.json +2 -2
  281. package/dist/mcp-data/registry/banner.json +2 -2
  282. package/dist/mcp-data/registry/bar-action.json +2 -2
  283. package/dist/mcp-data/registry/bar-nav.json +5 -5
  284. package/dist/mcp-data/registry/bar-page-title.json +4 -4
  285. package/dist/mcp-data/registry/bar-title.json +4 -4
  286. package/dist/mcp-data/registry/bar-workflow.json +2 -2
  287. package/dist/mcp-data/registry/breadcrumb.json +2 -2
  288. package/dist/mcp-data/registry/button-filled.json +2 -2
  289. package/dist/mcp-data/registry/button-inverted.json +2 -2
  290. package/dist/mcp-data/registry/button-unfilled.json +9 -9
  291. package/dist/mcp-data/registry/calendar.json +2 -2
  292. package/dist/mcp-data/registry/card-action-center.json +2 -2
  293. package/dist/mcp-data/registry/card-chart.json +2 -2
  294. package/dist/mcp-data/registry/card-navigation.json +2 -2
  295. package/dist/mcp-data/registry/card-overview.json +2 -2
  296. package/dist/mcp-data/registry/card-setting.json +50 -15
  297. package/dist/mcp-data/registry/card-settings-scope.json +2 -2
  298. package/dist/mcp-data/registry/chart-legend.json +2 -2
  299. package/dist/mcp-data/registry/chart.json +2 -2
  300. package/dist/mcp-data/registry/checkbox-group.json +246 -0
  301. package/dist/mcp-data/registry/checkbox.json +26 -6
  302. package/dist/mcp-data/registry/chip.json +2 -2
  303. package/dist/mcp-data/registry/code-block.json +2 -2
  304. package/dist/mcp-data/registry/conversation-list-item.json +2 -2
  305. package/dist/mcp-data/registry/conversation-list-section.json +2 -2
  306. package/dist/mcp-data/registry/conversation-list.json +2 -2
  307. package/dist/mcp-data/registry/data-customize.json +3 -3
  308. package/dist/mcp-data/registry/data-filter.json +2 -2
  309. package/dist/mcp-data/registry/data-group.json +2 -2
  310. package/dist/mcp-data/registry/data-preferences.json +2 -2
  311. package/dist/mcp-data/registry/data-saved-views.json +2 -2
  312. package/dist/mcp-data/registry/data-search.json +2 -2
  313. package/dist/mcp-data/registry/data-sort.json +2 -2
  314. package/dist/mcp-data/registry/data-toolbar.json +2 -2
  315. package/dist/mcp-data/registry/divider.json +2 -2
  316. package/dist/mcp-data/registry/empty-state.json +27 -14
  317. package/dist/mcp-data/registry/field.json +6 -5
  318. package/dist/mcp-data/registry/filter-menu.json +2 -2
  319. package/dist/mcp-data/registry/icon.json +2 -2
  320. package/dist/mcp-data/registry/inline-banner-settings.json +175 -0
  321. package/dist/mcp-data/registry/input-date.json +2 -2
  322. package/dist/mcp-data/registry/input-time.json +26 -7
  323. package/dist/mcp-data/registry/input.json +265 -15
  324. package/dist/mcp-data/registry/loader.json +2 -2
  325. package/dist/mcp-data/registry/map-cluster-marker.json +3 -3
  326. package/dist/mcp-data/registry/map-entity-marker.json +56 -56
  327. package/dist/mcp-data/registry/markdown.json +2 -2
  328. package/dist/mcp-data/registry/menu.json +2 -2
  329. package/dist/mcp-data/registry/message-actions.json +2 -2
  330. package/dist/mcp-data/registry/message-bubble.json +5 -5
  331. package/dist/mcp-data/registry/message-composer.json +7 -7
  332. package/dist/mcp-data/registry/message-scroller.json +2 -2
  333. package/dist/mcp-data/registry/message.json +3 -3
  334. package/dist/mcp-data/registry/mobile-bar-nav.json +2 -2
  335. package/dist/mcp-data/registry/mobile-header.json +2 -2
  336. package/dist/mcp-data/registry/mobile-section-switcher.json +2 -2
  337. package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
  338. package/dist/mcp-data/registry/modal.json +2 -2
  339. package/dist/mcp-data/registry/pagination.json +2 -2
  340. package/dist/mcp-data/registry/panel-nav.json +4 -4
  341. package/dist/mcp-data/registry/panel-sub-nav.json +2 -2
  342. package/dist/mcp-data/registry/panel-tool-header.json +4 -4
  343. package/dist/mcp-data/registry/panel-tool-search.json +3 -3
  344. package/dist/mcp-data/registry/panel-tools.json +4 -4
  345. package/dist/mcp-data/registry/paper-texture.json +2 -2
  346. package/dist/mcp-data/registry/radio-tile.json +399 -0
  347. package/dist/mcp-data/registry/radio.json +51 -9
  348. package/dist/mcp-data/registry/registry.json +954 -80
  349. package/dist/mcp-data/registry/score.json +2 -2
  350. package/dist/mcp-data/registry/scroll-overlay.json +2 -2
  351. package/dist/mcp-data/registry/select.json +2 -2
  352. package/dist/mcp-data/registry/setting-row-checkbox.json +197 -0
  353. package/dist/mcp-data/registry/setting-row-radio.json +196 -0
  354. package/dist/mcp-data/registry/setting-row-toggle.json +233 -0
  355. package/dist/mcp-data/registry/shell-app.json +4 -4
  356. package/dist/mcp-data/registry/shell-page.json +2 -2
  357. package/dist/mcp-data/registry/shell-tools.json +2 -2
  358. package/dist/mcp-data/registry/skeleton.json +2 -2
  359. package/dist/mcp-data/registry/slider.json +32 -12
  360. package/dist/mcp-data/registry/swatch-picker.json +2 -2
  361. package/dist/mcp-data/registry/switch.json +4 -4
  362. package/dist/mcp-data/registry/tab-group.json +2 -2
  363. package/dist/mcp-data/registry/table.json +5 -5
  364. package/dist/mcp-data/registry/tag.json +2 -2
  365. package/dist/mcp-data/registry/text.json +2 -2
  366. package/dist/mcp-data/registry/textarea.json +72 -5
  367. package/dist/mcp-data/registry/time-picker.json +28 -9
  368. package/dist/mcp-data/registry/toast.json +2 -2
  369. package/dist/mcp-data/registry/tooltip-chart.json +2 -2
  370. package/dist/mcp-data/registry/tooltip.json +2 -2
  371. package/dist/mcp-data/registry/typing-indicator.json +2 -2
  372. package/dist/react/components.d.ts +6 -0
  373. package/dist/react/components.js +6 -0
  374. package/dist/react/ds-checkbox-group.d.ts +9 -0
  375. package/dist/react/ds-checkbox-group.js +12 -0
  376. package/dist/react/ds-inline-banner-settings.d.ts +9 -0
  377. package/dist/react/ds-inline-banner-settings.js +12 -0
  378. package/dist/react/ds-input.d.ts +2 -0
  379. package/dist/react/ds-input.js +2 -0
  380. package/dist/react/ds-radio-tile.d.ts +12 -0
  381. package/dist/react/ds-radio-tile.js +12 -0
  382. package/dist/react/ds-setting-row-checkbox.d.ts +9 -0
  383. package/dist/react/ds-setting-row-checkbox.js +12 -0
  384. package/dist/react/ds-setting-row-radio.d.ts +9 -0
  385. package/dist/react/ds-setting-row-radio.js +12 -0
  386. package/dist/react/ds-setting-row-toggle.d.ts +12 -0
  387. package/dist/react/ds-setting-row-toggle.js +12 -0
  388. package/dist/types/components/BarPageTitle/BarPageTitle.d.ts +2 -0
  389. package/dist/types/components/BarTitle/bar-title-action-chrome.d.ts +4 -0
  390. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +5 -2
  391. package/dist/types/components/CardSetting/CardSetting.d.ts +15 -3
  392. package/dist/types/components/CardSetting/index.d.ts +1 -1
  393. package/dist/types/components/Checkbox/Checkbox.d.ts +2 -0
  394. package/dist/types/components/CheckboxGroup/CheckboxGroup.d.ts +20 -0
  395. package/dist/types/components/EmptyState/EmptyState.d.ts +3 -0
  396. package/dist/types/components/Field/Field.d.ts +4 -0
  397. package/dist/types/components/InlineBannerSettings/InlineBannerSettings.d.ts +6 -0
  398. package/dist/types/components/Input/Input.d.ts +50 -1
  399. package/dist/types/components/InputTime/InputTime.d.ts +3 -0
  400. package/dist/types/components/MapEntityMarker/MapEntityMarker.d.ts +5 -5
  401. package/dist/types/components/Radio/Radio.d.ts +8 -0
  402. package/dist/types/components/RadioTile/RadioTile.d.ts +40 -0
  403. package/dist/types/components/RadioTile/index.d.ts +2 -0
  404. package/dist/types/components/SettingRowCheckbox/SettingRowCheckbox.d.ts +19 -0
  405. package/dist/types/components/SettingRowRadio/SettingRowRadio.d.ts +19 -0
  406. package/dist/types/components/SettingRowToggle/SettingRowToggle.d.ts +21 -0
  407. package/dist/types/components/Slider/Slider.d.ts +8 -1
  408. package/dist/types/components/Slider/index.d.ts +1 -1
  409. package/dist/types/components/Switch/Switch.d.ts +7 -0
  410. package/dist/types/components/Textarea/Textarea.d.ts +12 -0
  411. package/dist/types/components/TimePicker/TimePicker.d.ts +4 -0
  412. package/dist/types/components.d.ts +728 -37
  413. package/dist/types/utils/text-constraints.d.ts +20 -0
  414. package/dist/vue/components.d.ts +6 -0
  415. package/dist/vue/components.js +6 -0
  416. package/dist/vue/ds-card-setting.js +1 -0
  417. package/dist/vue/ds-checkbox-group.d.ts +3 -0
  418. package/dist/vue/ds-checkbox-group.js +12 -0
  419. package/dist/vue/ds-checkbox.js +1 -0
  420. package/dist/vue/ds-inline-banner-settings.d.ts +3 -0
  421. package/dist/vue/ds-inline-banner-settings.js +8 -0
  422. package/dist/vue/ds-input-time.js +1 -0
  423. package/dist/vue/ds-input.js +17 -0
  424. package/dist/vue/ds-map-entity-marker.js +2 -2
  425. package/dist/vue/ds-radio-tile.d.ts +3 -0
  426. package/dist/vue/ds-radio-tile.js +24 -0
  427. package/dist/vue/ds-radio.js +2 -0
  428. package/dist/vue/ds-setting-row-checkbox.d.ts +3 -0
  429. package/dist/vue/ds-setting-row-checkbox.js +11 -0
  430. package/dist/vue/ds-setting-row-radio.d.ts +3 -0
  431. package/dist/vue/ds-setting-row-radio.js +11 -0
  432. package/dist/vue/ds-setting-row-toggle.d.ts +3 -0
  433. package/dist/vue/ds-setting-row-toggle.js +15 -0
  434. package/dist/vue/ds-slider.d.ts +1 -1
  435. package/dist/vue/ds-slider.js +2 -1
  436. package/dist/vue/ds-textarea.js +4 -0
  437. package/dist/vue/ds-time-picker.js +1 -0
  438. package/package.json +5 -5
  439. package/dist/components/p-BCnzbfma.js +0 -2
  440. package/dist/components/p-BCnzbfma.js.map +0 -1
  441. package/dist/components/p-BJJh-Bf7.js +0 -2
  442. package/dist/components/p-BLuqpHvp.js +0 -2
  443. package/dist/components/p-BR5OC2PX.js +0 -2
  444. package/dist/components/p-BX506yEW.js +0 -2
  445. package/dist/components/p-BX506yEW.js.map +0 -1
  446. package/dist/components/p-BZ_e69zx.js +0 -2
  447. package/dist/components/p-BfF4RZdp.js +0 -2
  448. package/dist/components/p-Br5e83Fr.js +0 -2
  449. package/dist/components/p-Br5e83Fr.js.map +0 -1
  450. package/dist/components/p-Bv9rSkp0.js +0 -2
  451. package/dist/components/p-Bv9rSkp0.js.map +0 -1
  452. package/dist/components/p-BzYW1IqO.js +0 -2
  453. package/dist/components/p-C0JkLR83.js +0 -2
  454. package/dist/components/p-C6Aavz9h.js +0 -2
  455. package/dist/components/p-C6Aavz9h.js.map +0 -1
  456. package/dist/components/p-C6zycbhC.js +0 -2
  457. package/dist/components/p-C6zycbhC.js.map +0 -1
  458. package/dist/components/p-CNZ6-kWd.js +0 -2
  459. package/dist/components/p-CRk0TjQv.js +0 -2
  460. package/dist/components/p-CTGgXIXM.js +0 -2
  461. package/dist/components/p-CZ7hxDy_.js +0 -2
  462. package/dist/components/p-Cc3ZUQlJ.js +0 -2
  463. package/dist/components/p-Cc3ZUQlJ.js.map +0 -1
  464. package/dist/components/p-D5HxZrMA.js +0 -2
  465. package/dist/components/p-D5HxZrMA.js.map +0 -1
  466. package/dist/components/p-D7K1ZHML.js +0 -2
  467. package/dist/components/p-D7K1ZHML.js.map +0 -1
  468. package/dist/components/p-Dlp1HqgS.js +0 -2
  469. package/dist/components/p-DsLXlxt3.js.map +0 -1
  470. package/dist/components/p-YrnU2fM7.js +0 -2
  471. package/dist/components/p-ZYWnJaye.js +0 -2
  472. package/dist/components/p-ZYWnJaye.js.map +0 -1
  473. package/dist/components/p-etg-Uk1u.js +0 -2
  474. package/dist/components/p-lamoJZE4.js +0 -2
  475. package/dist/components/p-mV4vSjSK.js +0 -2
  476. package/dist/components/p-mV4vSjSK.js.map +0 -1
  477. package/dist/components/p-mux14tWZ.js.map +0 -1
  478. package/dist/components/p-mxZoWfnS.js +0 -2
  479. package/dist/components/p-mxZoWfnS.js.map +0 -1
  480. package/dist/components/p-p0FVyEFa.js.map +0 -1
  481. package/dist/components/p-xtGGIZmU.js +0 -2
  482. package/dist/components/p-xtGGIZmU.js.map +0 -1
  483. /package/dist/components/{p-7V1AhetH.js.map → p-B0BQCVkq.js.map} +0 -0
  484. /package/dist/components/{p-Cu8o2rOz.js.map → p-B39iJO8F.js.map} +0 -0
  485. /package/dist/components/{p-B6qQaYkB.js.map → p-B9y6azEw.js.map} +0 -0
  486. /package/dist/components/{p-5SVmAjXY.js.map → p-BERXvOCf.js.map} +0 -0
  487. /package/dist/components/{p-xhn1cZgU.js.map → p-BFHpU-uU.js.map} +0 -0
  488. /package/dist/components/{p-CuWPWC3t.js.map → p-BQspV5U7.js.map} +0 -0
  489. /package/dist/components/{p-BOhefRMt.js.map → p-Bk3poU91.js.map} +0 -0
  490. /package/dist/components/{p-QWukusRL.js.map → p-BnuNaXR2.js.map} +0 -0
  491. /package/dist/components/{p-BtnTQp4K.js.map → p-C8V4lkVy.js.map} +0 -0
  492. /package/dist/components/{p-CGidq1iC.js.map → p-CuwopElg.js.map} +0 -0
  493. /package/dist/components/{p-Cn6AfzeF.js.map → p-CwdRaJER.js.map} +0 -0
  494. /package/dist/components/{p-ZwRLjD5M.js.map → p-D8OWhnID.js.map} +0 -0
  495. /package/dist/components/{p-C_Ma6Xa-.js.map → p-DIQiHX0q.js.map} +0 -0
  496. /package/dist/components/{p-B3CZvMXs.js.map → p-DJDbskZf.js.map} +0 -0
  497. /package/dist/components/{p-C1gaWjOm.js.map → p-DSZPO06T.js.map} +0 -0
  498. /package/dist/components/{p-uADksYMl.js.map → p-DSmDyI2o.js.map} +0 -0
  499. /package/dist/components/{p-UY63jmrO.js.map → p-DVEx-Xg9.js.map} +0 -0
  500. /package/dist/components/{p-vfCu7XSc.js.map → p-DZ58Sg5a.js.map} +0 -0
  501. /package/dist/components/{p-DFO5lV_A.js.map → p-DmSnHVW6.js.map} +0 -0
  502. /package/dist/components/{p-ER5M085B.js.map → p-UJMEz8_O.js.map} +0 -0
  503. /package/dist/components/{p-CR-Jjdcn.js.map → p-_IqSPt5V.js.map} +0 -0
  504. /package/dist/components/{p-BLSSaVWm.js.map → p-pp1IQN4Z.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["dataPreferencesCss","TOGGLE_ONLY_CATALOG","minVisible","reorderable","preferencesSequence","DataPreferences","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hasBorder","filters","values","matchModes","fields","customizeOptions","customizeSections","customizeLabel","catalogReorderable","sort","groupingOptions","grouping","hiddenFieldIds","fieldOrder","embedded","activeTab","label","open","tab","pos","x","y","ready","popupId","position","AnchoredPositionController","getAnchor","trigger","getPopup","popup","getOwnerDocument","el","ownerDocument","measure","anchor","collisionRect","resolveAnchoredOverlayBoundaryRect","pad","resolveCssLengthPx","TOKEN_DEFAULTS","space100","style","maxWidth","Math","max","min","window","innerWidth","width","maxHeight","innerHeight","height","anchorRect","getBoundingClientRect","popupWidth","offsetWidth","popupHeight","offsetHeight","side","align","sideOffsetPx","space050","alignOffsetPx","viewportPadPx","viewportWidth","viewportHeight","apply","onReady","topLayer","observeResize","observeAnchorMotion","liveUpdate","interaction","AnchoredOverlayInteractionController","onOutsideActivation","close","catalogItems","tableDataColumns","map","column","id","tableColumnCustomizerLabel","disconnectedCallback","unobserve","disconnect","matches","hidePopover","setFocus","toggle","observe","connect","schedule","async","querySelector","componentOnReady","requestAnimationFrame","focus","onKeydown","event","defaultPrevented","key","preventDefault","stopPropagation","tabLeavesPopup","moveFocusAfterTab","shiftKey","forward","emitter","emit","detail","render","currentTab","tabs","toUpperCase","slice","panelId","h","Host","size","ref","variant","icon","ariaLabel","haspopup","expanded","surfaceOpen","controls","onDsClick","popover","undefined","role","class","left","top","visibility","presentation","value","onDsChange","dsPreferencesTabChange","find","hidden","vertical","applyRequired","activeFilterId","footerLayout","e","dsFilterChange","onDsMatchModeChange","dsFilterMatchModeChange","onDsActiveFilterChange","dsActiveFilterChange","onDsClear","dsFiltersClear","menuLabel","sections","dataSortMenuSections","sortColumns","onDsSelect","dsSortChange","nextDataSortStateFromMenuItem","options","onDsGroupChange","dsGroupChange","dsGroupClear","length","header","catalogHeader","items","tableColumnCustomizerMenuItems","listCustomizerMenuItems","isInactive","flatMap","section","some","option","dsCustomizeOptionChange","ids","item","dsFieldsConfigChange","toggleListHidden","resolveListOrder","toggleTableColumnHidden","resolveTableColumnOrder","onDsReorder","filter","Boolean"],"sources":["src/wc/components/DataPreferences/DataPreferences.css?tag=ds-data-preferences&encapsulation=scoped","src/wc/components/DataPreferences/DataPreferences.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n\n:host {\n display: inline-flex;\n}\n\n.data-preferences {\n position: fixed;\n margin: 0;\n padding: 0;\n border: 0;\n border-radius: var(--ds-radius-menu);\n width: min(var(--dimension-menu-width-lg), calc(100vw - var(--dimension-space-200)));\n max-height: calc(100dvh - var(--dimension-space-400));\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--color-background-primary);\n color: var(--color-foreground-secondary);\n box-shadow: var(--effect-shadow-elevated-floating);\n}\n\n.data-preferences::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n box-shadow: var(--effect-highlight-elevated-floating);\n pointer-events: none;\n z-index: 4;\n}\n\n.data-preferences__tabs {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n flex: 0 0 var(--dimension-size-500);\n min-block-size: var(--dimension-size-500);\n padding: var(--dimension-space-050);\n background: var(--color-background-primary);\n border-bottom: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n}\n\n.data-preferences__body {\n min-height: 0;\n overflow: auto;\n overscroll-behavior: contain;\n}\n\n:host:has(.data-preferences-panel) {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n.data-preferences-panel {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n min-width: 0;\n}\n.data-preferences-panel .data-preferences__tabs {\n flex: 0 0 auto;\n padding: var(--dimension-space-200);\n}\n","import type { DataField } from '../../utils/data-field';\nimport type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport { resolveAnchoredOverlayBoundaryRect } from '../../utils/anchored-overlay-boundary';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport type {\n FilterMenuFilter,\n FilterMenuValues,\n FilterMenuMatchModes,\n FilterMenuChangeDetail,\n FilterMenuMatchModeChangeDetail,\n} from '../FilterMenu/FilterMenu';\nimport type {\n TableColumn,\n DataSortState,\n DataSortChangeDetail,\n DataGroupingState,\n DataFieldsConfigChangeDetail,\n} from '../Table/table-types';\nimport type { DataGroupOption } from '../DataGroup/DataGroup';\nimport { dataSortMenuSections, nextDataSortStateFromMenuItem } from '../DataSort/data-sort-menu';\nimport {\n tableColumnCustomizerLabel,\n tableColumnCustomizerMenuItems,\n tableDataColumns,\n toggleTableColumnHidden,\n resolveTableColumnOrder,\n} from '../Table/table-column-customizer';\nimport {\n listCustomizerMenuItems,\n resolveListOrder,\n toggleListHidden,\n type ListCustomizerOptions,\n} from '../../utils/list-customizer';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport { AnchoredOverlayInteractionController } from '../../utils/anchored-overlay-interaction-controller';\nimport { resolveCssLengthPx } from '../../utils/resolve-css-length-px';\nimport { TOKEN_DEFAULTS } from '../../utils/token-defaults';\n\n/** Toggle-only catalog: every entry may hide and no row carries a drag handle. */\nconst TOGGLE_ONLY_CATALOG: ListCustomizerOptions = { minVisible: 0, reorderable: false };\n\nexport type PreferencesTab = 'filters' | 'sort' | 'group' | 'customize';\nlet preferencesSequence = 0;\n\n@Component({ tag: 'ds-data-preferences', styleUrl: 'DataPreferences.css', scoped: true })\nexport class DataPreferences {\n @Element() el!: HTMLElement;\n /** Show the trigger border. */\n @Prop() hasBorder: boolean = true;\n @Prop() filters: FilterMenuFilter[] = [];\n @Prop() values: FilterMenuValues = {};\n @Prop() matchModes: FilterMenuMatchModes = {};\n @Prop() activeFilterId: string | undefined;\n @Prop() fields: DataField[] = [];\n /** Additional toggle options in the column customizer. */\n @Prop() customizeOptions: MenuItemData[] = [];\n @Prop() customizeSections: MenuSection[] = [];\n /** Accessible name for the Customize menu. */\n @Prop() customizeLabel: string = 'Customize table';\n /**\n * Section header above the catalog rows. Defaults to Columns when\n * customizeOptions supply a second section, matching the table.\n */\n @Prop() catalogHeader?: string;\n /**\n * Drag-reorder the catalog rows and keep the last visible entry locked, as a\n * table requires. Pass false for a catalog that only shows and hides, where\n * every entry may be hidden and rows carry no drag handle.\n */\n @Prop() catalogReorderable: boolean = true;\n @Event() dsCustomizeOptionChange!: EventEmitter<string>;\n /** Optional sort fields when they differ from customizable content. */\n @Prop() sortColumns?: TableColumn[];\n @Prop() sort: DataSortState | null = null;\n @Prop() groupingOptions: DataGroupOption[] = [];\n @Prop() grouping: DataGroupingState | null = null;\n @Prop() hiddenFieldIds: string[] = [];\n @Prop() fieldOrder: string[] = [];\n /** Render shared content without its popup or trigger. */\n @Prop() embedded = false;\n @Prop() activeTab: PreferencesTab = 'filters';\n @Event() dsPreferencesTabChange!: EventEmitter<PreferencesTab>;\n @Prop() label = 'Configure view';\n @Event() dsFilterChange!: EventEmitter<FilterMenuChangeDetail>;\n @Event() dsFilterMatchModeChange!: EventEmitter<FilterMenuMatchModeChangeDetail>;\n @Event() dsActiveFilterChange!: EventEmitter<string>;\n @Event() dsFiltersClear!: EventEmitter<void>;\n @Event() dsSortChange!: EventEmitter<DataSortChangeDetail>;\n @Event() dsGroupChange!: EventEmitter<DataGroupingState>;\n @Event() dsGroupClear!: EventEmitter<void>;\n @Event() dsFieldsConfigChange!: EventEmitter<DataFieldsConfigChangeDetail>;\n\n /** Catalog rows as domain-neutral items, so a non-table catalog needs no column shape. */\n private catalogItems(): { id: string; label: string }[] {\n return tableDataColumns(this.fields).map(column => ({\n id: column.id,\n label: tableColumnCustomizerLabel(column),\n }));\n }\n @State() private open = false;\n @State() private tab: PreferencesTab = 'filters';\n @State() private pos = { x: 0, y: 0 };\n @State() private ready = false;\n private readonly popupId = `ds-data-preferences-${++preferencesSequence}`;\n private trigger?: HTMLDsButtonUnfilledElement;\n private popup?: HTMLElement;\n private readonly position = new AnchoredPositionController({\n getAnchor: () => this.trigger ?? null,\n getPopup: () => this.popup ?? null,\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchor, popup) => {\n const collisionRect = resolveAnchoredOverlayBoundaryRect(anchor);\n const pad = resolveCssLengthPx(TOKEN_DEFAULTS.space100, 8);\n popup.style.maxWidth = `${Math.max(0, Math.min(window.innerWidth, collisionRect?.width ?? window.innerWidth) - pad * 2)}px`;\n popup.style.maxHeight = `${Math.max(0, Math.min(window.innerHeight, collisionRect?.height ?? window.innerHeight) - pad * 2)}px`;\n return {\n anchorRect: anchor.getBoundingClientRect(),\n popupWidth: popup.offsetWidth,\n popupHeight: popup.offsetHeight,\n side: 'bottom',\n align: 'end',\n sideOffsetPx: resolveCssLengthPx(TOKEN_DEFAULTS.space050, 4),\n alignOffsetPx: 0,\n viewportPadPx: resolveCssLengthPx(TOKEN_DEFAULTS.space100, 8),\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect,\n };\n },\n apply: ({ x, y }) => {\n this.pos = { x, y };\n },\n onReady: () => {\n this.ready = true;\n },\n topLayer: true,\n observeResize: true,\n observeAnchorMotion: true,\n liveUpdate: 'double-frame',\n });\n private readonly interaction = new AnchoredOverlayInteractionController({\n getAnchor: () => this.trigger ?? null,\n getPopup: () => this.popup ?? null,\n getOwnerDocument: () => this.el.ownerDocument,\n onOutsideActivation: () => this.close(),\n });\n disconnectedCallback() {\n this.position.unobserve();\n this.interaction.disconnect();\n }\n private close() {\n this.position.unobserve();\n this.interaction.disconnect();\n if (this.popup?.matches(':popover-open')) this.popup.hidePopover();\n this.open = false;\n void this.trigger?.setFocus();\n }\n private toggle() {\n if (this.open) {\n this.close();\n return;\n }\n this.open = true;\n this.ready = false;\n this.position.observe();\n this.interaction.connect();\n this.position.schedule(async () => {\n await this.popup?.querySelector('ds-tab-group')?.componentOnReady?.();\n requestAnimationFrame(() => {\n if (this.open)\n this.popup?.querySelector<HTMLElement>('[role=\"tab\"][aria-selected=\"true\"]')?.focus();\n });\n });\n }\n @Listen('keydown')\n onKeydown(event: KeyboardEvent) {\n if (this.embedded || !this.open || event.defaultPrevented) return;\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n this.close();\n } else if (event.key === 'Tab' && this.interaction.tabLeavesPopup(event)) {\n event.preventDefault();\n this.close();\n this.interaction.moveFocusAfterTab(event.shiftKey);\n }\n }\n private forward<T>(event: CustomEvent<T>, emitter: EventEmitter<T>) {\n event.stopPropagation();\n emitter.emit(event.detail);\n }\n render() {\n const currentTab = this.embedded ? this.activeTab : this.tab;\n const tabs = ['filters', 'sort', 'group', 'customize'].map(id => ({\n id,\n label: id === 'filters' ? 'Filters' : id[0].toUpperCase() + id.slice(1),\n panelId: `${this.popupId}-${id}`,\n }));\n return (\n <Host>\n {!this.embedded && (\n <ds-tooltip label={this.label} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n hasBorder={this.hasBorder}\n ref={el => {\n this.trigger = el;\n }}\n variant=\"icon\"\n icon=\"Preferences\"\n size=\"md\"\n ariaLabel={this.label}\n haspopup=\"dialog\"\n expanded={this.open}\n surfaceOpen={this.open}\n controls={this.popupId}\n onDsClick={() => this.toggle()}\n />\n </ds-tooltip>\n )}\n {(this.open || this.embedded) && (\n <div\n ref={el => {\n this.popup = el;\n }}\n id={this.popupId}\n popover={this.embedded ? undefined : 'manual'}\n role={this.embedded ? undefined : 'dialog'}\n aria-label={this.label}\n class={{\n 'data-preferences': !this.embedded,\n 'data-preferences-panel': this.embedded,\n }}\n style={\n this.embedded\n ? undefined\n : {\n left: `${this.pos.x}px`,\n top: `${this.pos.y}px`,\n visibility: this.ready ? 'visible' : 'hidden',\n }\n }\n >\n <div class=\"data-preferences__tabs\">\n <ds-tab-group\n ariaLabel=\"Table preference sections\"\n size=\"md\"\n presentation={this.embedded ? 'segmented' : 'tabs'}\n width={this.embedded ? 'fill' : 'hug'}\n tabs={tabs}\n value={currentTab}\n onDsChange={event => {\n event.stopPropagation();\n this.tab = event.detail as PreferencesTab;\n this.dsPreferencesTabChange.emit(this.tab);\n }}\n />\n </div>\n <div\n class=\"data-preferences__body\"\n id={`${this.popupId}-${currentTab}`}\n role=\"tabpanel\"\n aria-label={tabs.find(tab => tab.id === currentTab)?.label}\n >\n <div hidden={currentTab !== 'filters'}>\n <ds-filter-menu\n embedded\n vertical={this.embedded}\n applyRequired={!this.embedded}\n filters={this.filters}\n values={this.values}\n matchModes={this.matchModes}\n activeFilterId={this.activeFilterId}\n footerLayout=\"categories-clear\"\n onDsChange={e => this.forward(e, this.dsFilterChange)}\n onDsMatchModeChange={e => this.forward(e, this.dsFilterMatchModeChange)}\n onDsActiveFilterChange={e => this.forward(e, this.dsActiveFilterChange)}\n onDsClear={e => this.forward(e, this.dsFiltersClear)}\n />\n </div>\n {currentTab === 'sort' && (\n <ds-menu\n embedded\n menuLabel=\"Sort table\"\n sections={dataSortMenuSections(this.sortColumns ?? this.fields, this.sort)}\n onDsSelect={e => {\n e.stopPropagation();\n this.dsSortChange.emit({\n sort: nextDataSortStateFromMenuItem(\n this.sortColumns ?? this.fields,\n this.sort,\n e.detail\n ),\n });\n }}\n />\n )}\n {currentTab === 'group' && (\n <ds-data-group\n embedded\n vertical={this.embedded}\n options={this.groupingOptions}\n grouping={this.grouping}\n onDsGroupChange={e => this.forward(e, this.dsGroupChange)}\n onDsClear={e => this.forward(e, this.dsGroupClear)}\n />\n )}\n {currentTab === 'customize' && (\n <ds-menu\n embedded\n menuLabel={this.customizeLabel}\n sections={[\n ...(this.fields.length\n ? [\n {\n header:\n this.catalogHeader ??\n (this.customizeOptions.length ? 'Columns' : undefined),\n items: this.catalogReorderable\n ? tableColumnCustomizerMenuItems(\n this.fields,\n this.hiddenFieldIds,\n this.fieldOrder\n )\n : listCustomizerMenuItems(\n this.catalogItems(),\n this.hiddenFieldIds,\n this.fieldOrder,\n TOGGLE_ONLY_CATALOG\n ),\n },\n ]\n : []),\n ...this.customizeSections,\n ...(this.customizeOptions.length\n ? [{ header: 'Options', items: this.customizeOptions }]\n : []),\n ]}\n onDsSelect={e => {\n e.stopPropagation();\n if (!e.detail.value || e.detail.isInactive) return;\n if (\n [\n ...this.customizeOptions,\n ...this.customizeSections.flatMap(section =>\n 'items' in section ? section.items : []\n ),\n ].some(option => option.value === e.detail.value)\n ) {\n this.dsCustomizeOptionChange.emit(e.detail.value);\n return;\n }\n if (!this.catalogReorderable) {\n const ids = this.catalogItems().map(item => item.id);\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: toggleListHidden(\n ids,\n this.hiddenFieldIds,\n e.detail.value,\n TOGGLE_ONLY_CATALOG\n ),\n fieldOrder: resolveListOrder(ids, this.fieldOrder),\n });\n return;\n }\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: toggleTableColumnHidden(\n this.fields,\n this.hiddenFieldIds,\n e.detail.value\n ),\n fieldOrder: resolveTableColumnOrder(this.fields, this.fieldOrder),\n });\n }}\n onDsReorder={e => {\n e.stopPropagation();\n if (!this.catalogReorderable) return;\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: this.hiddenFieldIds,\n fieldOrder: e.detail.items\n .filter(item => item.reorderable)\n .map(item => item.value!)\n .filter(Boolean),\n });\n }}\n />\n )}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["dataPreferencesCss","TOGGLE_ONLY_CATALOG","minVisible","reorderable","preferencesSequence","DataPreferences","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hasBorder","filters","values","matchModes","fields","customizeOptions","customizeSections","customizeLabel","catalogReorderable","sort","groupingOptions","grouping","hiddenFieldIds","fieldOrder","embedded","activeTab","label","open","tab","pos","x","y","ready","popupId","position","AnchoredPositionController","getAnchor","trigger","getPopup","popup","getOwnerDocument","el","ownerDocument","measure","anchor","collisionRect","resolveAnchoredOverlayBoundaryRect","pad","resolveCssLengthPx","TOKEN_DEFAULTS","space100","style","maxWidth","Math","max","min","window","innerWidth","width","maxHeight","innerHeight","height","anchorRect","getBoundingClientRect","popupWidth","offsetWidth","popupHeight","offsetHeight","side","align","sideOffsetPx","space050","alignOffsetPx","viewportPadPx","viewportWidth","viewportHeight","apply","onReady","topLayer","observeResize","observeAnchorMotion","liveUpdate","interaction","AnchoredOverlayInteractionController","onOutsideActivation","close","catalogItems","tableDataColumns","map","column","id","tableColumnCustomizerLabel","disconnectedCallback","unobserve","disconnect","matches","hidePopover","setFocus","toggle","observe","connect","schedule","async","querySelector","componentOnReady","requestAnimationFrame","focus","onKeydown","event","defaultPrevented","key","preventDefault","stopPropagation","tabLeavesPopup","moveFocusAfterTab","shiftKey","forward","emitter","emit","detail","render","currentTab","tabs","toUpperCase","slice","panelId","h","Host","size","ref","variant","icon","ariaLabel","haspopup","expanded","surfaceOpen","controls","onDsClick","popover","undefined","role","class","left","top","visibility","presentation","value","onDsChange","dsPreferencesTabChange","find","hidden","vertical","applyRequired","activeFilterId","footerLayout","e","dsFilterChange","onDsMatchModeChange","dsFilterMatchModeChange","onDsActiveFilterChange","dsActiveFilterChange","onDsClear","dsFiltersClear","menuLabel","sections","dataSortMenuSections","sortColumns","onDsSelect","dsSortChange","nextDataSortStateFromMenuItem","options","onDsGroupChange","dsGroupChange","dsGroupClear","length","header","catalogHeader","items","tableColumnCustomizerMenuItems","listCustomizerMenuItems","isInactive","flatMap","section","some","option","dsCustomizeOptionChange","ids","item","dsFieldsConfigChange","toggleListHidden","resolveListOrder","toggleTableColumnHidden","resolveTableColumnOrder","onDsReorder","filter","Boolean"],"sources":["src/wc/components/DataPreferences/DataPreferences.css?tag=ds-data-preferences&encapsulation=scoped","src/wc/components/DataPreferences/DataPreferences.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n\n:host {\n display: inline-flex;\n}\n\n.data-preferences {\n position: fixed;\n margin: 0;\n padding: 0;\n border: 0;\n border-radius: var(--ds-radius-menu);\n width: min(var(--dimension-menu-width-lg), calc(100vw - var(--dimension-space-200)));\n max-height: calc(100dvh - var(--dimension-space-400));\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--color-background-primary);\n color: var(--color-foreground-secondary);\n box-shadow: var(--effect-shadow-elevated-floating);\n}\n\n.data-preferences::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n box-shadow: var(--effect-highlight-elevated-floating);\n pointer-events: none;\n z-index: 4;\n}\n\n.data-preferences__tabs {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n flex: 0 0 var(--dimension-size-500);\n min-block-size: var(--dimension-size-500);\n padding: var(--dimension-space-050);\n background: var(--color-background-primary);\n border-bottom: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n}\n\n.data-preferences__body {\n min-height: 0;\n overflow: auto;\n overscroll-behavior: contain;\n}\n\n:host:has(.data-preferences-panel) {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n.data-preferences-panel {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n min-width: 0;\n}\n.data-preferences-panel .data-preferences__tabs {\n flex: 0 0 auto;\n padding: var(--dimension-space-200);\n}\n","import type { DataField } from '../../utils/data-field';\nimport type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport { resolveAnchoredOverlayBoundaryRect } from '../../utils/anchored-overlay-boundary';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport type {\n FilterMenuFilter,\n FilterMenuValues,\n FilterMenuMatchModes,\n FilterMenuChangeDetail,\n FilterMenuMatchModeChangeDetail,\n} from '../FilterMenu/FilterMenu';\nimport type {\n TableColumn,\n DataSortState,\n DataSortChangeDetail,\n DataGroupingState,\n DataFieldsConfigChangeDetail,\n} from '../Table/table-types';\nimport type { DataGroupOption } from '../DataGroup/DataGroup';\nimport { dataSortMenuSections, nextDataSortStateFromMenuItem } from '../DataSort/data-sort-menu';\nimport {\n tableColumnCustomizerLabel,\n tableColumnCustomizerMenuItems,\n tableDataColumns,\n toggleTableColumnHidden,\n resolveTableColumnOrder,\n} from '../Table/table-column-customizer';\nimport {\n listCustomizerMenuItems,\n resolveListOrder,\n toggleListHidden,\n type ListCustomizerOptions,\n} from '../../utils/list-customizer';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport { AnchoredOverlayInteractionController } from '../../utils/anchored-overlay-interaction-controller';\nimport { resolveCssLengthPx } from '../../utils/resolve-css-length-px';\nimport { TOKEN_DEFAULTS } from '../../utils/token-defaults';\n\n/** Toggle-only catalog: every entry may hide and no row carries a drag handle. */\nconst TOGGLE_ONLY_CATALOG: ListCustomizerOptions = { minVisible: 0, reorderable: false };\n\nexport type PreferencesTab = 'filters' | 'sort' | 'group' | 'customize';\nlet preferencesSequence = 0;\n\n@Component({ tag: 'ds-data-preferences', styleUrl: 'DataPreferences.css', scoped: true })\nexport class DataPreferences {\n @Element() el!: HTMLElement;\n /** Show the trigger border. */\n @Prop() hasBorder: boolean = true;\n @Prop() filters: FilterMenuFilter[] = [];\n @Prop() values: FilterMenuValues = {};\n @Prop() matchModes: FilterMenuMatchModes = {};\n @Prop() activeFilterId: string | undefined;\n @Prop() fields: DataField[] = [];\n /** Additional toggle options in the column customizer. */\n @Prop() customizeOptions: MenuItemData[] = [];\n @Prop() customizeSections: MenuSection[] = [];\n /** Accessible name for the Customize menu. */\n @Prop() customizeLabel: string = 'Customize table';\n /**\n * Section header above the catalog rows. Defaults to Columns when\n * customizeOptions supply a second section, matching the table.\n */\n @Prop() catalogHeader?: string;\n /**\n * Drag-reorder the catalog rows and keep the last visible entry locked, as a\n * table requires. Pass false for a catalog that only shows and hides, where\n * every entry may be hidden and rows carry no drag handle.\n */\n @Prop() catalogReorderable: boolean = true;\n @Event() dsCustomizeOptionChange!: EventEmitter<string>;\n /** Optional sort fields when they differ from customizable content. */\n @Prop() sortColumns?: TableColumn[];\n @Prop() sort: DataSortState | null = null;\n @Prop() groupingOptions: DataGroupOption[] = [];\n @Prop() grouping: DataGroupingState | null = null;\n @Prop() hiddenFieldIds: string[] = [];\n @Prop() fieldOrder: string[] = [];\n /** Render shared content without its popup or trigger. */\n @Prop() embedded = false;\n @Prop() activeTab: PreferencesTab = 'filters';\n @Event() dsPreferencesTabChange!: EventEmitter<PreferencesTab>;\n @Prop() label = 'Configure view';\n @Event() dsFilterChange!: EventEmitter<FilterMenuChangeDetail>;\n @Event() dsFilterMatchModeChange!: EventEmitter<FilterMenuMatchModeChangeDetail>;\n @Event() dsActiveFilterChange!: EventEmitter<string>;\n @Event() dsFiltersClear!: EventEmitter<void>;\n @Event() dsSortChange!: EventEmitter<DataSortChangeDetail>;\n @Event() dsGroupChange!: EventEmitter<DataGroupingState>;\n @Event() dsGroupClear!: EventEmitter<void>;\n @Event() dsFieldsConfigChange!: EventEmitter<DataFieldsConfigChangeDetail>;\n\n /** Catalog rows as domain-neutral items, so a non-table catalog needs no column shape. */\n private catalogItems(): { id: string; label: string }[] {\n return tableDataColumns(this.fields).map(column => ({\n id: column.id,\n label: tableColumnCustomizerLabel(column),\n }));\n }\n @State() private open = false;\n @State() private tab: PreferencesTab = 'filters';\n @State() private pos = { x: 0, y: 0 };\n @State() private ready = false;\n private readonly popupId = `ds-data-preferences-${++preferencesSequence}`;\n private trigger?: HTMLDsButtonUnfilledElement;\n private popup?: HTMLElement;\n private readonly position = new AnchoredPositionController({\n getAnchor: () => this.trigger ?? null,\n getPopup: () => this.popup ?? null,\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchor, popup) => {\n const collisionRect = resolveAnchoredOverlayBoundaryRect(anchor);\n const pad = resolveCssLengthPx(TOKEN_DEFAULTS.space100, 8);\n popup.style.maxWidth = `${Math.max(0, Math.min(window.innerWidth, collisionRect?.width ?? window.innerWidth) - pad * 2)}px`;\n popup.style.maxHeight = `${Math.max(0, Math.min(window.innerHeight, collisionRect?.height ?? window.innerHeight) - pad * 2)}px`;\n return {\n anchorRect: anchor.getBoundingClientRect(),\n popupWidth: popup.offsetWidth,\n popupHeight: popup.offsetHeight,\n side: 'bottom',\n align: 'end',\n sideOffsetPx: resolveCssLengthPx(TOKEN_DEFAULTS.space050, 4),\n alignOffsetPx: 0,\n viewportPadPx: resolveCssLengthPx(TOKEN_DEFAULTS.space100, 8),\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect,\n };\n },\n apply: ({ x, y }) => {\n this.pos = { x, y };\n },\n onReady: () => {\n this.ready = true;\n },\n topLayer: true,\n observeResize: true,\n observeAnchorMotion: true,\n liveUpdate: 'double-frame',\n });\n private readonly interaction = new AnchoredOverlayInteractionController({\n getAnchor: () => this.trigger ?? null,\n getPopup: () => this.popup ?? null,\n getOwnerDocument: () => this.el.ownerDocument,\n onOutsideActivation: () => this.close(),\n });\n disconnectedCallback() {\n this.position.unobserve();\n this.interaction.disconnect();\n }\n private close() {\n this.position.unobserve();\n this.interaction.disconnect();\n if (this.popup?.matches(':popover-open')) this.popup.hidePopover();\n this.open = false;\n void this.trigger?.setFocus();\n }\n private toggle() {\n if (this.open) {\n this.close();\n return;\n }\n this.open = true;\n this.ready = false;\n this.position.observe();\n this.interaction.connect();\n this.position.schedule(async () => {\n await this.popup?.querySelector('ds-tab-group')?.componentOnReady?.();\n requestAnimationFrame(() => {\n if (this.open)\n this.popup?.querySelector<HTMLElement>('[role=\"tab\"][aria-selected=\"true\"]')?.focus();\n });\n });\n }\n @Listen('keydown')\n onKeydown(event: KeyboardEvent) {\n if (this.embedded || !this.open || event.defaultPrevented) return;\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n this.close();\n } else if (event.key === 'Tab' && this.interaction.tabLeavesPopup(event)) {\n event.preventDefault();\n this.close();\n this.interaction.moveFocusAfterTab(event.shiftKey);\n }\n }\n private forward<T>(event: CustomEvent<T>, emitter: EventEmitter<T>) {\n event.stopPropagation();\n emitter.emit(event.detail);\n }\n render() {\n const currentTab = this.embedded ? this.activeTab : this.tab;\n const tabs = ['filters', 'sort', 'group', 'customize'].map(id => ({\n id,\n label: id === 'filters' ? 'Filters' : id[0].toUpperCase() + id.slice(1),\n panelId: `${this.popupId}-${id}`,\n }));\n return (\n <Host>\n {!this.embedded && (\n <ds-tooltip label={this.label} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n hasBorder={this.hasBorder}\n ref={el => {\n this.trigger = el;\n }}\n variant=\"icon\"\n icon=\"Preferences\"\n size=\"md\"\n ariaLabel={this.label}\n haspopup=\"dialog\"\n expanded={this.open}\n surfaceOpen={this.open}\n controls={this.popupId}\n onDsClick={() => this.toggle()}\n />\n </ds-tooltip>\n )}\n {(this.open || this.embedded) && (\n <div\n ref={el => {\n this.popup = el;\n }}\n id={this.popupId}\n popover={this.embedded ? undefined : 'manual'}\n role={this.embedded ? undefined : 'dialog'}\n aria-label={this.label}\n class={{\n 'data-preferences': !this.embedded,\n 'data-preferences-panel': this.embedded,\n }}\n style={\n this.embedded\n ? undefined\n : {\n left: `${this.pos.x}px`,\n top: `${this.pos.y}px`,\n visibility: this.ready ? 'visible' : 'hidden',\n }\n }\n >\n <div class=\"data-preferences__tabs\">\n <ds-tab-group\n ariaLabel=\"Table preference sections\"\n size=\"md\"\n presentation={this.embedded ? 'segmented' : 'tabs'}\n width={this.embedded ? 'fill' : 'hug'}\n tabs={tabs}\n value={currentTab}\n onDsChange={event => {\n event.stopPropagation();\n this.tab = event.detail as PreferencesTab;\n this.dsPreferencesTabChange.emit(this.tab);\n }}\n />\n </div>\n <div\n class=\"data-preferences__body\"\n id={`${this.popupId}-${currentTab}`}\n role=\"tabpanel\"\n aria-label={tabs.find(tab => tab.id === currentTab)?.label}\n >\n <div hidden={currentTab !== 'filters'}>\n <ds-filter-menu\n embedded\n vertical={this.embedded}\n applyRequired={!this.embedded}\n filters={this.filters}\n values={this.values}\n matchModes={this.matchModes}\n activeFilterId={this.activeFilterId}\n footerLayout=\"categories-clear\"\n onDsChange={e => this.forward(e, this.dsFilterChange)}\n onDsMatchModeChange={e => this.forward(e, this.dsFilterMatchModeChange)}\n onDsActiveFilterChange={e => this.forward(e, this.dsActiveFilterChange)}\n onDsClear={e => this.forward(e, this.dsFiltersClear)}\n />\n </div>\n {currentTab === 'sort' && (\n <ds-menu\n embedded\n menuLabel=\"Sort table\"\n sections={dataSortMenuSections(this.sortColumns ?? this.fields, this.sort)}\n onDsSelect={e => {\n e.stopPropagation();\n this.dsSortChange.emit({\n sort: nextDataSortStateFromMenuItem(\n this.sortColumns ?? this.fields,\n this.sort,\n e.detail\n ),\n });\n }}\n />\n )}\n {currentTab === 'group' && (\n <ds-data-group\n embedded\n vertical={this.embedded}\n options={this.groupingOptions}\n grouping={this.grouping}\n onDsGroupChange={e => this.forward(e, this.dsGroupChange)}\n onDsClear={e => this.forward(e, this.dsGroupClear)}\n />\n )}\n {currentTab === 'customize' && (\n <ds-menu\n embedded\n menuLabel={this.customizeLabel}\n sections={[\n ...(this.fields.length\n ? [\n {\n header:\n this.catalogHeader ??\n (this.customizeOptions.length ? 'Columns' : undefined),\n items: this.catalogReorderable\n ? tableColumnCustomizerMenuItems(\n this.fields,\n this.hiddenFieldIds,\n this.fieldOrder\n )\n : listCustomizerMenuItems(\n this.catalogItems(),\n this.hiddenFieldIds,\n this.fieldOrder,\n TOGGLE_ONLY_CATALOG\n ),\n },\n ]\n : []),\n ...this.customizeSections,\n ...(this.customizeOptions.length\n ? [{ header: 'Options', items: this.customizeOptions }]\n : []),\n ]}\n onDsSelect={e => {\n e.stopPropagation();\n if (!e.detail.value || e.detail.isInactive) return;\n if (\n [\n ...this.customizeOptions,\n ...this.customizeSections.flatMap(section =>\n 'items' in section ? section.items : []\n ),\n ].some(option => option.value === e.detail.value)\n ) {\n this.dsCustomizeOptionChange.emit(e.detail.value);\n return;\n }\n if (!this.catalogReorderable) {\n const ids = this.catalogItems().map(item => item.id);\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: toggleListHidden(\n ids,\n this.hiddenFieldIds,\n e.detail.value,\n TOGGLE_ONLY_CATALOG\n ),\n fieldOrder: resolveListOrder(ids, this.fieldOrder),\n });\n return;\n }\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: toggleTableColumnHidden(\n this.fields,\n this.hiddenFieldIds,\n e.detail.value\n ),\n fieldOrder: resolveTableColumnOrder(this.fields, this.fieldOrder),\n });\n }}\n onDsReorder={e => {\n e.stopPropagation();\n if (!this.catalogReorderable) return;\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: this.hiddenFieldIds,\n fieldOrder: e.detail.items\n .filter(item => item.reorderable)\n .map(item => item.value!)\n .filter(Boolean),\n });\n }}\n />\n )}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{p as e,H as s,c as t,h as i,a,t as n}from"./index.js";import{d}from"./p-Cn6AfzeF.js";import{d as o}from"./p-BzYW1IqO.js";import{d as l}from"./p-D7K1ZHML.js";import{d as r}from"./p-mux14tWZ.js";import{d as h}from"./p-7V1AhetH.js";import{d as c}from"./p-BCnzbfma.js";import{d as m}from"./p-C6zycbhC.js";import{d as f}from"./p-DjkUFlDW.js";import{d as u}from"./p-Bv9rSkp0.js";import{d as b}from"./p-0XTyQNRG.js";import{d as p}from"./p-BR5OC2PX.js";import{d as v}from"./p-BLSSaVWm.js";import{d as w}from"./p-BZ_e69zx.js";import{d as k}from"./p-B6qQaYkB.js";import{d as g}from"./p-C6Aavz9h.js";import{d as D}from"./p-BJJh-Bf7.js";import{d as E}from"./p-ZwRLjD5M.js";import{d as C}from"./p-C_Ma6Xa-.js";const j=()=>`.sc-ds-data-saved-views-h{--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs);display:inline-block;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs)}ds-select.sc-ds-data-saved-views{display:block;min-inline-size:0;max-inline-size:100%}`;let y=0;const V=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsViewChange=t(this,"dsViewChange",7);this.dsViewCreate=t(this,"dsViewCreate",7);this.dsViewRename=t(this,"dsViewRename",7);this.dsViewRemove=t(this,"dsViewRemove",7);this.dsViewSave=t(this,"dsViewSave",7);this.dsViewDiscard=t(this,"dsViewDiscard",7);this.hasBorder=true;this.views=[];this.value="__default__";this.dirty=false;this.defaultViewId="__default__";this.defaultViewLabel="Default";this.label="Saved views";this.triggerLabel="Views";this.compact=false;this.createLabel="New view";this.actionViewId=null;this.actionMenuOpen=false;this.actionMenuInitialFocusVisible=false;this.dialogOpen=false;this.dialogMode="create";this.dialogViewId=null;this.nameDraft="";this.nameError="";this.componentId=`ds-data-saved-views-${++y}`;this.selectId=`${this.componentId}-select`;this.actionMenuId=`${this.componentId}-actions`;this.fieldId=`${this.componentId}-name-field`;this.inputId=`${this.componentId}-name-input`;this.actionItems=[{label:"Rename",value:"rename"},{label:"Remove",value:"remove",isDestructive:true}]}get selectedCustomView(){return this.views.find((e=>e.id===this.value))}get dialogView(){return this.views.find((e=>e.id===this.dialogViewId))}get sections(){const e=this.views.map((e=>({label:e.label,value:e.id,subtextActions:this.dirty&&e.id===this.selectedCustomView?.id?[{label:"Save",value:"save"},{label:"Discard",value:"discard",tone:"negative"}]:undefined,action:{label:`Options for ${e.label}`,controls:this.actionMenuId,expanded:this.actionViewId===e.id&&this.actionMenuOpen,surfaceOpen:this.actionViewId===e.id}})));const s={header:"Templates",options:[{label:this.defaultViewLabel,value:this.defaultViewId}],divider:e.length>0};return e.length>0?[s,{header:"Custom",options:e}]:[s]}handleViewChange(e){if(typeof e==="string")this.dsViewChange.emit({viewId:e})}handleSubtextAction(e){const s=this.selectedCustomView;if(!s||!this.dirty||e.value!==s.id)return;if(e.actionValue==="save")this.dsViewSave.emit({viewId:s.id});if(e.actionValue==="discard")this.dsViewDiscard.emit({viewId:s.id})}handleOptionAction(e){if(!this.views.some((s=>s.id===e.value)))return;this.actionMenuInitialFocusVisible=e.originalEvent.detail===0;if(this.actionViewId===e.value&&this.actionMenuOpen){this.actionMenuOpen=false;return}this.actionViewId=e.value;this.actionAnchorId=e.anchorId;this.actionMenuOpen=true}handleActionSelect(e){const s=this.actionViewId;this.actionMenuOpen=false;if(!s)return;if(e.detail.value==="rename")this.openDialog("rename",s);if(e.detail.value==="remove")this.dsViewRemove.emit({viewId:s})}openDialog(e,s=null){const t=e==="rename"?this.views.find((e=>e.id===s)):undefined;if(e==="rename"&&!t)return;this.dialogMode=e;this.dialogViewId=t?.id??null;this.nameDraft=t?.label??"";this.nameError="";this.dialogOpen=true;requestAnimationFrame((()=>{requestAnimationFrame((()=>{const e=this.el.querySelector(`#${this.inputId}`);void e?.setFocus?.()}))}))}validateName(){const e=this.nameDraft.trim();if(!e)return"View name is required.";const s=this.views.some((s=>s.id!==this.dialogViewId&&s.label.trim().toLocaleLowerCase()===e.toLocaleLowerCase()));if(s||this.defaultViewLabel.trim().toLocaleLowerCase()===e.toLocaleLowerCase()){return"A view with this name already exists."}return""}submitDialog(){const e=this.validateName();if(e){this.nameError=e;return}const s=this.nameDraft.trim();if(this.dialogMode==="rename"&&this.dialogView){this.dsViewRename.emit({viewId:this.dialogView.id,name:s})}else{this.dsViewCreate.emit({name:s})}this.dialogOpen=false}finishDialogClose(){if(this.dialogOpen)return;this.dialogViewId=null;this.nameDraft="";this.nameError="";const e=this.el.querySelector(`#${this.selectId}`);void e?.setFocus?.()}render(){return i(a,{key:"bcacedae6e3059fde6710133b4fdf9b826f1dc86"},i("ds-select",{key:"988be70e27b40d49c2569d422595e73469c69948",neutralTrigger:true,hasBorder:this.hasBorder,id:this.selectId,size:"md",icon:"ViewMenu",indicator:"none",collapseLabel:true,iconOnly:this.compact,width:"fill",placeholder:this.label,"aria-label":this.label,sections:this.sections,value:this.value,triggerLabel:this.selectedCustomView?undefined:this.triggerLabel,triggerLabelPlaceholder:!this.selectedCustomView,dot:this.dirty&&Boolean(this.selectedCustomView),footerActionLabel:this.createLabel,activeFill:false,allowClear:false,onDsChange:e=>this.handleViewChange(e.detail),onDsFooterAction:()=>this.openDialog("create"),onDsOptionSubtextAction:e=>this.handleSubtextAction(e.detail),onDsOptionAction:e=>this.handleOptionAction(e.detail)}),i("ds-menu",{key:"be0be8b0a84e2f759c428b0a8f5e3d54bdce7707",id:this.actionMenuId,anchorId:this.actionAnchorId,menuLabel:"Saved view options",side:"bottom",align:"end",menuWidth:"max-content",minWidth:"0",items:this.actionItems,open:this.actionMenuOpen,initialFocusVisible:this.actionMenuInitialFocusVisible,onDsClose:()=>this.actionMenuOpen=false,onDsAfterClose:()=>{if(this.actionMenuOpen)return;this.actionViewId=null;this.actionAnchorId=undefined},onDsSelect:e=>this.handleActionSelect(e)}),i("ds-modal",{key:"2d94a34b6c1162dd200be36030c9ee8f59f63fa2",open:this.dialogOpen,heading:this.dialogMode==="rename"?"Rename view":"Save as new view",modalWidth:"sm",onDsClose:()=>this.dialogOpen=false,onDsAfterClose:()=>this.finishDialogClose()},i("ds-field",{key:"51bf8eb29a2f7e31426a96ab630dbe739f136c68",fieldId:this.fieldId,error:this.nameError.length>0,errorMessage:this.nameError},i("ds-input",{key:"1f840261e990b8144e1836cdc92cc6dfef065de3",id:this.inputId,size:"md","aria-label":"Name",placeholder:"Enter a unique name",value:this.nameDraft,autoFocus:true,onDsChange:e=>{this.nameDraft=e.detail;if(this.nameError)this.nameError=""},onKeyDown:e=>{if(e.key==="Enter")this.submitDialog()}})),i("ds-button-filled",{key:"607c3cd05a1c517e742b8e206c781c1eeff43fe8",slot:"footer",label:this.dialogMode==="rename"?"Rename":"Save",size:"md",onDsClick:()=>this.submitDialog()}),i("ds-button-unfilled",{key:"3b3c98c04012ff7e5052c84caf0ad76447c00049",slot:"footer",label:"Cancel",size:"md",onDsClick:()=>this.dialogOpen=false})))}get el(){return this}static get style(){return j()}},[2,"ds-data-saved-views",{hasBorder:[4,"has-border"],views:[16],value:[1],dirty:[4],defaultViewId:[1,"default-view-id"],defaultViewLabel:[1,"default-view-label"],label:[1],triggerLabel:[1,"trigger-label"],compact:[4],createLabel:[1,"create-label"],actionViewId:[32],actionAnchorId:[32],actionMenuOpen:[32],actionMenuInitialFocusVisible:[32],dialogOpen:[32],dialogMode:[32],dialogViewId:[32],nameDraft:[32],nameError:[32]}]);function x(){if(typeof customElements==="undefined"){return}const e=["ds-data-saved-views","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-divider","ds-empty-state","ds-field","ds-icon","ds-input","ds-loader","ds-menu","ds-modal","ds-select","ds-swatch-picker","ds-switch","ds-tag","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-data-saved-views":if(!customElements.get(n(e))){customElements.define(n(e),V)}break;case"ds-badge":if(!customElements.get(n(e))){d()}break;case"ds-button-filled":if(!customElements.get(n(e))){o()}break;case"ds-button-unfilled":if(!customElements.get(n(e))){l()}break;case"ds-checkbox":if(!customElements.get(n(e))){r()}break;case"ds-divider":if(!customElements.get(n(e))){h()}break;case"ds-empty-state":if(!customElements.get(n(e))){c()}break;case"ds-field":if(!customElements.get(n(e))){m()}break;case"ds-icon":if(!customElements.get(n(e))){f()}break;case"ds-input":if(!customElements.get(n(e))){u()}break;case"ds-loader":if(!customElements.get(n(e))){b()}break;case"ds-menu":if(!customElements.get(n(e))){p()}break;case"ds-modal":if(!customElements.get(n(e))){v()}break;case"ds-select":if(!customElements.get(n(e))){w()}break;case"ds-swatch-picker":if(!customElements.get(n(e))){k()}break;case"ds-switch":if(!customElements.get(n(e))){g()}break;case"ds-tag":if(!customElements.get(n(e))){D()}break;case"ds-text":if(!customElements.get(n(e))){E()}break;case"ds-tooltip":if(!customElements.get(n(e))){C()}break}}))}x();const A=V;const z=x;export{A as DsDataSavedViews,z as defineCustomElement};
1
+ import{p as e,H as s,c as t,h as i,a,t as n}from"./index.js";import{d}from"./p-CwdRaJER.js";import{d as o}from"./p-MOJmB6vX.js";import{d as l}from"./p-D6FRqNhN.js";import{d as r}from"./p-Co1rUdOR.js";import{d as h}from"./p-JBki_jyY.js";import{d as c}from"./p-B0BQCVkq.js";import{d as m}from"./p-CZNZTcYS.js";import{d as f}from"./p-CbCN9ew9.js";import{d as u}from"./p-DjkUFlDW.js";import{d as b}from"./p-BwdnVqAY.js";import{d as p}from"./p-0XTyQNRG.js";import{d as v}from"./p-Dnt5xUBD.js";import{d as w}from"./p-pp1IQN4Z.js";import{d as k}from"./p-DCyJ3_PL.js";import{d as g}from"./p-B9y6azEw.js";import{d as D}from"./p-Cgn-BORA.js";import{d as E}from"./p-B9TM6FqC.js";import{d as C}from"./p-D8OWhnID.js";import{d as y}from"./p-DIQiHX0q.js";const j=()=>`.sc-ds-data-saved-views-h{--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs);display:inline-block;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs)}ds-select.sc-ds-data-saved-views{display:block;min-inline-size:0;max-inline-size:100%}`;let V=0;const x=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsViewChange=t(this,"dsViewChange",7);this.dsViewCreate=t(this,"dsViewCreate",7);this.dsViewRename=t(this,"dsViewRename",7);this.dsViewRemove=t(this,"dsViewRemove",7);this.dsViewSave=t(this,"dsViewSave",7);this.dsViewDiscard=t(this,"dsViewDiscard",7);this.hasBorder=true;this.views=[];this.value="__default__";this.dirty=false;this.defaultViewId="__default__";this.defaultViewLabel="Default";this.label="Saved views";this.triggerLabel="Views";this.compact=false;this.createLabel="New view";this.actionViewId=null;this.actionMenuOpen=false;this.actionMenuInitialFocusVisible=false;this.dialogOpen=false;this.dialogMode="create";this.dialogViewId=null;this.nameDraft="";this.nameError="";this.componentId=`ds-data-saved-views-${++V}`;this.selectId=`${this.componentId}-select`;this.actionMenuId=`${this.componentId}-actions`;this.fieldId=`${this.componentId}-name-field`;this.inputId=`${this.componentId}-name-input`;this.actionItems=[{label:"Rename",value:"rename"},{label:"Remove",value:"remove",isDestructive:true}]}get selectedCustomView(){return this.views.find((e=>e.id===this.value))}get dialogView(){return this.views.find((e=>e.id===this.dialogViewId))}get sections(){const e=this.views.map((e=>({label:e.label,value:e.id,subtextActions:this.dirty&&e.id===this.selectedCustomView?.id?[{label:"Save",value:"save"},{label:"Discard",value:"discard",tone:"negative"}]:undefined,action:{label:`Options for ${e.label}`,controls:this.actionMenuId,expanded:this.actionViewId===e.id&&this.actionMenuOpen,surfaceOpen:this.actionViewId===e.id}})));const s={header:"Templates",options:[{label:this.defaultViewLabel,value:this.defaultViewId}],divider:e.length>0};return e.length>0?[s,{header:"Custom",options:e}]:[s]}handleViewChange(e){if(typeof e==="string")this.dsViewChange.emit({viewId:e})}handleSubtextAction(e){const s=this.selectedCustomView;if(!s||!this.dirty||e.value!==s.id)return;if(e.actionValue==="save")this.dsViewSave.emit({viewId:s.id});if(e.actionValue==="discard")this.dsViewDiscard.emit({viewId:s.id})}handleOptionAction(e){if(!this.views.some((s=>s.id===e.value)))return;this.actionMenuInitialFocusVisible=e.originalEvent.detail===0;if(this.actionViewId===e.value&&this.actionMenuOpen){this.actionMenuOpen=false;return}this.actionViewId=e.value;this.actionAnchorId=e.anchorId;this.actionMenuOpen=true}handleActionSelect(e){const s=this.actionViewId;this.actionMenuOpen=false;if(!s)return;if(e.detail.value==="rename")this.openDialog("rename",s);if(e.detail.value==="remove")this.dsViewRemove.emit({viewId:s})}openDialog(e,s=null){const t=e==="rename"?this.views.find((e=>e.id===s)):undefined;if(e==="rename"&&!t)return;this.dialogMode=e;this.dialogViewId=t?.id??null;this.nameDraft=t?.label??"";this.nameError="";this.dialogOpen=true;requestAnimationFrame((()=>{requestAnimationFrame((()=>{const e=this.el.querySelector(`#${this.inputId}`);void e?.setFocus?.()}))}))}validateName(){const e=this.nameDraft.trim();if(!e)return"View name is required.";const s=this.views.some((s=>s.id!==this.dialogViewId&&s.label.trim().toLocaleLowerCase()===e.toLocaleLowerCase()));if(s||this.defaultViewLabel.trim().toLocaleLowerCase()===e.toLocaleLowerCase()){return"A view with this name already exists."}return""}submitDialog(){const e=this.validateName();if(e){this.nameError=e;return}const s=this.nameDraft.trim();if(this.dialogMode==="rename"&&this.dialogView){this.dsViewRename.emit({viewId:this.dialogView.id,name:s})}else{this.dsViewCreate.emit({name:s})}this.dialogOpen=false}finishDialogClose(){if(this.dialogOpen)return;this.dialogViewId=null;this.nameDraft="";this.nameError="";const e=this.el.querySelector(`#${this.selectId}`);void e?.setFocus?.()}render(){return i(a,{key:"aca7b5770415dba795fb2b3462dacc9eeb6cb19a"},i("ds-select",{key:"67156d547d9749fa92b731dcb0b9be1c40d13a76",neutralTrigger:true,hasBorder:this.hasBorder,id:this.selectId,size:"md",icon:"ViewMenu",indicator:"none",collapseLabel:true,iconOnly:this.compact,width:"fill",placeholder:this.label,"aria-label":this.label,sections:this.sections,value:this.value,triggerLabel:this.selectedCustomView?undefined:this.triggerLabel,triggerLabelPlaceholder:!this.selectedCustomView,dot:this.dirty&&Boolean(this.selectedCustomView),footerActionLabel:this.createLabel,activeFill:false,allowClear:false,onDsChange:e=>this.handleViewChange(e.detail),onDsFooterAction:()=>this.openDialog("create"),onDsOptionSubtextAction:e=>this.handleSubtextAction(e.detail),onDsOptionAction:e=>this.handleOptionAction(e.detail)}),i("ds-menu",{key:"d5021327151b6109325da3193fad16f9c48b68b8",id:this.actionMenuId,anchorId:this.actionAnchorId,menuLabel:"Saved view options",side:"bottom",align:"end",menuWidth:"max-content",minWidth:"0",items:this.actionItems,open:this.actionMenuOpen,initialFocusVisible:this.actionMenuInitialFocusVisible,onDsClose:()=>this.actionMenuOpen=false,onDsAfterClose:()=>{if(this.actionMenuOpen)return;this.actionViewId=null;this.actionAnchorId=undefined},onDsSelect:e=>this.handleActionSelect(e)}),i("ds-modal",{key:"a3d1f93c0a674f6730cbb5560fa4e6ed92998876",open:this.dialogOpen,heading:this.dialogMode==="rename"?"Rename view":"Save as new view",modalWidth:"sm",onDsClose:()=>this.dialogOpen=false,onDsAfterClose:()=>this.finishDialogClose()},i("ds-field",{key:"55f918571bca72ceb6c89534949c71e30dd0f972",fieldId:this.fieldId,error:this.nameError.length>0,errorMessage:this.nameError},i("ds-input",{key:"153560c297577619959852df52f2592f634f1778",id:this.inputId,size:"md","aria-label":"Name",placeholder:"Enter a unique name",value:this.nameDraft,autoFocus:true,onDsChange:e=>{this.nameDraft=e.detail;if(this.nameError)this.nameError=""},onKeyDown:e=>{if(e.key==="Enter")this.submitDialog()}})),i("ds-button-filled",{key:"a661e4f1428a1966e60e76ec9c39f4edd1187046",slot:"footer",label:this.dialogMode==="rename"?"Rename":"Save",size:"md",onDsClick:()=>this.submitDialog()}),i("ds-button-unfilled",{key:"376db6696bca21c31f990e49ab5fa820496e7c80",slot:"footer",label:"Cancel",size:"md",onDsClick:()=>this.dialogOpen=false})))}get el(){return this}static get style(){return j()}},[2,"ds-data-saved-views",{hasBorder:[4,"has-border"],views:[16],value:[1],dirty:[4],defaultViewId:[1,"default-view-id"],defaultViewLabel:[1,"default-view-label"],label:[1],triggerLabel:[1,"trigger-label"],compact:[4],createLabel:[1,"create-label"],actionViewId:[32],actionAnchorId:[32],actionMenuOpen:[32],actionMenuInitialFocusVisible:[32],dialogOpen:[32],dialogMode:[32],dialogViewId:[32],nameDraft:[32],nameError:[32]}]);function A(){if(typeof customElements==="undefined"){return}const e=["ds-data-saved-views","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-chip","ds-divider","ds-empty-state","ds-field","ds-icon","ds-input","ds-loader","ds-menu","ds-modal","ds-select","ds-swatch-picker","ds-switch","ds-tag","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-data-saved-views":if(!customElements.get(n(e))){customElements.define(n(e),x)}break;case"ds-badge":if(!customElements.get(n(e))){d()}break;case"ds-button-filled":if(!customElements.get(n(e))){o()}break;case"ds-button-unfilled":if(!customElements.get(n(e))){l()}break;case"ds-checkbox":if(!customElements.get(n(e))){r()}break;case"ds-chip":if(!customElements.get(n(e))){h()}break;case"ds-divider":if(!customElements.get(n(e))){c()}break;case"ds-empty-state":if(!customElements.get(n(e))){m()}break;case"ds-field":if(!customElements.get(n(e))){f()}break;case"ds-icon":if(!customElements.get(n(e))){u()}break;case"ds-input":if(!customElements.get(n(e))){b()}break;case"ds-loader":if(!customElements.get(n(e))){p()}break;case"ds-menu":if(!customElements.get(n(e))){v()}break;case"ds-modal":if(!customElements.get(n(e))){w()}break;case"ds-select":if(!customElements.get(n(e))){k()}break;case"ds-swatch-picker":if(!customElements.get(n(e))){g()}break;case"ds-switch":if(!customElements.get(n(e))){D()}break;case"ds-tag":if(!customElements.get(n(e))){E()}break;case"ds-text":if(!customElements.get(n(e))){C()}break;case"ds-tooltip":if(!customElements.get(n(e))){y()}break}}))}A();const I=x;const B=A;export{I as DsDataSavedViews,B as defineCustomElement};
2
2
  //# sourceMappingURL=ds-data-saved-views.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["dataSavedViewsCss","tableSavedViewsId","DataSavedViews","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hasBorder","views","value","dirty","defaultViewId","defaultViewLabel","label","triggerLabel","compact","createLabel","actionViewId","actionMenuOpen","actionMenuInitialFocusVisible","dialogOpen","dialogMode","dialogViewId","nameDraft","nameError","componentId","selectId","actionMenuId","fieldId","inputId","actionItems","isDestructive","selectedCustomView","find","view","id","dialogView","sections","custom","map","subtextActions","tone","undefined","action","controls","expanded","surfaceOpen","templates","header","options","divider","length","handleViewChange","dsViewChange","emit","viewId","handleSubtextAction","detail","actionValue","dsViewSave","dsViewDiscard","handleOptionAction","some","originalEvent","actionAnchorId","anchorId","handleActionSelect","event","openDialog","dsViewRemove","mode","item","requestAnimationFrame","input","el","querySelector","setFocus","validateName","name","trim","duplicate","toLocaleLowerCase","submitDialog","error","dsViewRename","dsViewCreate","finishDialogClose","select","render","h","Host","key","neutralTrigger","size","icon","indicator","collapseLabel","iconOnly","width","placeholder","triggerLabelPlaceholder","dot","Boolean","footerActionLabel","activeFill","allowClear","onDsChange","onDsFooterAction","onDsOptionSubtextAction","onDsOptionAction","menuLabel","side","align","menuWidth","minWidth","items","open","initialFocusVisible","onDsClose","onDsAfterClose","onDsSelect","heading","modalWidth","errorMessage","autoFocus","onKeyDown","slot","onDsClick"],"sources":["src/wc/components/DataSavedViews/DataSavedViews.css?tag=ds-data-saved-views&encapsulation=scoped","src/wc/components/DataSavedViews/DataSavedViews.tsx"],"sourcesContent":[":host {\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n\n display: inline-block;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n}\n\nds-select {\n display: block;\n min-inline-size: 0;\n max-inline-size: 100%;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\nimport type { MenuItemData } from '../Menu/menu-types';\nimport type {\n SelectOptionActionDetail,\n SelectOptionSubtextActionDetail,\n SelectValue,\n} from '../Select/Select';\nimport type {\n DataSavedView,\n DataSavedViewChangeDetail,\n DataSavedViewCreateDetail,\n DataSavedViewDiscardDetail,\n DataSavedViewRemoveDetail,\n DataSavedViewRenameDetail,\n DataSavedViewSaveDetail,\n} from './data-saved-views-types';\n\ntype SavedViewDialogMode = 'create' | 'rename';\n\nlet tableSavedViewsId = 0;\n\n@Component({\n tag: 'ds-data-saved-views',\n styleUrl: 'DataSavedViews.css',\n scoped: true,\n})\nexport class DataSavedViews {\n @Element() el!: HTMLElement;\n\n /** Application-owned custom saved views. Assign arrays through the JavaScript property. */\n /** Show the trigger border. */\n @Prop() hasBorder: boolean = true;\n @Prop() views: DataSavedView[] = [];\n /** ID of the controlled active view, including the default view ID. */\n @Prop() value: string = '__default__';\n /** Whether the current table state differs from the selected custom view. Ignored for the default view. */\n @Prop() dirty: boolean = false;\n /** ID used for the built-in default view. */\n @Prop() defaultViewId: string = '__default__';\n /** Label used for the built-in default view. */\n @Prop() defaultViewLabel: string = 'Default';\n /** Accessible name for the saved-views select. */\n @Prop() label: string = 'Saved views';\n /** Trigger label shown while the default view is selected. */\n @Prop() triggerLabel: string = 'Views';\n /** Use an icon-only trigger in an explicitly compact toolbar. */\n @Prop() compact: boolean = false;\n /** Footer action label that opens the create-view dialog. */\n @Prop() createLabel: string = 'New view';\n\n /** Emitted when a view selection is requested. */\n @Event() dsViewChange!: EventEmitter<DataSavedViewChangeDetail>;\n /** Emitted after a valid create-view name is submitted. */\n @Event() dsViewCreate!: EventEmitter<DataSavedViewCreateDetail>;\n /** Emitted after a valid renamed view name is submitted. */\n @Event() dsViewRename!: EventEmitter<DataSavedViewRenameDetail>;\n /** Emitted when a custom view removal is requested. */\n @Event() dsViewRemove!: EventEmitter<DataSavedViewRemoveDetail>;\n /** Emitted when changes to the active custom view should replace its stored payload. */\n @Event() dsViewSave!: EventEmitter<DataSavedViewSaveDetail>;\n /** Emitted when the active custom view's stored payload should be restored. */\n @Event() dsViewDiscard!: EventEmitter<DataSavedViewDiscardDetail>;\n\n @State() private actionViewId: string | null = null;\n @State() private actionAnchorId: string | undefined;\n @State() private actionMenuOpen = false;\n @State() private actionMenuInitialFocusVisible = false;\n @State() private dialogOpen = false;\n @State() private dialogMode: SavedViewDialogMode = 'create';\n @State() private dialogViewId: string | null = null;\n @State() private nameDraft = '';\n @State() private nameError = '';\n\n private readonly componentId = `ds-data-saved-views-${++tableSavedViewsId}`;\n private readonly selectId = `${this.componentId}-select`;\n private readonly actionMenuId = `${this.componentId}-actions`;\n private readonly fieldId = `${this.componentId}-name-field`;\n private readonly inputId = `${this.componentId}-name-input`;\n private readonly actionItems: MenuItemData[] = [\n { label: 'Rename', value: 'rename' },\n { label: 'Remove', value: 'remove', isDestructive: true },\n ];\n\n private get selectedCustomView(): DataSavedView | undefined {\n return this.views.find(view => view.id === this.value);\n }\n\n private get dialogView(): DataSavedView | undefined {\n return this.views.find(view => view.id === this.dialogViewId);\n }\n\n private get sections() {\n const custom = this.views.map(view => ({\n label: view.label,\n value: view.id,\n subtextActions:\n this.dirty && view.id === this.selectedCustomView?.id\n ? [\n { label: 'Save', value: 'save' },\n { label: 'Discard', value: 'discard', tone: 'negative' as const },\n ]\n : undefined,\n action: {\n label: `Options for ${view.label}`,\n controls: this.actionMenuId,\n expanded: this.actionViewId === view.id && this.actionMenuOpen,\n surfaceOpen: this.actionViewId === view.id,\n },\n }));\n const templates = {\n header: 'Templates',\n options: [{ label: this.defaultViewLabel, value: this.defaultViewId }],\n divider: custom.length > 0,\n };\n return custom.length > 0 ? [templates, { header: 'Custom', options: custom }] : [templates];\n }\n\n private handleViewChange(value: SelectValue) {\n if (typeof value === 'string') this.dsViewChange.emit({ viewId: value });\n }\n\n private handleSubtextAction(detail: SelectOptionSubtextActionDetail) {\n const view = this.selectedCustomView;\n if (!view || !this.dirty || detail.value !== view.id) return;\n if (detail.actionValue === 'save') this.dsViewSave.emit({ viewId: view.id });\n if (detail.actionValue === 'discard') this.dsViewDiscard.emit({ viewId: view.id });\n }\n\n private handleOptionAction(detail: SelectOptionActionDetail) {\n if (!this.views.some(view => view.id === detail.value)) return;\n this.actionMenuInitialFocusVisible = detail.originalEvent.detail === 0;\n if (this.actionViewId === detail.value && this.actionMenuOpen) {\n this.actionMenuOpen = false;\n return;\n }\n this.actionViewId = detail.value;\n this.actionAnchorId = detail.anchorId;\n this.actionMenuOpen = true;\n }\n\n private handleActionSelect(event: CustomEvent<MenuItemData>) {\n const viewId = this.actionViewId;\n this.actionMenuOpen = false;\n if (!viewId) return;\n if (event.detail.value === 'rename') this.openDialog('rename', viewId);\n if (event.detail.value === 'remove') this.dsViewRemove.emit({ viewId });\n }\n\n private openDialog(mode: SavedViewDialogMode, viewId: string | null = null) {\n const view = mode === 'rename' ? this.views.find(item => item.id === viewId) : undefined;\n if (mode === 'rename' && !view) return;\n this.dialogMode = mode;\n this.dialogViewId = view?.id ?? null;\n this.nameDraft = view?.label ?? '';\n this.nameError = '';\n this.dialogOpen = true;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n const input = this.el.querySelector<HTMLElement & { setFocus?: () => Promise<void> }>(\n `#${this.inputId}`\n );\n void input?.setFocus?.();\n });\n });\n }\n\n private validateName(): string {\n const name = this.nameDraft.trim();\n if (!name) return 'View name is required.';\n const duplicate = this.views.some(\n view =>\n view.id !== this.dialogViewId &&\n view.label.trim().toLocaleLowerCase() === name.toLocaleLowerCase()\n );\n if (\n duplicate ||\n this.defaultViewLabel.trim().toLocaleLowerCase() === name.toLocaleLowerCase()\n ) {\n return 'A view with this name already exists.';\n }\n return '';\n }\n\n private submitDialog() {\n const error = this.validateName();\n if (error) {\n this.nameError = error;\n return;\n }\n const name = this.nameDraft.trim();\n if (this.dialogMode === 'rename' && this.dialogView) {\n this.dsViewRename.emit({ viewId: this.dialogView.id, name });\n } else {\n this.dsViewCreate.emit({ name });\n }\n this.dialogOpen = false;\n }\n\n private finishDialogClose() {\n if (this.dialogOpen) return;\n this.dialogViewId = null;\n this.nameDraft = '';\n this.nameError = '';\n const select = this.el.querySelector<HTMLElement & { setFocus?: () => Promise<void> }>(\n `#${this.selectId}`\n );\n void select?.setFocus?.();\n }\n\n render() {\n return (\n <Host>\n <ds-select\n neutralTrigger\n hasBorder={this.hasBorder}\n id={this.selectId}\n size=\"md\"\n icon=\"ViewMenu\"\n indicator=\"none\"\n collapseLabel\n iconOnly={this.compact}\n width=\"fill\"\n placeholder={this.label}\n aria-label={this.label}\n sections={this.sections}\n value={this.value}\n triggerLabel={this.selectedCustomView ? undefined : this.triggerLabel}\n triggerLabelPlaceholder={!this.selectedCustomView}\n dot={this.dirty && Boolean(this.selectedCustomView)}\n footerActionLabel={this.createLabel}\n activeFill={false}\n allowClear={false}\n onDsChange={(event: CustomEvent<SelectValue>) => this.handleViewChange(event.detail)}\n onDsFooterAction={() => this.openDialog('create')}\n onDsOptionSubtextAction={(event: CustomEvent<SelectOptionSubtextActionDetail>) =>\n this.handleSubtextAction(event.detail)\n }\n onDsOptionAction={(event: CustomEvent<SelectOptionActionDetail>) =>\n this.handleOptionAction(event.detail)\n }\n />\n\n <ds-menu\n id={this.actionMenuId}\n anchorId={this.actionAnchorId}\n menuLabel=\"Saved view options\"\n side=\"bottom\"\n align=\"end\"\n menuWidth=\"max-content\"\n minWidth=\"0\"\n items={this.actionItems}\n open={this.actionMenuOpen}\n initialFocusVisible={this.actionMenuInitialFocusVisible}\n onDsClose={() => (this.actionMenuOpen = false)}\n onDsAfterClose={() => {\n if (this.actionMenuOpen) return;\n this.actionViewId = null;\n this.actionAnchorId = undefined;\n }}\n onDsSelect={(event: CustomEvent<MenuItemData>) => this.handleActionSelect(event)}\n />\n\n <ds-modal\n open={this.dialogOpen}\n heading={this.dialogMode === 'rename' ? 'Rename view' : 'Save as new view'}\n modalWidth=\"sm\"\n onDsClose={() => (this.dialogOpen = false)}\n onDsAfterClose={() => this.finishDialogClose()}\n >\n <ds-field\n fieldId={this.fieldId}\n error={this.nameError.length > 0}\n errorMessage={this.nameError}\n >\n <ds-input\n id={this.inputId}\n size=\"md\"\n aria-label=\"Name\"\n placeholder=\"Enter a unique name\"\n value={this.nameDraft}\n autoFocus={true}\n onDsChange={(event: CustomEvent<string>) => {\n this.nameDraft = event.detail;\n if (this.nameError) this.nameError = '';\n }}\n onKeyDown={(event: KeyboardEvent) => {\n if (event.key === 'Enter') this.submitDialog();\n }}\n />\n </ds-field>\n\n <ds-button-filled\n slot=\"footer\"\n label={this.dialogMode === 'rename' ? 'Rename' : 'Save'}\n size=\"md\"\n onDsClick={() => this.submitDialog()}\n />\n <ds-button-unfilled\n slot=\"footer\"\n label=\"Cancel\"\n size=\"md\"\n onDsClick={() => (this.dialogOpen = false)}\n />\n </ds-modal>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["dataSavedViewsCss","tableSavedViewsId","DataSavedViews","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hasBorder","views","value","dirty","defaultViewId","defaultViewLabel","label","triggerLabel","compact","createLabel","actionViewId","actionMenuOpen","actionMenuInitialFocusVisible","dialogOpen","dialogMode","dialogViewId","nameDraft","nameError","componentId","selectId","actionMenuId","fieldId","inputId","actionItems","isDestructive","selectedCustomView","find","view","id","dialogView","sections","custom","map","subtextActions","tone","undefined","action","controls","expanded","surfaceOpen","templates","header","options","divider","length","handleViewChange","dsViewChange","emit","viewId","handleSubtextAction","detail","actionValue","dsViewSave","dsViewDiscard","handleOptionAction","some","originalEvent","actionAnchorId","anchorId","handleActionSelect","event","openDialog","dsViewRemove","mode","item","requestAnimationFrame","input","el","querySelector","setFocus","validateName","name","trim","duplicate","toLocaleLowerCase","submitDialog","error","dsViewRename","dsViewCreate","finishDialogClose","select","render","h","Host","key","neutralTrigger","size","icon","indicator","collapseLabel","iconOnly","width","placeholder","triggerLabelPlaceholder","dot","Boolean","footerActionLabel","activeFill","allowClear","onDsChange","onDsFooterAction","onDsOptionSubtextAction","onDsOptionAction","menuLabel","side","align","menuWidth","minWidth","items","open","initialFocusVisible","onDsClose","onDsAfterClose","onDsSelect","heading","modalWidth","errorMessage","autoFocus","onKeyDown","slot","onDsClick"],"sources":["src/wc/components/DataSavedViews/DataSavedViews.css?tag=ds-data-saved-views&encapsulation=scoped","src/wc/components/DataSavedViews/DataSavedViews.tsx"],"sourcesContent":[":host {\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n\n display: inline-block;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n}\n\nds-select {\n display: block;\n min-inline-size: 0;\n max-inline-size: 100%;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\nimport type { MenuItemData } from '../Menu/menu-types';\nimport type {\n SelectOptionActionDetail,\n SelectOptionSubtextActionDetail,\n SelectValue,\n} from '../Select/Select';\nimport type {\n DataSavedView,\n DataSavedViewChangeDetail,\n DataSavedViewCreateDetail,\n DataSavedViewDiscardDetail,\n DataSavedViewRemoveDetail,\n DataSavedViewRenameDetail,\n DataSavedViewSaveDetail,\n} from './data-saved-views-types';\n\ntype SavedViewDialogMode = 'create' | 'rename';\n\nlet tableSavedViewsId = 0;\n\n@Component({\n tag: 'ds-data-saved-views',\n styleUrl: 'DataSavedViews.css',\n scoped: true,\n})\nexport class DataSavedViews {\n @Element() el!: HTMLElement;\n\n /** Application-owned custom saved views. Assign arrays through the JavaScript property. */\n /** Show the trigger border. */\n @Prop() hasBorder: boolean = true;\n @Prop() views: DataSavedView[] = [];\n /** ID of the controlled active view, including the default view ID. */\n @Prop() value: string = '__default__';\n /** Whether the current table state differs from the selected custom view. Ignored for the default view. */\n @Prop() dirty: boolean = false;\n /** ID used for the built-in default view. */\n @Prop() defaultViewId: string = '__default__';\n /** Label used for the built-in default view. */\n @Prop() defaultViewLabel: string = 'Default';\n /** Accessible name for the saved-views select. */\n @Prop() label: string = 'Saved views';\n /** Trigger label shown while the default view is selected. */\n @Prop() triggerLabel: string = 'Views';\n /** Use an icon-only trigger in an explicitly compact toolbar. */\n @Prop() compact: boolean = false;\n /** Footer action label that opens the create-view dialog. */\n @Prop() createLabel: string = 'New view';\n\n /** Emitted when a view selection is requested. */\n @Event() dsViewChange!: EventEmitter<DataSavedViewChangeDetail>;\n /** Emitted after a valid create-view name is submitted. */\n @Event() dsViewCreate!: EventEmitter<DataSavedViewCreateDetail>;\n /** Emitted after a valid renamed view name is submitted. */\n @Event() dsViewRename!: EventEmitter<DataSavedViewRenameDetail>;\n /** Emitted when a custom view removal is requested. */\n @Event() dsViewRemove!: EventEmitter<DataSavedViewRemoveDetail>;\n /** Emitted when changes to the active custom view should replace its stored payload. */\n @Event() dsViewSave!: EventEmitter<DataSavedViewSaveDetail>;\n /** Emitted when the active custom view's stored payload should be restored. */\n @Event() dsViewDiscard!: EventEmitter<DataSavedViewDiscardDetail>;\n\n @State() private actionViewId: string | null = null;\n @State() private actionAnchorId: string | undefined;\n @State() private actionMenuOpen = false;\n @State() private actionMenuInitialFocusVisible = false;\n @State() private dialogOpen = false;\n @State() private dialogMode: SavedViewDialogMode = 'create';\n @State() private dialogViewId: string | null = null;\n @State() private nameDraft = '';\n @State() private nameError = '';\n\n private readonly componentId = `ds-data-saved-views-${++tableSavedViewsId}`;\n private readonly selectId = `${this.componentId}-select`;\n private readonly actionMenuId = `${this.componentId}-actions`;\n private readonly fieldId = `${this.componentId}-name-field`;\n private readonly inputId = `${this.componentId}-name-input`;\n private readonly actionItems: MenuItemData[] = [\n { label: 'Rename', value: 'rename' },\n { label: 'Remove', value: 'remove', isDestructive: true },\n ];\n\n private get selectedCustomView(): DataSavedView | undefined {\n return this.views.find(view => view.id === this.value);\n }\n\n private get dialogView(): DataSavedView | undefined {\n return this.views.find(view => view.id === this.dialogViewId);\n }\n\n private get sections() {\n const custom = this.views.map(view => ({\n label: view.label,\n value: view.id,\n subtextActions:\n this.dirty && view.id === this.selectedCustomView?.id\n ? [\n { label: 'Save', value: 'save' },\n { label: 'Discard', value: 'discard', tone: 'negative' as const },\n ]\n : undefined,\n action: {\n label: `Options for ${view.label}`,\n controls: this.actionMenuId,\n expanded: this.actionViewId === view.id && this.actionMenuOpen,\n surfaceOpen: this.actionViewId === view.id,\n },\n }));\n const templates = {\n header: 'Templates',\n options: [{ label: this.defaultViewLabel, value: this.defaultViewId }],\n divider: custom.length > 0,\n };\n return custom.length > 0 ? [templates, { header: 'Custom', options: custom }] : [templates];\n }\n\n private handleViewChange(value: SelectValue) {\n if (typeof value === 'string') this.dsViewChange.emit({ viewId: value });\n }\n\n private handleSubtextAction(detail: SelectOptionSubtextActionDetail) {\n const view = this.selectedCustomView;\n if (!view || !this.dirty || detail.value !== view.id) return;\n if (detail.actionValue === 'save') this.dsViewSave.emit({ viewId: view.id });\n if (detail.actionValue === 'discard') this.dsViewDiscard.emit({ viewId: view.id });\n }\n\n private handleOptionAction(detail: SelectOptionActionDetail) {\n if (!this.views.some(view => view.id === detail.value)) return;\n this.actionMenuInitialFocusVisible = detail.originalEvent.detail === 0;\n if (this.actionViewId === detail.value && this.actionMenuOpen) {\n this.actionMenuOpen = false;\n return;\n }\n this.actionViewId = detail.value;\n this.actionAnchorId = detail.anchorId;\n this.actionMenuOpen = true;\n }\n\n private handleActionSelect(event: CustomEvent<MenuItemData>) {\n const viewId = this.actionViewId;\n this.actionMenuOpen = false;\n if (!viewId) return;\n if (event.detail.value === 'rename') this.openDialog('rename', viewId);\n if (event.detail.value === 'remove') this.dsViewRemove.emit({ viewId });\n }\n\n private openDialog(mode: SavedViewDialogMode, viewId: string | null = null) {\n const view = mode === 'rename' ? this.views.find(item => item.id === viewId) : undefined;\n if (mode === 'rename' && !view) return;\n this.dialogMode = mode;\n this.dialogViewId = view?.id ?? null;\n this.nameDraft = view?.label ?? '';\n this.nameError = '';\n this.dialogOpen = true;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n const input = this.el.querySelector<HTMLElement & { setFocus?: () => Promise<void> }>(\n `#${this.inputId}`\n );\n void input?.setFocus?.();\n });\n });\n }\n\n private validateName(): string {\n const name = this.nameDraft.trim();\n if (!name) return 'View name is required.';\n const duplicate = this.views.some(\n view =>\n view.id !== this.dialogViewId &&\n view.label.trim().toLocaleLowerCase() === name.toLocaleLowerCase()\n );\n if (\n duplicate ||\n this.defaultViewLabel.trim().toLocaleLowerCase() === name.toLocaleLowerCase()\n ) {\n return 'A view with this name already exists.';\n }\n return '';\n }\n\n private submitDialog() {\n const error = this.validateName();\n if (error) {\n this.nameError = error;\n return;\n }\n const name = this.nameDraft.trim();\n if (this.dialogMode === 'rename' && this.dialogView) {\n this.dsViewRename.emit({ viewId: this.dialogView.id, name });\n } else {\n this.dsViewCreate.emit({ name });\n }\n this.dialogOpen = false;\n }\n\n private finishDialogClose() {\n if (this.dialogOpen) return;\n this.dialogViewId = null;\n this.nameDraft = '';\n this.nameError = '';\n const select = this.el.querySelector<HTMLElement & { setFocus?: () => Promise<void> }>(\n `#${this.selectId}`\n );\n void select?.setFocus?.();\n }\n\n render() {\n return (\n <Host>\n <ds-select\n neutralTrigger\n hasBorder={this.hasBorder}\n id={this.selectId}\n size=\"md\"\n icon=\"ViewMenu\"\n indicator=\"none\"\n collapseLabel\n iconOnly={this.compact}\n width=\"fill\"\n placeholder={this.label}\n aria-label={this.label}\n sections={this.sections}\n value={this.value}\n triggerLabel={this.selectedCustomView ? undefined : this.triggerLabel}\n triggerLabelPlaceholder={!this.selectedCustomView}\n dot={this.dirty && Boolean(this.selectedCustomView)}\n footerActionLabel={this.createLabel}\n activeFill={false}\n allowClear={false}\n onDsChange={(event: CustomEvent<SelectValue>) => this.handleViewChange(event.detail)}\n onDsFooterAction={() => this.openDialog('create')}\n onDsOptionSubtextAction={(event: CustomEvent<SelectOptionSubtextActionDetail>) =>\n this.handleSubtextAction(event.detail)\n }\n onDsOptionAction={(event: CustomEvent<SelectOptionActionDetail>) =>\n this.handleOptionAction(event.detail)\n }\n />\n\n <ds-menu\n id={this.actionMenuId}\n anchorId={this.actionAnchorId}\n menuLabel=\"Saved view options\"\n side=\"bottom\"\n align=\"end\"\n menuWidth=\"max-content\"\n minWidth=\"0\"\n items={this.actionItems}\n open={this.actionMenuOpen}\n initialFocusVisible={this.actionMenuInitialFocusVisible}\n onDsClose={() => (this.actionMenuOpen = false)}\n onDsAfterClose={() => {\n if (this.actionMenuOpen) return;\n this.actionViewId = null;\n this.actionAnchorId = undefined;\n }}\n onDsSelect={(event: CustomEvent<MenuItemData>) => this.handleActionSelect(event)}\n />\n\n <ds-modal\n open={this.dialogOpen}\n heading={this.dialogMode === 'rename' ? 'Rename view' : 'Save as new view'}\n modalWidth=\"sm\"\n onDsClose={() => (this.dialogOpen = false)}\n onDsAfterClose={() => this.finishDialogClose()}\n >\n <ds-field\n fieldId={this.fieldId}\n error={this.nameError.length > 0}\n errorMessage={this.nameError}\n >\n <ds-input\n id={this.inputId}\n size=\"md\"\n aria-label=\"Name\"\n placeholder=\"Enter a unique name\"\n value={this.nameDraft}\n autoFocus={true}\n onDsChange={(event: CustomEvent<string>) => {\n this.nameDraft = event.detail;\n if (this.nameError) this.nameError = '';\n }}\n onKeyDown={(event: KeyboardEvent) => {\n if (event.key === 'Enter') this.submitDialog();\n }}\n />\n </ds-field>\n\n <ds-button-filled\n slot=\"footer\"\n label={this.dialogMode === 'rename' ? 'Rename' : 'Save'}\n size=\"md\"\n onDsClick={() => this.submitDialog()}\n />\n <ds-button-unfilled\n slot=\"footer\"\n label=\"Cancel\"\n size=\"md\"\n onDsClick={() => (this.dialogOpen = false)}\n />\n </ds-modal>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{p as e,H as s,c as a,h as t,a as i,t as r}from"./index.js";import{A as d,r as o}from"./p-B8ZonS3S.js";import{c,r as n,A as l}from"./p-etg-Uk1u.js";import{i as h}from"./p-aD5cw_m2.js";import{d as p}from"./p-Cn6AfzeF.js";import{d as f}from"./p-D7K1ZHML.js";import{d as v}from"./p-C0JkLR83.js";import{d as u}from"./p-BCnzbfma.js";import{d as m}from"./p-DjkUFlDW.js";import{d as g}from"./p-0XTyQNRG.js";import{d as b}from"./p-ZwRLjD5M.js";import{d as x}from"./p-C_Ma6Xa-.js";import{r as y}from"./p-CochmPyg.js";import{T as w}from"./p-CeXf9-X3.js";function _(e){const s=[];const a=new Set;for(const t of e){if(h(t)||t.searchable===false)continue;const e=t.segments??[];if(e.length>0){for(const t of e){const e=t.sortKey.trim();const i=t.dataLabel?.trim()||t.label.trim()||e;if(!e||!i||t.searchable===false||a.has(e))continue;a.add(e);s.push({id:e,label:i})}continue}const i=t.id.trim();const r=t.dataLabel?.trim()||t.label.trim()||t.accessibleLabel?.trim()||i;if(!i||!r||a.has(i))continue;a.add(i);s.push({id:i,label:r})}return s}function k(e,s){const a=new Map(e.map((e=>[e.id,e])));const t=[];const i=new Set;for(const e of s){if(i.has(e))continue;const s=a.get(e);if(!s)continue;i.add(e);t.push(s)}return t}function z(e,s){const a=new Set(s);return e.filter((e=>!a.has(e.id)))}function C(e,s){const a=s.trim().toLocaleLowerCase();if(!a)return[...e];return e.filter((e=>`${e.label} ${e.id}`.toLocaleLowerCase().includes(a)))}function F(e,s,a){if(s<=0)return-1;const t=e>=0&&e<s?e:0;return(t+a+s)%s}const I=()=>`.sc-ds-data-search-h,.sc-ds-data-search:where(.ds-table),.sc-ds-data-search:where(.tooltip-popup),.sc-ds-data-search:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}@media (forced-colors: active){.sc-ds-data-search:root,.sc-ds-data-search-h,.ds-forced-colors-scope.sc-ds-data-search{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-data-search-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-data-search-h,.ds-focus-ring.sc-ds-data-search,.ds-focus-ring-inset.sc-ds-data-search-h,.ds-focus-ring-inset.sc-ds-data-search{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-data-search-h:focus-visible,.ds-focus-ring.sc-ds-data-search:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-data-search-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-data-search{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-data-search-h:focus-visible,.ds-focus-ring-inset.sc-ds-data-search:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-data-search-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-data-search:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-search-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-search{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-search-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-search::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-data-search-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-data-search:root,.sc-ds-data-search-h,.ds-forced-colors-scope.sc-ds-data-search{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}@media (forced-colors: active){.sc-ds-data-search:root,.sc-ds-data-search-h,.ds-forced-colors-scope.sc-ds-data-search{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-interaction-fill.sc-ds-data-search-h,.ds-interaction-fill.sc-ds-data-search{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent;--ds-interaction-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-data-search-h::before,.ds-interaction-fill.sc-ds-data-search::before,.ds-interaction-fill.sc-ds-data-search-h::after,.ds-interaction-fill.sc-ds-data-search::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-data-search-h::before,.ds-interaction-fill.sc-ds-data-search::before{z-index:1}.ds-interaction-fill.sc-ds-data-search-h::after,.ds-interaction-fill.sc-ds-data-search::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-data-search-h,.ds-interaction-fill--bordered.sc-ds-data-search{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-data-search-h::before,.ds-interaction-fill--selected.sc-ds-data-search::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-data-search-h,.ds-interaction-fill--selected.sc-ds-data-search{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-data-search-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-data-search:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-data-search-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-data-search:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-data-search-h::after,.ds-interaction-fill--grouped.sc-ds-data-search::after,.ds-interaction-fill--grouped.sc-ds-data-search-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-data-search:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-data-search-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-data-search:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-data-search-h,.ds-interaction-fill--grouped.sc-ds-data-search{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-data-search-h>.ds-interaction-fill__content.sc-ds-data-search,.ds-interaction-fill.sc-ds-data-search>.ds-interaction-fill__content.sc-ds-data-search,.ds-interaction-fill__content.sc-ds-data-search{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-data-search-h,.ds-interaction-fill--on-faint.sc-ds-data-search{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-data-search-h,.ds-interaction-fill--on-medium.sc-ds-data-search{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-data-search-h,.ds-interaction-fill--on-bold.sc-ds-data-search{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-data-search-h,.ds-interaction-fill--on-strong.sc-ds-data-search{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-data-search-h,.ds-interaction-fill--on-translucent.sc-ds-data-search{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-data-search-h,.ds-interaction-fill--on-inverted.sc-ds-data-search{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-data-search-h,.ds-interaction-fill--on-media.sc-ds-data-search{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-data-search-h,.ds-interaction-fill--on-always-dark.sc-ds-data-search{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-data-search-h,.ds-interaction-fill--on-navigation.sc-ds-data-search{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-data-search-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-data-search:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-data-search-h::after,.ds-interaction-fill.sc-ds-data-search::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-data-search-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-data-search:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-data-search-h::before,.ds-interaction-fill--selected.sc-ds-data-search::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-data-search-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-data-search:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-data-search:root,.sc-ds-data-search-h,.ds-forced-colors-scope.sc-ds-data-search{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-control-inactive.sc-ds-data-search-h,.ds-control-inactive.sc-ds-data-search{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-data-search-h,.ds-control-inactive.sc-ds-data-search{color:var(--ds-forced-color-disabled);opacity:1}}.ds-control--lg.sc-ds-data-search,.ds-control--lg.sc-ds-data-search-h,.ds-control--md.sc-ds-data-search-h,.ds-control--md.sc-ds-data-search,.ds-control--sm.sc-ds-data-search-h,.ds-control--sm.sc-ds-data-search,.ds-control--xs.sc-ds-data-search-h,.ds-control--xs.sc-ds-data-search{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-data-search-h,.ds-control--lg.sc-ds-data-search{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-data-search-h,.ds-control--md.sc-ds-data-search{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-data-search-h,.ds-control--sm.sc-ds-data-search{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-data-search-h,.ds-control--xs.sc-ds-data-search{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-space--sm.sc-ds-data-search-h,.ds-chrome-space--sm.sc-ds-data-search{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-data-search-h,.ds-chrome-space--md.sc-ds-data-search{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-data-search-h,.ds-chrome-space--lg.sc-ds-data-search{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-data-search-h,.ds-chrome-row.sc-ds-data-search,.ds-chrome-column.sc-ds-data-search-h,.ds-chrome-column.sc-ds-data-search,.ds-chrome-grid.sc-ds-data-search-h,.ds-chrome-grid.sc-ds-data-search{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-data-search-h,.ds-chrome-row.sc-ds-data-search{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-data-search-h,.ds-chrome-column.sc-ds-data-search{flex-direction:column}.ds-chrome-grid.sc-ds-data-search-h,.ds-chrome-grid.sc-ds-data-search{display:grid;align-items:center}.ds-control-frame.sc-ds-data-search{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.ds-control-section-heading.sc-ds-data-search{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-control-icon-box.sc-ds-data-search{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md))}.ds-control-label-box.sc-ds-data-search{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-data-search{position:relative;padding-inline-end:calc( var(--ds-control-label-inset, var(--dimension-space-025)) + var(--ds-control-gap, var(--dimension-space-050)) )}.ds-control-label-dot__badge.sc-ds-data-search{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-empty-region.sc-ds-data-search{display:flex;flex:1 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:0}.ds-empty-region--padded.sc-ds-data-search{padding:var(--dimension-space-200)}.sc-ds-data-search:where(.ds-text-decoration,.ds-text-action).sc-ds-data-search{text-decoration-color:var(--ds-text-decoration-color, var(--color-foreground-tertiary));text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}.ds-text-action.sc-ds-data-search{--ds-text-action-foreground:var(--color-foreground-bold-brand);--ds-text-decoration-color:var(--ds-text-action-foreground);color:var(--ds-text-action-foreground);text-decoration-line:none}.ds-text-action--on-medium.sc-ds-data-search{--ds-text-action-foreground:var(--color-foreground-on-medium-background-primary);--ds-text-decoration-color:var(--color-foreground-on-medium-background-secondary);text-decoration-line:underline}.ds-text-action--on-strong.sc-ds-data-search{--ds-text-action-foreground:var(--color-foreground-on-strong-background-primary);--ds-text-decoration-color:var(--color-foreground-on-strong-background-secondary);text-decoration-line:underline}.ds-text-action--on-bold.sc-ds-data-search{--ds-text-action-foreground:var(--color-foreground-on-bold-background-primary);--ds-text-decoration-color:var(--color-foreground-on-bold-background-secondary);text-decoration-line:underline}@media (hover: hover) and (pointer: fine){.ds-text-action.sc-ds-data-search:hover{text-decoration-line:underline}}@media (forced-colors: active){.ds-text-action.sc-ds-data-search{text-decoration-line:underline;text-decoration-color:currentcolor}}.ds-choice-popup.sc-ds-data-search{box-sizing:border-box;display:flex;flex-direction:column;min-width:var(--ds-choice-popup-min-inline-size, var(--dimension-menu-width-xs));max-width:min(var(--dimension-panel-width-lg), calc(100vw - var(--dimension-space-200)));max-height:calc(100vh - var(--dimension-space-200));overflow:hidden;inset:auto;margin:0;padding:0;border:0;background-color:var(--color-background-primary);border-radius:var(--ds-radius-menu);box-shadow:var(--effect-shadow-elevated-floating);color:var(--color-foreground-secondary);animation:dsChoiceFadeIn var(--effect-motion-short-2) forwards;backface-visibility:hidden;will-change:transform;text-align:start}.ds-choice-popup.sc-ds-data-search::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--effect-highlight-elevated-floating)}.ds-choice-popup--closing.sc-ds-data-search{animation:dsChoiceFadeOut var(--effect-motion-short-2) forwards}@keyframes dsChoiceFadeIn{from{opacity:0;transform:inherit scale(0.97)}to{opacity:1}}@keyframes dsChoiceFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.ds-choice-popup.sc-ds-data-search{animation:none;opacity:1}.ds-choice-popup--closing.sc-ds-data-search{opacity:0}}@media (forced-colors: active){.ds-choice-popup.sc-ds-data-search{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}.ds-choice-popup.sc-ds-data-search::after{box-shadow:none}}.ds-choice-list.sc-ds-data-search{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ds-choice-section--divided.sc-ds-data-search{border-bottom:var(--dimension-stroke-width-015) solid var(--color-border-tertiary)}ds-text.ds-choice-section__header.sc-ds-data-search{text-align:start;-webkit-user-select:none;user-select:none}.ds-choice-section--headed-after-first.sc-ds-data-search{margin-block-start:var(--dimension-space-050)}.select-option-row.sc-ds-data-search{display:flex;flex-direction:column;min-width:0}.ds-choice-item.sc-ds-data-search{width:100%;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));background:transparent;cursor:default;-webkit-user-select:none;user-select:none;text-align:left;color:inherit}.ds-choice-item.sc-ds-data-search:has(.ds-choice-item__subtext){height:auto;min-height:var(--ds-control-height, var(--dimension-size-400));padding-block:var(--ds-control-padding-inline, var(--dimension-space-075));align-items:flex-start}.ds-choice-item.ds-control--xs.sc-ds-data-search:has(.ds-choice-item__subtext){padding-block:0}.ds-choice-item__content.sc-ds-data-search{display:flex;flex:1;flex-direction:column;gap:var(--dimension-space-025);min-width:0}ds-text.ds-choice-item__label.sc-ds-data-search{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ds-text.ds-choice-item__subtext.sc-ds-data-search{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ds-choice-item__icon.sc-ds-data-search,.ds-choice-item__suffix.sc-ds-data-search{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.ds-choice-item.ds-interaction-fill--selected.sc-ds-data-search .ds-choice-item__icon.sc-ds-data-search{color:var(--color-foreground-primary)}.ds-choice-item__tag.sc-ds-data-search{flex-shrink:0;pointer-events:none}.ds-choice-empty.sc-ds-data-search,.ds-choice-loading.sc-ds-data-search{min-height:var(--dimension-size-600);padding:var(--dimension-space-100)}.ds-choice-footer.sc-ds-data-search{position:relative;box-sizing:border-box;padding-block:var(--dimension-space-050)}.ds-choice-footer.sc-ds-data-search::before{content:'';position:absolute;inset:0 0 auto;height:var(--dimension-stroke-width-012);background-color:var(--color-border-tertiary);pointer-events:none}.ds-choice-footer__content.sc-ds-data-search{display:flex;align-items:center;justify-content:space-between;column-gap:var(--dimension-space-050);box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400))}.ds-choice-footer__summary.sc-ds-data-search,.ds-choice-footer__summary-measure.sc-ds-data-search,.ds-choice-footer__clear.sc-ds-data-search ds-text.sc-ds-data-search,.ds-choice-footer__action.sc-ds-data-search ds-text.sc-ds-data-search{padding-inline:calc( var(--dimension-space-050) + var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-choice-footer__summary.sc-ds-data-search,.ds-choice-footer__summary-measure.sc-ds-data-search,.ds-choice-footer__clear.sc-ds-data-search,.ds-choice-footer__action.sc-ds-data-search{white-space:nowrap}.ds-choice-footer__summary-measure.sc-ds-data-search{position:absolute;visibility:hidden;pointer-events:none}.ds-choice-footer__clear.sc-ds-data-search,.ds-choice-footer__action.sc-ds-data-search{appearance:none;display:inline-flex;align-items:center;padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;cursor:default}@media (forced-colors: active){.ds-choice-section--divided.sc-ds-data-search{border-bottom-color:var(--ds-forced-color-content)}.ds-choice-footer.sc-ds-data-search::before{background-color:var(--ds-forced-color-content)}}.ds-control--lg.ds-control--inset.sc-ds-data-search-h,.ds-control--lg.ds-control--inset.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-100) - var(--dimension-space-025))}.ds-control--md.ds-control--inset.sc-ds-data-search-h,.ds-control--md.ds-control--inset.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-075) - var(--dimension-space-025))}.ds-control--sm.ds-control--inset.sc-ds-data-search-h,.ds-control--sm.ds-control--inset.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-050) - var(--dimension-space-025))}.ds-control--xs.ds-control--inset.sc-ds-data-search-h,.ds-control--xs.ds-control--inset.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-200) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-025) - var(--dimension-space-025))}.ds-control--lg.ds-control--inset-double.sc-ds-data-search-h,.ds-control--lg.ds-control--inset-double.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-100) - var(--dimension-space-050))}.ds-control--md.ds-control--inset-double.sc-ds-data-search-h,.ds-control--md.ds-control--inset-double.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-075) - var(--dimension-space-050))}.ds-control--sm.ds-control--inset-double.sc-ds-data-search-h,.ds-control--sm.ds-control--inset-double.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-050) - var(--dimension-space-050))}.ds-text--display-medium.sc-ds-data-search-h,.ds-text--display-medium.sc-ds-data-search{font-size:var(--typography-fontsize-3xl);line-height:var(--typography-lineheight-3xl)}.ds-text--display-small.sc-ds-data-search-h,.ds-text--display-small.sc-ds-data-search{font-size:var(--typography-fontsize-2xl);line-height:var(--typography-lineheight-2xl)}.ds-text--title-large.sc-ds-data-search-h,.ds-text--title-large.sc-ds-data-search{font-size:var(--typography-fontsize-xl);line-height:var(--typography-lineheight-xl)}.ds-text--title-medium.sc-ds-data-search-h,.ds-text--title-medium.sc-ds-data-search{font-size:var(--typography-fontsize-lg);line-height:var(--typography-lineheight-lg)}.ds-text--title-small.sc-ds-data-search-h,.ds-text--title-small.sc-ds-data-search{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md)}.ds-text--body-large.sc-ds-data-search-h,.ds-text--body-large.sc-ds-data-search{font-size:var(--typography-fontsize-lg);line-height:var(--typography-lineheight-lg)}.ds-text--body-medium.sc-ds-data-search-h,.ds-text--body-medium.sc-ds-data-search{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md)}.ds-text--body-small.sc-ds-data-search-h,.ds-text--body-small.sc-ds-data-search{font-size:var(--typography-fontsize-sm);line-height:var(--typography-lineheight-sm)}.ds-text--caption.sc-ds-data-search-h,.ds-text--caption.sc-ds-data-search{font-size:var(--typography-fontsize-xs);line-height:var(--typography-lineheight-xs);text-transform:uppercase}.ds-text--display-medium.ds-text--emphasis.sc-ds-data-search-h,.ds-text--display-small.ds-text--emphasis.sc-ds-data-search-h,.ds-text--display-medium.ds-text--emphasis.sc-ds-data-search,.ds-text--display-small.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-bold);letter-spacing:var(--typography-letterspacing-negative-double)}.ds-text--display-medium.ds-text--regular.sc-ds-data-search-h,.ds-text--display-small.ds-text--regular.sc-ds-data-search-h,.ds-text--display-medium.ds-text--regular.sc-ds-data-search,.ds-text--display-small.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--title-large.ds-text--emphasis.sc-ds-data-search-h,.ds-text--title-large.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-negative-double)}.ds-text--title-large.ds-text--regular.sc-ds-data-search-h,.ds-text--title-large.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--title-medium.ds-text--emphasis.sc-ds-data-search-h,.ds-text--title-small.ds-text--emphasis.sc-ds-data-search-h,.ds-text--title-medium.ds-text--emphasis.sc-ds-data-search,.ds-text--title-small.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--title-medium.ds-text--regular.sc-ds-data-search-h,.ds-text--title-small.ds-text--regular.sc-ds-data-search-h,.ds-text--title-medium.ds-text--regular.sc-ds-data-search,.ds-text--title-small.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative-half)}.ds-text--body-large.ds-text--emphasis.sc-ds-data-search-h,.ds-text--body-medium.ds-text--emphasis.sc-ds-data-search-h,.ds-text--body-large.ds-text--emphasis.sc-ds-data-search,.ds-text--body-medium.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--body-large.ds-text--regular.sc-ds-data-search-h,.ds-text--body-medium.ds-text--regular.sc-ds-data-search-h,.ds-text--body-large.ds-text--regular.sc-ds-data-search,.ds-text--body-medium.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-regular);letter-spacing:var(--typography-letterspacing-negative-half)}.ds-text--body-small.ds-text--emphasis.sc-ds-data-search-h,.ds-text--body-small.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative-half)}.ds-text--body-small.ds-text--regular.sc-ds-data-search-h,.ds-text--body-small.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-regular);letter-spacing:var(--typography-letterspacing-none)}.ds-text--caption.ds-text--emphasis.sc-ds-data-search-h,.ds-text--caption.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-positive)}.ds-text--caption.ds-text--regular.sc-ds-data-search-h,.ds-text--caption.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-positive)}.ds-visually-hidden.sc-ds-data-search-h,.ds-visually-hidden.sc-ds-data-search{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.data-search-host.sc-ds-data-search-h{display:inline-flex;box-sizing:border-box;inline-size:100%;min-inline-size:0;--ds-data-search-foreground:var(--color-foreground-primary);--ds-data-search-adornment:var(--color-foreground-secondary);--ds-data-search-placeholder:var(--color-foreground-secondary);--ds-data-search-placeholder-active:var(--color-foreground-quaternary);--ds-data-search-border:var(--color-border-secondary)}.data-search__control.sc-ds-data-search{inline-size:100%;min-inline-size:0;padding-inline-end:var(--dimension-space-050);overflow:hidden;border:0;background:transparent;color:var(--ds-data-search-foreground);--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--ds-data-search-border)}.data-search__control.sc-ds-data-search:focus-within{--ds-interaction-border-width:var(--dimension-stroke-width-018);--ds-interaction-border-color:var(--color-border-bold-brand)}.ds-control-inactive.sc-ds-data-search-h .data-search__control.sc-ds-data-search::after{background:transparent}.data-search__icon.sc-ds-data-search,.data-search__clear.sc-ds-data-search{position:relative;z-index:2;flex:none}.data-search__icon.sc-ds-data-search{color:var(--ds-data-search-adornment)}.data-search__editor.sc-ds-data-search{position:relative;z-index:2;display:flex;flex:1 1 auto;align-items:center;min-inline-size:0;block-size:100%;gap:var(--dimension-space-050);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.data-search__editor.sc-ds-data-search::-webkit-scrollbar{display:none}.data-search__chip.sc-ds-data-search{flex:none;max-inline-size:var(--dimension-panel-width-2xs)}.data-search__input.sc-ds-data-search{appearance:none;box-sizing:border-box;flex:1 0 var(--dimension-size-600);min-inline-size:var(--dimension-size-600);block-size:100%;margin:0;padding:0;border:0;outline:0;background:transparent;color:var(--ds-data-search-foreground);text-overflow:ellipsis}.data-search__input.sc-ds-data-search::-webkit-search-cancel-button,.data-search__input.sc-ds-data-search::-webkit-search-decoration{display:none}.data-search__input.sc-ds-data-search::placeholder{color:var(--ds-data-search-placeholder)}.data-search__input.sc-ds-data-search:focus::placeholder{color:var(--ds-data-search-placeholder-active)}.data-search__popup.sc-ds-data-search{--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs)}.data-search__list.sc-ds-data-search{padding:var(--dimension-space-050)}.data-search__option.sc-ds-data-search{flex:none;inline-size:100%}@media (forced-colors: active){.data-search__control.sc-ds-data-search:focus-within::after{outline-color:var(--ds-forced-color-selected)}}.data-search-host--borderless.sc-ds-data-search-h .data-search__control.sc-ds-data-search:not(:focus-within){--ds-interaction-border-width:0px}`;let j=0;const T=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsChange=a(this,"dsChange",3);this.dsFieldsChange=a(this,"dsFieldsChange",3);this.dsClear=a(this,"dsClear",3);this.hasBorder=true;this.value="";this.fields=[];this.selectedFieldIds=[];this.placeholder="Search";this.ariaLabel="Search table";this.clearLabel="Clear search";this.fieldMenuLabel="Choose search fields";this.isInactive=false;this.menuOpen=false;this.menuQuery="";this.activeIndex=0;this.focusRingVisible=false;this.position={x:0,y:0};this.positionReady=false;this.availableHeight=null;this.announcement="";this.componentId=`ds-data-search-${++j}`;this.inputId=`${this.componentId}-input`;this.listboxId=`${this.componentId}-listbox`;this.descriptionId=`${this.componentId}-description`;this.inputEl=null;this.controlEl=null;this.popupEl=null;this.positionController=new d({getAnchor:()=>this.controlEl,getPopup:()=>this.popupEl,getOwnerDocument:()=>this.el.ownerDocument,measure:(e,s)=>{if(!this.menuOpen||!s.isConnected)return null;const a=y(w.space050,w.space050);s.style.minWidth=`max(var(--ds-choice-popup-min-inline-size, ${w.menuWidthXs}), ${c(e.offsetWidth,a)}px)`;const t=e.getBoundingClientRect();return{anchorRect:t,popupWidth:s.offsetWidth,popupHeight:s.offsetHeight,side:"bottom",align:"start",sideOffsetPx:a,alignOffsetPx:n({align:"start",alignOffsetPx:0,sectionInsetPx:a}),viewportPadPx:a,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,collisionRect:o(e)}},apply:({x:e,y:s,availableHeight:a})=>{this.position={x:e,y:s};this.availableHeight=a},onReady:()=>{this.positionReady=true},topLayer:true,liveUpdate:"frame",observeResize:true,observeAnchorMotion:true});this.interactionController=new l({getAnchor:()=>this.controlEl,getPopup:()=>this.popupEl,getOwnerDocument:()=>this.el.ownerDocument,onOutsideActivation:()=>this.closeMenu()})}disconnectedCallback(){this.closeMenu()}syncAvailableFields(){const e=this.availableFields.length;if(e===0){this.closeMenu();return}if(this.activeIndex>=e)this.activeIndex=e-1}syncInactive(e){if(e)this.closeMenu()}async setFocus(){this.inputEl?.focus()}get selectedFields(){return k(this.searchFields,this.selectedFieldIds)}get availableFields(){return z(this.searchFields,this.selectedFieldIds)}get visibleFields(){return C(this.availableFields,this.menuQuery)}get searchFields(){return _(this.fields)}get activeOptionId(){return this.menuOpen&&this.activeIndex>=0?`${this.componentId}-option-${this.activeIndex}`:undefined}openMenu(e){if(this.isInactive||this.menuOpen||this.availableFields.length===0)return;this.menuQuery="";if(this.inputEl)this.inputEl.value="";this.activeIndex=0;this.focusRingVisible=e;this.positionReady=false;this.menuOpen=true;requestAnimationFrame((()=>{if(!this.menuOpen)return;this.interactionController.connect();this.positionController.observe();this.positionController.schedule()}))}closeMenu(){if(!this.menuOpen&&!this.popupEl)return;if(this.popupEl?.matches(":popover-open"))this.popupEl.hidePopover();this.positionController.unobserve();this.interactionController.disconnect();this.popupEl=null;this.positionReady=false;this.availableHeight=null;this.menuOpen=false;this.menuQuery=""}handleInput(e){const s=e.target.value;if(this.menuOpen){this.menuQuery=s;this.activeIndex=C(this.availableFields,s).length?0:-1;this.focusRingVisible=false;this.positionController.schedule();return}this.dsChange.emit(s)}selectField(e){this.dsFieldsChange.emit({selectedFieldIds:[...this.selectedFieldIds,e.id]});this.announcement=`${e.label} search field added.`;this.closeMenu();requestAnimationFrame((()=>this.inputEl?.focus({preventScroll:true})))}removeLastField(){const e=this.selectedFields;const s=e[e.length-1];if(!s)return;this.dsFieldsChange.emit({selectedFieldIds:this.selectedFieldIds.filter((e=>e!==s.id))});this.announcement=`${s.label} search field removed.`}removeField(e){this.dsFieldsChange.emit({selectedFieldIds:this.selectedFieldIds.filter((s=>s!==e.id))});this.announcement=`${e.label} search field removed.`;requestAnimationFrame((()=>this.inputEl?.focus({preventScroll:true})))}clearSearch(){if(this.value)this.dsChange.emit("");if(this.selectedFieldIds.length)this.dsFieldsChange.emit({selectedFieldIds:[]});this.dsClear.emit();this.announcement="Search cleared.";this.closeMenu();requestAnimationFrame((()=>this.inputEl?.focus({preventScroll:true})))}handleKeyDown(e){if(e.key==="/"&&!this.menuOpen&&!e.altKey&&!e.ctrlKey&&!e.metaKey){e.preventDefault();this.openMenu(true);return}if(e.key==="Backspace"&&this.menuOpen&&this.menuQuery.length===0){e.preventDefault();this.closeMenu();return}if(e.key==="Backspace"&&this.value.length===0){if(this.selectedFields.length){e.preventDefault();this.removeLastField()}return}if(!this.menuOpen)return;if(e.key==="Escape"){e.preventDefault();this.closeMenu();return}if(e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault();this.focusRingVisible=true;this.activeIndex=F(this.activeIndex,this.visibleFields.length,e.key==="ArrowDown"?1:-1);this.el.querySelector(`#${CSS.escape(this.activeOptionId??"")}`)?.scrollIntoView({block:"nearest"});return}if(e.key==="Enter"){const s=this.visibleFields[this.activeIndex];if(!s)return;e.preventDefault();this.selectField(s);return}if(e.key==="Tab")this.closeMenu()}render(){const e=this.selectedFields;const s=this.visibleFields;const a=this.menuOpen?this.menuQuery:this.value;const r=this.value.length>0||e.length>0;const d=e.length?`Search limited to ${e.map((e=>e.label)).join(" or ")}.`:"Search includes every available table field. Type slash to choose fields.";const o={position:"fixed",left:"0",top:"0",transform:`translate(${Math.round(this.position.x)}px, ${Math.round(this.position.y)}px)`,zIndex:"var(--dimension-z-index-floating)",visibility:this.positionReady?"visible":"hidden"};if(this.availableHeight!==null){o["max-height"]=`${Math.floor(this.availableHeight)}px`}return t(i,{key:"566e0057e13bcad53a83fbcf32cd3f4fcad8bd58",class:{"data-search-host":true,"data-search-host--borderless":!this.hasBorder,"ds-control--md":true,"ds-control-inactive":this.isInactive},"data-filled":r?"":undefined,"data-expanded":this.menuOpen?"":undefined},t("div",{key:"e0d3ad3a545cad8c2fe7335a1a8cb90a815d2ffa",ref:e=>{this.controlEl=e??null},class:"data-search__control ds-control-frame ds-control--md ds-interaction-fill"},t("span",{key:"edda7b7fbea2ccbab6a896daee8aa9551b725155",class:"data-search__icon ds-control-icon-box ds-interaction-fill__content","aria-hidden":"true"},t("ds-icon",{key:"1c9a1a88b8392bffeee9989565c4a67d5dfa78aa",name:"MagnifyingGlass",size:"md",color:"inherit"})),t("div",{key:"2c6112a7e0a38f8b1366aefdd84fe314cada6e5c",class:"data-search__editor ds-interaction-fill__content"},e.map((e=>t("ds-chip",{class:"data-search__chip",key:e.id,label:e.label,size:"md",state:"default",isInset:true,insetDepth:"double",isInactive:this.isInactive,onDsRemove:()=>this.removeField(e)}))),t("input",{key:"332e614186cf07e14d34132d86b94b300fa764a0",ref:e=>{this.inputEl=e??null},id:this.inputId,class:"data-search__input ds-text--body-medium ds-text--regular",type:"search",role:"combobox",value:a,placeholder:this.placeholder,disabled:this.isInactive,"aria-label":this.ariaLabel,"aria-describedby":this.descriptionId,"aria-haspopup":"listbox","aria-expanded":String(this.menuOpen),"aria-controls":this.menuOpen?this.listboxId:undefined,"aria-activedescendant":this.activeOptionId,"aria-keyshortcuts":"/",autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellcheck:false,onInput:e=>this.handleInput(e),onKeyDown:e=>this.handleKeyDown(e)})),a.length>0&&!this.isInactive&&t("ds-button-unfilled",{key:"fed1416bd953b2d8a71c81d4d6b091e47a86fa04",class:"data-search__clear ds-interaction-fill__content",variant:"icon",size:"sm",icon:"CrossCircle",hasBorder:false,rounded:true,ariaLabel:this.clearLabel,onDsClick:()=>this.clearSearch()})),t("span",{key:"d94514a983ebf6727c8075e5c5a0d24cda3d0a0d",id:this.descriptionId,class:"ds-visually-hidden"},d),t("span",{key:"6bdc2b6dc6ab2190bc5c0174afc39d012ac0a312",class:"ds-visually-hidden","aria-live":"polite"},this.announcement),this.menuOpen&&t("div",{key:"2cf6c2e16ad5c3e49367338d14ddfc22bcecd0db",popover:"manual",ref:e=>{this.popupEl=e??null},class:"data-search__popup ds-choice-popup",style:o},t("div",{key:"428869bfec9950e0af549ec76a1aba00e50d1eda",id:this.listboxId,class:"data-search__list ds-choice-list",role:"listbox","aria-label":this.fieldMenuLabel},s.map(((e,s)=>{const a=s===this.activeIndex;return t("div",{id:`${this.componentId}-option-${s}`,key:e.id,class:{"data-search__option":true,"ds-choice-item":true,"ds-control-frame":true,"ds-control--md":true,"ds-focus-ring-inset":true,"ds-focus-ring--visible":a&&this.focusRingVisible,"ds-interaction-fill":true,"ds-interaction-fill--selected":a},role:"option","aria-selected":String(a),onMouseDown:e=>e.preventDefault(),onMouseMove:()=>{this.focusRingVisible=false;this.activeIndex=s},onClick:()=>this.selectField(e)},t("ds-text",{class:"ds-choice-item__label ds-control-label-box ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:a?"primary":"secondary"},e.label))})),s.length===0&&t("div",{key:"99992a3df677bba8c76e72f353f5283a25306b74",class:"data-search__empty ds-choice-empty ds-empty-region"},t("ds-empty-state",{key:"63087602ea503c8cec58a40a0821ec47a64fb079",body:"No matching data points"})))))}get el(){return this}static get watchers(){return{columns:[{syncAvailableFields:0}],selectedFieldIds:[{syncAvailableFields:0}],isInactive:[{syncInactive:0}]}}static get style(){return I()}},[2,"ds-data-search",{hasBorder:[516,"has-border"],value:[1],fields:[16],selectedFieldIds:[16],placeholder:[1],ariaLabel:[1,"aria-label"],clearLabel:[1,"clear-label"],fieldMenuLabel:[1,"field-menu-label"],isInactive:[4,"is-inactive"],menuOpen:[32],menuQuery:[32],activeIndex:[32],focusRingVisible:[32],position:[32],positionReady:[32],availableHeight:[32],announcement:[32],setFocus:[64]},undefined,{columns:[{syncAvailableFields:0}],selectedFieldIds:[{syncAvailableFields:0}],isInactive:[{syncInactive:0}]}]);function $(){if(typeof customElements==="undefined"){return}const e=["ds-data-search","ds-badge","ds-button-unfilled","ds-chip","ds-empty-state","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-data-search":if(!customElements.get(r(e))){customElements.define(r(e),T)}break;case"ds-badge":if(!customElements.get(r(e))){p()}break;case"ds-button-unfilled":if(!customElements.get(r(e))){f()}break;case"ds-chip":if(!customElements.get(r(e))){v()}break;case"ds-empty-state":if(!customElements.get(r(e))){u()}break;case"ds-icon":if(!customElements.get(r(e))){m()}break;case"ds-loader":if(!customElements.get(r(e))){g()}break;case"ds-text":if(!customElements.get(r(e))){b()}break;case"ds-tooltip":if(!customElements.get(r(e))){x()}break}}))}$();const A=T;const S=$;export{A as DsDataSearch,S as defineCustomElement};
1
+ import{p as e,H as s,c as a,h as t,a as i,t as r}from"./index.js";import{A as d,r as o}from"./p-B8ZonS3S.js";import{A as c}from"./p-CwUXroLs.js";import{i as n}from"./p-aD5cw_m2.js";import{d as l}from"./p-CwdRaJER.js";import{d as h}from"./p-D6FRqNhN.js";import{d as p}from"./p-JBki_jyY.js";import{d as f}from"./p-CZNZTcYS.js";import{d as v}from"./p-DjkUFlDW.js";import{d as u}from"./p-0XTyQNRG.js";import{d as m}from"./p-D8OWhnID.js";import{d as g}from"./p-DIQiHX0q.js";import{r as b}from"./p-CochmPyg.js";import{T as x}from"./p-CeXf9-X3.js";import{c as y,r as w}from"./p-DhKvqh5G.js";function _(e){const s=[];const a=new Set;for(const t of e){if(n(t)||t.searchable===false)continue;const e=t.segments??[];if(e.length>0){for(const t of e){const e=t.sortKey.trim();const i=t.dataLabel?.trim()||t.label.trim()||e;if(!e||!i||t.searchable===false||a.has(e))continue;a.add(e);s.push({id:e,label:i})}continue}const i=t.id.trim();const r=t.dataLabel?.trim()||t.label.trim()||t.accessibleLabel?.trim()||i;if(!i||!r||a.has(i))continue;a.add(i);s.push({id:i,label:r})}return s}function k(e,s){const a=new Map(e.map((e=>[e.id,e])));const t=[];const i=new Set;for(const e of s){if(i.has(e))continue;const s=a.get(e);if(!s)continue;i.add(e);t.push(s)}return t}function z(e,s){const a=new Set(s);return e.filter((e=>!a.has(e.id)))}function F(e,s){const a=s.trim().toLocaleLowerCase();if(!a)return[...e];return e.filter((e=>`${e.label} ${e.id}`.toLocaleLowerCase().includes(a)))}function C(e,s,a){if(s<=0)return-1;const t=e>=0&&e<s?e:0;return(t+a+s)%s}const I=()=>`.sc-ds-data-search-h,.sc-ds-data-search:where(.ds-table),.sc-ds-data-search:where(.tooltip-popup),.sc-ds-data-search:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}@media (forced-colors: active){.sc-ds-data-search:root,.sc-ds-data-search-h,.ds-forced-colors-scope.sc-ds-data-search{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-data-search-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-data-search-h,.ds-focus-ring.sc-ds-data-search,.ds-focus-ring-inset.sc-ds-data-search-h,.ds-focus-ring-inset.sc-ds-data-search{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-data-search-h:focus-visible,.ds-focus-ring.sc-ds-data-search:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-data-search-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-data-search{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-data-search-h:focus-visible,.ds-focus-ring-inset.sc-ds-data-search:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-data-search-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-data-search:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-search-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-search{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-search-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-search::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-data-search-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-data-search:root,.sc-ds-data-search-h,.ds-forced-colors-scope.sc-ds-data-search{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}@media (forced-colors: active){.sc-ds-data-search:root,.sc-ds-data-search-h,.ds-forced-colors-scope.sc-ds-data-search{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-interaction-fill.sc-ds-data-search-h,.ds-interaction-fill.sc-ds-data-search{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent;--ds-interaction-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-data-search-h::before,.ds-interaction-fill.sc-ds-data-search::before,.ds-interaction-fill.sc-ds-data-search-h::after,.ds-interaction-fill.sc-ds-data-search::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-data-search-h::before,.ds-interaction-fill.sc-ds-data-search::before{z-index:1}.ds-interaction-fill.sc-ds-data-search-h::after,.ds-interaction-fill.sc-ds-data-search::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-data-search-h,.ds-interaction-fill--bordered.sc-ds-data-search{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-data-search-h::before,.ds-interaction-fill--selected.sc-ds-data-search::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-data-search-h,.ds-interaction-fill--selected.sc-ds-data-search{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-data-search-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-data-search:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-data-search-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-data-search:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-data-search-h::after,.ds-interaction-fill--grouped.sc-ds-data-search::after,.ds-interaction-fill--grouped.sc-ds-data-search-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-data-search:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-data-search-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-data-search:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-data-search-h,.ds-interaction-fill--grouped.sc-ds-data-search{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-data-search-h>.ds-interaction-fill__content.sc-ds-data-search,.ds-interaction-fill.sc-ds-data-search>.ds-interaction-fill__content.sc-ds-data-search,.ds-interaction-fill__content.sc-ds-data-search{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-data-search-h,.ds-interaction-fill--on-faint.sc-ds-data-search{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-data-search-h,.ds-interaction-fill--on-medium.sc-ds-data-search{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-data-search-h,.ds-interaction-fill--on-bold.sc-ds-data-search{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-data-search-h,.ds-interaction-fill--on-strong.sc-ds-data-search{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-data-search-h,.ds-interaction-fill--on-translucent.sc-ds-data-search{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-data-search-h,.ds-interaction-fill--on-inverted.sc-ds-data-search{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-data-search-h,.ds-interaction-fill--on-media.sc-ds-data-search{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-data-search-h,.ds-interaction-fill--on-always-dark.sc-ds-data-search{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-chrome.sc-ds-data-search-h,.ds-interaction-fill--on-chrome.sc-ds-data-search{--ds-interaction-hover:var(--color-chrome-interaction-hover);--ds-interaction-pressed:var(--color-chrome-interaction-pressed);--ds-interaction-active:var(--color-chrome-interaction-active);--ds-focus-ring-color:var(--color-chrome-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-data-search-h,.ds-interaction-fill--on-navigation.sc-ds-data-search{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-data-search-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-data-search:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-data-search-h::after,.ds-interaction-fill.sc-ds-data-search::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-data-search-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-data-search:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-data-search-h::before,.ds-interaction-fill--selected.sc-ds-data-search::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-data-search-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-data-search:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-data-search:root,.sc-ds-data-search-h,.ds-forced-colors-scope.sc-ds-data-search{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-control-inactive.sc-ds-data-search-h,.ds-control-inactive.sc-ds-data-search{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-data-search-h,.ds-control-inactive.sc-ds-data-search{color:var(--ds-forced-color-disabled);opacity:1}}.ds-control--lg.sc-ds-data-search,.ds-control--lg.sc-ds-data-search-h,.ds-control--md.sc-ds-data-search-h,.ds-control--md.sc-ds-data-search,.ds-control--sm.sc-ds-data-search-h,.ds-control--sm.sc-ds-data-search,.ds-control--xs.sc-ds-data-search-h,.ds-control--xs.sc-ds-data-search{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-data-search-h,.ds-control--lg.sc-ds-data-search{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-data-search-h,.ds-control--md.sc-ds-data-search{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-data-search-h,.ds-control--sm.sc-ds-data-search{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-data-search-h,.ds-control--xs.sc-ds-data-search{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-space--sm.sc-ds-data-search-h,.ds-chrome-space--sm.sc-ds-data-search{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-data-search-h,.ds-chrome-space--md.sc-ds-data-search{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-data-search-h,.ds-chrome-space--lg.sc-ds-data-search{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-data-search-h,.ds-chrome-row.sc-ds-data-search,.ds-chrome-column.sc-ds-data-search-h,.ds-chrome-column.sc-ds-data-search,.ds-chrome-grid.sc-ds-data-search-h,.ds-chrome-grid.sc-ds-data-search{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-data-search-h,.ds-chrome-row.sc-ds-data-search{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-data-search-h,.ds-chrome-column.sc-ds-data-search{flex-direction:column}.ds-chrome-grid.sc-ds-data-search-h,.ds-chrome-grid.sc-ds-data-search{display:grid;align-items:center}.ds-control-frame.sc-ds-data-search{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.ds-control-section-heading.sc-ds-data-search{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-control-icon-box.sc-ds-data-search{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md))}.ds-control-label-box.sc-ds-data-search{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-data-search{position:relative;padding-inline-end:calc( var(--ds-control-label-inset, var(--dimension-space-025)) + var(--ds-control-gap, var(--dimension-space-050)) )}.ds-control-label-dot__badge.sc-ds-data-search{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-empty-region.sc-ds-data-search{display:flex;flex:1 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:0}.ds-empty-region--padded.sc-ds-data-search{padding:var(--dimension-space-200)}.sc-ds-data-search:where(.ds-text-decoration,.ds-text-action).sc-ds-data-search{text-decoration-color:var(--ds-text-decoration-color, var(--color-foreground-tertiary));text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}.ds-text-action.sc-ds-data-search{--ds-text-action-foreground:var(--color-foreground-bold-brand);--ds-text-decoration-color:var(--ds-text-action-foreground);color:var(--ds-text-action-foreground);text-decoration-line:none}.ds-text-action--on-medium.sc-ds-data-search{--ds-text-action-foreground:var(--color-foreground-on-medium-background-primary);--ds-text-decoration-color:var(--color-foreground-on-medium-background-secondary);text-decoration-line:underline}.ds-text-action--on-strong.sc-ds-data-search{--ds-text-action-foreground:var(--color-foreground-on-strong-background-primary);--ds-text-decoration-color:var(--color-foreground-on-strong-background-secondary);text-decoration-line:underline}.ds-text-action--on-bold.sc-ds-data-search{--ds-text-action-foreground:var(--color-foreground-on-bold-background-primary);--ds-text-decoration-color:var(--color-foreground-on-bold-background-secondary);text-decoration-line:underline}@media (hover: hover) and (pointer: fine){.ds-text-action.sc-ds-data-search:hover{text-decoration-line:underline}}@media (forced-colors: active){.ds-text-action.sc-ds-data-search{text-decoration-line:underline;text-decoration-color:currentcolor}}.ds-choice-popup.sc-ds-data-search{box-sizing:border-box;display:flex;flex-direction:column;min-width:var(--ds-choice-popup-min-inline-size, var(--dimension-menu-width-xs));max-width:min(var(--dimension-panel-width-lg), calc(100vw - var(--dimension-space-200)));max-height:calc(100vh - var(--dimension-space-200));overflow:hidden;inset:auto;margin:0;padding:0;border:0;background-color:var(--color-background-primary);border-radius:var(--ds-radius-menu);box-shadow:var(--effect-shadow-elevated-floating);color:var(--color-foreground-secondary);animation:dsChoiceFadeIn var(--effect-motion-short-2) forwards;backface-visibility:hidden;will-change:transform;text-align:start}.ds-choice-popup.sc-ds-data-search::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--effect-highlight-elevated-floating)}.ds-choice-popup--closing.sc-ds-data-search{animation:dsChoiceFadeOut var(--effect-motion-short-2) forwards}@keyframes dsChoiceFadeIn{from{opacity:0;transform:inherit scale(0.97)}to{opacity:1}}@keyframes dsChoiceFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.ds-choice-popup.sc-ds-data-search{animation:none;opacity:1}.ds-choice-popup--closing.sc-ds-data-search{opacity:0}}@media (forced-colors: active){.ds-choice-popup.sc-ds-data-search{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}.ds-choice-popup.sc-ds-data-search::after{box-shadow:none}}.ds-choice-list.sc-ds-data-search{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ds-choice-section--divided.sc-ds-data-search{border-bottom:var(--dimension-stroke-width-015) solid var(--color-border-tertiary)}ds-text.ds-choice-section__header.sc-ds-data-search{text-align:start;-webkit-user-select:none;user-select:none}.ds-choice-section--headed-after-first.sc-ds-data-search{margin-block-start:var(--dimension-space-050)}.select-option-row.sc-ds-data-search{display:flex;flex-direction:column;min-width:0}.ds-choice-item.sc-ds-data-search{width:100%;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));background:transparent;cursor:default;-webkit-user-select:none;user-select:none;text-align:left;color:inherit}.ds-choice-item.sc-ds-data-search:has(.ds-choice-item__subtext){height:auto;min-height:var(--ds-control-height, var(--dimension-size-400));padding-block:var(--ds-control-padding-inline, var(--dimension-space-075));align-items:flex-start}.ds-choice-item.ds-control--xs.sc-ds-data-search:has(.ds-choice-item__subtext){padding-block:0}.ds-choice-item__content.sc-ds-data-search{display:flex;flex:1;flex-direction:column;gap:var(--dimension-space-025);min-width:0}ds-text.ds-choice-item__label.sc-ds-data-search{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ds-text.ds-choice-item__subtext.sc-ds-data-search{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ds-choice-item__icon.sc-ds-data-search,.ds-choice-item__suffix.sc-ds-data-search{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.ds-choice-item.ds-interaction-fill--selected.sc-ds-data-search .ds-choice-item__icon.sc-ds-data-search{color:var(--color-foreground-primary)}.ds-choice-item__tag.sc-ds-data-search{flex-shrink:0;pointer-events:none}.ds-choice-empty.sc-ds-data-search,.ds-choice-loading.sc-ds-data-search{min-height:var(--dimension-size-600);padding:var(--dimension-space-100)}.ds-choice-footer.sc-ds-data-search{position:relative;box-sizing:border-box;padding-block:var(--dimension-space-050)}.ds-choice-footer.sc-ds-data-search::before{content:'';position:absolute;inset:0 0 auto;height:var(--dimension-stroke-width-012);background-color:var(--color-border-tertiary);pointer-events:none}.ds-choice-footer__content.sc-ds-data-search{display:flex;align-items:center;justify-content:space-between;column-gap:var(--dimension-space-050);box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400))}.ds-choice-footer__summary.sc-ds-data-search,.ds-choice-footer__summary-measure.sc-ds-data-search,.ds-choice-footer__clear.sc-ds-data-search ds-text.sc-ds-data-search,.ds-choice-footer__action.sc-ds-data-search ds-text.sc-ds-data-search{padding-inline:calc( var(--dimension-space-050) + var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-choice-footer__summary.sc-ds-data-search,.ds-choice-footer__summary-measure.sc-ds-data-search,.ds-choice-footer__clear.sc-ds-data-search,.ds-choice-footer__action.sc-ds-data-search{white-space:nowrap}.ds-choice-footer__summary-measure.sc-ds-data-search{position:absolute;visibility:hidden;pointer-events:none}.ds-choice-footer__clear.sc-ds-data-search,.ds-choice-footer__action.sc-ds-data-search{appearance:none;display:inline-flex;align-items:center;padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;cursor:default}@media (forced-colors: active){.ds-choice-section--divided.sc-ds-data-search{border-bottom-color:var(--ds-forced-color-content)}.ds-choice-footer.sc-ds-data-search::before{background-color:var(--ds-forced-color-content)}}.ds-control--lg.ds-control--inset.sc-ds-data-search-h,.ds-control--lg.ds-control--inset.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-100) - var(--dimension-space-025))}.ds-control--md.ds-control--inset.sc-ds-data-search-h,.ds-control--md.ds-control--inset.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-075) - var(--dimension-space-025))}.ds-control--sm.ds-control--inset.sc-ds-data-search-h,.ds-control--sm.ds-control--inset.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-050) - var(--dimension-space-025))}.ds-control--xs.ds-control--inset.sc-ds-data-search-h,.ds-control--xs.ds-control--inset.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-200) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-025) - var(--dimension-space-025))}.ds-control--lg.ds-control--inset-double.sc-ds-data-search-h,.ds-control--lg.ds-control--inset-double.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-100) - var(--dimension-space-050))}.ds-control--md.ds-control--inset-double.sc-ds-data-search-h,.ds-control--md.ds-control--inset-double.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-075) - var(--dimension-space-050))}.ds-control--sm.ds-control--inset-double.sc-ds-data-search-h,.ds-control--sm.ds-control--inset-double.sc-ds-data-search{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-050) - var(--dimension-space-050))}.ds-text--display-medium.sc-ds-data-search-h,.ds-text--display-medium.sc-ds-data-search{font-size:var(--typography-fontsize-3xl);line-height:var(--typography-lineheight-3xl)}.ds-text--display-small.sc-ds-data-search-h,.ds-text--display-small.sc-ds-data-search{font-size:var(--typography-fontsize-2xl);line-height:var(--typography-lineheight-2xl)}.ds-text--title-large.sc-ds-data-search-h,.ds-text--title-large.sc-ds-data-search{font-size:var(--typography-fontsize-xl);line-height:var(--typography-lineheight-xl)}.ds-text--title-medium.sc-ds-data-search-h,.ds-text--title-medium.sc-ds-data-search{font-size:var(--typography-fontsize-lg);line-height:var(--typography-lineheight-lg)}.ds-text--title-small.sc-ds-data-search-h,.ds-text--title-small.sc-ds-data-search{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md)}.ds-text--body-large.sc-ds-data-search-h,.ds-text--body-large.sc-ds-data-search{font-size:var(--typography-fontsize-lg);line-height:var(--typography-lineheight-lg)}.ds-text--body-medium.sc-ds-data-search-h,.ds-text--body-medium.sc-ds-data-search{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md)}.ds-text--body-small.sc-ds-data-search-h,.ds-text--body-small.sc-ds-data-search{font-size:var(--typography-fontsize-sm);line-height:var(--typography-lineheight-sm)}.ds-text--caption.sc-ds-data-search-h,.ds-text--caption.sc-ds-data-search{font-size:var(--typography-fontsize-xs);line-height:var(--typography-lineheight-xs);text-transform:uppercase}.ds-text--display-medium.ds-text--emphasis.sc-ds-data-search-h,.ds-text--display-small.ds-text--emphasis.sc-ds-data-search-h,.ds-text--display-medium.ds-text--emphasis.sc-ds-data-search,.ds-text--display-small.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-bold);letter-spacing:var(--typography-letterspacing-negative-double)}.ds-text--display-medium.ds-text--regular.sc-ds-data-search-h,.ds-text--display-small.ds-text--regular.sc-ds-data-search-h,.ds-text--display-medium.ds-text--regular.sc-ds-data-search,.ds-text--display-small.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--title-large.ds-text--emphasis.sc-ds-data-search-h,.ds-text--title-large.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-negative-double)}.ds-text--title-large.ds-text--regular.sc-ds-data-search-h,.ds-text--title-large.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--title-medium.ds-text--emphasis.sc-ds-data-search-h,.ds-text--title-small.ds-text--emphasis.sc-ds-data-search-h,.ds-text--title-medium.ds-text--emphasis.sc-ds-data-search,.ds-text--title-small.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--title-medium.ds-text--regular.sc-ds-data-search-h,.ds-text--title-small.ds-text--regular.sc-ds-data-search-h,.ds-text--title-medium.ds-text--regular.sc-ds-data-search,.ds-text--title-small.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative-half)}.ds-text--body-large.ds-text--emphasis.sc-ds-data-search-h,.ds-text--body-medium.ds-text--emphasis.sc-ds-data-search-h,.ds-text--body-large.ds-text--emphasis.sc-ds-data-search,.ds-text--body-medium.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--body-large.ds-text--regular.sc-ds-data-search-h,.ds-text--body-medium.ds-text--regular.sc-ds-data-search-h,.ds-text--body-large.ds-text--regular.sc-ds-data-search,.ds-text--body-medium.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-regular);letter-spacing:var(--typography-letterspacing-negative-half)}.ds-text--body-small.ds-text--emphasis.sc-ds-data-search-h,.ds-text--body-small.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative-half)}.ds-text--body-small.ds-text--regular.sc-ds-data-search-h,.ds-text--body-small.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-regular);letter-spacing:var(--typography-letterspacing-none)}.ds-text--caption.ds-text--emphasis.sc-ds-data-search-h,.ds-text--caption.ds-text--emphasis.sc-ds-data-search{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-positive)}.ds-text--caption.ds-text--regular.sc-ds-data-search-h,.ds-text--caption.ds-text--regular.sc-ds-data-search{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-positive)}.ds-visually-hidden.sc-ds-data-search-h,.ds-visually-hidden.sc-ds-data-search{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.data-search-host.sc-ds-data-search-h{display:inline-flex;box-sizing:border-box;inline-size:100%;min-inline-size:0;--ds-data-search-foreground:var(--color-foreground-primary);--ds-data-search-adornment:var(--color-foreground-secondary);--ds-data-search-placeholder:var(--color-foreground-secondary);--ds-data-search-placeholder-active:var(--color-foreground-quaternary);--ds-data-search-border:var(--color-border-secondary)}.data-search__control.sc-ds-data-search{inline-size:100%;min-inline-size:0;padding-inline-end:var(--dimension-space-050);overflow:hidden;border:0;background:transparent;color:var(--ds-data-search-foreground);--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--ds-data-search-border)}.data-search__control.sc-ds-data-search:focus-within{--ds-interaction-border-width:var(--dimension-stroke-width-018);--ds-interaction-border-color:var(--color-border-bold-brand)}.ds-control-inactive.sc-ds-data-search-h .data-search__control.sc-ds-data-search::after{background:transparent}.data-search__icon.sc-ds-data-search,.data-search__clear.sc-ds-data-search{position:relative;z-index:2;flex:none}.data-search__icon.sc-ds-data-search{color:var(--ds-data-search-adornment)}.data-search__editor.sc-ds-data-search{position:relative;z-index:2;display:flex;flex:1 1 auto;align-items:center;min-inline-size:0;block-size:100%;gap:var(--dimension-space-050);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.data-search__editor.sc-ds-data-search::-webkit-scrollbar{display:none}.data-search__chip.sc-ds-data-search{flex:none;max-inline-size:var(--dimension-panel-width-2xs)}.data-search__input.sc-ds-data-search{appearance:none;box-sizing:border-box;flex:1 0 var(--dimension-size-600);min-inline-size:var(--dimension-size-600);block-size:100%;margin:0;padding:0;border:0;outline:0;background:transparent;color:var(--ds-data-search-foreground);text-overflow:ellipsis}.data-search__input.sc-ds-data-search::-webkit-search-cancel-button,.data-search__input.sc-ds-data-search::-webkit-search-decoration{display:none}.data-search__input.sc-ds-data-search::placeholder{color:var(--ds-data-search-placeholder)}.data-search__input.sc-ds-data-search:focus::placeholder{color:var(--ds-data-search-placeholder-active)}.data-search__popup.sc-ds-data-search{--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs)}.data-search__list.sc-ds-data-search{padding:var(--dimension-space-050)}.data-search__option.sc-ds-data-search{flex:none;inline-size:100%}@media (forced-colors: active){.data-search__control.sc-ds-data-search:focus-within::after{outline-color:var(--ds-forced-color-selected)}}.data-search-host--borderless.sc-ds-data-search-h .data-search__control.sc-ds-data-search:not(:focus-within){--ds-interaction-border-width:0px}`;let j=0;const T=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsChange=a(this,"dsChange",3);this.dsFieldsChange=a(this,"dsFieldsChange",3);this.dsClear=a(this,"dsClear",3);this.hasBorder=true;this.value="";this.fields=[];this.selectedFieldIds=[];this.placeholder="Search";this.ariaLabel="Search table";this.clearLabel="Clear search";this.fieldMenuLabel="Choose search fields";this.isInactive=false;this.menuOpen=false;this.menuQuery="";this.activeIndex=0;this.focusRingVisible=false;this.position={x:0,y:0};this.positionReady=false;this.availableHeight=null;this.announcement="";this.componentId=`ds-data-search-${++j}`;this.inputId=`${this.componentId}-input`;this.listboxId=`${this.componentId}-listbox`;this.descriptionId=`${this.componentId}-description`;this.inputEl=null;this.controlEl=null;this.popupEl=null;this.positionController=new d({getAnchor:()=>this.controlEl,getPopup:()=>this.popupEl,getOwnerDocument:()=>this.el.ownerDocument,measure:(e,s)=>{if(!this.menuOpen||!s.isConnected)return null;const a=b(x.space050,x.space050);s.style.minWidth=`max(var(--ds-choice-popup-min-inline-size, ${x.menuWidthXs}), ${y(e.offsetWidth,a)}px)`;const t=e.getBoundingClientRect();return{anchorRect:t,popupWidth:s.offsetWidth,popupHeight:s.offsetHeight,side:"bottom",align:"start",sideOffsetPx:a,alignOffsetPx:w({align:"start",alignOffsetPx:0,sectionInsetPx:a}),viewportPadPx:a,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,collisionRect:o(e)}},apply:({x:e,y:s,availableHeight:a})=>{this.position={x:e,y:s};this.availableHeight=a},onReady:()=>{this.positionReady=true},topLayer:true,liveUpdate:"frame",observeResize:true,observeAnchorMotion:true});this.interactionController=new c({getAnchor:()=>this.controlEl,getPopup:()=>this.popupEl,getOwnerDocument:()=>this.el.ownerDocument,onOutsideActivation:()=>this.closeMenu()})}disconnectedCallback(){this.closeMenu()}syncAvailableFields(){const e=this.availableFields.length;if(e===0){this.closeMenu();return}if(this.activeIndex>=e)this.activeIndex=e-1}syncInactive(e){if(e)this.closeMenu()}async setFocus(){this.inputEl?.focus()}get selectedFields(){return k(this.searchFields,this.selectedFieldIds)}get availableFields(){return z(this.searchFields,this.selectedFieldIds)}get visibleFields(){return F(this.availableFields,this.menuQuery)}get searchFields(){return _(this.fields)}get activeOptionId(){return this.menuOpen&&this.activeIndex>=0?`${this.componentId}-option-${this.activeIndex}`:undefined}openMenu(e){if(this.isInactive||this.menuOpen||this.availableFields.length===0)return;this.menuQuery="";if(this.inputEl)this.inputEl.value="";this.activeIndex=0;this.focusRingVisible=e;this.positionReady=false;this.menuOpen=true;requestAnimationFrame((()=>{if(!this.menuOpen)return;this.interactionController.connect();this.positionController.observe();this.positionController.schedule()}))}closeMenu(){if(!this.menuOpen&&!this.popupEl)return;if(this.popupEl?.matches(":popover-open"))this.popupEl.hidePopover();this.positionController.unobserve();this.interactionController.disconnect();this.popupEl=null;this.positionReady=false;this.availableHeight=null;this.menuOpen=false;this.menuQuery=""}handleInput(e){const s=e.target.value;if(this.menuOpen){this.menuQuery=s;this.activeIndex=F(this.availableFields,s).length?0:-1;this.focusRingVisible=false;this.positionController.schedule();return}this.dsChange.emit(s)}selectField(e){this.dsFieldsChange.emit({selectedFieldIds:[...this.selectedFieldIds,e.id]});this.announcement=`${e.label} search field added.`;this.closeMenu();requestAnimationFrame((()=>this.inputEl?.focus({preventScroll:true})))}removeLastField(){const e=this.selectedFields;const s=e[e.length-1];if(!s)return;this.dsFieldsChange.emit({selectedFieldIds:this.selectedFieldIds.filter((e=>e!==s.id))});this.announcement=`${s.label} search field removed.`}removeField(e){this.dsFieldsChange.emit({selectedFieldIds:this.selectedFieldIds.filter((s=>s!==e.id))});this.announcement=`${e.label} search field removed.`;requestAnimationFrame((()=>this.inputEl?.focus({preventScroll:true})))}clearSearch(){if(this.value)this.dsChange.emit("");if(this.selectedFieldIds.length)this.dsFieldsChange.emit({selectedFieldIds:[]});this.dsClear.emit();this.announcement="Search cleared.";this.closeMenu();requestAnimationFrame((()=>this.inputEl?.focus({preventScroll:true})))}handleKeyDown(e){if(e.key==="/"&&!this.menuOpen&&!e.altKey&&!e.ctrlKey&&!e.metaKey){e.preventDefault();this.openMenu(true);return}if(e.key==="Backspace"&&this.menuOpen&&this.menuQuery.length===0){e.preventDefault();this.closeMenu();return}if(e.key==="Backspace"&&this.value.length===0){if(this.selectedFields.length){e.preventDefault();this.removeLastField()}return}if(!this.menuOpen)return;if(e.key==="Escape"){e.preventDefault();this.closeMenu();return}if(e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault();this.focusRingVisible=true;this.activeIndex=C(this.activeIndex,this.visibleFields.length,e.key==="ArrowDown"?1:-1);this.el.querySelector(`#${CSS.escape(this.activeOptionId??"")}`)?.scrollIntoView({block:"nearest"});return}if(e.key==="Enter"){const s=this.visibleFields[this.activeIndex];if(!s)return;e.preventDefault();this.selectField(s);return}if(e.key==="Tab")this.closeMenu()}render(){const e=this.selectedFields;const s=this.visibleFields;const a=this.menuOpen?this.menuQuery:this.value;const r=this.value.length>0||e.length>0;const d=e.length?`Search limited to ${e.map((e=>e.label)).join(" or ")}.`:"Search includes every available table field. Type slash to choose fields.";const o={position:"fixed",left:"0",top:"0",transform:`translate(${Math.round(this.position.x)}px, ${Math.round(this.position.y)}px)`,zIndex:"var(--dimension-z-index-floating)",visibility:this.positionReady?"visible":"hidden"};if(this.availableHeight!==null){o["max-height"]=`${Math.floor(this.availableHeight)}px`}return t(i,{key:"0b2b135831443cabdfaad58744a1b76be62933e4",class:{"data-search-host":true,"data-search-host--borderless":!this.hasBorder,"ds-control--md":true,"ds-control-inactive":this.isInactive},"data-filled":r?"":undefined,"data-expanded":this.menuOpen?"":undefined},t("div",{key:"7964080281efdfc86d1592335cf3c0981742b709",ref:e=>{this.controlEl=e??null},class:"data-search__control ds-control-frame ds-control--md ds-interaction-fill"},t("span",{key:"1b3c7740deaa99111c84b81a53158282abd18e13",class:"data-search__icon ds-control-icon-box ds-interaction-fill__content","aria-hidden":"true"},t("ds-icon",{key:"c1a4524d67b37b3426b3e8b3d6568f0eca812cba",name:"MagnifyingGlass",size:"md",color:"inherit"})),t("div",{key:"bfd53381ebb8d0a9dcb4f57decc594635a30f85d",class:"data-search__editor ds-interaction-fill__content"},e.map((e=>t("ds-chip",{class:"data-search__chip",key:e.id,label:e.label,size:"md",state:"default",isInset:true,insetDepth:"double",isInactive:this.isInactive,onDsRemove:()=>this.removeField(e)}))),t("input",{key:"1caee6c39b2b8e2b0dc48b1f0a08a36653593f3d",ref:e=>{this.inputEl=e??null},id:this.inputId,class:"data-search__input ds-text--body-medium ds-text--regular",type:"search",role:"combobox",value:a,placeholder:this.placeholder,disabled:this.isInactive,"aria-label":this.ariaLabel,"aria-describedby":this.descriptionId,"aria-haspopup":"listbox","aria-expanded":String(this.menuOpen),"aria-controls":this.menuOpen?this.listboxId:undefined,"aria-activedescendant":this.activeOptionId,"aria-keyshortcuts":"/",autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellcheck:false,onInput:e=>this.handleInput(e),onKeyDown:e=>this.handleKeyDown(e)})),a.length>0&&!this.isInactive&&t("ds-button-unfilled",{key:"b46f94c6e7c1ee40688ab2a56a89fed85526cd2f",class:"data-search__clear ds-interaction-fill__content",variant:"icon",size:"sm",icon:"CrossCircle",hasBorder:false,rounded:true,ariaLabel:this.clearLabel,onDsClick:()=>this.clearSearch()})),t("span",{key:"89e1d0ba0515f155c1f46230b5a88e2952e93de2",id:this.descriptionId,class:"ds-visually-hidden"},d),t("span",{key:"efefe1278f108abc7041c7ef2f74278fc4828065",class:"ds-visually-hidden","aria-live":"polite"},this.announcement),this.menuOpen&&t("div",{key:"44a296a249f6c353bd771a5ac98c672756f4be20",popover:"manual",ref:e=>{this.popupEl=e??null},class:"data-search__popup ds-choice-popup",style:o},t("div",{key:"84a8d715fbfa80c20e9c8c85d8264b9b07452778",id:this.listboxId,class:"data-search__list ds-choice-list",role:"listbox","aria-label":this.fieldMenuLabel},s.map(((e,s)=>{const a=s===this.activeIndex;return t("div",{id:`${this.componentId}-option-${s}`,key:e.id,class:{"data-search__option":true,"ds-choice-item":true,"ds-control-frame":true,"ds-control--md":true,"ds-focus-ring-inset":true,"ds-focus-ring--visible":a&&this.focusRingVisible,"ds-interaction-fill":true,"ds-interaction-fill--selected":a},role:"option","aria-selected":String(a),onMouseDown:e=>e.preventDefault(),onMouseMove:()=>{this.focusRingVisible=false;this.activeIndex=s},onClick:()=>this.selectField(e)},t("ds-text",{class:"ds-choice-item__label ds-control-label-box ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:a?"primary":"secondary"},e.label))})),s.length===0&&t("div",{key:"526b4f14539d6730ee29a2b8dbc37ea68945903a",class:"data-search__empty ds-choice-empty ds-empty-region"},t("ds-empty-state",{key:"1f7eeeebac25132cde32050d5c582b9a68718050",body:"No matching data points"})))))}get el(){return this}static get watchers(){return{columns:[{syncAvailableFields:0}],selectedFieldIds:[{syncAvailableFields:0}],isInactive:[{syncInactive:0}]}}static get style(){return I()}},[2,"ds-data-search",{hasBorder:[516,"has-border"],value:[1],fields:[16],selectedFieldIds:[16],placeholder:[1],ariaLabel:[1,"aria-label"],clearLabel:[1,"clear-label"],fieldMenuLabel:[1,"field-menu-label"],isInactive:[4,"is-inactive"],menuOpen:[32],menuQuery:[32],activeIndex:[32],focusRingVisible:[32],position:[32],positionReady:[32],availableHeight:[32],announcement:[32],setFocus:[64]},undefined,{columns:[{syncAvailableFields:0}],selectedFieldIds:[{syncAvailableFields:0}],isInactive:[{syncInactive:0}]}]);function $(){if(typeof customElements==="undefined"){return}const e=["ds-data-search","ds-badge","ds-button-unfilled","ds-chip","ds-empty-state","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-data-search":if(!customElements.get(r(e))){customElements.define(r(e),T)}break;case"ds-badge":if(!customElements.get(r(e))){l()}break;case"ds-button-unfilled":if(!customElements.get(r(e))){h()}break;case"ds-chip":if(!customElements.get(r(e))){p()}break;case"ds-empty-state":if(!customElements.get(r(e))){f()}break;case"ds-icon":if(!customElements.get(r(e))){v()}break;case"ds-loader":if(!customElements.get(r(e))){u()}break;case"ds-text":if(!customElements.get(r(e))){m()}break;case"ds-tooltip":if(!customElements.get(r(e))){g()}break}}))}$();const S=T;const A=$;export{S as DsDataSearch,A as defineCustomElement};
2
2
  //# sourceMappingURL=ds-data-search.js.map