@backstage/ui 0.18.0 → 0.19.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 (263) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/analytics/getNodeText.esm.js.map +1 -1
  3. package/dist/analytics/useAnalytics.esm.js.map +1 -1
  4. package/dist/components/Accordion/Accordion.esm.js.map +1 -1
  5. package/dist/components/Accordion/Accordion.module.css.esm.js +2 -2
  6. package/dist/components/Accordion/Accordion.module.css.esm.js.map +1 -1
  7. package/dist/components/Accordion/definition.esm.js.map +1 -1
  8. package/dist/components/Alert/Alert.esm.js.map +1 -1
  9. package/dist/components/Alert/Alert.module.css.esm.js +2 -2
  10. package/dist/components/Alert/Alert.module.css.esm.js.map +1 -1
  11. package/dist/components/Alert/definition.esm.js.map +1 -1
  12. package/dist/components/Avatar/Avatar.esm.js.map +1 -1
  13. package/dist/components/Avatar/Avatar.module.css.esm.js +2 -2
  14. package/dist/components/Avatar/Avatar.module.css.esm.js.map +1 -1
  15. package/dist/components/Avatar/definition.esm.js.map +1 -1
  16. package/dist/components/Badge/Badge.esm.js.map +1 -1
  17. package/dist/components/Badge/Badge.module.css.esm.js +2 -2
  18. package/dist/components/Badge/Badge.module.css.esm.js.map +1 -1
  19. package/dist/components/Badge/definition.esm.js.map +1 -1
  20. package/dist/components/Box/Box.esm.js.map +1 -1
  21. package/dist/components/Box/Box.module.css.esm.js +2 -2
  22. package/dist/components/Box/Box.module.css.esm.js.map +1 -1
  23. package/dist/components/Box/definition.esm.js.map +1 -1
  24. package/dist/components/Button/Button.esm.js.map +1 -1
  25. package/dist/components/Button/Button.module.css.esm.js +2 -2
  26. package/dist/components/Button/Button.module.css.esm.js.map +1 -1
  27. package/dist/components/Button/definition.esm.js.map +1 -1
  28. package/dist/components/ButtonIcon/ButtonIcon.esm.js.map +1 -1
  29. package/dist/components/ButtonIcon/ButtonIcon.module.css.esm.js +2 -2
  30. package/dist/components/ButtonIcon/ButtonIcon.module.css.esm.js.map +1 -1
  31. package/dist/components/ButtonIcon/definition.esm.js.map +1 -1
  32. package/dist/components/ButtonLink/ButtonLink.esm.js.map +1 -1
  33. package/dist/components/ButtonLink/ButtonLink.module.css.esm.js +2 -2
  34. package/dist/components/ButtonLink/ButtonLink.module.css.esm.js.map +1 -1
  35. package/dist/components/ButtonLink/definition.esm.js.map +1 -1
  36. package/dist/components/Card/Card.esm.js.map +1 -1
  37. package/dist/components/Card/Card.module.css.esm.js +2 -2
  38. package/dist/components/Card/Card.module.css.esm.js.map +1 -1
  39. package/dist/components/Card/definition.esm.js.map +1 -1
  40. package/dist/components/Checkbox/Checkbox.esm.js.map +1 -1
  41. package/dist/components/Checkbox/Checkbox.module.css.esm.js +2 -2
  42. package/dist/components/Checkbox/Checkbox.module.css.esm.js.map +1 -1
  43. package/dist/components/Checkbox/definition.esm.js.map +1 -1
  44. package/dist/components/CheckboxGroup/CheckboxGroup.esm.js.map +1 -1
  45. package/dist/components/CheckboxGroup/CheckboxGroup.module.css.esm.js +2 -2
  46. package/dist/components/CheckboxGroup/CheckboxGroup.module.css.esm.js.map +1 -1
  47. package/dist/components/CheckboxGroup/definition.esm.js.map +1 -1
  48. package/dist/components/Combobox/Combobox.esm.js +72 -10
  49. package/dist/components/Combobox/Combobox.esm.js.map +1 -1
  50. package/dist/components/Combobox/Combobox.module.css.esm.js +2 -2
  51. package/dist/components/Combobox/Combobox.module.css.esm.js.map +1 -1
  52. package/dist/components/Combobox/ComboboxInput.esm.js.map +1 -1
  53. package/dist/components/Combobox/ComboboxItem.esm.js.map +1 -1
  54. package/dist/components/Combobox/ComboboxListBox.esm.js +11 -34
  55. package/dist/components/Combobox/ComboboxListBox.esm.js.map +1 -1
  56. package/dist/components/Combobox/definition.esm.js +1 -1
  57. package/dist/components/Combobox/definition.esm.js.map +1 -1
  58. package/dist/components/Combobox/useAsyncComboboxState.esm.js.map +1 -1
  59. package/dist/components/Container/Container.esm.js.map +1 -1
  60. package/dist/components/Container/Container.module.css.esm.js +2 -2
  61. package/dist/components/Container/Container.module.css.esm.js.map +1 -1
  62. package/dist/components/Container/definition.esm.js.map +1 -1
  63. package/dist/components/DatePicker/DatePicker.esm.js.map +1 -1
  64. package/dist/components/DatePicker/DatePicker.module.css.esm.js +2 -2
  65. package/dist/components/DatePicker/DatePicker.module.css.esm.js.map +1 -1
  66. package/dist/components/DatePicker/DatePickerCalendar.esm.js.map +1 -1
  67. package/dist/components/DatePicker/DatePickerGroup.esm.js.map +1 -1
  68. package/dist/components/DatePicker/definition.esm.js.map +1 -1
  69. package/dist/components/DateRangePicker/DateRangePicker.esm.js.map +1 -1
  70. package/dist/components/DateRangePicker/DateRangePicker.module.css.esm.js +2 -2
  71. package/dist/components/DateRangePicker/DateRangePicker.module.css.esm.js.map +1 -1
  72. package/dist/components/DateRangePicker/DateRangePickerCalendar.esm.js.map +1 -1
  73. package/dist/components/DateRangePicker/DateRangePickerGroup.esm.js.map +1 -1
  74. package/dist/components/DateRangePicker/definition.esm.js.map +1 -1
  75. package/dist/components/Dialog/Dialog.esm.js.map +1 -1
  76. package/dist/components/Dialog/Dialog.module.css.esm.js +2 -2
  77. package/dist/components/Dialog/Dialog.module.css.esm.js.map +1 -1
  78. package/dist/components/Dialog/definition.esm.js.map +1 -1
  79. package/dist/components/FieldError/FieldError.esm.js.map +1 -1
  80. package/dist/components/FieldError/FieldError.module.css.esm.js +2 -2
  81. package/dist/components/FieldError/FieldError.module.css.esm.js.map +1 -1
  82. package/dist/components/FieldError/definition.esm.js.map +1 -1
  83. package/dist/components/FieldLabel/FieldLabel.esm.js.map +1 -1
  84. package/dist/components/FieldLabel/FieldLabel.module.css.esm.js +2 -2
  85. package/dist/components/FieldLabel/FieldLabel.module.css.esm.js.map +1 -1
  86. package/dist/components/FieldLabel/definition.esm.js.map +1 -1
  87. package/dist/components/Flex/Flex.esm.js.map +1 -1
  88. package/dist/components/Flex/Flex.module.css.esm.js +2 -2
  89. package/dist/components/Flex/Flex.module.css.esm.js.map +1 -1
  90. package/dist/components/Flex/definition.esm.js.map +1 -1
  91. package/dist/components/FullPage/FullPage.esm.js.map +1 -1
  92. package/dist/components/FullPage/FullPage.module.css.esm.js +2 -2
  93. package/dist/components/FullPage/FullPage.module.css.esm.js.map +1 -1
  94. package/dist/components/FullPage/definition.esm.js.map +1 -1
  95. package/dist/components/Grid/Grid.esm.js.map +1 -1
  96. package/dist/components/Grid/Grid.module.css.esm.js +2 -2
  97. package/dist/components/Grid/Grid.module.css.esm.js.map +1 -1
  98. package/dist/components/Grid/definition.esm.js.map +1 -1
  99. package/dist/components/Header/Header.esm.js.map +1 -1
  100. package/dist/components/Header/Header.module.css.esm.js +2 -2
  101. package/dist/components/Header/Header.module.css.esm.js.map +1 -1
  102. package/dist/components/Header/HeaderMetadataStatus.esm.js.map +1 -1
  103. package/dist/components/Header/HeaderMetadataStatus.module.css.esm.js +2 -2
  104. package/dist/components/Header/HeaderMetadataStatus.module.css.esm.js.map +1 -1
  105. package/dist/components/Header/HeaderMetadataUsers.esm.js.map +1 -1
  106. package/dist/components/Header/HeaderMetadataUsers.module.css.esm.js +2 -2
  107. package/dist/components/Header/HeaderMetadataUsers.module.css.esm.js.map +1 -1
  108. package/dist/components/Header/HeaderNav.esm.js.map +1 -1
  109. package/dist/components/Header/HeaderNav.module.css.esm.js +2 -2
  110. package/dist/components/Header/HeaderNav.module.css.esm.js.map +1 -1
  111. package/dist/components/Header/HeaderNavDefinition.esm.js.map +1 -1
  112. package/dist/components/Header/HeaderNavIndicators.esm.js.map +1 -1
  113. package/dist/components/Header/definition.esm.js.map +1 -1
  114. package/dist/components/Link/Link.esm.js.map +1 -1
  115. package/dist/components/Link/Link.module.css.esm.js +2 -2
  116. package/dist/components/Link/Link.module.css.esm.js.map +1 -1
  117. package/dist/components/Link/definition.esm.js.map +1 -1
  118. package/dist/components/List/List.esm.js.map +1 -1
  119. package/dist/components/List/List.module.css.esm.js +2 -2
  120. package/dist/components/List/List.module.css.esm.js.map +1 -1
  121. package/dist/components/List/definition.esm.js.map +1 -1
  122. package/dist/components/Menu/Menu.esm.js.map +1 -1
  123. package/dist/components/Menu/Menu.module.css.esm.js +2 -2
  124. package/dist/components/Menu/Menu.module.css.esm.js.map +1 -1
  125. package/dist/components/Menu/definition.esm.js.map +1 -1
  126. package/dist/components/NumberField/NumberField.esm.js.map +1 -1
  127. package/dist/components/NumberField/NumberField.module.css.esm.js +2 -2
  128. package/dist/components/NumberField/NumberField.module.css.esm.js.map +1 -1
  129. package/dist/components/NumberField/definition.esm.js.map +1 -1
  130. package/dist/components/PasswordField/PasswordField.esm.js.map +1 -1
  131. package/dist/components/PasswordField/PasswordField.module.css.esm.js +2 -2
  132. package/dist/components/PasswordField/PasswordField.module.css.esm.js.map +1 -1
  133. package/dist/components/PasswordField/definition.esm.js.map +1 -1
  134. package/dist/components/PluginHeader/PluginHeader.esm.js.map +1 -1
  135. package/dist/components/PluginHeader/PluginHeader.module.css.esm.js +2 -2
  136. package/dist/components/PluginHeader/PluginHeader.module.css.esm.js.map +1 -1
  137. package/dist/components/PluginHeader/PluginHeaderBreadcrumbs.esm.js.map +1 -1
  138. package/dist/components/PluginHeader/definition.esm.js.map +1 -1
  139. package/dist/components/PluginHeader/useIsTruncated.esm.js.map +1 -1
  140. package/dist/components/Popover/Popover.esm.js.map +1 -1
  141. package/dist/components/Popover/Popover.module.css.esm.js +2 -2
  142. package/dist/components/Popover/Popover.module.css.esm.js.map +1 -1
  143. package/dist/components/Popover/definition.esm.js.map +1 -1
  144. package/dist/components/RadioGroup/RadioGroup.esm.js.map +1 -1
  145. package/dist/components/RadioGroup/RadioGroup.module.css.esm.js +2 -2
  146. package/dist/components/RadioGroup/RadioGroup.module.css.esm.js.map +1 -1
  147. package/dist/components/RadioGroup/definition.esm.js.map +1 -1
  148. package/dist/components/SearchAutocomplete/SearchAutocomplete.esm.js.map +1 -1
  149. package/dist/components/SearchAutocomplete/SearchAutocomplete.module.css.esm.js +2 -2
  150. package/dist/components/SearchAutocomplete/SearchAutocomplete.module.css.esm.js.map +1 -1
  151. package/dist/components/SearchAutocomplete/definition.esm.js.map +1 -1
  152. package/dist/components/SearchField/SearchField.esm.js.map +1 -1
  153. package/dist/components/SearchField/SearchField.module.css.esm.js +2 -2
  154. package/dist/components/SearchField/SearchField.module.css.esm.js.map +1 -1
  155. package/dist/components/SearchField/definition.esm.js.map +1 -1
  156. package/dist/components/Select/Select.esm.js.map +1 -1
  157. package/dist/components/Select/Select.module.css.esm.js +2 -2
  158. package/dist/components/Select/Select.module.css.esm.js.map +1 -1
  159. package/dist/components/Select/SelectContent.esm.js.map +1 -1
  160. package/dist/components/Select/SelectItem.esm.js.map +1 -1
  161. package/dist/components/Select/SelectListBox.esm.js.map +1 -1
  162. package/dist/components/Select/SelectTrigger.esm.js.map +1 -1
  163. package/dist/components/Select/definition.esm.js.map +1 -1
  164. package/dist/components/Skeleton/Skeleton.esm.js.map +1 -1
  165. package/dist/components/Skeleton/Skeleton.module.css.esm.js +2 -2
  166. package/dist/components/Skeleton/Skeleton.module.css.esm.js.map +1 -1
  167. package/dist/components/Skeleton/definition.esm.js.map +1 -1
  168. package/dist/components/Slider/Slider.esm.js.map +1 -1
  169. package/dist/components/Slider/Slider.module.css.esm.js +2 -2
  170. package/dist/components/Slider/Slider.module.css.esm.js.map +1 -1
  171. package/dist/components/Slider/definition.esm.js.map +1 -1
  172. package/dist/components/Switch/Switch.esm.js.map +1 -1
  173. package/dist/components/Switch/Switch.module.css.esm.js +2 -2
  174. package/dist/components/Switch/Switch.module.css.esm.js.map +1 -1
  175. package/dist/components/Switch/definition.esm.js.map +1 -1
  176. package/dist/components/Table/Table.module.css.esm.js +2 -2
  177. package/dist/components/Table/Table.module.css.esm.js.map +1 -1
  178. package/dist/components/Table/components/Cell.esm.js.map +1 -1
  179. package/dist/components/Table/components/CellProfile.esm.js.map +1 -1
  180. package/dist/components/Table/components/CellText.esm.js.map +1 -1
  181. package/dist/components/Table/components/Column.esm.js.map +1 -1
  182. package/dist/components/Table/components/Row.esm.js.map +1 -1
  183. package/dist/components/Table/components/Table.esm.js.map +1 -1
  184. package/dist/components/Table/components/TableBody.esm.js.map +1 -1
  185. package/dist/components/Table/components/TableBodySkeleton.esm.js.map +1 -1
  186. package/dist/components/Table/components/TableHeader.esm.js.map +1 -1
  187. package/dist/components/Table/components/TableRoot.esm.js.map +1 -1
  188. package/dist/components/Table/definition.esm.js.map +1 -1
  189. package/dist/components/Table/hooks/getEffectivePageSize.esm.js.map +1 -1
  190. package/dist/components/Table/hooks/useCompletePagination.esm.js.map +1 -1
  191. package/dist/components/Table/hooks/useCursorPagination.esm.js.map +1 -1
  192. package/dist/components/Table/hooks/useDebouncedReload.esm.js.map +1 -1
  193. package/dist/components/Table/hooks/useDebouncedValue.esm.js.map +1 -1
  194. package/dist/components/Table/hooks/useOffsetPagination.esm.js.map +1 -1
  195. package/dist/components/Table/hooks/usePageCache.esm.js.map +1 -1
  196. package/dist/components/Table/hooks/useQueryState.esm.js.map +1 -1
  197. package/dist/components/Table/hooks/useStableCallback.esm.js.map +1 -1
  198. package/dist/components/Table/hooks/useTable.esm.js.map +1 -1
  199. package/dist/components/TablePagination/TablePagination.esm.js.map +1 -1
  200. package/dist/components/TablePagination/TablePagination.module.css.esm.js +2 -2
  201. package/dist/components/TablePagination/TablePagination.module.css.esm.js.map +1 -1
  202. package/dist/components/TablePagination/definition.esm.js.map +1 -1
  203. package/dist/components/Tabs/Tabs.esm.js.map +1 -1
  204. package/dist/components/Tabs/Tabs.module.css.esm.js +2 -2
  205. package/dist/components/Tabs/Tabs.module.css.esm.js.map +1 -1
  206. package/dist/components/Tabs/TabsIndicators.esm.js.map +1 -1
  207. package/dist/components/Tabs/definition.esm.js.map +1 -1
  208. package/dist/components/TagGroup/TagGroup.esm.js.map +1 -1
  209. package/dist/components/TagGroup/TagGroup.module.css.esm.js +2 -2
  210. package/dist/components/TagGroup/TagGroup.module.css.esm.js.map +1 -1
  211. package/dist/components/TagGroup/definition.esm.js.map +1 -1
  212. package/dist/components/Text/Text.esm.js.map +1 -1
  213. package/dist/components/Text/Text.module.css.esm.js +2 -2
  214. package/dist/components/Text/Text.module.css.esm.js.map +1 -1
  215. package/dist/components/Text/definition.esm.js.map +1 -1
  216. package/dist/components/TextAreaField/TextAreaField.esm.js.map +1 -1
  217. package/dist/components/TextAreaField/TextAreaField.module.css.esm.js +2 -2
  218. package/dist/components/TextAreaField/TextAreaField.module.css.esm.js.map +1 -1
  219. package/dist/components/TextAreaField/definition.esm.js.map +1 -1
  220. package/dist/components/TextField/TextField.esm.js.map +1 -1
  221. package/dist/components/TextField/TextField.module.css.esm.js +2 -2
  222. package/dist/components/TextField/TextField.module.css.esm.js.map +1 -1
  223. package/dist/components/TextField/definition.esm.js.map +1 -1
  224. package/dist/components/ToggleButton/ToggleButton.esm.js.map +1 -1
  225. package/dist/components/ToggleButton/ToggleButton.module.css.esm.js +2 -2
  226. package/dist/components/ToggleButton/ToggleButton.module.css.esm.js.map +1 -1
  227. package/dist/components/ToggleButton/definition.esm.js.map +1 -1
  228. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.esm.js.map +1 -1
  229. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.module.css.esm.js +2 -2
  230. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.module.css.esm.js.map +1 -1
  231. package/dist/components/ToggleButtonGroup/definition.esm.js.map +1 -1
  232. package/dist/components/Tooltip/Tooltip.esm.js.map +1 -1
  233. package/dist/components/Tooltip/Tooltip.module.css.esm.js +2 -2
  234. package/dist/components/Tooltip/Tooltip.module.css.esm.js.map +1 -1
  235. package/dist/components/Tooltip/definition.esm.js.map +1 -1
  236. package/dist/components/VisuallyHidden/VisuallyHidden.esm.js.map +1 -1
  237. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.esm.js +2 -2
  238. package/dist/components/VisuallyHidden/VisuallyHidden.module.css.esm.js.map +1 -1
  239. package/dist/components/VisuallyHidden/definition.esm.js.map +1 -1
  240. package/dist/css/styles.css +39 -1
  241. package/dist/hooks/useBg.esm.js.map +1 -1
  242. package/dist/hooks/useBreakpoint.esm.js.map +1 -1
  243. package/dist/hooks/useCollectionAdapter.esm.js.map +1 -1
  244. package/dist/hooks/useDefinition/defineComponent.esm.js.map +1 -1
  245. package/dist/hooks/useDefinition/helpers.esm.js.map +1 -1
  246. package/dist/hooks/useDefinition/useDefinition.esm.js.map +1 -1
  247. package/dist/hooks/useDefinition/useDefinitionNavigation.esm.js.map +1 -1
  248. package/dist/hooks/useDelayedVisibility.esm.js.map +1 -1
  249. package/dist/hooks/useIsomorphicLayoutEffect.esm.js.map +1 -1
  250. package/dist/hooks/useResolvedHref.esm.js.map +1 -1
  251. package/dist/hooks/useTrackedSelectionKeys.esm.js.map +1 -1
  252. package/dist/index.d.ts +7 -2
  253. package/dist/navigation/BUIRoutingProvider.esm.js.map +1 -1
  254. package/dist/navigation/useNavigation.esm.js.map +1 -1
  255. package/dist/navigation/useRouting.esm.js.map +1 -1
  256. package/dist/node_modules_dist/style-inject/dist/style-inject.es.esm.js.map +1 -1
  257. package/dist/provider/BUIContext.esm.js.map +1 -1
  258. package/dist/provider/BUIProvider.esm.js.map +1 -1
  259. package/dist/utils/linkUtils.esm.js.map +1 -1
  260. package/dist/utils/selectableCollection.esm.js +13 -1
  261. package/dist/utils/selectableCollection.esm.js.map +1 -1
  262. package/dist/utils/utilityClassMap.esm.js.map +1 -1
  263. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItem.esm.js","sources":["../../../src/components/Select/SelectItem.tsx"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RiCheckLine } from '@remixicon/react';\nimport { ListBoxItem, Text } from 'react-aria-components';\nimport { Avatar } from '../Avatar';\nimport {\n useDefinition,\n type UseDefinitionResult,\n} from '../../hooks/useDefinition';\nimport {\n SelectItemDefinition,\n SelectItemProfileDefinition,\n SelectItemTextDefinition,\n} from './definition';\nimport type {\n SelectItemProfileProps,\n SelectItemProps,\n SelectItemTextProps,\n} from './types';\nimport {\n getReactAriaAnchorProps,\n type AnchorNavigation,\n} from '../../navigation/useNavigation';\n\ntype SelectItemViewProps = {\n definitionResult: UseDefinitionResult<\n typeof SelectItemDefinition,\n SelectItemProps\n >;\n navigation: AnchorNavigation;\n};\n\nfunction SelectItemView({ definitionResult, navigation }: SelectItemViewProps) {\n const { ownProps, restProps } = definitionResult;\n const { classes, children, showSelectionIndicator } = ownProps;\n const navigationProps = getReactAriaAnchorProps(navigation, restProps);\n\n return (\n <ListBoxItem className={classes.root} {...restProps} {...navigationProps}>\n {values => {\n const content =\n typeof children === 'function' ? children(values) : children;\n\n if (!showSelectionIndicator) {\n return content;\n }\n\n return (\n <>\n <div className={classes.indicator}>\n <RiCheckLine aria-hidden=\"true\" />\n </div>\n <div className={classes.content}>{content}</div>\n </>\n );\n }}\n </ListBoxItem>\n );\n}\n\n/**\n * A low-level Select item wrapper for custom item content.\n *\n * @public\n */\nexport function SelectItem<T extends object = object>(\n props: SelectItemProps<T>,\n) {\n const definitionResult = useDefinition(SelectItemDefinition, props);\n const Navigation = definitionResult.navigation;\n\n return (\n <Navigation\n props={definitionResult.restProps}\n view={SelectItemView}\n viewProps={{ definitionResult }}\n />\n );\n}\n\n/**\n * A Select item preset with a title and optional supporting content.\n *\n * @public\n */\nexport function SelectItemText<T extends object = object>(\n props: SelectItemTextProps<T>,\n) {\n const { ownProps, restProps } = useDefinition(\n SelectItemTextDefinition,\n props,\n );\n const { classes, title, description, leadingIcon } = ownProps;\n\n return (\n <SelectItem\n className={classes.root}\n textValue={title}\n showSelectionIndicator\n {...restProps}\n >\n <div className={classes.content}>\n {leadingIcon && (\n <div className={classes.leadingIcon}>{leadingIcon}</div>\n )}\n <div className={classes.text}>\n <Text slot=\"label\" className={classes.title}>\n {title}\n </Text>\n {description && (\n <Text slot=\"description\" className={classes.description}>\n {description}\n </Text>\n )}\n </div>\n </div>\n </SelectItem>\n );\n}\n\n/**\n * A Select item preset for a person or other named profile.\n *\n * @public\n */\nexport function SelectItemProfile<T extends object = object>(\n props: SelectItemProfileProps<T>,\n) {\n const { ownProps, restProps } = useDefinition(\n SelectItemProfileDefinition,\n props,\n );\n const { classes, name, src } = ownProps;\n\n return (\n <SelectItem\n className={classes.root}\n textValue={name}\n showSelectionIndicator\n {...restProps}\n >\n <div className={classes.content}>\n <div className={classes.avatar}>\n <Avatar\n src={src ?? ''}\n name={name}\n size=\"x-small\"\n purpose=\"decoration\"\n />\n </div>\n <Text slot=\"label\" className={classes.name}>\n {name}\n </Text>\n </div>\n </SelectItem>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectItem.esm.js","sources":["../../../src/components/Select/SelectItem.tsx"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RiCheckLine } from '@remixicon/react';\nimport { ListBoxItem, Text } from 'react-aria-components';\nimport { Avatar } from '../Avatar';\nimport {\n useDefinition,\n type UseDefinitionResult,\n} from '../../hooks/useDefinition';\nimport {\n SelectItemDefinition,\n SelectItemProfileDefinition,\n SelectItemTextDefinition,\n} from './definition';\nimport type {\n SelectItemProfileProps,\n SelectItemProps,\n SelectItemTextProps,\n} from './types';\nimport {\n getReactAriaAnchorProps,\n type AnchorNavigation,\n} from '../../navigation/useNavigation';\n\ntype SelectItemViewProps = {\n definitionResult: UseDefinitionResult<\n typeof SelectItemDefinition,\n SelectItemProps\n >;\n navigation: AnchorNavigation;\n};\n\nfunction SelectItemView({ definitionResult, navigation }: SelectItemViewProps) {\n const { ownProps, restProps } = definitionResult;\n const { classes, children, showSelectionIndicator } = ownProps;\n const navigationProps = getReactAriaAnchorProps(navigation, restProps);\n\n return (\n <ListBoxItem className={classes.root} {...restProps} {...navigationProps}>\n {values => {\n const content =\n typeof children === 'function' ? children(values) : children;\n\n if (!showSelectionIndicator) {\n return content;\n }\n\n return (\n <>\n <div className={classes.indicator}>\n <RiCheckLine aria-hidden=\"true\" />\n </div>\n <div className={classes.content}>{content}</div>\n </>\n );\n }}\n </ListBoxItem>\n );\n}\n\n/**\n * A low-level Select item wrapper for custom item content.\n *\n * @public\n */\nexport function SelectItem<T extends object = object>(\n props: SelectItemProps<T>,\n) {\n const definitionResult = useDefinition(SelectItemDefinition, props);\n const Navigation = definitionResult.navigation;\n\n return (\n <Navigation\n props={definitionResult.restProps}\n view={SelectItemView}\n viewProps={{ definitionResult }}\n />\n );\n}\n\n/**\n * A Select item preset with a title and optional supporting content.\n *\n * @public\n */\nexport function SelectItemText<T extends object = object>(\n props: SelectItemTextProps<T>,\n) {\n const { ownProps, restProps } = useDefinition(\n SelectItemTextDefinition,\n props,\n );\n const { classes, title, description, leadingIcon } = ownProps;\n\n return (\n <SelectItem\n className={classes.root}\n textValue={title}\n showSelectionIndicator\n {...restProps}\n >\n <div className={classes.content}>\n {leadingIcon && (\n <div className={classes.leadingIcon}>{leadingIcon}</div>\n )}\n <div className={classes.text}>\n <Text slot=\"label\" className={classes.title}>\n {title}\n </Text>\n {description && (\n <Text slot=\"description\" className={classes.description}>\n {description}\n </Text>\n )}\n </div>\n </div>\n </SelectItem>\n );\n}\n\n/**\n * A Select item preset for a person or other named profile.\n *\n * @public\n */\nexport function SelectItemProfile<T extends object = object>(\n props: SelectItemProfileProps<T>,\n) {\n const { ownProps, restProps } = useDefinition(\n SelectItemProfileDefinition,\n props,\n );\n const { classes, name, src } = ownProps;\n\n return (\n <SelectItem\n className={classes.root}\n textValue={name}\n showSelectionIndicator\n {...restProps}\n >\n <div className={classes.content}>\n <div className={classes.avatar}>\n <Avatar\n src={src ?? ''}\n name={name}\n size=\"x-small\"\n purpose=\"decoration\"\n />\n </div>\n <Text slot=\"label\" className={classes.name}>\n {name}\n </Text>\n </div>\n </SelectItem>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectListBox.esm.js","sources":["../../../src/components/Select/SelectListBox.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Collection,\n Header,\n ListBox,\n ListBoxLoadMoreItem,\n ListBoxSection,\n Text,\n} from 'react-aria-components';\nimport clsx from 'clsx';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport {\n SelectItemTextDefinition,\n SelectListBoxDefinition,\n SelectListBoxItemDefinition,\n SelectSectionDefinition,\n} from './definition';\nimport { normalizeOptions } from '../../utils/selectableCollection';\nimport type {\n CollectionItem,\n LoadingConfig,\n NormalizedOption,\n NormalizedOptionSection,\n} from '../../types/selectableCollection';\nimport type { SelectListBoxOwnProps } from './types';\nimport { SelectItem } from './SelectItem';\nimport { Skeleton } from '../Skeleton';\nimport { useDelayedVisibility } from '../../hooks/useDelayedVisibility';\n\nconst loadingRowWidths = ['70%', '55%', '65%'];\nconst loadingIndicatorDelayMs = 300;\n\nfunction LoadingRows({\n count,\n className,\n rowClassName,\n}: {\n count: number;\n className: string;\n rowClassName: string;\n}) {\n return (\n <div className={className} aria-hidden=\"true\">\n {loadingRowWidths.slice(0, count).map(width => (\n <div key={width} className={rowClassName}>\n <Skeleton width={width} height=\"0.75rem\" />\n </div>\n ))}\n </div>\n );\n}\n\nconst NoResults = () => {\n const { ownProps } = useDefinition(SelectListBoxDefinition, {});\n const { classes } = ownProps;\n\n return <div className={classes.noResults}>No results found.</div>;\n};\n\nfunction PlainOptionItem({ option }: { option: NormalizedOption }) {\n const { ownProps } = useDefinition(SelectItemTextDefinition, {\n title: option.label,\n description: option.description,\n leadingIcon: option.leadingIcon,\n });\n const { classes } = ownProps;\n // Keep the original plain-option label class available for existing themes.\n const {\n ownProps: { classes: legacyOptionClasses },\n } = useDefinition(SelectListBoxItemDefinition, {});\n\n return (\n <SelectItem\n id={option.id}\n value={option}\n className={classes.root}\n textValue={option.label}\n isDisabled={option.disabled}\n showSelectionIndicator\n >\n <div className={classes.content}>\n {option.leadingIcon && (\n <div className={classes.leadingIcon}>{option.leadingIcon}</div>\n )}\n <div className={classes.text}>\n <Text\n slot=\"label\"\n className={clsx(classes.title, legacyOptionClasses.label)}\n >\n {option.label}\n </Text>\n {option.description && (\n <Text slot=\"description\" className={classes.description}>\n {option.description}\n </Text>\n )}\n </div>\n </div>\n </SelectItem>\n );\n}\n\nfunction SelectSectionItems({ section }: { section: NormalizedOptionSection }) {\n const { ownProps } = useDefinition(SelectSectionDefinition, {});\n const { classes } = ownProps;\n\n return (\n <ListBoxSection className={classes.root}>\n <Header className={classes.header}>{section.title}</Header>\n {section.options.map(option => (\n <PlainOptionItem key={option.id} option={option} />\n ))}\n </ListBoxSection>\n );\n}\n\nfunction renderSelectOption(item: NormalizedOption | NormalizedOptionSection) {\n if ('options' in item) {\n return <SelectSectionItems key={item.title} section={item} />;\n }\n\n return <PlainOptionItem key={item.id} option={item} />;\n}\n\nfunction SelectCollection<T extends CollectionItem>({\n normalizedOptions,\n retainedOptions,\n items,\n children,\n dependencies,\n}: {\n normalizedOptions?: Array<NormalizedOption | NormalizedOptionSection>;\n retainedOptions?: ReadonlyArray<NormalizedOption>;\n items?: Iterable<T>;\n children?: React.ReactNode | ((item: T) => React.ReactElement);\n dependencies?: ReadonlyArray<unknown>;\n}) {\n if (normalizedOptions) {\n return (\n <>\n {normalizedOptions.map(renderSelectOption)}\n {Array.from(retainedOptions ?? [], option => (\n <PlainOptionItem key={option.id} option={option} />\n ))}\n </>\n );\n }\n\n if (items) {\n const renderItem = (item: T) => {\n if (typeof children === 'function') {\n return children(item);\n }\n\n return <PlainOptionItem option={item as unknown as NormalizedOption} />;\n };\n\n return (\n <Collection items={items} dependencies={dependencies}>\n {renderItem}\n </Collection>\n );\n }\n\n return children as React.ReactNode;\n}\n\nfunction SelectEmptyState({\n isLoading,\n className,\n rowClassName,\n}: {\n isLoading: boolean;\n className: string;\n rowClassName: string;\n}) {\n if (!isLoading) {\n return <NoResults />;\n }\n\n return (\n <LoadingRows count={3} className={className} rowClassName={rowClassName} />\n );\n}\n\nfunction SelectLoadMoreIndicator({\n loading,\n isCollectionLoading,\n isIndicatorVisible,\n className,\n rowClassName,\n}: {\n loading?: LoadingConfig;\n isCollectionLoading: boolean;\n isIndicatorVisible: boolean;\n className: string;\n rowClassName: string;\n}) {\n if (!loading?.onLoadMore || isCollectionLoading) {\n return null;\n }\n\n const onLoadMore =\n loading.state === 'loadingMore' ? undefined : loading.onLoadMore;\n\n return (\n <ListBoxLoadMoreItem\n isLoading={isIndicatorVisible}\n onLoadMore={onLoadMore}\n scrollOffset={0}\n >\n <LoadingRows\n count={1}\n className={className}\n rowClassName={rowClassName}\n />\n </ListBoxLoadMoreItem>\n );\n}\n\nexport function SelectListBox<T extends CollectionItem = NormalizedOption>(\n props: SelectListBoxOwnProps<T>,\n) {\n const { ownProps } = useDefinition(SelectListBoxDefinition, props);\n const {\n classes,\n options,\n items,\n children,\n dependencies,\n loading,\n isStale,\n retainedOptions,\n } = ownProps;\n const normalizedOptions = options && normalizeOptions(options);\n const isCollectionLoading =\n loading?.state === 'loading' ||\n loading?.state === 'filtering' ||\n loading?.state === 'sorting';\n const isBusy = isCollectionLoading || loading?.state === 'loadingMore';\n const showStale = useDelayedVisibility(\n isStale ?? false,\n loadingIndicatorDelayMs,\n );\n const showLoadMoreIndicator = useDelayedVisibility(\n loading?.state === 'loadingMore',\n loadingIndicatorDelayMs,\n );\n\n const listBox = (\n <ListBox\n className={classes.root}\n data-stale={showStale || undefined}\n renderEmptyState={() => (\n <SelectEmptyState\n isLoading={isCollectionLoading}\n className={classes.loading}\n rowClassName={classes.loadingRow}\n />\n )}\n >\n <SelectCollection\n normalizedOptions={normalizedOptions}\n retainedOptions={retainedOptions}\n items={items}\n dependencies={dependencies}\n >\n {children}\n </SelectCollection>\n <SelectLoadMoreIndicator\n loading={loading}\n isCollectionLoading={isCollectionLoading}\n isIndicatorVisible={showLoadMoreIndicator}\n className={classes.loading}\n rowClassName={classes.loadingRow}\n />\n </ListBox>\n );\n\n return <div aria-busy={isBusy || undefined}>{listBox}</div>;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectListBox.esm.js","sources":["../../../src/components/Select/SelectListBox.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Collection,\n Header,\n ListBox,\n ListBoxLoadMoreItem,\n ListBoxSection,\n Text,\n} from 'react-aria-components';\nimport clsx from 'clsx';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport {\n SelectItemTextDefinition,\n SelectListBoxDefinition,\n SelectListBoxItemDefinition,\n SelectSectionDefinition,\n} from './definition';\nimport { normalizeOptions } from '../../utils/selectableCollection';\nimport type {\n CollectionItem,\n LoadingConfig,\n NormalizedOption,\n NormalizedOptionSection,\n} from '../../types/selectableCollection';\nimport type { SelectListBoxOwnProps } from './types';\nimport { SelectItem } from './SelectItem';\nimport { Skeleton } from '../Skeleton';\nimport { useDelayedVisibility } from '../../hooks/useDelayedVisibility';\n\nconst loadingRowWidths = ['70%', '55%', '65%'];\nconst loadingIndicatorDelayMs = 300;\n\nfunction LoadingRows({\n count,\n className,\n rowClassName,\n}: {\n count: number;\n className: string;\n rowClassName: string;\n}) {\n return (\n <div className={className} aria-hidden=\"true\">\n {loadingRowWidths.slice(0, count).map(width => (\n <div key={width} className={rowClassName}>\n <Skeleton width={width} height=\"0.75rem\" />\n </div>\n ))}\n </div>\n );\n}\n\nconst NoResults = () => {\n const { ownProps } = useDefinition(SelectListBoxDefinition, {});\n const { classes } = ownProps;\n\n return <div className={classes.noResults}>No results found.</div>;\n};\n\nfunction PlainOptionItem({ option }: { option: NormalizedOption }) {\n const { ownProps } = useDefinition(SelectItemTextDefinition, {\n title: option.label,\n description: option.description,\n leadingIcon: option.leadingIcon,\n });\n const { classes } = ownProps;\n // Keep the original plain-option label class available for existing themes.\n const {\n ownProps: { classes: legacyOptionClasses },\n } = useDefinition(SelectListBoxItemDefinition, {});\n\n return (\n <SelectItem\n id={option.id}\n value={option}\n className={classes.root}\n textValue={option.label}\n isDisabled={option.disabled}\n showSelectionIndicator\n >\n <div className={classes.content}>\n {option.leadingIcon && (\n <div className={classes.leadingIcon}>{option.leadingIcon}</div>\n )}\n <div className={classes.text}>\n <Text\n slot=\"label\"\n className={clsx(classes.title, legacyOptionClasses.label)}\n >\n {option.label}\n </Text>\n {option.description && (\n <Text slot=\"description\" className={classes.description}>\n {option.description}\n </Text>\n )}\n </div>\n </div>\n </SelectItem>\n );\n}\n\nfunction SelectSectionItems({ section }: { section: NormalizedOptionSection }) {\n const { ownProps } = useDefinition(SelectSectionDefinition, {});\n const { classes } = ownProps;\n\n return (\n <ListBoxSection className={classes.root}>\n <Header className={classes.header}>{section.title}</Header>\n {section.options.map(option => (\n <PlainOptionItem key={option.id} option={option} />\n ))}\n </ListBoxSection>\n );\n}\n\nfunction renderSelectOption(item: NormalizedOption | NormalizedOptionSection) {\n if ('options' in item) {\n return <SelectSectionItems key={item.title} section={item} />;\n }\n\n return <PlainOptionItem key={item.id} option={item} />;\n}\n\nfunction SelectCollection<T extends CollectionItem>({\n normalizedOptions,\n retainedOptions,\n items,\n children,\n dependencies,\n}: {\n normalizedOptions?: Array<NormalizedOption | NormalizedOptionSection>;\n retainedOptions?: ReadonlyArray<NormalizedOption>;\n items?: Iterable<T>;\n children?: React.ReactNode | ((item: T) => React.ReactElement);\n dependencies?: ReadonlyArray<unknown>;\n}) {\n if (normalizedOptions) {\n return (\n <>\n {normalizedOptions.map(renderSelectOption)}\n {Array.from(retainedOptions ?? [], option => (\n <PlainOptionItem key={option.id} option={option} />\n ))}\n </>\n );\n }\n\n if (items) {\n const renderItem = (item: T) => {\n if (typeof children === 'function') {\n return children(item);\n }\n\n return <PlainOptionItem option={item as unknown as NormalizedOption} />;\n };\n\n return (\n <Collection items={items} dependencies={dependencies}>\n {renderItem}\n </Collection>\n );\n }\n\n return children as React.ReactNode;\n}\n\nfunction SelectEmptyState({\n isLoading,\n className,\n rowClassName,\n}: {\n isLoading: boolean;\n className: string;\n rowClassName: string;\n}) {\n if (!isLoading) {\n return <NoResults />;\n }\n\n return (\n <LoadingRows count={3} className={className} rowClassName={rowClassName} />\n );\n}\n\nfunction SelectLoadMoreIndicator({\n loading,\n isCollectionLoading,\n isIndicatorVisible,\n className,\n rowClassName,\n}: {\n loading?: LoadingConfig;\n isCollectionLoading: boolean;\n isIndicatorVisible: boolean;\n className: string;\n rowClassName: string;\n}) {\n if (!loading?.onLoadMore || isCollectionLoading) {\n return null;\n }\n\n const onLoadMore =\n loading.state === 'loadingMore' ? undefined : loading.onLoadMore;\n\n return (\n <ListBoxLoadMoreItem\n isLoading={isIndicatorVisible}\n onLoadMore={onLoadMore}\n scrollOffset={0}\n >\n <LoadingRows\n count={1}\n className={className}\n rowClassName={rowClassName}\n />\n </ListBoxLoadMoreItem>\n );\n}\n\nexport function SelectListBox<T extends CollectionItem = NormalizedOption>(\n props: SelectListBoxOwnProps<T>,\n) {\n const { ownProps } = useDefinition(SelectListBoxDefinition, props);\n const {\n classes,\n options,\n items,\n children,\n dependencies,\n loading,\n isStale,\n retainedOptions,\n } = ownProps;\n const normalizedOptions = options && normalizeOptions(options);\n const isCollectionLoading =\n loading?.state === 'loading' ||\n loading?.state === 'filtering' ||\n loading?.state === 'sorting';\n const isBusy = isCollectionLoading || loading?.state === 'loadingMore';\n const showStale = useDelayedVisibility(\n isStale ?? false,\n loadingIndicatorDelayMs,\n );\n const showLoadMoreIndicator = useDelayedVisibility(\n loading?.state === 'loadingMore',\n loadingIndicatorDelayMs,\n );\n\n const listBox = (\n <ListBox\n className={classes.root}\n data-stale={showStale || undefined}\n renderEmptyState={() => (\n <SelectEmptyState\n isLoading={isCollectionLoading}\n className={classes.loading}\n rowClassName={classes.loadingRow}\n />\n )}\n >\n <SelectCollection\n normalizedOptions={normalizedOptions}\n retainedOptions={retainedOptions}\n items={items}\n dependencies={dependencies}\n >\n {children}\n </SelectCollection>\n <SelectLoadMoreIndicator\n loading={loading}\n isCollectionLoading={isCollectionLoading}\n isIndicatorVisible={showLoadMoreIndicator}\n className={classes.loading}\n rowClassName={classes.loadingRow}\n />\n </ListBox>\n );\n\n return <div aria-busy={isBusy || undefined}>{listBox}</div>;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTrigger.esm.js","sources":["../../../src/components/Select/SelectTrigger.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode } from 'react';\nimport { Button, SelectValue } from 'react-aria-components';\nimport { RiArrowDownSLine } from '@remixicon/react';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport { SelectTriggerDefinition } from './definition';\n\ninterface SelectTriggerProps {\n icon?: ReactNode;\n}\n\nexport function SelectTrigger(props: SelectTriggerProps) {\n const { ownProps, dataAttributes } = useDefinition(\n SelectTriggerDefinition,\n props,\n );\n const { classes, icon } = ownProps;\n\n return (\n <Button className={classes.root} {...dataAttributes}>\n {icon}\n <SelectValue className={classes.value}>\n {({ isPlaceholder, selectedText, defaultChildren }) =>\n isPlaceholder ? defaultChildren : selectedText\n }\n </SelectValue>\n <div className={classes.chevron}>\n <RiArrowDownSLine aria-hidden=\"true\" />\n </div>\n </Button>\n );\n}\n"],"names":[],"mappings":";;;;;;AA0BO,SAAS,cAAc,KAAA,EAA2B;AACvD,EAAA,MAAM,EAAE,QAAA,EAAU,cAAA,EAAe,GAAI,aAAA;AAAA,IACnC,uBAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAK,GAAI,QAAA;AAE1B,EAAA,4BACG,MAAA,EAAA,EAAO,SAAA,EAAW,OAAA,CAAQ,IAAA,EAAO,GAAG,cAAA,EAClC,QAAA,EAAA;AAAA,IAAA,IAAA;AAAA,oBACD,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAW,OAAA,CAAQ,KAAA,EAC7B,QAAA,EAAA,CAAC,EAAE,aAAA,EAAe,YAAA,EAAc,eAAA,EAAgB,KAC/C,aAAA,GAAgB,kBAAkB,YAAA,EAEtC,CAAA;AAAA,oBACA,GAAA,CAAC,SAAI,SAAA,EAAW,OAAA,CAAQ,SACtB,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,aAAA,EAAY,MAAA,EAAO,CAAA,EACvC;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"SelectTrigger.esm.js","sources":["../../../src/components/Select/SelectTrigger.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode } from 'react';\nimport { Button, SelectValue } from 'react-aria-components';\nimport { RiArrowDownSLine } from '@remixicon/react';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport { SelectTriggerDefinition } from './definition';\n\ninterface SelectTriggerProps {\n icon?: ReactNode;\n}\n\nexport function SelectTrigger(props: SelectTriggerProps) {\n const { ownProps, dataAttributes } = useDefinition(\n SelectTriggerDefinition,\n props,\n );\n const { classes, icon } = ownProps;\n\n return (\n <Button className={classes.root} {...dataAttributes}>\n {icon}\n <SelectValue className={classes.value}>\n {({ isPlaceholder, selectedText, defaultChildren }) =>\n isPlaceholder ? defaultChildren : selectedText\n }\n </SelectValue>\n <div className={classes.chevron}>\n <RiArrowDownSLine aria-hidden=\"true\" />\n </div>\n </Button>\n );\n}\n"],"names":[],"mappings":";;;;;;AA0BO,SAAS,cAAc,KAAA,EAA2B;AACvD,EAAA,MAAM,EAAE,QAAA,EAAU,cAAA,EAAe,GAAI,aAAA;AAAA,IACnC,uBAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAK,GAAI,QAAA;AAE1B,EAAA,4BACG,MAAA,EAAA,EAAO,SAAA,EAAW,OAAA,CAAQ,IAAA,EAAO,GAAG,cAAA,EAClC,QAAA,EAAA;AAAA,IAAA,IAAA;AAAA,oBACD,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAW,OAAA,CAAQ,KAAA,EAC7B,QAAA,EAAA,CAAC,EAAE,aAAA,EAAe,YAAA,EAAc,eAAA,EAAgB,KAC/C,aAAA,GAAgB,kBAAkB,YAAA,EAEtC,CAAA;AAAA,oBACA,GAAA,CAAC,SAAI,SAAA,EAAW,OAAA,CAAQ,SACtB,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,aAAA,EAAY,MAAA,EAAO,CAAA,EACvC;AAAA,GAAA,EACF,CAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Select/definition.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineComponent } from '../../hooks/useDefinition';\nimport type {\n SelectOwnProps,\n SelectTriggerOwnProps,\n SelectContentOwnProps,\n SelectListBoxOwnProps,\n SelectListBoxItemOwnProps,\n SelectItemOwnProps,\n SelectItemProfileOwnProps,\n SelectItemTextOwnProps,\n SelectSectionOwnProps,\n} from './types';\nimport styles from './Select.module.css';\n\n/** @public */\nexport const SelectDefinition = defineComponent<SelectOwnProps>()({\n styles,\n classNames: {\n root: 'bui-Select',\n popover: 'bui-SelectPopover',\n },\n propDefs: {\n icon: {},\n size: { dataAttribute: true, default: 'small' },\n options: {},\n items: {},\n children: {},\n dependencies: {},\n search: {},\n loading: {},\n searchable: {},\n searchPlaceholder: {},\n label: {},\n secondaryLabel: {},\n description: {},\n isRequired: {},\n className: {},\n },\n});\n\n/** @public */\nexport const SelectTriggerDefinition = defineComponent<SelectTriggerOwnProps>()(\n {\n styles,\n classNames: {\n root: 'bui-SelectTrigger',\n chevron: 'bui-SelectTriggerChevron',\n value: 'bui-SelectValue',\n },\n bg: 'consumer',\n propDefs: {\n icon: {},\n },\n },\n);\n\n/** @public */\nexport const SelectContentDefinition = defineComponent<SelectContentOwnProps>()(\n {\n styles,\n classNames: {\n root: 'bui-SelectContent',\n searchWrapper: 'bui-SelectSearchWrapper',\n results: 'bui-SelectResults',\n search: 'bui-SelectSearch',\n searchClear: 'bui-SelectSearchClear',\n },\n propDefs: {\n search: {},\n options: {},\n items: {},\n children: {},\n dependencies: {},\n loading: {},\n isStale: {},\n visibleIds: {},\n retainedOptions: {},\n },\n },\n);\n\n/** @public */\nexport const SelectListBoxDefinition = defineComponent<SelectListBoxOwnProps>()(\n {\n styles,\n classNames: {\n root: 'bui-SelectList',\n noResults: 'bui-SelectNoResults',\n loading: 'bui-SelectLoading',\n loadingRow: 'bui-SelectLoadingRow',\n },\n propDefs: {\n options: {},\n items: {},\n children: {},\n dependencies: {},\n loading: {},\n isStale: {},\n retainedOptions: {},\n },\n },\n);\n\n/** @public */\nexport const SelectListBoxItemDefinition =\n defineComponent<SelectListBoxItemOwnProps>()({\n styles,\n classNames: {\n label: 'bui-SelectItemLabel',\n },\n propDefs: {},\n });\n\n/** @public */\nexport const SelectItemDefinition = defineComponent<SelectItemOwnProps>()({\n styles,\n classNames: {\n root: 'bui-SelectItem',\n indicator: 'bui-SelectItemIndicator',\n content: 'bui-SelectItemContent',\n },\n navigation: { type: 'anchor' },\n propDefs: {\n children: {},\n showSelectionIndicator: {},\n className: {},\n },\n});\n\n/** @public */\nexport const SelectItemTextDefinition =\n defineComponent<SelectItemTextOwnProps>()({\n styles,\n classNames: {\n root: 'bui-SelectItemText',\n content: 'bui-SelectItemContent',\n leadingIcon: 'bui-SelectItemLeadingIcon',\n text: 'bui-SelectItemTextContent',\n title: 'bui-SelectItemTitle',\n description: 'bui-SelectItemDescription',\n },\n propDefs: {\n title: {},\n description: {},\n leadingIcon: {},\n className: {},\n },\n });\n\n/** @public */\nexport const SelectItemProfileDefinition =\n defineComponent<SelectItemProfileOwnProps>()({\n styles,\n classNames: {\n root: 'bui-SelectItemProfile',\n content: 'bui-SelectItemContent',\n avatar: 'bui-SelectItemAvatar',\n name: 'bui-SelectItemTitle',\n },\n propDefs: {\n name: {},\n src: {},\n className: {},\n },\n });\n\n/** @public */\nexport const SelectSectionDefinition = defineComponent<SelectSectionOwnProps>()(\n {\n styles,\n classNames: {\n root: 'bui-SelectSection',\n header: 'bui-SelectSectionHeader',\n },\n propDefs: {},\n },\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Select/definition.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineComponent } from '../../hooks/useDefinition';\nimport type {\n SelectOwnProps,\n SelectTriggerOwnProps,\n SelectContentOwnProps,\n SelectListBoxOwnProps,\n SelectListBoxItemOwnProps,\n SelectItemOwnProps,\n SelectItemProfileOwnProps,\n SelectItemTextOwnProps,\n SelectSectionOwnProps,\n} from './types';\nimport styles from './Select.module.css';\n\n/** @public */\nexport const SelectDefinition = defineComponent<SelectOwnProps>()({\n styles,\n classNames: {\n root: 'bui-Select',\n popover: 'bui-SelectPopover',\n },\n propDefs: {\n icon: {},\n size: { dataAttribute: true, default: 'small' },\n options: {},\n items: {},\n children: {},\n dependencies: {},\n search: {},\n loading: {},\n searchable: {},\n searchPlaceholder: {},\n label: {},\n secondaryLabel: {},\n description: {},\n isRequired: {},\n className: {},\n },\n});\n\n/** @public */\nexport const SelectTriggerDefinition = defineComponent<SelectTriggerOwnProps>()(\n {\n styles,\n classNames: {\n root: 'bui-SelectTrigger',\n chevron: 'bui-SelectTriggerChevron',\n value: 'bui-SelectValue',\n },\n bg: 'consumer',\n propDefs: {\n icon: {},\n },\n },\n);\n\n/** @public */\nexport const SelectContentDefinition = defineComponent<SelectContentOwnProps>()(\n {\n styles,\n classNames: {\n root: 'bui-SelectContent',\n searchWrapper: 'bui-SelectSearchWrapper',\n results: 'bui-SelectResults',\n search: 'bui-SelectSearch',\n searchClear: 'bui-SelectSearchClear',\n },\n propDefs: {\n search: {},\n options: {},\n items: {},\n children: {},\n dependencies: {},\n loading: {},\n isStale: {},\n visibleIds: {},\n retainedOptions: {},\n },\n },\n);\n\n/** @public */\nexport const SelectListBoxDefinition = defineComponent<SelectListBoxOwnProps>()(\n {\n styles,\n classNames: {\n root: 'bui-SelectList',\n noResults: 'bui-SelectNoResults',\n loading: 'bui-SelectLoading',\n loadingRow: 'bui-SelectLoadingRow',\n },\n propDefs: {\n options: {},\n items: {},\n children: {},\n dependencies: {},\n loading: {},\n isStale: {},\n retainedOptions: {},\n },\n },\n);\n\n/** @public */\nexport const SelectListBoxItemDefinition =\n defineComponent<SelectListBoxItemOwnProps>()({\n styles,\n classNames: {\n label: 'bui-SelectItemLabel',\n },\n propDefs: {},\n });\n\n/** @public */\nexport const SelectItemDefinition = defineComponent<SelectItemOwnProps>()({\n styles,\n classNames: {\n root: 'bui-SelectItem',\n indicator: 'bui-SelectItemIndicator',\n content: 'bui-SelectItemContent',\n },\n navigation: { type: 'anchor' },\n propDefs: {\n children: {},\n showSelectionIndicator: {},\n className: {},\n },\n});\n\n/** @public */\nexport const SelectItemTextDefinition =\n defineComponent<SelectItemTextOwnProps>()({\n styles,\n classNames: {\n root: 'bui-SelectItemText',\n content: 'bui-SelectItemContent',\n leadingIcon: 'bui-SelectItemLeadingIcon',\n text: 'bui-SelectItemTextContent',\n title: 'bui-SelectItemTitle',\n description: 'bui-SelectItemDescription',\n },\n propDefs: {\n title: {},\n description: {},\n leadingIcon: {},\n className: {},\n },\n });\n\n/** @public */\nexport const SelectItemProfileDefinition =\n defineComponent<SelectItemProfileOwnProps>()({\n styles,\n classNames: {\n root: 'bui-SelectItemProfile',\n content: 'bui-SelectItemContent',\n avatar: 'bui-SelectItemAvatar',\n name: 'bui-SelectItemTitle',\n },\n propDefs: {\n name: {},\n src: {},\n className: {},\n },\n });\n\n/** @public */\nexport const SelectSectionDefinition = defineComponent<SelectSectionOwnProps>()(\n {\n styles,\n classNames: {\n root: 'bui-SelectSection',\n header: 'bui-SelectSectionHeader',\n },\n propDefs: {},\n },\n);\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.esm.js","sources":["../../../src/components/Skeleton/Skeleton.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { SkeletonProps } from './types';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport { SkeletonDefinition } from './definition';\n\n/**\n * A placeholder shape displayed while content is loading, matching the size and layout of the content it replaces.\n *\n * @public\n */\nexport const Skeleton = (props: SkeletonProps) => {\n const { ownProps, restProps, dataAttributes } = useDefinition(\n SkeletonDefinition,\n props,\n );\n const { classes, width, height, style } = ownProps;\n\n return (\n <div\n className={classes.root}\n {...dataAttributes}\n style={{\n width,\n height,\n ...style,\n }}\n {...restProps}\n />\n );\n};\n"],"names":[],"mappings":";;;;AAyBO,MAAM,QAAA,GAAW,CAAC,KAAA,KAAyB;AAChD,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,cAAA,EAAe,GAAI,aAAA;AAAA,IAC9C,kBAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAO,MAAA,EAAQ,OAAM,GAAI,QAAA;AAE1C,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,OAAA,CAAQ,IAAA;AAAA,MAClB,GAAG,cAAA;AAAA,MACJ,KAAA,EAAO;AAAA,QACL,KAAA;AAAA,QACA,MAAA;AAAA,QACA,GAAG;AAAA,OACL;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;;;;"}
1
+ {"version":3,"file":"Skeleton.esm.js","sources":["../../../src/components/Skeleton/Skeleton.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { SkeletonProps } from './types';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport { SkeletonDefinition } from './definition';\n\n/**\n * A placeholder shape displayed while content is loading, matching the size and layout of the content it replaces.\n *\n * @public\n */\nexport const Skeleton = (props: SkeletonProps) => {\n const { ownProps, restProps, dataAttributes } = useDefinition(\n SkeletonDefinition,\n props,\n );\n const { classes, width, height, style } = ownProps;\n\n return (\n <div\n className={classes.root}\n {...dataAttributes}\n style={{\n width,\n height,\n ...style,\n }}\n {...restProps}\n />\n );\n};\n"],"names":[],"mappings":";;;;AAyBO,MAAM,QAAA,GAAW,CAAC,KAAA,KAAyB;AAChD,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,cAAA,EAAe,GAAI,aAAA;AAAA,IAC9C,kBAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAO,MAAA,EAAQ,OAAM,GAAI,QAAA;AAE1C,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,OAAA,CAAQ,IAAA;AAAA,MAClB,GAAG,cAAA;AAAA,MACJ,KAAA,EAAO;AAAA,QACL,KAAA;AAAA,QACA,MAAA;AAAA,QACA,GAAG;AAAA,OACL;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;;"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = "/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@layer tokens, base, components, utilities;\n\n@layer components {\n .Skeleton_bui-Skeleton__d4ef51c389 {\n animation: var(--bui-animate-pulse);\n background-color: var(--bui-bg-neutral-2);\n border-radius: var(--bui-radius-2);\n\n &[data-on-bg='neutral-1'] {\n background-color: var(--bui-bg-neutral-2);\n }\n\n &[data-on-bg='neutral-2'] {\n background-color: var(--bui-bg-neutral-3);\n }\n\n &[data-on-bg='neutral-3'] {\n background-color: var(--bui-bg-neutral-4);\n }\n }\n\n .Skeleton_bui-Skeleton__d4ef51c389[data-rounded='true'] {\n border-radius: var(--bui-radius-full);\n }\n}\n";
4
- var styles = {"bui-Skeleton":"Skeleton_bui-Skeleton__d4ef51c389"};
3
+ var css_248z = "/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@layer tokens, base, components, theme, utilities;\n\n@layer components {\n .Skeleton_bui-Skeleton__3a9bfe4526 {\n animation: var(--bui-animate-pulse);\n background-color: var(--bui-bg-neutral-2);\n border-radius: var(--bui-radius-2);\n\n &[data-on-bg='neutral-1'] {\n background-color: var(--bui-bg-neutral-2);\n }\n\n &[data-on-bg='neutral-2'] {\n background-color: var(--bui-bg-neutral-3);\n }\n\n &[data-on-bg='neutral-3'] {\n background-color: var(--bui-bg-neutral-4);\n }\n }\n\n .Skeleton_bui-Skeleton__3a9bfe4526[data-rounded='true'] {\n border-radius: var(--bui-radius-full);\n }\n}\n";
4
+ var styles = {"bui-Skeleton":"Skeleton_bui-Skeleton__3a9bfe4526"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"Skeleton.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Skeleton/definition.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineComponent } from '../../hooks/useDefinition';\nimport type { SkeletonOwnProps } from './types';\nimport styles from './Skeleton.module.css';\n\n/**\n * Component definition for Skeleton\n * @public\n */\nexport const SkeletonDefinition = defineComponent<SkeletonOwnProps>()({\n styles,\n classNames: {\n root: 'bui-Skeleton',\n },\n bg: 'consumer',\n propDefs: {\n width: { default: 80 },\n height: { default: 24 },\n rounded: { dataAttribute: true, default: false },\n className: {},\n style: {},\n },\n});\n"],"names":[],"mappings":";;;;;;;;;;;;AAwBO,MAAM,kBAAA,GAAqB,iBAAkC,CAAE;AAAA,EACpE,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,EAAA,EAAI,UAAA;AAAA,EACJ,QAAA,EAAU;AAAA,IACR,KAAA,EAAO,EAAE,OAAA,EAAS,EAAA,EAAG;AAAA,IACrB,MAAA,EAAQ,EAAE,OAAA,EAAS,EAAA,EAAG;AAAA,IACtB,OAAA,EAAS,EAAE,aAAA,EAAe,IAAA,EAAM,SAAS,KAAA,EAAM;AAAA,IAC/C,WAAW,EAAC;AAAA,IACZ,OAAO;AAAC;AAEZ,CAAC;;;;"}
1
+ {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Skeleton/definition.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineComponent } from '../../hooks/useDefinition';\nimport type { SkeletonOwnProps } from './types';\nimport styles from './Skeleton.module.css';\n\n/**\n * Component definition for Skeleton\n * @public\n */\nexport const SkeletonDefinition = defineComponent<SkeletonOwnProps>()({\n styles,\n classNames: {\n root: 'bui-Skeleton',\n },\n bg: 'consumer',\n propDefs: {\n width: { default: 80 },\n height: { default: 24 },\n rounded: { dataAttribute: true, default: false },\n className: {},\n style: {},\n },\n});\n"],"names":[],"mappings":";;;;;;;;;;;;AAwBO,MAAM,kBAAA,GAAqB,iBAAkC,CAAE;AAAA,EACpE,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,EAAA,EAAI,UAAA;AAAA,EACJ,QAAA,EAAU;AAAA,IACR,KAAA,EAAO,EAAE,OAAA,EAAS,EAAA,EAAG;AAAA,IACrB,MAAA,EAAQ,EAAE,OAAA,EAAS,EAAA,EAAG;AAAA,IACtB,OAAA,EAAS,EAAE,aAAA,EAAe,IAAA,EAAM,SAAS,KAAA,EAAM;AAAA,IAC/C,WAAW,EAAC;AAAA,IACZ,OAAO;AAAC;AAEZ,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.esm.js","sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { forwardRef, useEffect, useId } from 'react';\nimport {\n Slider as AriaSlider,\n SliderTrack,\n SliderThumb,\n SliderOutput,\n} from 'react-aria-components';\nimport clsx from 'clsx';\nimport { FieldLabel } from '../FieldLabel';\nimport { FieldError } from '../FieldError';\nimport type { SliderProps } from './types';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport { SliderDefinition } from './definition';\n\nfunction SliderImpl<T extends number | number[]>(\n props: SliderProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const { ownProps, restProps } = useDefinition(SliderDefinition, props);\n const { classes, className, label, secondaryLabel, description, isRequired } =\n ownProps;\n\n const labelId = useId();\n const descriptionId = useId();\n\n useEffect(() => {\n if (!label && !restProps['aria-label'] && !restProps['aria-labelledby']) {\n console.warn(\n 'Slider requires either a visible label, aria-label, or aria-labelledby for accessibility',\n );\n }\n }, [label, restProps]);\n\n const secondaryLabelText = secondaryLabel || (isRequired ? 'Required' : null);\n\n return (\n <AriaSlider\n className={clsx(classes.root, className)}\n aria-labelledby={label ? labelId : undefined}\n aria-describedby={label && description ? descriptionId : undefined}\n {...restProps}\n ref={ref}\n >\n {label && (\n <div className={classes.header}>\n <FieldLabel\n id={labelId}\n label={label}\n secondaryLabel={secondaryLabelText}\n description={description}\n descriptionId={description ? descriptionId : undefined}\n />\n <SliderOutput className={classes.output}>\n {({ state }) =>\n state.values\n .map((_, i) => state.getThumbValueLabel(i))\n .join(' – ')\n }\n </SliderOutput>\n </div>\n )}\n <SliderTrack className={classes.track}>\n {({ state }) => {\n const numThumbs = state.values.length;\n\n // Calculate track fill\n let trackFillStyle: React.CSSProperties;\n if (numThumbs === 1) {\n // Single thumb: fill from start to thumb\n const percent = state.getThumbPercent(0);\n const isVertical = state.orientation === 'vertical';\n trackFillStyle = isVertical\n ? { bottom: 0, height: `${percent * 100}%` }\n : { left: 0, width: `${percent * 100}%` };\n } else {\n // Range: fill between thumbs\n const start = state.getThumbPercent(0);\n const end = state.getThumbPercent(1);\n const rangePercent = (end - start) * 100;\n const isVertical = state.orientation === 'vertical';\n trackFillStyle = isVertical\n ? { bottom: `${start * 100}%`, height: `${rangePercent}%` }\n : { left: `${start * 100}%`, width: `${rangePercent}%` };\n }\n\n return (\n <>\n <div className={classes.trackFill} style={trackFillStyle} />\n <SliderThumb index={0} className={classes.thumb} />\n {numThumbs > 1 && (\n <SliderThumb index={1} className={classes.thumb} />\n )}\n </>\n );\n }}\n </SliderTrack>\n <FieldError />\n </AriaSlider>\n );\n}\n\n/**\n * A draggable input for selecting a numeric value or range within a defined interval, with an integrated label and value output.\n *\n * @public\n */\nexport const Slider = forwardRef(SliderImpl) as (<T extends number | number[]>(\n props: SliderProps<T> & { ref?: React.ForwardedRef<HTMLDivElement> },\n) => JSX.Element) & { displayName: string };\n\nSlider.displayName = 'Slider';\n"],"names":["AriaSlider"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.esm.js","sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { forwardRef, useEffect, useId } from 'react';\nimport {\n Slider as AriaSlider,\n SliderTrack,\n SliderThumb,\n SliderOutput,\n} from 'react-aria-components';\nimport clsx from 'clsx';\nimport { FieldLabel } from '../FieldLabel';\nimport { FieldError } from '../FieldError';\nimport type { SliderProps } from './types';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport { SliderDefinition } from './definition';\n\nfunction SliderImpl<T extends number | number[]>(\n props: SliderProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const { ownProps, restProps } = useDefinition(SliderDefinition, props);\n const { classes, className, label, secondaryLabel, description, isRequired } =\n ownProps;\n\n const labelId = useId();\n const descriptionId = useId();\n\n useEffect(() => {\n if (!label && !restProps['aria-label'] && !restProps['aria-labelledby']) {\n console.warn(\n 'Slider requires either a visible label, aria-label, or aria-labelledby for accessibility',\n );\n }\n }, [label, restProps]);\n\n const secondaryLabelText = secondaryLabel || (isRequired ? 'Required' : null);\n\n return (\n <AriaSlider\n className={clsx(classes.root, className)}\n aria-labelledby={label ? labelId : undefined}\n aria-describedby={label && description ? descriptionId : undefined}\n {...restProps}\n ref={ref}\n >\n {label && (\n <div className={classes.header}>\n <FieldLabel\n id={labelId}\n label={label}\n secondaryLabel={secondaryLabelText}\n description={description}\n descriptionId={description ? descriptionId : undefined}\n />\n <SliderOutput className={classes.output}>\n {({ state }) =>\n state.values\n .map((_, i) => state.getThumbValueLabel(i))\n .join(' – ')\n }\n </SliderOutput>\n </div>\n )}\n <SliderTrack className={classes.track}>\n {({ state }) => {\n const numThumbs = state.values.length;\n\n // Calculate track fill\n let trackFillStyle: React.CSSProperties;\n if (numThumbs === 1) {\n // Single thumb: fill from start to thumb\n const percent = state.getThumbPercent(0);\n const isVertical = state.orientation === 'vertical';\n trackFillStyle = isVertical\n ? { bottom: 0, height: `${percent * 100}%` }\n : { left: 0, width: `${percent * 100}%` };\n } else {\n // Range: fill between thumbs\n const start = state.getThumbPercent(0);\n const end = state.getThumbPercent(1);\n const rangePercent = (end - start) * 100;\n const isVertical = state.orientation === 'vertical';\n trackFillStyle = isVertical\n ? { bottom: `${start * 100}%`, height: `${rangePercent}%` }\n : { left: `${start * 100}%`, width: `${rangePercent}%` };\n }\n\n return (\n <>\n <div className={classes.trackFill} style={trackFillStyle} />\n <SliderThumb index={0} className={classes.thumb} />\n {numThumbs > 1 && (\n <SliderThumb index={1} className={classes.thumb} />\n )}\n </>\n );\n }}\n </SliderTrack>\n <FieldError />\n </AriaSlider>\n );\n}\n\n/**\n * A draggable input for selecting a numeric value or range within a defined interval, with an integrated label and value output.\n *\n * @public\n */\nexport const Slider = forwardRef(SliderImpl) as (<T extends number | number[]>(\n props: SliderProps<T> & { ref?: React.ForwardedRef<HTMLDivElement> },\n) => JSX.Element) & { displayName: string };\n\nSlider.displayName = 'Slider';\n"],"names":["AriaSlider"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = "/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@layer tokens, base, components, utilities;\n\n@layer components {\n .Slider_bui-Slider__2f81b53870 {\n display: flex;\n flex-direction: column;\n gap: var(--bui-space-2);\n width: 100%;\n color: var(--bui-fg-primary);\n\n &[data-orientation='vertical'] {\n height: 200px;\n width: auto;\n }\n }\n\n .Slider_bui-SliderHeader__2f81b53870 {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: var(--bui-space-3);\n }\n\n .Slider_bui-SliderOutput__2f81b53870 {\n font-size: var(--bui-font-size-2);\n line-height: 1.15;\n font-weight: var(--bui-font-weight-medium);\n color: var(--bui-fg-secondary);\n white-space: nowrap;\n }\n\n .Slider_bui-SliderTrack__2f81b53870 {\n position: relative;\n height: 4px;\n width: 100%;\n background: var(--bui-bg-neutral-3);\n border-radius: var(--bui-radius-sm);\n cursor: pointer;\n\n &[data-disabled] {\n cursor: not-allowed;\n }\n\n /* Vertical orientation */\n [data-orientation='vertical'] & {\n width: 4px;\n height: 100%;\n }\n }\n\n .Slider_bui-SliderTrackFill__2f81b53870 {\n position: absolute;\n top: 0;\n height: 100%;\n background: var(--bui-bg-solid);\n border-radius: var(--bui-radius-sm);\n pointer-events: none;\n\n /* Vertical orientation */\n [data-orientation='vertical'] & {\n width: 100%;\n height: auto;\n left: 0;\n right: 0;\n top: auto;\n }\n }\n\n .Slider_bui-SliderThumb__2f81b53870 {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: var(--bui-bg-solid);\n border: 2px solid var(--bui-bg-solid);\n box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n cursor: grab;\n transition: transform 200ms;\n\n /* Fix: Ensure thumb is vertically centered on track */\n top: 50%;\n transform: translateY(-50%);\n\n &[data-focus-visible] {\n outline: 2px solid var(--bui-ring);\n outline-offset: 2px;\n }\n\n &[data-dragging] {\n cursor: grabbing;\n box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n transform: translateY(-50%) scale(1.1);\n }\n\n /* Hover effect */\n &:hover:not([data-disabled]) {\n transform: translateY(-50%) scale(1.1);\n }\n }\n\n /* Improved disabled state */\n .Slider_bui-Slider__2f81b53870[data-disabled] {\n opacity: 0.6;\n cursor: not-allowed;\n\n & .Slider_bui-SliderTrack__2f81b53870 {\n background: var(--bui-bg-neutral-2);\n }\n\n & .Slider_bui-SliderTrackFill__2f81b53870 {\n background: var(--bui-bg-neutral-4);\n }\n\n & .Slider_bui-SliderThumb__2f81b53870 {\n cursor: not-allowed;\n background: var(--bui-bg-neutral-4);\n border-color: var(--bui-border-neutral);\n }\n }\n}\n";
4
- var styles = {"bui-Slider":"Slider_bui-Slider__2f81b53870","bui-SliderHeader":"Slider_bui-SliderHeader__2f81b53870","bui-SliderOutput":"Slider_bui-SliderOutput__2f81b53870","bui-SliderTrack":"Slider_bui-SliderTrack__2f81b53870","bui-SliderTrackFill":"Slider_bui-SliderTrackFill__2f81b53870","bui-SliderThumb":"Slider_bui-SliderThumb__2f81b53870"};
3
+ var css_248z = "/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@layer tokens, base, components, theme, utilities;\n\n@layer components {\n .Slider_bui-Slider__c4db2bb085 {\n display: flex;\n flex-direction: column;\n gap: var(--bui-space-2);\n width: 100%;\n color: var(--bui-fg-primary);\n\n &[data-orientation='vertical'] {\n height: 200px;\n width: auto;\n }\n }\n\n .Slider_bui-SliderHeader__c4db2bb085 {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: var(--bui-space-3);\n }\n\n .Slider_bui-SliderOutput__c4db2bb085 {\n font-size: var(--bui-font-size-2);\n line-height: 1.15;\n font-weight: var(--bui-font-weight-medium);\n color: var(--bui-fg-secondary);\n white-space: nowrap;\n }\n\n .Slider_bui-SliderTrack__c4db2bb085 {\n position: relative;\n height: 4px;\n width: 100%;\n background: var(--bui-bg-neutral-3);\n border-radius: var(--bui-radius-sm);\n cursor: pointer;\n\n &[data-disabled] {\n cursor: not-allowed;\n }\n\n /* Vertical orientation */\n [data-orientation='vertical'] & {\n width: 4px;\n height: 100%;\n }\n }\n\n .Slider_bui-SliderTrackFill__c4db2bb085 {\n position: absolute;\n top: 0;\n height: 100%;\n background: var(--bui-bg-solid);\n border-radius: var(--bui-radius-sm);\n pointer-events: none;\n\n /* Vertical orientation */\n [data-orientation='vertical'] & {\n width: 100%;\n height: auto;\n left: 0;\n right: 0;\n top: auto;\n }\n }\n\n .Slider_bui-SliderThumb__c4db2bb085 {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: var(--bui-bg-solid);\n border: 2px solid var(--bui-bg-solid);\n box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n cursor: grab;\n transition: transform 200ms;\n\n /* Fix: Ensure thumb is vertically centered on track */\n top: 50%;\n transform: translateY(-50%);\n\n &[data-focus-visible] {\n outline: 2px solid var(--bui-ring);\n outline-offset: 2px;\n }\n\n &[data-dragging] {\n cursor: grabbing;\n box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n transform: translateY(-50%) scale(1.1);\n }\n\n /* Hover effect */\n &:hover:not([data-disabled]) {\n transform: translateY(-50%) scale(1.1);\n }\n }\n\n /* Improved disabled state */\n .Slider_bui-Slider__c4db2bb085[data-disabled] {\n opacity: 0.6;\n cursor: not-allowed;\n\n & .Slider_bui-SliderTrack__c4db2bb085 {\n background: var(--bui-bg-neutral-2);\n }\n\n & .Slider_bui-SliderTrackFill__c4db2bb085 {\n background: var(--bui-bg-neutral-4);\n }\n\n & .Slider_bui-SliderThumb__c4db2bb085 {\n cursor: not-allowed;\n background: var(--bui-bg-neutral-4);\n border-color: var(--bui-border-neutral);\n }\n }\n}\n";
4
+ var styles = {"bui-Slider":"Slider_bui-Slider__c4db2bb085","bui-SliderHeader":"Slider_bui-SliderHeader__c4db2bb085","bui-SliderOutput":"Slider_bui-SliderOutput__c4db2bb085","bui-SliderTrack":"Slider_bui-SliderTrack__c4db2bb085","bui-SliderTrackFill":"Slider_bui-SliderTrackFill__c4db2bb085","bui-SliderThumb":"Slider_bui-SliderThumb__c4db2bb085"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"Slider.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Slider/definition.ts"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineComponent } from '../../hooks/useDefinition';\nimport type { SliderOwnProps } from './types';\nimport styles from './Slider.module.css';\n\n/**\n * Component definition for Slider\n * @public\n */\nexport const SliderDefinition = defineComponent<SliderOwnProps>()({\n styles,\n classNames: {\n root: 'bui-Slider',\n header: 'bui-SliderHeader',\n track: 'bui-SliderTrack',\n trackFill: 'bui-SliderTrackFill',\n thumb: 'bui-SliderThumb',\n output: 'bui-SliderOutput',\n },\n propDefs: {\n className: {},\n label: {},\n secondaryLabel: {},\n description: {},\n isRequired: {},\n },\n});\n"],"names":[],"mappings":";;;;;;;;;;;;AAwBO,MAAM,gBAAA,GAAmB,iBAAgC,CAAE;AAAA,EAChE,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,YAAA;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO,iBAAA;AAAA,IACP,SAAA,EAAW,qBAAA;AAAA,IACX,KAAA,EAAO,iBAAA;AAAA,IACP,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,QAAA,EAAU;AAAA,IACR,WAAW,EAAC;AAAA,IACZ,OAAO,EAAC;AAAA,IACR,gBAAgB,EAAC;AAAA,IACjB,aAAa,EAAC;AAAA,IACd,YAAY;AAAC;AAEjB,CAAC;;;;"}
1
+ {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Slider/definition.ts"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineComponent } from '../../hooks/useDefinition';\nimport type { SliderOwnProps } from './types';\nimport styles from './Slider.module.css';\n\n/**\n * Component definition for Slider\n * @public\n */\nexport const SliderDefinition = defineComponent<SliderOwnProps>()({\n styles,\n classNames: {\n root: 'bui-Slider',\n header: 'bui-SliderHeader',\n track: 'bui-SliderTrack',\n trackFill: 'bui-SliderTrackFill',\n thumb: 'bui-SliderThumb',\n output: 'bui-SliderOutput',\n },\n propDefs: {\n className: {},\n label: {},\n secondaryLabel: {},\n description: {},\n isRequired: {},\n },\n});\n"],"names":[],"mappings":";;;;;;;;;;;;AAwBO,MAAM,gBAAA,GAAmB,iBAAgC,CAAE;AAAA,EAChE,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,YAAA;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO,iBAAA;AAAA,IACP,SAAA,EAAW,qBAAA;AAAA,IACX,KAAA,EAAO,iBAAA;AAAA,IACP,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,QAAA,EAAU;AAAA,IACR,WAAW,EAAC;AAAA,IACZ,OAAO,EAAC;AAAA,IACR,gBAAgB,EAAC;AAAA,IACjB,aAAa,EAAC;AAAA,IACd,YAAY;AAAC;AAEjB,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.esm.js","sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { forwardRef } from 'react';\nimport { Switch as AriaSwitch } from 'react-aria-components';\nimport type { SwitchProps } from './types';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport { SwitchDefinition } from './definition';\n\n/**\n * A toggle control for switching between on and off states, with an optional visible label.\n *\n * @public\n */\nexport const Switch = forwardRef<HTMLLabelElement, SwitchProps>(\n (props, ref) => {\n const { ownProps, restProps, dataAttributes } = useDefinition(\n SwitchDefinition,\n props,\n );\n const { classes, label } = ownProps;\n\n return (\n <AriaSwitch\n className={classes.root}\n ref={ref}\n {...dataAttributes}\n {...restProps}\n >\n <div className={classes.indicator} />\n {label}\n </AriaSwitch>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n"],"names":["AriaSwitch"],"mappings":";;;;;;AA2BO,MAAM,MAAA,GAAS,UAAA;AAAA,EACpB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,cAAA,EAAe,GAAI,aAAA;AAAA,MAC9C,gBAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAM,GAAI,QAAA;AAE3B,IAAA,uBACE,IAAA;AAAA,MAACA,QAAA;AAAA,MAAA;AAAA,QACC,WAAW,OAAA,CAAQ,IAAA;AAAA,QACnB,GAAA;AAAA,QACC,GAAG,cAAA;AAAA,QACH,GAAG,SAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,SAAA,EAAW,CAAA;AAAA,UAClC;AAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;;;;"}
1
+ {"version":3,"file":"Switch.esm.js","sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { forwardRef } from 'react';\nimport { Switch as AriaSwitch } from 'react-aria-components';\nimport type { SwitchProps } from './types';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport { SwitchDefinition } from './definition';\n\n/**\n * A toggle control for switching between on and off states, with an optional visible label.\n *\n * @public\n */\nexport const Switch = forwardRef<HTMLLabelElement, SwitchProps>(\n (props, ref) => {\n const { ownProps, restProps, dataAttributes } = useDefinition(\n SwitchDefinition,\n props,\n );\n const { classes, label } = ownProps;\n\n return (\n <AriaSwitch\n className={classes.root}\n ref={ref}\n {...dataAttributes}\n {...restProps}\n >\n <div className={classes.indicator} />\n {label}\n </AriaSwitch>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n"],"names":["AriaSwitch"],"mappings":";;;;;;AA2BO,MAAM,MAAA,GAAS,UAAA;AAAA,EACpB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,cAAA,EAAe,GAAI,aAAA;AAAA,MAC9C,gBAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAM,GAAI,QAAA;AAE3B,IAAA,uBACE,IAAA;AAAA,MAACA,QAAA;AAAA,MAAA;AAAA,QACC,WAAW,OAAA,CAAQ,IAAA;AAAA,QACnB,GAAA;AAAA,QACC,GAAG,cAAA;AAAA,QACH,GAAG,SAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,SAAA,EAAW,CAAA;AAAA,UAClC;AAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;;"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = "/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@layer tokens, base, components, utilities;\n\n@layer components {\n .Switch_bui-Switch__ffb4027f0e {\n --switch-indicator-bg: var(--bui-gray-4);\n\n [data-theme-mode='dark'] & {\n --switch-indicator-bg: var(--bui-gray-6);\n }\n\n display: flex;\n /* This is needed so the HiddenInput is positioned correctly */\n position: relative;\n align-items: center;\n gap: var(--bui-space-3);\n font-size: var(--bui-font-size-3);\n line-height: 1.15;\n color: var(--bui-fg-primary);\n cursor: pointer;\n\n &[data-disabled] {\n --switch-thumb-bg: var(--bui-gray-3);\n\n &[data-on-bg='neutral-1'] {\n --switch-thumb-bg: var(--bui-gray-2);\n }\n\n &[data-on-bg='neutral-2'] {\n --switch-thumb-bg: var(--bui-gray-3);\n }\n\n &[data-on-bg='neutral-3'] {\n --switch-thumb-bg: var(--bui-gray-2);\n }\n\n cursor: not-allowed;\n color: var(--bui-fg-disabled);\n }\n\n [data-theme-mode='dark'] &[data-disabled] {\n --switch-thumb-bg: var(--bui-gray-5);\n }\n\n &[data-selected] {\n .Switch_bui-SwitchIndicator__ffb4027f0e {\n background: var(--bui-accent-bg);\n\n &:before {\n background: var(--bui-accent-fg);\n transform: translateX(100%);\n }\n }\n\n &[data-disabled] {\n .Switch_bui-SwitchIndicator__ffb4027f0e {\n background: var(--bui-accent-bg-disabled);\n\n &:before {\n background: var(--bui-accent-fg-disabled);\n }\n }\n }\n\n &[data-pressed] {\n .Switch_indicator__ffb4027f0e {\n background: var(--bui-bg-neutral-3);\n }\n }\n }\n\n &[data-focus-visible] .Switch_bui-SwitchIndicator__ffb4027f0e {\n outline: 2px solid;\n outline-offset: 2px;\n }\n }\n\n .Switch_bui-SwitchIndicator__ffb4027f0e {\n width: 2rem;\n height: 1.143rem;\n border: 2px;\n background: var(--switch-indicator-bg);\n border-radius: 1.143rem;\n transition: all 200ms;\n\n &:before {\n content: '';\n display: block;\n margin: 0.143rem;\n width: 0.857rem;\n height: 0.857rem;\n background: var(--switch-thumb-bg, var(--bui-accent-fg));\n border-radius: 16px;\n transition: all 200ms;\n }\n }\n}\n";
4
- var styles = {"bui-Switch":"Switch_bui-Switch__ffb4027f0e","bui-SwitchIndicator":"Switch_bui-SwitchIndicator__ffb4027f0e","indicator":"Switch_indicator__ffb4027f0e"};
3
+ var css_248z = "/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@layer tokens, base, components, theme, utilities;\n\n@layer components {\n .Switch_bui-Switch__cc2ed8a318 {\n --switch-indicator-bg: var(--bui-gray-4);\n\n [data-theme-mode='dark'] & {\n --switch-indicator-bg: var(--bui-gray-6);\n }\n\n display: flex;\n /* This is needed so the HiddenInput is positioned correctly */\n position: relative;\n align-items: center;\n gap: var(--bui-space-3);\n font-size: var(--bui-font-size-3);\n line-height: 1.15;\n color: var(--bui-fg-primary);\n cursor: pointer;\n\n &[data-disabled] {\n --switch-thumb-bg: var(--bui-gray-3);\n\n &[data-on-bg='neutral-1'] {\n --switch-thumb-bg: var(--bui-gray-2);\n }\n\n &[data-on-bg='neutral-2'] {\n --switch-thumb-bg: var(--bui-gray-3);\n }\n\n &[data-on-bg='neutral-3'] {\n --switch-thumb-bg: var(--bui-gray-2);\n }\n\n cursor: not-allowed;\n color: var(--bui-fg-disabled);\n }\n\n [data-theme-mode='dark'] &[data-disabled] {\n --switch-thumb-bg: var(--bui-gray-5);\n }\n\n &[data-selected] {\n .Switch_bui-SwitchIndicator__cc2ed8a318 {\n background: var(--bui-accent-bg);\n\n &:before {\n background: var(--bui-accent-fg);\n transform: translateX(100%);\n }\n }\n\n &[data-disabled] {\n .Switch_bui-SwitchIndicator__cc2ed8a318 {\n background: var(--bui-accent-bg-disabled);\n\n &:before {\n background: var(--bui-accent-fg-disabled);\n }\n }\n }\n\n &[data-pressed] {\n .Switch_indicator__cc2ed8a318 {\n background: var(--bui-bg-neutral-3);\n }\n }\n }\n\n &[data-focus-visible] .Switch_bui-SwitchIndicator__cc2ed8a318 {\n outline: 2px solid;\n outline-offset: 2px;\n }\n }\n\n .Switch_bui-SwitchIndicator__cc2ed8a318 {\n width: 2rem;\n height: 1.143rem;\n border: 2px;\n background: var(--switch-indicator-bg);\n border-radius: 1.143rem;\n transition: all 200ms;\n\n &:before {\n content: '';\n display: block;\n margin: 0.143rem;\n width: 0.857rem;\n height: 0.857rem;\n background: var(--switch-thumb-bg, var(--bui-accent-fg));\n border-radius: 16px;\n transition: all 200ms;\n }\n }\n}\n";
4
+ var styles = {"bui-Switch":"Switch_bui-Switch__cc2ed8a318","bui-SwitchIndicator":"Switch_bui-SwitchIndicator__cc2ed8a318","indicator":"Switch_indicator__cc2ed8a318"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"Switch.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Switch/definition.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineComponent } from '../../hooks/useDefinition';\nimport type { SwitchOwnProps } from './types';\nimport styles from './Switch.module.css';\n\n/**\n * Component definition for Switch\n * @public\n */\nexport const SwitchDefinition = defineComponent<SwitchOwnProps>()({\n styles,\n classNames: {\n root: 'bui-Switch',\n indicator: 'bui-SwitchIndicator',\n },\n bg: 'consumer',\n propDefs: {\n label: {},\n className: {},\n },\n});\n"],"names":[],"mappings":";;;;;;;;;;;;AAwBO,MAAM,gBAAA,GAAmB,iBAAgC,CAAE;AAAA,EAChE,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,YAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EACA,EAAA,EAAI,UAAA;AAAA,EACJ,QAAA,EAAU;AAAA,IACR,OAAO,EAAC;AAAA,IACR,WAAW;AAAC;AAEhB,CAAC;;;;"}
1
+ {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Switch/definition.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineComponent } from '../../hooks/useDefinition';\nimport type { SwitchOwnProps } from './types';\nimport styles from './Switch.module.css';\n\n/**\n * Component definition for Switch\n * @public\n */\nexport const SwitchDefinition = defineComponent<SwitchOwnProps>()({\n styles,\n classNames: {\n root: 'bui-Switch',\n indicator: 'bui-SwitchIndicator',\n },\n bg: 'consumer',\n propDefs: {\n label: {},\n className: {},\n },\n});\n"],"names":[],"mappings":";;;;;;;;;;;;AAwBO,MAAM,gBAAA,GAAmB,iBAAgC,CAAE;AAAA,EAChE,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,YAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EACA,EAAA,EAAI,UAAA;AAAA,EACJ,QAAA,EAAU;AAAA,IACR,OAAO,EAAC;AAAA,IACR,WAAW;AAAC;AAEhB,CAAC;;"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = "/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@layer tokens, base, components, utilities;\n\n@layer components {\n .Table_bui-TableWrapper__e750c02f4b {\n display: flex;\n flex-direction: column;\n }\n\n .Table_bui-TableResizableContainer__e750c02f4b {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n overflow: auto;\n }\n\n .Table_bui-TableScrollContainer__e750c02f4b {\n overflow: auto;\n flex: 1;\n min-height: 0;\n }\n\n .Table_bui-Table__e750c02f4b {\n /* Establishes containing block for react-aria's absolutely positioned hidden checkbox inputs, preventing them from escaping to a distant ancestor and creating phantom scroll height. */\n position: relative;\n width: 100%;\n caption-side: bottom;\n border-collapse: collapse;\n table-layout: fixed;\n transition: opacity 0.2s ease-in-out;\n\n &[data-stale='true'],\n &[data-ispending='true'] {\n opacity: 0.6;\n }\n }\n\n .Table_bui-TableHeader__e750c02f4b {\n border-bottom: 1px solid var(--bui-border-2);\n transition: color 0.2s ease-in-out;\n }\n\n .Table_bui-TableHead__e750c02f4b {\n text-align: left;\n padding: var(--bui-space-3);\n font-size: var(--bui-font-size-3);\n line-height: 1.15;\n color: var(--bui-fg-primary);\n }\n\n .Table_bui-TableHeadSelection__e750c02f4b {\n width: 40px;\n }\n\n .Table_bui-TableHeadContent__e750c02f4b {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--bui-space-1);\n }\n\n .Table_bui-TableHeadLabel__e750c02f4b {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n }\n\n .Table_bui-TableHeadSortButton__e750c02f4b {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n gap: var(--bui-space-1);\n opacity: 0;\n transition: opacity 0.1s ease-in-out;\n color: var(--bui-fg-secondary);\n\n .Table_bui-TableHead__e750c02f4b:hover &,\n [data-sort-direction='ascending'] &,\n [data-sort-direction='descending'] & {\n opacity: 1;\n }\n\n & svg {\n transition: transform 0.1s ease-in-out;\n }\n [data-sort-direction='descending'] & svg {\n transform: rotate(180deg);\n }\n }\n\n .Table_bui-TableBody__e750c02f4b {\n color: var(--bui-fg-primary);\n }\n\n .Table_bui-TableRow__e750c02f4b {\n border-bottom: 1px solid var(--bui-border-2);\n transition: color 0.2s ease-in-out;\n cursor: default;\n\n &:hover {\n background-color: var(--bui-bg-neutral-1-hover);\n }\n\n &[data-selected] {\n background-color: var(--bui-bg-neutral-1-pressed);\n }\n\n &[data-pressed] {\n background-color: var(--bui-bg-neutral-1-pressed);\n }\n\n &[data-on-bg='neutral-1'] {\n &:hover {\n background-color: var(--bui-bg-neutral-2-hover);\n }\n\n &[data-selected] {\n background-color: var(--bui-bg-neutral-2-pressed);\n }\n\n &[data-pressed] {\n background-color: var(--bui-bg-neutral-2-pressed);\n }\n\n &[data-disabled] {\n background-color: var(--bui-bg-neutral-2-disabled);\n }\n }\n\n &[data-on-bg='neutral-2'] {\n &:hover {\n background-color: var(--bui-bg-neutral-3-hover);\n }\n\n &[data-selected] {\n background-color: var(--bui-bg-neutral-3-pressed);\n }\n\n &[data-pressed] {\n background-color: var(--bui-bg-neutral-3-pressed);\n }\n\n &[data-disabled] {\n background-color: var(--bui-bg-neutral-3-disabled);\n }\n }\n\n &[data-on-bg='neutral-3'] {\n &:hover {\n background-color: var(--bui-bg-neutral-4-hover);\n }\n\n &[data-selected] {\n background-color: var(--bui-bg-neutral-4-pressed);\n }\n\n &[data-pressed] {\n background-color: var(--bui-bg-neutral-4-pressed);\n }\n\n &[data-disabled] {\n background-color: var(--bui-bg-neutral-4-disabled);\n }\n }\n\n &[data-href],\n &[data-selection-mode],\n &[data-react-aria-pressable='true'] {\n cursor: pointer;\n }\n\n &[data-disabled] {\n background-color: var(--bui-bg-neutral-1-disabled);\n cursor: not-allowed;\n }\n }\n\n .Table_bui-TableCell__e750c02f4b {\n padding: var(--bui-space-3);\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n line-height: 1.15;\n min-width: 0;\n overflow: hidden;\n }\n\n .Table_bui-TableCellSelection__e750c02f4b {\n width: 40px;\n }\n\n .Table_bui-TableCellContentWrapper__e750c02f4b {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--bui-space-2);\n min-width: 0;\n width: 100%;\n max-width: 100%;\n }\n\n .Table_bui-TableCellIcon__e750c02f4b,\n .Table_bui-TableCellIcon__e750c02f4b svg {\n display: inline-flex;\n align-items: center;\n color: var(--bui-fg-primary);\n }\n\n .Table_bui-TableCellContent__e750c02f4b {\n display: flex;\n flex-direction: column;\n gap: var(--bui-space-0_5);\n min-width: 0;\n flex: 1;\n overflow: hidden;\n max-width: 100%;\n }\n\n .Table_bui-TableCellContent__e750c02f4b > * {\n min-width: 0;\n max-width: 100%;\n }\n\n .Table_bui-TableCellProfile__e750c02f4b {\n display: flex;\n flex-direction: row;\n gap: var(--bui-space-2);\n align-items: center;\n }\n}\n";
4
- var styles = {"bui-TableWrapper":"Table_bui-TableWrapper__e750c02f4b","bui-TableResizableContainer":"Table_bui-TableResizableContainer__e750c02f4b","bui-TableScrollContainer":"Table_bui-TableScrollContainer__e750c02f4b","bui-Table":"Table_bui-Table__e750c02f4b","bui-TableHeader":"Table_bui-TableHeader__e750c02f4b","bui-TableHead":"Table_bui-TableHead__e750c02f4b","bui-TableHeadSelection":"Table_bui-TableHeadSelection__e750c02f4b","bui-TableHeadContent":"Table_bui-TableHeadContent__e750c02f4b","bui-TableHeadLabel":"Table_bui-TableHeadLabel__e750c02f4b","bui-TableHeadSortButton":"Table_bui-TableHeadSortButton__e750c02f4b","bui-TableBody":"Table_bui-TableBody__e750c02f4b","bui-TableRow":"Table_bui-TableRow__e750c02f4b","bui-TableCell":"Table_bui-TableCell__e750c02f4b","bui-TableCellSelection":"Table_bui-TableCellSelection__e750c02f4b","bui-TableCellContentWrapper":"Table_bui-TableCellContentWrapper__e750c02f4b","bui-TableCellIcon":"Table_bui-TableCellIcon__e750c02f4b","bui-TableCellContent":"Table_bui-TableCellContent__e750c02f4b","bui-TableCellProfile":"Table_bui-TableCellProfile__e750c02f4b"};
3
+ var css_248z = "/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@layer tokens, base, components, theme, utilities;\n\n@layer components {\n .Table_bui-TableWrapper__db9c127e77 {\n display: flex;\n flex-direction: column;\n }\n\n .Table_bui-TableResizableContainer__db9c127e77 {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n overflow: auto;\n }\n\n .Table_bui-TableScrollContainer__db9c127e77 {\n overflow: auto;\n flex: 1;\n min-height: 0;\n }\n\n .Table_bui-Table__db9c127e77 {\n /* Establishes containing block for react-aria's absolutely positioned hidden checkbox inputs, preventing them from escaping to a distant ancestor and creating phantom scroll height. */\n position: relative;\n width: 100%;\n caption-side: bottom;\n border-collapse: collapse;\n table-layout: fixed;\n transition: opacity 0.2s ease-in-out;\n\n &[data-stale='true'],\n &[data-ispending='true'] {\n opacity: 0.6;\n }\n }\n\n .Table_bui-TableHeader__db9c127e77 {\n border-bottom: 1px solid var(--bui-border-2);\n transition: color 0.2s ease-in-out;\n }\n\n .Table_bui-TableHead__db9c127e77 {\n text-align: left;\n padding: var(--bui-space-3);\n font-size: var(--bui-font-size-3);\n line-height: 1.15;\n color: var(--bui-fg-primary);\n }\n\n .Table_bui-TableHeadSelection__db9c127e77 {\n width: 40px;\n }\n\n .Table_bui-TableHeadContent__db9c127e77 {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--bui-space-1);\n }\n\n .Table_bui-TableHeadLabel__db9c127e77 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n }\n\n .Table_bui-TableHeadSortButton__db9c127e77 {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n gap: var(--bui-space-1);\n opacity: 0;\n transition: opacity 0.1s ease-in-out;\n color: var(--bui-fg-secondary);\n\n .Table_bui-TableHead__db9c127e77:hover &,\n [data-sort-direction='ascending'] &,\n [data-sort-direction='descending'] & {\n opacity: 1;\n }\n\n & svg {\n transition: transform 0.1s ease-in-out;\n }\n [data-sort-direction='descending'] & svg {\n transform: rotate(180deg);\n }\n }\n\n .Table_bui-TableBody__db9c127e77 {\n color: var(--bui-fg-primary);\n }\n\n .Table_bui-TableRow__db9c127e77 {\n border-bottom: 1px solid var(--bui-border-2);\n transition: color 0.2s ease-in-out;\n cursor: default;\n\n &:hover {\n background-color: var(--bui-bg-neutral-1-hover);\n }\n\n &[data-selected] {\n background-color: var(--bui-bg-neutral-1-pressed);\n }\n\n &[data-pressed] {\n background-color: var(--bui-bg-neutral-1-pressed);\n }\n\n &[data-on-bg='neutral-1'] {\n &:hover {\n background-color: var(--bui-bg-neutral-2-hover);\n }\n\n &[data-selected] {\n background-color: var(--bui-bg-neutral-2-pressed);\n }\n\n &[data-pressed] {\n background-color: var(--bui-bg-neutral-2-pressed);\n }\n\n &[data-disabled] {\n background-color: var(--bui-bg-neutral-2-disabled);\n }\n }\n\n &[data-on-bg='neutral-2'] {\n &:hover {\n background-color: var(--bui-bg-neutral-3-hover);\n }\n\n &[data-selected] {\n background-color: var(--bui-bg-neutral-3-pressed);\n }\n\n &[data-pressed] {\n background-color: var(--bui-bg-neutral-3-pressed);\n }\n\n &[data-disabled] {\n background-color: var(--bui-bg-neutral-3-disabled);\n }\n }\n\n &[data-on-bg='neutral-3'] {\n &:hover {\n background-color: var(--bui-bg-neutral-4-hover);\n }\n\n &[data-selected] {\n background-color: var(--bui-bg-neutral-4-pressed);\n }\n\n &[data-pressed] {\n background-color: var(--bui-bg-neutral-4-pressed);\n }\n\n &[data-disabled] {\n background-color: var(--bui-bg-neutral-4-disabled);\n }\n }\n\n &[data-href],\n &[data-selection-mode],\n &[data-react-aria-pressable='true'] {\n cursor: pointer;\n }\n\n &[data-disabled] {\n background-color: var(--bui-bg-neutral-1-disabled);\n cursor: not-allowed;\n }\n }\n\n .Table_bui-TableCell__db9c127e77 {\n padding: var(--bui-space-3);\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n line-height: 1.15;\n min-width: 0;\n overflow: hidden;\n }\n\n .Table_bui-TableCellSelection__db9c127e77 {\n width: 40px;\n }\n\n .Table_bui-TableCellContentWrapper__db9c127e77 {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--bui-space-2);\n min-width: 0;\n width: 100%;\n max-width: 100%;\n }\n\n .Table_bui-TableCellIcon__db9c127e77,\n .Table_bui-TableCellIcon__db9c127e77 svg {\n display: inline-flex;\n align-items: center;\n color: var(--bui-fg-primary);\n }\n\n .Table_bui-TableCellContent__db9c127e77 {\n display: flex;\n flex-direction: column;\n gap: var(--bui-space-0_5);\n min-width: 0;\n flex: 1;\n overflow: hidden;\n max-width: 100%;\n }\n\n .Table_bui-TableCellContent__db9c127e77 > * {\n min-width: 0;\n max-width: 100%;\n }\n\n .Table_bui-TableCellProfile__db9c127e77 {\n display: flex;\n flex-direction: row;\n gap: var(--bui-space-2);\n align-items: center;\n }\n}\n";
4
+ var styles = {"bui-TableWrapper":"Table_bui-TableWrapper__db9c127e77","bui-TableResizableContainer":"Table_bui-TableResizableContainer__db9c127e77","bui-TableScrollContainer":"Table_bui-TableScrollContainer__db9c127e77","bui-Table":"Table_bui-Table__db9c127e77","bui-TableHeader":"Table_bui-TableHeader__db9c127e77","bui-TableHead":"Table_bui-TableHead__db9c127e77","bui-TableHeadSelection":"Table_bui-TableHeadSelection__db9c127e77","bui-TableHeadContent":"Table_bui-TableHeadContent__db9c127e77","bui-TableHeadLabel":"Table_bui-TableHeadLabel__db9c127e77","bui-TableHeadSortButton":"Table_bui-TableHeadSortButton__db9c127e77","bui-TableBody":"Table_bui-TableBody__db9c127e77","bui-TableRow":"Table_bui-TableRow__db9c127e77","bui-TableCell":"Table_bui-TableCell__db9c127e77","bui-TableCellSelection":"Table_bui-TableCellSelection__db9c127e77","bui-TableCellContentWrapper":"Table_bui-TableCellContentWrapper__db9c127e77","bui-TableCellIcon":"Table_bui-TableCellIcon__db9c127e77","bui-TableCellContent":"Table_bui-TableCellContent__db9c127e77","bui-TableCellProfile":"Table_bui-TableCellProfile__db9c127e77"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Table.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"Table.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.esm.js","sources":["../../../../src/components/Table/components/Cell.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Cell as ReactAriaCell } from 'react-aria-components';\nimport type { CellProps } from '../types';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { CellDefinition } from '../definition';\n\n/**\n * A low-level table cell primitive for building custom cell content.\n * For standard use cases, prefer `CellText` or `CellProfile`.\n *\n * @public\n */\nconst Cell = (props: CellProps) => {\n const { ownProps, restProps } = useDefinition(CellDefinition, props);\n\n return <ReactAriaCell className={ownProps.classes.root} {...restProps} />;\n};\n\nCell.displayName = 'Cell';\n\nexport { Cell };\n"],"names":["ReactAriaCell"],"mappings":";;;;;AA2BA,MAAM,IAAA,GAAO,CAAC,KAAA,KAAqB;AACjC,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,gBAAgB,KAAK,CAAA;AAEnE,EAAA,2BAAQA,MAAA,EAAA,EAAc,SAAA,EAAW,SAAS,OAAA,CAAQ,IAAA,EAAO,GAAG,SAAA,EAAW,CAAA;AACzE;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA;;;;"}
1
+ {"version":3,"file":"Cell.esm.js","sources":["../../../../src/components/Table/components/Cell.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Cell as ReactAriaCell } from 'react-aria-components';\nimport type { CellProps } from '../types';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { CellDefinition } from '../definition';\n\n/**\n * A low-level table cell primitive for building custom cell content.\n * For standard use cases, prefer `CellText` or `CellProfile`.\n *\n * @public\n */\nconst Cell = (props: CellProps) => {\n const { ownProps, restProps } = useDefinition(CellDefinition, props);\n\n return <ReactAriaCell className={ownProps.classes.root} {...restProps} />;\n};\n\nCell.displayName = 'Cell';\n\nexport { Cell };\n"],"names":["ReactAriaCell"],"mappings":";;;;;AA2BA,MAAM,IAAA,GAAO,CAAC,KAAA,KAAqB;AACjC,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,gBAAgB,KAAK,CAAA;AAEnE,EAAA,2BAAQA,MAAA,EAAA,EAAc,SAAA,EAAW,SAAS,OAAA,CAAQ,IAAA,EAAO,GAAG,SAAA,EAAW,CAAA;AACzE;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CellProfile.esm.js","sources":["../../../../src/components/Table/components/CellProfile.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { CellProfileProps } from '../types';\nimport { Text } from '../../Text/Text';\nimport { Link } from '../../Link/Link';\nimport { Avatar } from '../../Avatar';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { CellProfileDefinition } from '../definition';\nimport { Cell as ReactAriaCell } from 'react-aria-components';\n\n/**\n * A table cell that renders an avatar image alongside a name, with an optional description and link.\n *\n * @public\n */\nexport const CellProfile = (props: CellProfileProps) => {\n const { ownProps, restProps } = useDefinition(CellProfileDefinition, props);\n const { classes, src, name, href, description, color } = ownProps;\n\n return (\n <ReactAriaCell className={classes.root} {...restProps}>\n <div className={classes.cellContentWrapper}>\n {src && name && (\n <Avatar src={src} name={name} size=\"x-small\" purpose=\"decoration\" />\n )}\n <div className={classes.cellContent}>\n {name && href ? (\n <Link href={href}>{name}</Link>\n ) : (\n <Text as=\"p\" variant=\"body-medium\" color={color}>\n {name}\n </Text>\n )}\n {description && (\n <Text variant=\"body-medium\" color=\"secondary\">\n {description}\n </Text>\n )}\n </div>\n </div>\n </ReactAriaCell>\n );\n};\n"],"names":["ReactAriaCell"],"mappings":";;;;;;;;;AA6BO,MAAM,WAAA,GAAc,CAAC,KAAA,KAA4B;AACtD,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,uBAAuB,KAAK,CAAA;AAC1E,EAAA,MAAM,EAAE,OAAA,EAAS,GAAA,EAAK,MAAM,IAAA,EAAM,WAAA,EAAa,OAAM,GAAI,QAAA;AAEzD,EAAA,uBACE,GAAA,CAACA,IAAA,EAAA,EAAc,SAAA,EAAW,OAAA,CAAQ,IAAA,EAAO,GAAG,SAAA,EAC1C,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,kBAAA,EACrB,QAAA,EAAA;AAAA,IAAA,GAAA,IAAO,IAAA,wBACL,MAAA,EAAA,EAAO,GAAA,EAAU,MAAY,IAAA,EAAK,SAAA,EAAU,SAAQ,YAAA,EAAa,CAAA;AAAA,oBAEpE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,WAAA,EACrB,QAAA,EAAA;AAAA,MAAA,IAAA,IAAQ,IAAA,mBACP,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAa,QAAA,EAAA,IAAA,EAAK,CAAA,mBAExB,GAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,GAAA,EAAI,OAAA,EAAQ,aAAA,EAAc,OAChC,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,MAED,+BACC,GAAA,CAAC,IAAA,EAAA,EAAK,SAAQ,aAAA,EAAc,KAAA,EAAM,aAC/B,QAAA,EAAA,WAAA,EACH;AAAA,KAAA,EAEJ;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"CellProfile.esm.js","sources":["../../../../src/components/Table/components/CellProfile.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { CellProfileProps } from '../types';\nimport { Text } from '../../Text/Text';\nimport { Link } from '../../Link/Link';\nimport { Avatar } from '../../Avatar';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { CellProfileDefinition } from '../definition';\nimport { Cell as ReactAriaCell } from 'react-aria-components';\n\n/**\n * A table cell that renders an avatar image alongside a name, with an optional description and link.\n *\n * @public\n */\nexport const CellProfile = (props: CellProfileProps) => {\n const { ownProps, restProps } = useDefinition(CellProfileDefinition, props);\n const { classes, src, name, href, description, color } = ownProps;\n\n return (\n <ReactAriaCell className={classes.root} {...restProps}>\n <div className={classes.cellContentWrapper}>\n {src && name && (\n <Avatar src={src} name={name} size=\"x-small\" purpose=\"decoration\" />\n )}\n <div className={classes.cellContent}>\n {name && href ? (\n <Link href={href}>{name}</Link>\n ) : (\n <Text as=\"p\" variant=\"body-medium\" color={color}>\n {name}\n </Text>\n )}\n {description && (\n <Text variant=\"body-medium\" color=\"secondary\">\n {description}\n </Text>\n )}\n </div>\n </div>\n </ReactAriaCell>\n );\n};\n"],"names":["ReactAriaCell"],"mappings":";;;;;;;;;AA6BO,MAAM,WAAA,GAAc,CAAC,KAAA,KAA4B;AACtD,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,uBAAuB,KAAK,CAAA;AAC1E,EAAA,MAAM,EAAE,OAAA,EAAS,GAAA,EAAK,MAAM,IAAA,EAAM,WAAA,EAAa,OAAM,GAAI,QAAA;AAEzD,EAAA,uBACE,GAAA,CAACA,IAAA,EAAA,EAAc,SAAA,EAAW,OAAA,CAAQ,IAAA,EAAO,GAAG,SAAA,EAC1C,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,kBAAA,EACrB,QAAA,EAAA;AAAA,IAAA,GAAA,IAAO,IAAA,wBACL,MAAA,EAAA,EAAO,GAAA,EAAU,MAAY,IAAA,EAAK,SAAA,EAAU,SAAQ,YAAA,EAAa,CAAA;AAAA,oBAEpE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,WAAA,EACrB,QAAA,EAAA;AAAA,MAAA,IAAA,IAAQ,IAAA,mBACP,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAa,QAAA,EAAA,IAAA,EAAK,CAAA,mBAExB,GAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,GAAA,EAAI,OAAA,EAAQ,aAAA,EAAc,OAChC,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,MAED,+BACC,GAAA,CAAC,IAAA,EAAA,EAAK,SAAQ,aAAA,EAAc,KAAA,EAAM,aAC/B,QAAA,EAAA,WAAA,EACH;AAAA,KAAA,EAEJ;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CellText.esm.js","sources":["../../../../src/components/Table/components/CellText.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Text } from '../../Text';\nimport { Link } from '../../Link';\nimport { Cell as ReactAriaCell } from 'react-aria-components';\nimport type { CellTextProps } from '../types';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { CellTextDefinition } from '../definition';\n\n/**\n * A table cell that renders a primary text title with an optional secondary description, leading icon, and link.\n *\n * @public\n */\nconst CellText = (props: CellTextProps) => {\n const { ownProps, restProps } = useDefinition(CellTextDefinition, props);\n const { classes, title, description, color, leadingIcon, href } = ownProps;\n\n return (\n <ReactAriaCell className={classes.root} {...restProps}>\n <div className={classes.cellContentWrapper}>\n {leadingIcon && <div className={classes.cellIcon}>{leadingIcon}</div>}\n <div className={classes.cellContent}>\n {href ? (\n <Link\n href={href}\n variant=\"body-medium\"\n color={color}\n truncate\n title={title}\n >\n {title}\n </Link>\n ) : (\n <Text\n as=\"p\"\n variant=\"body-medium\"\n color={color}\n truncate\n title={title}\n >\n {title}\n </Text>\n )}\n {description && (\n <Text\n variant=\"body-medium\"\n color=\"secondary\"\n truncate\n title={description}\n >\n {description}\n </Text>\n )}\n </div>\n </div>\n </ReactAriaCell>\n );\n};\n\nCellText.displayName = 'CellText';\n\nexport { CellText };\n"],"names":["ReactAriaCell"],"mappings":";;;;;;;;;AA4BA,MAAM,QAAA,GAAW,CAAC,KAAA,KAAyB;AACzC,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,oBAAoB,KAAK,CAAA;AACvE,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAO,aAAa,KAAA,EAAO,WAAA,EAAa,MAAK,GAAI,QAAA;AAElE,EAAA,uBACE,GAAA,CAACA,IAAA,EAAA,EAAc,SAAA,EAAW,OAAA,CAAQ,IAAA,EAAO,GAAG,SAAA,EAC1C,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,kBAAA,EACrB,QAAA,EAAA;AAAA,IAAA,WAAA,oBAAe,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,UAAW,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,oBAC/D,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,WAAA,EACrB,QAAA,EAAA;AAAA,MAAA,IAAA,mBACC,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,IAAA;AAAA,UACA,OAAA,EAAQ,aAAA;AAAA,UACR,KAAA;AAAA,UACA,QAAA,EAAQ,IAAA;AAAA,UACR,KAAA;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OACH,mBAEA,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,GAAA;AAAA,UACH,OAAA,EAAQ,aAAA;AAAA,UACR,KAAA;AAAA,UACA,QAAA,EAAQ,IAAA;AAAA,UACR,KAAA;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MAED,WAAA,oBACC,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,aAAA;AAAA,UACR,KAAA,EAAM,WAAA;AAAA,UACN,QAAA,EAAQ,IAAA;AAAA,UACR,KAAA,EAAO,WAAA;AAAA,UAEN,QAAA,EAAA;AAAA;AAAA;AACH,KAAA,EAEJ;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;;;;"}
1
+ {"version":3,"file":"CellText.esm.js","sources":["../../../../src/components/Table/components/CellText.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Text } from '../../Text';\nimport { Link } from '../../Link';\nimport { Cell as ReactAriaCell } from 'react-aria-components';\nimport type { CellTextProps } from '../types';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { CellTextDefinition } from '../definition';\n\n/**\n * A table cell that renders a primary text title with an optional secondary description, leading icon, and link.\n *\n * @public\n */\nconst CellText = (props: CellTextProps) => {\n const { ownProps, restProps } = useDefinition(CellTextDefinition, props);\n const { classes, title, description, color, leadingIcon, href } = ownProps;\n\n return (\n <ReactAriaCell className={classes.root} {...restProps}>\n <div className={classes.cellContentWrapper}>\n {leadingIcon && <div className={classes.cellIcon}>{leadingIcon}</div>}\n <div className={classes.cellContent}>\n {href ? (\n <Link\n href={href}\n variant=\"body-medium\"\n color={color}\n truncate\n title={title}\n >\n {title}\n </Link>\n ) : (\n <Text\n as=\"p\"\n variant=\"body-medium\"\n color={color}\n truncate\n title={title}\n >\n {title}\n </Text>\n )}\n {description && (\n <Text\n variant=\"body-medium\"\n color=\"secondary\"\n truncate\n title={description}\n >\n {description}\n </Text>\n )}\n </div>\n </div>\n </ReactAriaCell>\n );\n};\n\nCellText.displayName = 'CellText';\n\nexport { CellText };\n"],"names":["ReactAriaCell"],"mappings":";;;;;;;;;AA4BA,MAAM,QAAA,GAAW,CAAC,KAAA,KAAyB;AACzC,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,oBAAoB,KAAK,CAAA;AACvE,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAO,aAAa,KAAA,EAAO,WAAA,EAAa,MAAK,GAAI,QAAA;AAElE,EAAA,uBACE,GAAA,CAACA,IAAA,EAAA,EAAc,SAAA,EAAW,OAAA,CAAQ,IAAA,EAAO,GAAG,SAAA,EAC1C,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,kBAAA,EACrB,QAAA,EAAA;AAAA,IAAA,WAAA,oBAAe,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,UAAW,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,oBAC/D,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,WAAA,EACrB,QAAA,EAAA;AAAA,MAAA,IAAA,mBACC,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,IAAA;AAAA,UACA,OAAA,EAAQ,aAAA;AAAA,UACR,KAAA;AAAA,UACA,QAAA,EAAQ,IAAA;AAAA,UACR,KAAA;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OACH,mBAEA,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,GAAA;AAAA,UACH,OAAA,EAAQ,aAAA;AAAA,UACR,KAAA;AAAA,UACA,QAAA,EAAQ,IAAA;AAAA,UACR,KAAA;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MAED,WAAA,oBACC,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,aAAA;AAAA,UACR,KAAA,EAAM,WAAA;AAAA,UACN,QAAA,EAAQ,IAAA;AAAA,UACR,KAAA,EAAO,WAAA;AAAA,UAEN,QAAA,EAAA;AAAA;AAAA;AACH,KAAA,EAEJ;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Column.esm.js","sources":["../../../../src/components/Table/components/Column.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Column as ReactAriaColumn } from 'react-aria-components';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { ColumnDefinition } from '../definition';\nimport { ColumnProps } from '../types';\nimport { RiArrowUpLine } from '@remixicon/react';\n\n/**\n * A table column header cell with an optional sort toggle and support for resizable widths.\n *\n * @public\n */\nexport const Column = (props: ColumnProps) => {\n const { ownProps, restProps } = useDefinition(ColumnDefinition, props);\n const { classes, children } = ownProps;\n\n return (\n <ReactAriaColumn className={classes.root} {...restProps}>\n {({ allowsSorting }) => (\n <div className={classes.headContent}>\n <span className={classes.headLabel}>{children}</span>\n {allowsSorting && (\n <span aria-hidden=\"true\" className={classes.headSortButton}>\n <RiArrowUpLine size={16} />\n </span>\n )}\n </div>\n )}\n </ReactAriaColumn>\n );\n};\n"],"names":["ReactAriaColumn"],"mappings":";;;;;;AA2BO,MAAM,MAAA,GAAS,CAAC,KAAA,KAAuB;AAC5C,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,kBAAkB,KAAK,CAAA;AACrE,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,QAAA;AAE9B,EAAA,uBACE,GAAA,CAACA,QAAA,EAAA,EAAgB,SAAA,EAAW,OAAA,CAAQ,MAAO,GAAG,SAAA,EAC3C,QAAA,EAAA,CAAC,EAAE,eAAc,qBAChB,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAQ,WAAA,EACtB,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,SAAA,EAAY,QAAA,EAAS,CAAA;AAAA,IAC7C,aAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,SAAA,EAAW,OAAA,CAAQ,cAAA,EAC1C,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EAAM,EAAA,EAAI,CAAA,EAC3B;AAAA,GAAA,EAEJ,CAAA,EAEJ,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Column.esm.js","sources":["../../../../src/components/Table/components/Column.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Column as ReactAriaColumn } from 'react-aria-components';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { ColumnDefinition } from '../definition';\nimport { ColumnProps } from '../types';\nimport { RiArrowUpLine } from '@remixicon/react';\n\n/**\n * A table column header cell with an optional sort toggle and support for resizable widths.\n *\n * @public\n */\nexport const Column = (props: ColumnProps) => {\n const { ownProps, restProps } = useDefinition(ColumnDefinition, props);\n const { classes, children } = ownProps;\n\n return (\n <ReactAriaColumn className={classes.root} {...restProps}>\n {({ allowsSorting }) => (\n <div className={classes.headContent}>\n <span className={classes.headLabel}>{children}</span>\n {allowsSorting && (\n <span aria-hidden=\"true\" className={classes.headSortButton}>\n <RiArrowUpLine size={16} />\n </span>\n )}\n </div>\n )}\n </ReactAriaColumn>\n );\n};\n"],"names":["ReactAriaColumn"],"mappings":";;;;;;AA2BO,MAAM,MAAA,GAAS,CAAC,KAAA,KAAuB;AAC5C,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,kBAAkB,KAAK,CAAA;AACrE,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,QAAA;AAE9B,EAAA,uBACE,GAAA,CAACA,QAAA,EAAA,EAAgB,SAAA,EAAW,OAAA,CAAQ,MAAO,GAAG,SAAA,EAC3C,QAAA,EAAA,CAAC,EAAE,eAAc,qBAChB,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAQ,WAAA,EACtB,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,SAAA,EAAY,QAAA,EAAS,CAAA;AAAA,IAC7C,aAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,SAAA,EAAW,OAAA,CAAQ,cAAA,EAC1C,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EAAM,EAAA,EAAI,CAAA,EAC3B;AAAA,GAAA,EAEJ,CAAA,EAEJ,CAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Row.esm.js","sources":["../../../../src/components/Table/components/Row.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Row as ReactAriaRow,\n useTableOptions,\n Cell as ReactAriaCell,\n Collection,\n} from 'react-aria-components';\nimport { Checkbox } from '../../Checkbox';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { RowDefinition } from '../definition';\nimport type { RowProps } from '../types';\nimport { isExternalLink } from '../../../utils/linkUtils';\nimport clsx from 'clsx';\nimport { Flex } from '../../Flex';\n\n/**\n * A table row that can optionally act as a navigation link or trigger an action when clicked, with analytics tracking.\n *\n * @public\n */\nexport function Row<T extends object>(props: RowProps<T>) {\n const { ownProps, restProps, dataAttributes, analytics } = useDefinition(\n RowDefinition,\n props,\n );\n const { classes, columns, children } = ownProps;\n const rawHref = restProps.href;\n const isExternal = isExternalLink(rawHref);\n const hasInternalHref = !!rawHref && !isExternal;\n const hasExternalHref = !!rawHref && isExternal;\n const hasInteraction = !!restProps.onAction || !!rawHref;\n\n // Derive the effective target, defaulting to _blank for external links.\n const effectiveTarget = hasExternalHref ? '_blank' : restProps.target;\n // Always include noopener noreferrer when target=_blank, merging any\n // consumer-provided rel tokens to avoid reverse-tabnabbing risk.\n const effectiveRel =\n effectiveTarget === '_blank'\n ? [\n ...new Set([\n 'noopener',\n 'noreferrer',\n ...(restProps.rel?.split(/\\s+/).filter(Boolean) ?? []),\n ]),\n ].join(' ')\n : restProps.rel;\n\n const handlePress = hasInteraction\n ? () => {\n restProps.onAction?.();\n if (rawHref) {\n analytics.captureEvent('click', rawHref, {\n attributes: { to: String(rawHref) },\n });\n }\n }\n : undefined;\n\n let { selectionBehavior, selectionMode } = useTableOptions();\n\n const content = (\n <>\n {selectionBehavior === 'toggle' && selectionMode === 'multiple' && (\n <ReactAriaCell className={clsx(classes.cell, classes.cellSelection)}>\n <Flex justify=\"center\" align=\"center\">\n <Checkbox slot=\"selection\" aria-label=\"Select row\" />\n </Flex>\n </ReactAriaCell>\n )}\n <Collection items={columns}>{children}</Collection>\n </>\n );\n\n return (\n <ReactAriaRow\n {...restProps}\n {...dataAttributes}\n target={effectiveTarget}\n rel={effectiveRel}\n className={clsx(classes.root, restProps.className)}\n data-react-aria-pressable={hasInternalHref ? 'true' : undefined}\n onAction={handlePress}\n >\n {content}\n </ReactAriaRow>\n );\n}\n"],"names":["ReactAriaCell","ReactAriaRow"],"mappings":";;;;;;;;;;;AAmCO,SAAS,IAAsB,KAAA,EAAoB;AACxD,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,cAAA,EAAgB,WAAU,GAAI,aAAA;AAAA,IACzD,aAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAS,QAAA,EAAS,GAAI,QAAA;AACvC,EAAA,MAAM,UAAU,SAAA,CAAU,IAAA;AAC1B,EAAA,MAAM,UAAA,GAAa,eAAe,OAAO,CAAA;AACzC,EAAA,MAAM,eAAA,GAAkB,CAAC,CAAC,OAAA,IAAW,CAAC,UAAA;AACtC,EAAA,MAAM,eAAA,GAAkB,CAAC,CAAC,OAAA,IAAW,UAAA;AACrC,EAAA,MAAM,iBAAiB,CAAC,CAAC,SAAA,CAAU,QAAA,IAAY,CAAC,CAAC,OAAA;AAGjD,EAAA,MAAM,eAAA,GAAkB,eAAA,GAAkB,QAAA,GAAW,SAAA,CAAU,MAAA;AAG/D,EAAA,MAAM,YAAA,GACJ,oBAAoB,QAAA,GAChB;AAAA,IACE,uBAAO,GAAA,CAAI;AAAA,MACT,UAAA;AAAA,MACA,YAAA;AAAA,MACA,GAAI,UAAU,GAAA,EAAK,KAAA,CAAM,KAAK,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,IAAK;AAAC,KACrD;AAAA,GACH,CAAE,IAAA,CAAK,GAAG,CAAA,GACV,SAAA,CAAU,GAAA;AAEhB,EAAA,MAAM,WAAA,GAAc,iBAChB,MAAM;AACJ,IAAA,SAAA,CAAU,QAAA,IAAW;AACrB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,SAAA,CAAU,YAAA,CAAa,SAAS,OAAA,EAAS;AAAA,QACvC,UAAA,EAAY,EAAE,EAAA,EAAI,MAAA,CAAO,OAAO,CAAA;AAAE,OACnC,CAAA;AAAA,IACH;AAAA,EACF,CAAA,GACA,MAAA;AAEJ,EAAA,IAAI,EAAE,iBAAA,EAAmB,aAAA,EAAc,GAAI,eAAA,EAAgB;AAE3D,EAAA,MAAM,0BACJ,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,iBAAA,KAAsB,QAAA,IAAY,aAAA,KAAkB,UAAA,oBACnD,GAAA,CAACA,IAAA,EAAA,EAAc,WAAW,IAAA,CAAK,OAAA,CAAQ,IAAA,EAAM,OAAA,CAAQ,aAAa,CAAA,EAChE,8BAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,QAAA,EAAS,KAAA,EAAM,QAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,WAAA,EAAY,YAAA,EAAW,YAAA,EAAa,CAAA,EACrD,CAAA,EACF,CAAA;AAAA,oBAEF,GAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAO,OAAA,EAAU,QAAA,EAAS;AAAA,GAAA,EACxC,CAAA;AAGF,EAAA,uBACE,GAAA;AAAA,IAACC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACH,GAAG,cAAA;AAAA,MACJ,MAAA,EAAQ,eAAA;AAAA,MACR,GAAA,EAAK,YAAA;AAAA,MACL,SAAA,EAAW,IAAA,CAAK,OAAA,CAAQ,IAAA,EAAM,UAAU,SAAS,CAAA;AAAA,MACjD,2BAAA,EAA2B,kBAAkB,MAAA,GAAS,MAAA;AAAA,MACtD,QAAA,EAAU,WAAA;AAAA,MAET,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
1
+ {"version":3,"file":"Row.esm.js","sources":["../../../../src/components/Table/components/Row.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Row as ReactAriaRow,\n useTableOptions,\n Cell as ReactAriaCell,\n Collection,\n} from 'react-aria-components';\nimport { Checkbox } from '../../Checkbox';\nimport { useDefinition } from '../../../hooks/useDefinition';\nimport { RowDefinition } from '../definition';\nimport type { RowProps } from '../types';\nimport { isExternalLink } from '../../../utils/linkUtils';\nimport clsx from 'clsx';\nimport { Flex } from '../../Flex';\n\n/**\n * A table row that can optionally act as a navigation link or trigger an action when clicked, with analytics tracking.\n *\n * @public\n */\nexport function Row<T extends object>(props: RowProps<T>) {\n const { ownProps, restProps, dataAttributes, analytics } = useDefinition(\n RowDefinition,\n props,\n );\n const { classes, columns, children } = ownProps;\n const rawHref = restProps.href;\n const isExternal = isExternalLink(rawHref);\n const hasInternalHref = !!rawHref && !isExternal;\n const hasExternalHref = !!rawHref && isExternal;\n const hasInteraction = !!restProps.onAction || !!rawHref;\n\n // Derive the effective target, defaulting to _blank for external links.\n const effectiveTarget = hasExternalHref ? '_blank' : restProps.target;\n // Always include noopener noreferrer when target=_blank, merging any\n // consumer-provided rel tokens to avoid reverse-tabnabbing risk.\n const effectiveRel =\n effectiveTarget === '_blank'\n ? [\n ...new Set([\n 'noopener',\n 'noreferrer',\n ...(restProps.rel?.split(/\\s+/).filter(Boolean) ?? []),\n ]),\n ].join(' ')\n : restProps.rel;\n\n const handlePress = hasInteraction\n ? () => {\n restProps.onAction?.();\n if (rawHref) {\n analytics.captureEvent('click', rawHref, {\n attributes: { to: String(rawHref) },\n });\n }\n }\n : undefined;\n\n let { selectionBehavior, selectionMode } = useTableOptions();\n\n const content = (\n <>\n {selectionBehavior === 'toggle' && selectionMode === 'multiple' && (\n <ReactAriaCell className={clsx(classes.cell, classes.cellSelection)}>\n <Flex justify=\"center\" align=\"center\">\n <Checkbox slot=\"selection\" aria-label=\"Select row\" />\n </Flex>\n </ReactAriaCell>\n )}\n <Collection items={columns}>{children}</Collection>\n </>\n );\n\n return (\n <ReactAriaRow\n {...restProps}\n {...dataAttributes}\n target={effectiveTarget}\n rel={effectiveRel}\n className={clsx(classes.root, restProps.className)}\n data-react-aria-pressable={hasInternalHref ? 'true' : undefined}\n onAction={handlePress}\n >\n {content}\n </ReactAriaRow>\n );\n}\n"],"names":["ReactAriaCell","ReactAriaRow"],"mappings":";;;;;;;;;;;AAmCO,SAAS,IAAsB,KAAA,EAAoB;AACxD,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,cAAA,EAAgB,WAAU,GAAI,aAAA;AAAA,IACzD,aAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAS,QAAA,EAAS,GAAI,QAAA;AACvC,EAAA,MAAM,UAAU,SAAA,CAAU,IAAA;AAC1B,EAAA,MAAM,UAAA,GAAa,eAAe,OAAO,CAAA;AACzC,EAAA,MAAM,eAAA,GAAkB,CAAC,CAAC,OAAA,IAAW,CAAC,UAAA;AACtC,EAAA,MAAM,eAAA,GAAkB,CAAC,CAAC,OAAA,IAAW,UAAA;AACrC,EAAA,MAAM,iBAAiB,CAAC,CAAC,SAAA,CAAU,QAAA,IAAY,CAAC,CAAC,OAAA;AAGjD,EAAA,MAAM,eAAA,GAAkB,eAAA,GAAkB,QAAA,GAAW,SAAA,CAAU,MAAA;AAG/D,EAAA,MAAM,YAAA,GACJ,oBAAoB,QAAA,GAChB;AAAA,IACE,uBAAO,GAAA,CAAI;AAAA,MACT,UAAA;AAAA,MACA,YAAA;AAAA,MACA,GAAI,UAAU,GAAA,EAAK,KAAA,CAAM,KAAK,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,IAAK;AAAC,KACrD;AAAA,GACH,CAAE,IAAA,CAAK,GAAG,CAAA,GACV,SAAA,CAAU,GAAA;AAEhB,EAAA,MAAM,WAAA,GAAc,iBAChB,MAAM;AACJ,IAAA,SAAA,CAAU,QAAA,IAAW;AACrB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,SAAA,CAAU,YAAA,CAAa,SAAS,OAAA,EAAS;AAAA,QACvC,UAAA,EAAY,EAAE,EAAA,EAAI,MAAA,CAAO,OAAO,CAAA;AAAE,OACnC,CAAA;AAAA,IACH;AAAA,EACF,CAAA,GACA,MAAA;AAEJ,EAAA,IAAI,EAAE,iBAAA,EAAmB,aAAA,EAAc,GAAI,eAAA,EAAgB;AAE3D,EAAA,MAAM,0BACJ,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,iBAAA,KAAsB,QAAA,IAAY,aAAA,KAAkB,UAAA,oBACnD,GAAA,CAACA,IAAA,EAAA,EAAc,WAAW,IAAA,CAAK,OAAA,CAAQ,IAAA,EAAM,OAAA,CAAQ,aAAa,CAAA,EAChE,8BAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,QAAA,EAAS,KAAA,EAAM,QAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,WAAA,EAAY,YAAA,EAAW,YAAA,EAAa,CAAA,EACrD,CAAA,EACF,CAAA;AAAA,oBAEF,GAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAO,OAAA,EAAU,QAAA,EAAS;AAAA,GAAA,EACxC,CAAA;AAGF,EAAA,uBACE,GAAA;AAAA,IAACC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACH,GAAG,cAAA;AAAA,MACJ,MAAA,EAAQ,eAAA;AAAA,MACR,GAAA,EAAK,YAAA;AAAA,MACL,SAAA,EAAW,IAAA,CAAK,OAAA,CAAQ,IAAA,EAAM,UAAU,SAAS,CAAA;AAAA,MACjD,2BAAA,EAA2B,kBAAkB,MAAA,GAAS,MAAA;AAAA,MACtD,QAAA,EAAU,WAAA;AAAA,MAET,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;;"}