@backstage/ui 0.12.0-next.2 → 0.12.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 (87) hide show
  1. package/CHANGELOG.md +362 -1
  2. package/dist/components/Accordion/Accordion.esm.js +82 -97
  3. package/dist/components/Accordion/Accordion.esm.js.map +1 -1
  4. package/dist/components/Accordion/Accordion.module.css.esm.js +2 -2
  5. package/dist/components/Accordion/definition.esm.js +54 -13
  6. package/dist/components/Accordion/definition.esm.js.map +1 -1
  7. package/dist/components/Alert/definition.esm.js +1 -3
  8. package/dist/components/Alert/definition.esm.js.map +1 -1
  9. package/dist/components/Avatar/Avatar.module.css.esm.js +2 -2
  10. package/dist/components/Box/Box.esm.js +2 -2
  11. package/dist/components/Box/Box.esm.js.map +1 -1
  12. package/dist/components/Box/Box.module.css.esm.js +2 -2
  13. package/dist/components/Box/definition.esm.js +3 -3
  14. package/dist/components/Box/definition.esm.js.map +1 -1
  15. package/dist/components/Button/Button.module.css.esm.js +2 -2
  16. package/dist/components/Button/definition.esm.js +2 -3
  17. package/dist/components/Button/definition.esm.js.map +1 -1
  18. package/dist/components/ButtonIcon/ButtonIcon.module.css.esm.js +2 -2
  19. package/dist/components/ButtonIcon/definition.esm.js +2 -3
  20. package/dist/components/ButtonIcon/definition.esm.js.map +1 -1
  21. package/dist/components/ButtonLink/ButtonLink.module.css.esm.js +2 -2
  22. package/dist/components/ButtonLink/definition.esm.js +2 -3
  23. package/dist/components/ButtonLink/definition.esm.js.map +1 -1
  24. package/dist/components/Card/Card.esm.js +27 -47
  25. package/dist/components/Card/Card.esm.js.map +1 -1
  26. package/dist/components/Card/Card.module.css.esm.js +2 -2
  27. package/dist/components/Card/definition.esm.js +47 -7
  28. package/dist/components/Card/definition.esm.js.map +1 -1
  29. package/dist/components/Checkbox/Checkbox.module.css.esm.js +2 -2
  30. package/dist/components/Dialog/Dialog.esm.js +1 -1
  31. package/dist/components/Dialog/Dialog.module.css.esm.js +2 -2
  32. package/dist/components/Flex/Flex.esm.js +6 -8
  33. package/dist/components/Flex/Flex.esm.js.map +1 -1
  34. package/dist/components/Flex/Flex.module.css.esm.js +2 -2
  35. package/dist/components/Flex/definition.esm.js +8 -1
  36. package/dist/components/Flex/definition.esm.js.map +1 -1
  37. package/dist/components/FullPage/FullPage.esm.js +22 -0
  38. package/dist/components/FullPage/FullPage.esm.js.map +1 -0
  39. package/dist/components/FullPage/FullPage.module.css.esm.js +8 -0
  40. package/dist/components/FullPage/FullPage.module.css.esm.js.map +1 -0
  41. package/dist/components/FullPage/definition.esm.js +8 -0
  42. package/dist/components/FullPage/definition.esm.js.map +1 -0
  43. package/dist/components/Grid/Grid.esm.js +11 -15
  44. package/dist/components/Grid/Grid.esm.js.map +1 -1
  45. package/dist/components/Grid/Grid.module.css.esm.js +2 -2
  46. package/dist/components/Grid/definition.esm.js +16 -2
  47. package/dist/components/Grid/definition.esm.js.map +1 -1
  48. package/dist/components/Menu/Menu.module.css.esm.js +2 -2
  49. package/dist/components/PasswordField/PasswordField.module.css.esm.js +2 -2
  50. package/dist/components/PluginHeader/PluginHeader.esm.js +88 -0
  51. package/dist/components/PluginHeader/PluginHeader.esm.js.map +1 -0
  52. package/dist/components/PluginHeader/PluginHeader.module.css.esm.js +8 -0
  53. package/dist/components/PluginHeader/PluginHeader.module.css.esm.js.map +1 -0
  54. package/dist/components/{Header/HeaderToolbar.esm.js → PluginHeader/PluginHeaderToolbar.esm.js} +6 -6
  55. package/dist/components/PluginHeader/PluginHeaderToolbar.esm.js.map +1 -0
  56. package/dist/components/PluginHeader/definition.esm.js +15 -0
  57. package/dist/components/PluginHeader/definition.esm.js.map +1 -0
  58. package/dist/components/Popover/Popover.module.css.esm.js +2 -2
  59. package/dist/components/RadioGroup/RadioGroup.module.css.esm.js +2 -2
  60. package/dist/components/SearchField/SearchField.module.css.esm.js +2 -2
  61. package/dist/components/Select/Select.module.css.esm.js +2 -2
  62. package/dist/components/Table/Table.module.css.esm.js +2 -2
  63. package/dist/components/TablePagination/TablePagination.esm.js +1 -1
  64. package/dist/components/TextField/TextField.module.css.esm.js +2 -2
  65. package/dist/components/ToggleButton/ToggleButton.esm.js +1 -4
  66. package/dist/components/ToggleButton/ToggleButton.esm.js.map +1 -1
  67. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.module.css.esm.js +2 -2
  68. package/dist/components/Tooltip/Tooltip.module.css.esm.js +2 -2
  69. package/dist/css/styles.css +11 -13
  70. package/dist/hooks/useBg.esm.js +36 -0
  71. package/dist/hooks/useBg.esm.js.map +1 -0
  72. package/dist/hooks/useDefinition/defineComponent.esm.js.map +1 -1
  73. package/dist/hooks/useDefinition/useDefinition.esm.js +15 -12
  74. package/dist/hooks/useDefinition/useDefinition.esm.js.map +1 -1
  75. package/dist/index.d.ts +303 -77
  76. package/dist/index.esm.js +7 -4
  77. package/dist/index.esm.js.map +1 -1
  78. package/package.json +5 -5
  79. package/dist/components/Header/Header.esm.js +0 -56
  80. package/dist/components/Header/Header.esm.js.map +0 -1
  81. package/dist/components/Header/Header.module.css.esm.js +0 -8
  82. package/dist/components/Header/Header.module.css.esm.js.map +0 -1
  83. package/dist/components/Header/HeaderToolbar.esm.js.map +0 -1
  84. package/dist/components/Header/definition.esm.js +0 -14
  85. package/dist/components/Header/definition.esm.js.map +0 -1
  86. package/dist/hooks/useSurface.esm.js +0 -74
  87. package/dist/hooks/useSurface.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Card.esm.js","sources":["../../../src/components/Card/Card.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 { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { useStyles } from '../../hooks/useStyles';\nimport { CardDefinition } from './definition';\nimport type {\n CardProps,\n CardHeaderProps,\n CardBodyProps,\n CardFooterProps,\n} from './types';\nimport styles from './Card.module.css';\n\n/**\n * Card component.\n *\n * @public\n */\nexport const Card = forwardRef<HTMLDivElement, CardProps>((props, ref) => {\n const { classNames, cleanedProps } = useStyles(CardDefinition, props);\n const { className, ...rest } = cleanedProps;\n\n return (\n <div\n ref={ref}\n className={clsx(classNames.root, styles[classNames.root], className)}\n {...rest}\n />\n );\n});\n\n/**\n * CardHeader component.\n *\n * @public\n */\nexport const CardHeader = forwardRef<HTMLDivElement, CardHeaderProps>(\n (props, ref) => {\n const { classNames, cleanedProps } = useStyles(CardDefinition, props);\n const { className, ...rest } = cleanedProps;\n\n return (\n <div\n ref={ref}\n className={clsx(\n classNames.header,\n styles[classNames.header],\n className,\n )}\n {...rest}\n />\n );\n },\n);\n\n/**\n * CardBody component.\n *\n * @public\n */\nexport const CardBody = forwardRef<HTMLDivElement, CardBodyProps>(\n (props, ref) => {\n const { classNames, cleanedProps } = useStyles(CardDefinition, props);\n const { className, ...rest } = cleanedProps;\n\n return (\n <div\n ref={ref}\n className={clsx(classNames.body, styles[classNames.body], className)}\n {...rest}\n />\n );\n },\n);\n\n/**\n * CardFooter component.\n *\n * @public\n */\nexport const CardFooter = forwardRef<HTMLDivElement, CardFooterProps>(\n (props, ref) => {\n const { classNames, cleanedProps } = useStyles(CardDefinition, props);\n const { className, ...rest } = cleanedProps;\n\n return (\n <div\n ref={ref}\n className={clsx(\n classNames.footer,\n styles[classNames.footer],\n className,\n )}\n {...rest}\n />\n );\n },\n);\n"],"names":[],"mappings":";;;;;;;AAiCO,MAAM,IAAA,GAAO,UAAA,CAAsC,CAAC,KAAA,EAAO,GAAA,KAAQ;AACxE,EAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAa,GAAI,SAAA,CAAU,gBAAgB,KAAK,CAAA;AACpE,EAAA,MAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAK,GAAI,YAAA;AAE/B,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,KAAK,UAAA,CAAW,IAAA,EAAM,OAAO,UAAA,CAAW,IAAI,GAAG,SAAS,CAAA;AAAA,MAClE,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;AAOM,MAAM,UAAA,GAAa,UAAA;AAAA,EACxB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAa,GAAI,SAAA,CAAU,gBAAgB,KAAK,CAAA;AACpE,IAAA,MAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAK,GAAI,YAAA;AAE/B,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,IAAA;AAAA,UACT,UAAA,CAAW,MAAA;AAAA,UACX,MAAA,CAAO,WAAW,MAAM,CAAA;AAAA,UACxB;AAAA,SACF;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAOO,MAAM,QAAA,GAAW,UAAA;AAAA,EACtB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAa,GAAI,SAAA,CAAU,gBAAgB,KAAK,CAAA;AACpE,IAAA,MAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAK,GAAI,YAAA;AAE/B,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,KAAK,UAAA,CAAW,IAAA,EAAM,OAAO,UAAA,CAAW,IAAI,GAAG,SAAS,CAAA;AAAA,QAClE,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAOO,MAAM,UAAA,GAAa,UAAA;AAAA,EACxB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAa,GAAI,SAAA,CAAU,gBAAgB,KAAK,CAAA;AACpE,IAAA,MAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAK,GAAI,YAAA;AAE/B,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,IAAA;AAAA,UACT,UAAA,CAAW,MAAA;AAAA,UACX,MAAA,CAAO,WAAW,MAAM,CAAA;AAAA,UACxB;AAAA,SACF;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;;;;"}
1
+ {"version":3,"file":"Card.esm.js","sources":["../../../src/components/Card/Card.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 { forwardRef } from 'react';\nimport { useDefinition } from '../../hooks/useDefinition';\nimport {\n CardDefinition,\n CardHeaderDefinition,\n CardBodyDefinition,\n CardFooterDefinition,\n} from './definition';\nimport type {\n CardProps,\n CardHeaderProps,\n CardBodyProps,\n CardFooterProps,\n} from './types';\nimport { Box } from '../Box/Box';\n\n/**\n * Card component.\n *\n * @public\n */\nexport const Card = forwardRef<HTMLDivElement, CardProps>((props, ref) => {\n const { ownProps, restProps, dataAttributes } = useDefinition(\n CardDefinition,\n props,\n );\n const { classes, children } = ownProps;\n\n return (\n <Box\n bg=\"neutral-auto\"\n ref={ref}\n className={classes.root}\n {...dataAttributes}\n {...restProps}\n >\n {children}\n </Box>\n );\n});\n\nCard.displayName = 'Card';\n\n/**\n * CardHeader component.\n *\n * @public\n */\nexport const CardHeader = forwardRef<HTMLDivElement, CardHeaderProps>(\n (props, ref) => {\n const { ownProps, restProps } = useDefinition(CardHeaderDefinition, props);\n const { classes, children } = ownProps;\n\n return (\n <div ref={ref} className={classes.root} {...restProps}>\n {children}\n </div>\n );\n },\n);\n\nCardHeader.displayName = 'CardHeader';\n\n/**\n * CardBody component.\n *\n * @public\n */\nexport const CardBody = forwardRef<HTMLDivElement, CardBodyProps>(\n (props, ref) => {\n const { ownProps, restProps } = useDefinition(CardBodyDefinition, props);\n const { classes, children } = ownProps;\n\n return (\n <div ref={ref} className={classes.root} {...restProps}>\n {children}\n </div>\n );\n },\n);\n\nCardBody.displayName = 'CardBody';\n\n/**\n * CardFooter component.\n *\n * @public\n */\nexport const CardFooter = forwardRef<HTMLDivElement, CardFooterProps>(\n (props, ref) => {\n const { ownProps, restProps } = useDefinition(CardFooterDefinition, props);\n const { classes, children } = ownProps;\n\n return (\n <div ref={ref} className={classes.root} {...restProps}>\n {children}\n </div>\n );\n },\n);\n\nCardFooter.displayName = 'CardFooter';\n"],"names":[],"mappings":";;;;;;AAqCO,MAAM,IAAA,GAAO,UAAA,CAAsC,CAAC,KAAA,EAAO,GAAA,KAAQ;AACxE,EAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,cAAA,EAAe,GAAI,aAAA;AAAA,IAC9C,cAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,QAAA;AAE9B,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAG,cAAA;AAAA,MACH,GAAA;AAAA,MACA,WAAW,OAAA,CAAQ,IAAA;AAAA,MAClB,GAAG,cAAA;AAAA,MACH,GAAG,SAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAC;AAED,IAAA,CAAK,WAAA,GAAc,MAAA;AAOZ,MAAM,UAAA,GAAa,UAAA;AAAA,EACxB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,sBAAsB,KAAK,CAAA;AACzE,IAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,QAAA;AAE9B,IAAA,uBACE,GAAA,CAAC,SAAI,GAAA,EAAU,SAAA,EAAW,QAAQ,IAAA,EAAO,GAAG,WACzC,QAAA,EACH,CAAA;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;AAOlB,MAAM,QAAA,GAAW,UAAA;AAAA,EACtB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,oBAAoB,KAAK,CAAA;AACvE,IAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,QAAA;AAE9B,IAAA,uBACE,GAAA,CAAC,SAAI,GAAA,EAAU,SAAA,EAAW,QAAQ,IAAA,EAAO,GAAG,WACzC,QAAA,EACH,CAAA;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;AAOhB,MAAM,UAAA,GAAa,UAAA;AAAA,EACxB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAU,GAAI,aAAA,CAAc,sBAAsB,KAAK,CAAA;AACzE,IAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,QAAA;AAE9B,IAAA,uBACE,GAAA,CAAC,SAAI,GAAA,EAAU,SAAA,EAAW,QAAQ,IAAA,EAAO,GAAG,WACzC,QAAA,EACH,CAAA;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;;;;"}
@@ -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 .Card_bui-Card__e4b6b3d7c7 {\n display: flex;\n flex-direction: column;\n gap: var(--bui-space-3);\n background-color: var(--bui-bg-neutral-1);\n border-radius: var(--bui-radius-3);\n padding-block: var(--bui-space-3);\n color: var(--bui-fg-primary);\n border: 1px solid var(--bui-border);\n overflow: hidden;\n min-height: 0;\n width: 100%;\n }\n\n .Card_bui-CardBody__e4b6b3d7c7 {\n flex: 1;\n min-height: 0;\n overflow: auto;\n padding-inline: var(--bui-space-3);\n }\n\n .Card_bui-CardHeader__e4b6b3d7c7 {\n padding-inline: var(--bui-space-3);\n }\n\n .Card_bui-CardFooter__e4b6b3d7c7 {\n padding-inline: var(--bui-space-3);\n }\n}\n";
4
- var styles = {"bui-Card":"Card_bui-Card__e4b6b3d7c7","bui-CardBody":"Card_bui-CardBody__e4b6b3d7c7","bui-CardHeader":"Card_bui-CardHeader__e4b6b3d7c7","bui-CardFooter":"Card_bui-CardFooter__e4b6b3d7c7"};
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 .Card_bui-Card__b58d4a84f0 {\n display: flex;\n flex-direction: column;\n gap: var(--bui-space-3);\n border-radius: var(--bui-radius-3);\n padding-block: var(--bui-space-3);\n color: var(--bui-fg-primary);\n overflow: hidden;\n min-height: 0;\n width: 100%;\n }\n\n .Card_bui-CardBody__b58d4a84f0 {\n flex: 1;\n min-height: 0;\n overflow: auto;\n padding-inline: var(--bui-space-3);\n }\n\n .Card_bui-CardHeader__b58d4a84f0 {\n padding-inline: var(--bui-space-3);\n }\n\n .Card_bui-CardFooter__b58d4a84f0 {\n padding-inline: var(--bui-space-3);\n }\n}\n";
4
+ var styles = {"bui-Card":"Card_bui-Card__b58d4a84f0","bui-CardBody":"Card_bui-CardBody__b58d4a84f0","bui-CardHeader":"Card_bui-CardHeader__b58d4a84f0","bui-CardFooter":"Card_bui-CardFooter__b58d4a84f0"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -1,11 +1,51 @@
1
- const CardDefinition = {
1
+ import 'react/jsx-runtime';
2
+ import 'clsx';
3
+ import 'react';
4
+ import '../../hooks/useBg.esm.js';
5
+ import '../../hooks/useDefinition/helpers.esm.js';
6
+ import { defineComponent } from '../../hooks/useDefinition/defineComponent.esm.js';
7
+ import styles from './Card.module.css.esm.js';
8
+
9
+ const CardDefinition = defineComponent()({
10
+ styles,
11
+ classNames: {
12
+ root: "bui-Card"
13
+ },
14
+ propDefs: {
15
+ children: {},
16
+ className: {}
17
+ }
18
+ });
19
+ const CardHeaderDefinition = defineComponent()({
20
+ styles,
21
+ classNames: {
22
+ root: "bui-CardHeader"
23
+ },
24
+ propDefs: {
25
+ children: {},
26
+ className: {}
27
+ }
28
+ });
29
+ const CardBodyDefinition = defineComponent()({
30
+ styles,
31
+ classNames: {
32
+ root: "bui-CardBody"
33
+ },
34
+ propDefs: {
35
+ children: {},
36
+ className: {}
37
+ }
38
+ });
39
+ const CardFooterDefinition = defineComponent()({
40
+ styles,
2
41
  classNames: {
3
- root: "bui-Card",
4
- header: "bui-CardHeader",
5
- body: "bui-CardBody",
6
- footer: "bui-CardFooter"
42
+ root: "bui-CardFooter"
43
+ },
44
+ propDefs: {
45
+ children: {},
46
+ className: {}
7
47
  }
8
- };
48
+ });
9
49
 
10
- export { CardDefinition };
50
+ export { CardBodyDefinition, CardDefinition, CardFooterDefinition, CardHeaderDefinition };
11
51
  //# sourceMappingURL=definition.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Card/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 type { ComponentDefinition } from '../../types';\n\n/**\n * Component definition for Card\n * @public\n */\nexport const CardDefinition = {\n classNames: {\n root: 'bui-Card',\n header: 'bui-CardHeader',\n body: 'bui-CardBody',\n footer: 'bui-CardFooter',\n },\n} as const satisfies ComponentDefinition;\n"],"names":[],"mappings":"AAsBO,MAAM,cAAA,GAAiB;AAAA,EAC5B,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,gBAAA;AAAA,IACR,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ;AAAA;AAEZ;;;;"}
1
+ {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Card/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 CardOwnProps,\n CardHeaderOwnProps,\n CardBodyOwnProps,\n CardFooterOwnProps,\n} from './types';\nimport styles from './Card.module.css';\n\n/**\n * Component definition for Card\n * @public\n */\nexport const CardDefinition = defineComponent<CardOwnProps>()({\n styles,\n classNames: {\n root: 'bui-Card',\n },\n propDefs: {\n children: {},\n className: {},\n },\n});\n\n/**\n * Component definition for CardHeader\n * @public\n */\nexport const CardHeaderDefinition = defineComponent<CardHeaderOwnProps>()({\n styles,\n classNames: {\n root: 'bui-CardHeader',\n },\n propDefs: {\n children: {},\n className: {},\n },\n});\n\n/**\n * Component definition for CardBody\n * @public\n */\nexport const CardBodyDefinition = defineComponent<CardBodyOwnProps>()({\n styles,\n classNames: {\n root: 'bui-CardBody',\n },\n propDefs: {\n children: {},\n className: {},\n },\n});\n\n/**\n * Component definition for CardFooter\n * @public\n */\nexport const CardFooterDefinition = defineComponent<CardFooterOwnProps>()({\n styles,\n classNames: {\n root: 'bui-CardFooter',\n },\n propDefs: {\n children: {},\n className: {},\n },\n});\n"],"names":[],"mappings":";;;;;;;;AA6BO,MAAM,cAAA,GAAiB,iBAA8B,CAAE;AAAA,EAC5D,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAU,EAAC;AAAA,IACX,WAAW;AAAC;AAEhB,CAAC;AAMM,MAAM,oBAAA,GAAuB,iBAAoC,CAAE;AAAA,EACxE,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAU,EAAC;AAAA,IACX,WAAW;AAAC;AAEhB,CAAC;AAMM,MAAM,kBAAA,GAAqB,iBAAkC,CAAE;AAAA,EACpE,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAU,EAAC;AAAA,IACX,WAAW;AAAC;AAEhB,CAAC;AAMM,MAAM,oBAAA,GAAuB,iBAAoC,CAAE;AAAA,EACxE,MAAA;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAU,EAAC;AAAA,IACX,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 .Checkbox_bui-Checkbox__ec409ffa14 {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--bui-space-2);\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n color: var(--bui-fg-primary);\n user-select: none;\n cursor: pointer;\n }\n\n .Checkbox_bui-Checkbox__ec409ffa14[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .Checkbox_bui-CheckboxIndicator__ec409ffa14 {\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n box-shadow: inset 0 0 0 1px var(--bui-border);\n border-radius: 2px;\n transition: background-color 0.2s ease-in-out;\n background-color: var(--bui-bg-neutral-1);\n padding: 0;\n flex-shrink: 0;\n color: transparent;\n\n .Checkbox_bui-Checkbox__ec409ffa14[data-focus-visible] & {\n transition: none;\n outline: 2px solid var(--bui-ring);\n outline-offset: 2px;\n }\n\n .Checkbox_bui-Checkbox__ec409ffa14[data-selected] & {\n background-color: var(--bui-bg-solid);\n box-shadow: none;\n color: var(--bui-fg-solid);\n }\n\n .Checkbox_bui-Checkbox__ec409ffa14[data-indeterminate] & {\n background-color: var(--bui-bg-neutral-1);\n box-shadow: inset 0 0 0 1px var(--bui-border);\n color: var(--bui-fg-primary);\n }\n\n .Checkbox_bui-Checkbox__ec409ffa14[data-hovered]:not([data-selected]):not([data-indeterminate])\n & {\n box-shadow: inset 0 0 0 1px var(--bui-border-hover);\n }\n\n @media (prefers-reduced-motion: reduce) {\n & {\n transition: none;\n }\n }\n }\n}\n";
4
- var styles = {"bui-Checkbox":"Checkbox_bui-Checkbox__ec409ffa14","bui-CheckboxIndicator":"Checkbox_bui-CheckboxIndicator__ec409ffa14"};
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 .Checkbox_bui-Checkbox__2699cf9993 {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--bui-space-2);\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n color: var(--bui-fg-primary);\n user-select: none;\n cursor: pointer;\n }\n\n .Checkbox_bui-Checkbox__2699cf9993[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .Checkbox_bui-CheckboxIndicator__2699cf9993 {\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n box-shadow: inset 0 0 0 1px var(--bui-border-2);\n border-radius: 2px;\n transition: background-color 0.2s ease-in-out;\n background-color: var(--bui-bg-neutral-1);\n padding: 0;\n flex-shrink: 0;\n color: transparent;\n\n .Checkbox_bui-Checkbox__2699cf9993[data-focus-visible] & {\n transition: none;\n outline: 2px solid var(--bui-ring);\n outline-offset: 2px;\n }\n\n .Checkbox_bui-Checkbox__2699cf9993[data-selected] & {\n background-color: var(--bui-bg-solid);\n box-shadow: none;\n color: var(--bui-fg-solid);\n }\n\n .Checkbox_bui-Checkbox__2699cf9993[data-indeterminate] & {\n background-color: var(--bui-bg-neutral-1);\n box-shadow: inset 0 0 0 1px var(--bui-border-2);\n color: var(--bui-fg-primary);\n }\n\n @media (prefers-reduced-motion: reduce) {\n & {\n transition: none;\n }\n }\n }\n}\n";
4
+ var styles = {"bui-Checkbox":"Checkbox_bui-Checkbox__2699cf9993","bui-CheckboxIndicator":"Checkbox_bui-CheckboxIndicator__2699cf9993"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -4,7 +4,7 @@ import { Modal, Dialog as Dialog$1, Heading, DialogTrigger as DialogTrigger$1 }
4
4
  import clsx from 'clsx';
5
5
  import { RiCloseLine } from '@remixicon/react';
6
6
  import { Button } from '../Button/Button.esm.js';
7
- import '../../hooks/useSurface.esm.js';
7
+ import '../../hooks/useBg.esm.js';
8
8
  import '../../hooks/useDefinition/helpers.esm.js';
9
9
  import '../Button/Button.module.css.esm.js';
10
10
  import { useStyles } from '../../hooks/useStyles.esm.js';
@@ -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 .Dialog_bui-DialogOverlay__9038fccb28 {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: color-mix(in srgb, var(--bui-bg-neutral-2) 80%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n }\n\n [data-theme='dark'] .Dialog_bui-Dialog__9038fccb28 {\n background: rgba(0, 0, 0, 0.5);\n }\n\n .Dialog_bui-DialogOverlay__9038fccb28[data-entering] {\n animation: Dialog_fade-in__9038fccb28 200ms ease-out forwards;\n }\n\n .Dialog_bui-DialogOverlay__9038fccb28[data-exiting] {\n animation: Dialog_fade-out__9038fccb28 150ms ease-out forwards;\n }\n\n .Dialog_bui-Dialog__9038fccb28 {\n background: var(--bui-bg-neutral-1);\n border-radius: 0.5rem;\n border: 1px solid var(--bui-border);\n color: var(--bui-fg-primary);\n position: relative;\n width: min(var(--bui-dialog-min-width, 400px), calc(100vw - 3rem));\n max-width: calc(100vw - 3rem);\n height: min(var(--bui-dialog-min-height, auto), calc(100vh - 3rem));\n max-height: calc(100vh - 3rem);\n display: flex;\n flex-direction: column;\n outline: none;\n }\n\n /* Dialog entering animation */\n .Dialog_bui-DialogOverlay__9038fccb28[data-entering] .Dialog_bui-Dialog__9038fccb28 {\n animation: Dialog_dialog-enter__9038fccb28 150ms ease-out forwards;\n }\n\n /* Dialog exiting animation */\n .Dialog_bui-DialogOverlay__9038fccb28[data-exiting] .Dialog_bui-Dialog__9038fccb28 {\n animation: Dialog_dialog-exit__9038fccb28 150ms ease-out forwards;\n }\n\n .Dialog_bui-DialogHeader__9038fccb28 {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-inline: var(--bui-space-3);\n padding-block: var(--bui-space-2);\n border-bottom: 1px solid var(--bui-border);\n }\n\n .Dialog_bui-DialogHeaderTitle__9038fccb28 {\n font-size: var(--bui-font-size-3);\n font-weight: var(--bui-font-weight-bold);\n margin: 0;\n }\n\n .Dialog_bui-DialogFooter__9038fccb28 {\n display: flex;\n align-items: center;\n justify-content: end;\n gap: var(--bui-space-2);\n padding-inline: var(--bui-space-3);\n padding-block: var(--bui-space-3);\n border-top: 1px solid var(--bui-border);\n }\n\n .Dialog_bui-DialogBody__9038fccb28 {\n padding: var(--bui-space-3);\n flex: 1;\n overflow-y: auto;\n }\n\n /* Keyframe animations */\n @keyframes Dialog_fade-in__9038fccb28 {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n @keyframes Dialog_fade-out__9038fccb28 {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n }\n\n @keyframes Dialog_dialog-enter__9038fccb28 {\n from {\n opacity: 0.5;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n @keyframes Dialog_dialog-exit__9038fccb28 {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.95);\n }\n }\n}\n";
4
- var styles = {"bui-DialogOverlay":"Dialog_bui-DialogOverlay__9038fccb28","bui-Dialog":"Dialog_bui-Dialog__9038fccb28","fade-in":"Dialog_fade-in__9038fccb28","fade-out":"Dialog_fade-out__9038fccb28","dialog-enter":"Dialog_dialog-enter__9038fccb28","dialog-exit":"Dialog_dialog-exit__9038fccb28","bui-DialogHeader":"Dialog_bui-DialogHeader__9038fccb28","bui-DialogHeaderTitle":"Dialog_bui-DialogHeaderTitle__9038fccb28","bui-DialogFooter":"Dialog_bui-DialogFooter__9038fccb28","bui-DialogBody":"Dialog_bui-DialogBody__9038fccb28"};
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 .Dialog_bui-DialogOverlay__c76e5a4658 {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: color-mix(in srgb, var(--bui-bg-neutral-2) 80%, transparent);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n }\n\n [data-theme='dark'] .Dialog_bui-Dialog__c76e5a4658 {\n background: rgba(0, 0, 0, 0.5);\n }\n\n .Dialog_bui-DialogOverlay__c76e5a4658[data-entering] {\n animation: Dialog_fade-in__c76e5a4658 200ms ease-out forwards;\n }\n\n .Dialog_bui-DialogOverlay__c76e5a4658[data-exiting] {\n animation: Dialog_fade-out__c76e5a4658 150ms ease-out forwards;\n }\n\n .Dialog_bui-Dialog__c76e5a4658 {\n background: var(--bui-bg-popover);\n border-radius: 0.5rem;\n border: 1px solid var(--bui-border-1);\n color: var(--bui-fg-primary);\n position: relative;\n width: min(var(--bui-dialog-min-width, 400px), calc(100vw - 3rem));\n max-width: calc(100vw - 3rem);\n height: min(var(--bui-dialog-min-height, auto), calc(100vh - 3rem));\n max-height: calc(100vh - 3rem);\n display: flex;\n flex-direction: column;\n outline: none;\n }\n\n /* Dialog entering animation */\n .Dialog_bui-DialogOverlay__c76e5a4658[data-entering] .Dialog_bui-Dialog__c76e5a4658 {\n animation: Dialog_dialog-enter__c76e5a4658 150ms ease-out forwards;\n }\n\n /* Dialog exiting animation */\n .Dialog_bui-DialogOverlay__c76e5a4658[data-exiting] .Dialog_bui-Dialog__c76e5a4658 {\n animation: Dialog_dialog-exit__c76e5a4658 150ms ease-out forwards;\n }\n\n .Dialog_bui-DialogHeader__c76e5a4658 {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-inline: var(--bui-space-3);\n padding-block: var(--bui-space-2);\n border-bottom: 1px solid var(--bui-border-1);\n }\n\n .Dialog_bui-DialogHeaderTitle__c76e5a4658 {\n font-size: var(--bui-font-size-3);\n font-weight: var(--bui-font-weight-bold);\n margin: 0;\n }\n\n .Dialog_bui-DialogFooter__c76e5a4658 {\n display: flex;\n align-items: center;\n justify-content: end;\n gap: var(--bui-space-2);\n padding-inline: var(--bui-space-3);\n padding-block: var(--bui-space-3);\n border-top: 1px solid var(--bui-border-1);\n }\n\n .Dialog_bui-DialogBody__c76e5a4658 {\n padding: var(--bui-space-3);\n flex: 1;\n overflow-y: auto;\n }\n\n /* Keyframe animations */\n @keyframes Dialog_fade-in__c76e5a4658 {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n @keyframes Dialog_fade-out__c76e5a4658 {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n }\n\n @keyframes Dialog_dialog-enter__c76e5a4658 {\n from {\n opacity: 0.5;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n @keyframes Dialog_dialog-exit__c76e5a4658 {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.95);\n }\n }\n}\n";
4
+ var styles = {"bui-DialogOverlay":"Dialog_bui-DialogOverlay__c76e5a4658","bui-Dialog":"Dialog_bui-Dialog__c76e5a4658","fade-in":"Dialog_fade-in__c76e5a4658","fade-out":"Dialog_fade-out__c76e5a4658","dialog-enter":"Dialog_dialog-enter__c76e5a4658","dialog-exit":"Dialog_dialog-exit__c76e5a4658","bui-DialogHeader":"Dialog_bui-DialogHeader__c76e5a4658","bui-DialogHeaderTitle":"Dialog_bui-DialogHeaderTitle__c76e5a4658","bui-DialogFooter":"Dialog_bui-DialogFooter__c76e5a4658","bui-DialogBody":"Dialog_bui-DialogBody__c76e5a4658"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -4,19 +4,17 @@ import clsx from 'clsx';
4
4
  import { useStyles } from '../../hooks/useStyles.esm.js';
5
5
  import { FlexDefinition } from './definition.esm.js';
6
6
  import styles from './Flex.module.css.esm.js';
7
- import { useSurface, SurfaceProvider } from '../../hooks/useSurface.esm.js';
7
+ import { useBgProvider, BgProvider } from '../../hooks/useBg.esm.js';
8
8
 
9
9
  const Flex = forwardRef((props, ref) => {
10
- const { surface: resolvedSurface } = useSurface({
11
- surface: props.surface
12
- });
10
+ const { bg: resolvedBg } = useBgProvider(props.bg);
13
11
  const { classNames, dataAttributes, utilityClasses, style, cleanedProps } = useStyles(FlexDefinition, {
14
12
  gap: "4",
15
13
  ...props,
16
- surface: resolvedSurface
17
- // Use resolved surface for data attribute
14
+ bg: resolvedBg
15
+ // Use resolved bg for data attribute
18
16
  });
19
- const { className, surface, ...rest } = cleanedProps;
17
+ const { className, bg, ...rest } = cleanedProps;
20
18
  const content = /* @__PURE__ */ jsx(
21
19
  "div",
22
20
  {
@@ -32,7 +30,7 @@ const Flex = forwardRef((props, ref) => {
32
30
  ...rest
33
31
  }
34
32
  );
35
- return resolvedSurface ? /* @__PURE__ */ jsx(SurfaceProvider, { surface: resolvedSurface, children: content }) : content;
33
+ return resolvedBg ? /* @__PURE__ */ jsx(BgProvider, { bg: resolvedBg, children: content }) : content;
36
34
  });
37
35
 
38
36
  export { Flex };
@@ -1 +1 @@
1
- {"version":3,"file":"Flex.esm.js","sources":["../../../src/components/Flex/Flex.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 { forwardRef } from 'react';\nimport { FlexProps } from './types';\nimport clsx from 'clsx';\nimport { useStyles } from '../../hooks/useStyles';\nimport { FlexDefinition } from './definition';\nimport styles from './Flex.module.css';\nimport { SurfaceProvider, useSurface } from '../../hooks/useSurface';\n\n/** @public */\nexport const Flex = forwardRef<HTMLDivElement, FlexProps>((props, ref) => {\n // Resolve the surface this Flex creates for its children\n // Using 'surface' parameter = container behavior (auto increments)\n const { surface: resolvedSurface } = useSurface({\n surface: props.surface,\n });\n\n const { classNames, dataAttributes, utilityClasses, style, cleanedProps } =\n useStyles(FlexDefinition, {\n gap: '4',\n ...props,\n surface: resolvedSurface, // Use resolved surface for data attribute\n });\n\n const { className, surface, ...rest } = cleanedProps;\n\n const content = (\n <div\n ref={ref}\n className={clsx(\n classNames.root,\n utilityClasses,\n styles[classNames.root],\n className,\n )}\n style={style}\n {...dataAttributes}\n {...rest}\n />\n );\n\n return resolvedSurface ? (\n <SurfaceProvider surface={resolvedSurface}>{content}</SurfaceProvider>\n ) : (\n content\n );\n});\n"],"names":[],"mappings":";;;;;;;;AAyBO,MAAM,IAAA,GAAO,UAAA,CAAsC,CAAC,KAAA,EAAO,GAAA,KAAQ;AAGxE,EAAA,MAAM,EAAE,OAAA,EAAS,eAAA,EAAgB,GAAI,UAAA,CAAW;AAAA,IAC9C,SAAS,KAAA,CAAM;AAAA,GAChB,CAAA;AAED,EAAA,MAAM,EAAE,YAAY,cAAA,EAAgB,cAAA,EAAgB,OAAO,YAAA,EAAa,GACtE,UAAU,cAAA,EAAgB;AAAA,IACxB,GAAA,EAAK,GAAA;AAAA,IACL,GAAG,KAAA;AAAA,IACH,OAAA,EAAS;AAAA;AAAA,GACV,CAAA;AAEH,EAAA,MAAM,EAAE,SAAA,EAAW,OAAA,EAAS,GAAG,MAAK,GAAI,YAAA;AAExC,EAAA,MAAM,OAAA,mBACJ,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,QACT,UAAA,CAAW,IAAA;AAAA,QACX,cAAA;AAAA,QACA,MAAA,CAAO,WAAW,IAAI,CAAA;AAAA,QACtB;AAAA,OACF;AAAA,MACA,KAAA;AAAA,MACC,GAAG,cAAA;AAAA,MACH,GAAG;AAAA;AAAA,GACN;AAGF,EAAA,OAAO,kCACL,GAAA,CAAC,eAAA,EAAA,EAAgB,OAAA,EAAS,eAAA,EAAkB,mBAAQ,CAAA,GAEpD,OAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Flex.esm.js","sources":["../../../src/components/Flex/Flex.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 { forwardRef } from 'react';\nimport { FlexProps } from './types';\nimport clsx from 'clsx';\nimport { useStyles } from '../../hooks/useStyles';\nimport { FlexDefinition } from './definition';\nimport styles from './Flex.module.css';\nimport { BgProvider, useBgProvider } from '../../hooks/useBg';\n\n/** @public */\nexport const Flex = forwardRef<HTMLDivElement, FlexProps>((props, ref) => {\n const { bg: resolvedBg } = useBgProvider(props.bg);\n\n const { classNames, dataAttributes, utilityClasses, style, cleanedProps } =\n useStyles(FlexDefinition, {\n gap: '4',\n ...props,\n bg: resolvedBg, // Use resolved bg for data attribute\n });\n\n const { className, bg, ...rest } = cleanedProps;\n\n const content = (\n <div\n ref={ref}\n className={clsx(\n classNames.root,\n utilityClasses,\n styles[classNames.root],\n className,\n )}\n style={style}\n {...dataAttributes}\n {...rest}\n />\n );\n\n return resolvedBg ? (\n <BgProvider bg={resolvedBg}>{content}</BgProvider>\n ) : (\n content\n );\n});\n"],"names":[],"mappings":";;;;;;;;AAyBO,MAAM,IAAA,GAAO,UAAA,CAAsC,CAAC,KAAA,EAAO,GAAA,KAAQ;AACxE,EAAA,MAAM,EAAE,EAAA,EAAI,UAAA,EAAW,GAAI,aAAA,CAAc,MAAM,EAAE,CAAA;AAEjD,EAAA,MAAM,EAAE,YAAY,cAAA,EAAgB,cAAA,EAAgB,OAAO,YAAA,EAAa,GACtE,UAAU,cAAA,EAAgB;AAAA,IACxB,GAAA,EAAK,GAAA;AAAA,IACL,GAAG,KAAA;AAAA,IACH,EAAA,EAAI;AAAA;AAAA,GACL,CAAA;AAEH,EAAA,MAAM,EAAE,SAAA,EAAW,EAAA,EAAI,GAAG,MAAK,GAAI,YAAA;AAEnC,EAAA,MAAM,OAAA,mBACJ,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,QACT,UAAA,CAAW,IAAA;AAAA,QACX,cAAA;AAAA,QACA,MAAA,CAAO,WAAW,IAAI,CAAA;AAAA,QACtB;AAAA,OACF;AAAA,MACA,KAAA;AAAA,MACC,GAAG,cAAA;AAAA,MACH,GAAG;AAAA;AAAA,GACN;AAGF,EAAA,OAAO,6BACL,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAI,UAAA,EAAa,mBAAQ,CAAA,GAErC,OAAA;AAEJ,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 .Flex_bui-Flex__d21378eb09 {\n display: flex;\n\n /* This helps when using `truncate` on text inside a flex container */\n min-width: 0;\n }\n\n .Flex_bui-Flex__d21378eb09[data-surface='0'] {\n background-color: var(--bui-bg-neutral-0);\n }\n\n .Flex_bui-Flex__d21378eb09[data-surface='1'] {\n background-color: var(--bui-bg-neutral-1);\n }\n\n .Flex_bui-Flex__d21378eb09[data-surface='2'] {\n background-color: var(--bui-bg-neutral-2);\n }\n\n .Flex_bui-Flex__d21378eb09[data-surface='3'] {\n background-color: var(--bui-bg-neutral-3);\n }\n\n .Flex_bui-Flex__d21378eb09[data-surface='danger'] {\n background-color: var(--bui-bg-danger);\n }\n\n .Flex_bui-Flex__d21378eb09[data-surface='warning'] {\n background-color: var(--bui-bg-warning);\n }\n\n .Flex_bui-Flex__d21378eb09[data-surface='success'] {\n background-color: var(--bui-bg-success);\n }\n}\n";
4
- var styles = {"bui-Flex":"Flex_bui-Flex__d21378eb09"};
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 .Flex_bui-Flex__13abc0796b {\n display: flex;\n\n /* This helps when using `truncate` on text inside a flex container */\n min-width: 0;\n }\n\n .Flex_bui-Flex__13abc0796b[data-bg='neutral-1'] {\n background-color: var(--bui-bg-neutral-1);\n }\n\n .Flex_bui-Flex__13abc0796b[data-bg='neutral-2'] {\n background-color: var(--bui-bg-neutral-2);\n }\n\n .Flex_bui-Flex__13abc0796b[data-bg='neutral-3'] {\n background-color: var(--bui-bg-neutral-3);\n }\n\n .Flex_bui-Flex__13abc0796b[data-bg='danger'] {\n background-color: var(--bui-bg-danger);\n }\n\n .Flex_bui-Flex__13abc0796b[data-bg='warning'] {\n background-color: var(--bui-bg-warning);\n }\n\n .Flex_bui-Flex__13abc0796b[data-bg='success'] {\n background-color: var(--bui-bg-success);\n }\n}\n";
4
+ var styles = {"bui-Flex":"Flex_bui-Flex__13abc0796b"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -23,7 +23,14 @@ const FlexDefinition = {
23
23
  "direction"
24
24
  ],
25
25
  dataAttributes: {
26
- surface: ["0", "1", "2", "3", "danger", "warning", "success"]
26
+ bg: [
27
+ "neutral-1",
28
+ "neutral-2",
29
+ "neutral-3",
30
+ "danger",
31
+ "warning",
32
+ "success"
33
+ ]
27
34
  }
28
35
  };
29
36
 
@@ -1 +1 @@
1
- {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Flex/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 type { ComponentDefinition } from '../../types';\n\n/**\n * Component definition for Flex\n * @public\n */\nexport const FlexDefinition = {\n classNames: {\n root: 'bui-Flex',\n },\n utilityProps: [\n 'm',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'mx',\n 'my',\n 'p',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'px',\n 'py',\n 'gap',\n 'align',\n 'justify',\n 'direction',\n ],\n dataAttributes: {\n surface: ['0', '1', '2', '3', 'danger', 'warning', 'success'] as const,\n },\n} as const satisfies ComponentDefinition;\n"],"names":[],"mappings":"AAsBO,MAAM,cAAA,GAAiB;AAAA,EAC5B,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,OAAA,EAAS,CAAC,GAAA,EAAK,GAAA,EAAK,KAAK,GAAA,EAAK,QAAA,EAAU,WAAW,SAAS;AAAA;AAEhE;;;;"}
1
+ {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Flex/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 type { ComponentDefinition } from '../../types';\n\n/**\n * Component definition for Flex\n * @public\n */\nexport const FlexDefinition = {\n classNames: {\n root: 'bui-Flex',\n },\n utilityProps: [\n 'm',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'mx',\n 'my',\n 'p',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'px',\n 'py',\n 'gap',\n 'align',\n 'justify',\n 'direction',\n ],\n dataAttributes: {\n bg: [\n 'neutral-1',\n 'neutral-2',\n 'neutral-3',\n 'danger',\n 'warning',\n 'success',\n ] as const,\n },\n} as const satisfies ComponentDefinition;\n"],"names":[],"mappings":"AAsBO,MAAM,cAAA,GAAiB;AAAA,EAC5B,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,EAAA,EAAI;AAAA,MACF,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA;AACF;AAEJ;;;;"}
@@ -0,0 +1,22 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { useStyles } from '../../hooks/useStyles.esm.js';
4
+ import { FullPageDefinition } from './definition.esm.js';
5
+ import styles from './FullPage.module.css.esm.js';
6
+ import clsx from 'clsx';
7
+
8
+ const FullPage = forwardRef((props, ref) => {
9
+ const { classNames, cleanedProps } = useStyles(FullPageDefinition, props);
10
+ const { className, ...rest } = cleanedProps;
11
+ return /* @__PURE__ */ jsx(
12
+ "main",
13
+ {
14
+ ref,
15
+ className: clsx(classNames.root, styles[classNames.root], className),
16
+ ...rest
17
+ }
18
+ );
19
+ });
20
+
21
+ export { FullPage };
22
+ //# sourceMappingURL=FullPage.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullPage.esm.js","sources":["../../../src/components/FullPage/FullPage.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 type { FullPageProps } from './types';\nimport { useStyles } from '../../hooks/useStyles';\nimport { FullPageDefinition } from './definition';\nimport styles from './FullPage.module.css';\nimport clsx from 'clsx';\n\n/**\n * A component that fills the remaining viewport height below the Header.\n *\n * The FullPage component consumes the `--bui-header-height` CSS custom property\n * set by the Header component to calculate its height as\n * `calc(100dvh - var(--bui-header-height, 0px))`. Content inside the FullPage\n * scrolls independently while the Header stays visible.\n *\n * @public\n */\nexport const FullPage = forwardRef<HTMLElement, FullPageProps>((props, ref) => {\n const { classNames, cleanedProps } = useStyles(FullPageDefinition, props);\n const { className, ...rest } = cleanedProps;\n\n return (\n <main\n ref={ref}\n className={clsx(classNames.root, styles[classNames.root], className)}\n {...rest}\n />\n );\n});\n"],"names":[],"mappings":";;;;;;;AAiCO,MAAM,QAAA,GAAW,UAAA,CAAuC,CAAC,KAAA,EAAO,GAAA,KAAQ;AAC7E,EAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAa,GAAI,SAAA,CAAU,oBAAoB,KAAK,CAAA;AACxE,EAAA,MAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAK,GAAI,YAAA;AAE/B,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,KAAK,UAAA,CAAW,IAAA,EAAM,OAAO,UAAA,CAAW,IAAI,GAAG,SAAS,CAAA;AAAA,MAClE,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;;;;"}
@@ -0,0 +1,8 @@
1
+ import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
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 .FullPage_bui-FullPage__aef86a5319 {\n height: calc(100dvh - var(--bui-header-height, 0px));\n overflow-y: auto;\n }\n}\n";
4
+ var styles = {"bui-FullPage":"FullPage_bui-FullPage__aef86a5319"};
5
+ styleInject(css_248z);
6
+
7
+ export { styles as default };
8
+ //# sourceMappingURL=FullPage.module.css.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullPage.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ const FullPageDefinition = {
2
+ classNames: {
3
+ root: "bui-FullPage"
4
+ }
5
+ };
6
+
7
+ export { FullPageDefinition };
8
+ //# sourceMappingURL=definition.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.esm.js","sources":["../../../src/components/FullPage/definition.ts"],"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 type { ComponentDefinition } from '../../types';\n\n/**\n * Component definition for FullPage\n * @public\n */\nexport const FullPageDefinition = {\n classNames: {\n root: 'bui-FullPage',\n },\n} as const satisfies ComponentDefinition;\n"],"names":[],"mappings":"AAsBO,MAAM,kBAAA,GAAqB;AAAA,EAChC,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA;AAEV;;;;"}
@@ -4,20 +4,18 @@ import clsx from 'clsx';
4
4
  import { useStyles } from '../../hooks/useStyles.esm.js';
5
5
  import { GridDefinition, GridItemDefinition } from './definition.esm.js';
6
6
  import styles from './Grid.module.css.esm.js';
7
- import { useSurface, SurfaceProvider } from '../../hooks/useSurface.esm.js';
7
+ import { useBgProvider, BgProvider } from '../../hooks/useBg.esm.js';
8
8
 
9
9
  const GridRoot = forwardRef((props, ref) => {
10
- const { surface: resolvedSurface } = useSurface({
11
- surface: props.surface
12
- });
10
+ const { bg: resolvedBg } = useBgProvider(props.bg);
13
11
  const { classNames, dataAttributes, utilityClasses, style, cleanedProps } = useStyles(GridDefinition, {
14
12
  columns: "auto",
15
13
  gap: "4",
16
14
  ...props,
17
- surface: resolvedSurface
18
- // Use resolved surface for data attribute
15
+ bg: resolvedBg
16
+ // Use resolved bg for data attribute
19
17
  });
20
- const { className, surface, ...rest } = cleanedProps;
18
+ const { className, bg, ...rest } = cleanedProps;
21
19
  const content = /* @__PURE__ */ jsx(
22
20
  "div",
23
21
  {
@@ -33,18 +31,16 @@ const GridRoot = forwardRef((props, ref) => {
33
31
  ...rest
34
32
  }
35
33
  );
36
- return resolvedSurface ? /* @__PURE__ */ jsx(SurfaceProvider, { surface: resolvedSurface, children: content }) : content;
34
+ return resolvedBg ? /* @__PURE__ */ jsx(BgProvider, { bg: resolvedBg, children: content }) : content;
37
35
  });
38
36
  const GridItem = forwardRef((props, ref) => {
39
- const { surface: resolvedSurface } = useSurface({
40
- surface: props.surface
41
- });
37
+ const { bg: resolvedBg } = useBgProvider(props.bg);
42
38
  const { classNames, dataAttributes, utilityClasses, style, cleanedProps } = useStyles(GridItemDefinition, {
43
39
  ...props,
44
- surface: resolvedSurface
45
- // Use resolved surface for data attribute
40
+ bg: resolvedBg
41
+ // Use resolved bg for data attribute
46
42
  });
47
- const { className, surface, ...rest } = cleanedProps;
43
+ const { className, bg, ...rest } = cleanedProps;
48
44
  const content = /* @__PURE__ */ jsx(
49
45
  "div",
50
46
  {
@@ -60,7 +56,7 @@ const GridItem = forwardRef((props, ref) => {
60
56
  ...rest
61
57
  }
62
58
  );
63
- return resolvedSurface ? /* @__PURE__ */ jsx(SurfaceProvider, { surface: resolvedSurface, children: content }) : content;
59
+ return resolvedBg ? /* @__PURE__ */ jsx(BgProvider, { bg: resolvedBg, children: content }) : content;
64
60
  });
65
61
  const Grid = {
66
62
  Root: GridRoot,
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.esm.js","sources":["../../../src/components/Grid/Grid.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 { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport type { GridItemProps, GridProps } from './types';\nimport { useStyles } from '../../hooks/useStyles';\nimport { GridDefinition, GridItemDefinition } from './definition';\nimport styles from './Grid.module.css';\nimport { SurfaceProvider, useSurface } from '../../hooks/useSurface';\n\nconst GridRoot = forwardRef<HTMLDivElement, GridProps>((props, ref) => {\n // Resolve the surface this Grid creates for its children\n // Using 'surface' parameter = container behavior (auto increments)\n const { surface: resolvedSurface } = useSurface({\n surface: props.surface,\n });\n\n const { classNames, dataAttributes, utilityClasses, style, cleanedProps } =\n useStyles(GridDefinition, {\n columns: 'auto',\n gap: '4',\n ...props,\n surface: resolvedSurface, // Use resolved surface for data attribute\n });\n\n const { className, surface, ...rest } = cleanedProps;\n\n const content = (\n <div\n ref={ref}\n className={clsx(\n classNames.root,\n utilityClasses,\n styles[classNames.root],\n className,\n )}\n style={style}\n {...dataAttributes}\n {...rest}\n />\n );\n\n return resolvedSurface ? (\n <SurfaceProvider surface={resolvedSurface}>{content}</SurfaceProvider>\n ) : (\n content\n );\n});\n\nconst GridItem = forwardRef<HTMLDivElement, GridItemProps>((props, ref) => {\n // Resolve the surface this GridItem creates for its children\n // Using 'surface' parameter = container behavior (auto increments)\n const { surface: resolvedSurface } = useSurface({\n surface: props.surface,\n });\n\n const { classNames, dataAttributes, utilityClasses, style, cleanedProps } =\n useStyles(GridItemDefinition, {\n ...props,\n surface: resolvedSurface, // Use resolved surface for data attribute\n });\n\n const { className, surface, ...rest } = cleanedProps;\n\n const content = (\n <div\n ref={ref}\n className={clsx(\n classNames.root,\n utilityClasses,\n styles[classNames.root],\n className,\n )}\n style={style}\n {...dataAttributes}\n {...rest}\n />\n );\n\n return resolvedSurface ? (\n <SurfaceProvider surface={resolvedSurface}>{content}</SurfaceProvider>\n ) : (\n content\n );\n});\n\n/** @public */\nexport const Grid = {\n Root: GridRoot,\n Item: GridItem,\n};\n"],"names":[],"mappings":";;;;;;;;AAwBA,MAAM,QAAA,GAAW,UAAA,CAAsC,CAAC,KAAA,EAAO,GAAA,KAAQ;AAGrE,EAAA,MAAM,EAAE,OAAA,EAAS,eAAA,EAAgB,GAAI,UAAA,CAAW;AAAA,IAC9C,SAAS,KAAA,CAAM;AAAA,GAChB,CAAA;AAED,EAAA,MAAM,EAAE,YAAY,cAAA,EAAgB,cAAA,EAAgB,OAAO,YAAA,EAAa,GACtE,UAAU,cAAA,EAAgB;AAAA,IACxB,OAAA,EAAS,MAAA;AAAA,IACT,GAAA,EAAK,GAAA;AAAA,IACL,GAAG,KAAA;AAAA,IACH,OAAA,EAAS;AAAA;AAAA,GACV,CAAA;AAEH,EAAA,MAAM,EAAE,SAAA,EAAW,OAAA,EAAS,GAAG,MAAK,GAAI,YAAA;AAExC,EAAA,MAAM,OAAA,mBACJ,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,QACT,UAAA,CAAW,IAAA;AAAA,QACX,cAAA;AAAA,QACA,MAAA,CAAO,WAAW,IAAI,CAAA;AAAA,QACtB;AAAA,OACF;AAAA,MACA,KAAA;AAAA,MACC,GAAG,cAAA;AAAA,MACH,GAAG;AAAA;AAAA,GACN;AAGF,EAAA,OAAO,kCACL,GAAA,CAAC,eAAA,EAAA,EAAgB,OAAA,EAAS,eAAA,EAAkB,mBAAQ,CAAA,GAEpD,OAAA;AAEJ,CAAC,CAAA;AAED,MAAM,QAAA,GAAW,UAAA,CAA0C,CAAC,KAAA,EAAO,GAAA,KAAQ;AAGzE,EAAA,MAAM,EAAE,OAAA,EAAS,eAAA,EAAgB,GAAI,UAAA,CAAW;AAAA,IAC9C,SAAS,KAAA,CAAM;AAAA,GAChB,CAAA;AAED,EAAA,MAAM,EAAE,YAAY,cAAA,EAAgB,cAAA,EAAgB,OAAO,YAAA,EAAa,GACtE,UAAU,kBAAA,EAAoB;AAAA,IAC5B,GAAG,KAAA;AAAA,IACH,OAAA,EAAS;AAAA;AAAA,GACV,CAAA;AAEH,EAAA,MAAM,EAAE,SAAA,EAAW,OAAA,EAAS,GAAG,MAAK,GAAI,YAAA;AAExC,EAAA,MAAM,OAAA,mBACJ,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,QACT,UAAA,CAAW,IAAA;AAAA,QACX,cAAA;AAAA,QACA,MAAA,CAAO,WAAW,IAAI,CAAA;AAAA,QACtB;AAAA,OACF;AAAA,MACA,KAAA;AAAA,MACC,GAAG,cAAA;AAAA,MACH,GAAG;AAAA;AAAA,GACN;AAGF,EAAA,OAAO,kCACL,GAAA,CAAC,eAAA,EAAA,EAAgB,OAAA,EAAS,eAAA,EAAkB,mBAAQ,CAAA,GAEpD,OAAA;AAEJ,CAAC,CAAA;AAGM,MAAM,IAAA,GAAO;AAAA,EAClB,IAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAM;AACR;;;;"}
1
+ {"version":3,"file":"Grid.esm.js","sources":["../../../src/components/Grid/Grid.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 { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport type { GridItemProps, GridProps } from './types';\nimport { useStyles } from '../../hooks/useStyles';\nimport { GridDefinition, GridItemDefinition } from './definition';\nimport styles from './Grid.module.css';\nimport { BgProvider, useBgProvider } from '../../hooks/useBg';\n\nconst GridRoot = forwardRef<HTMLDivElement, GridProps>((props, ref) => {\n const { bg: resolvedBg } = useBgProvider(props.bg);\n\n const { classNames, dataAttributes, utilityClasses, style, cleanedProps } =\n useStyles(GridDefinition, {\n columns: 'auto',\n gap: '4',\n ...props,\n bg: resolvedBg, // Use resolved bg for data attribute\n });\n\n const { className, bg, ...rest } = cleanedProps;\n\n const content = (\n <div\n ref={ref}\n className={clsx(\n classNames.root,\n utilityClasses,\n styles[classNames.root],\n className,\n )}\n style={style}\n {...dataAttributes}\n {...rest}\n />\n );\n\n return resolvedBg ? (\n <BgProvider bg={resolvedBg}>{content}</BgProvider>\n ) : (\n content\n );\n});\n\nconst GridItem = forwardRef<HTMLDivElement, GridItemProps>((props, ref) => {\n const { bg: resolvedBg } = useBgProvider(props.bg);\n\n const { classNames, dataAttributes, utilityClasses, style, cleanedProps } =\n useStyles(GridItemDefinition, {\n ...props,\n bg: resolvedBg, // Use resolved bg for data attribute\n });\n\n const { className, bg, ...rest } = cleanedProps;\n\n const content = (\n <div\n ref={ref}\n className={clsx(\n classNames.root,\n utilityClasses,\n styles[classNames.root],\n className,\n )}\n style={style}\n {...dataAttributes}\n {...rest}\n />\n );\n\n return resolvedBg ? (\n <BgProvider bg={resolvedBg}>{content}</BgProvider>\n ) : (\n content\n );\n});\n\n/** @public */\nexport const Grid = {\n Root: GridRoot,\n Item: GridItem,\n};\n"],"names":[],"mappings":";;;;;;;;AAwBA,MAAM,QAAA,GAAW,UAAA,CAAsC,CAAC,KAAA,EAAO,GAAA,KAAQ;AACrE,EAAA,MAAM,EAAE,EAAA,EAAI,UAAA,EAAW,GAAI,aAAA,CAAc,MAAM,EAAE,CAAA;AAEjD,EAAA,MAAM,EAAE,YAAY,cAAA,EAAgB,cAAA,EAAgB,OAAO,YAAA,EAAa,GACtE,UAAU,cAAA,EAAgB;AAAA,IACxB,OAAA,EAAS,MAAA;AAAA,IACT,GAAA,EAAK,GAAA;AAAA,IACL,GAAG,KAAA;AAAA,IACH,EAAA,EAAI;AAAA;AAAA,GACL,CAAA;AAEH,EAAA,MAAM,EAAE,SAAA,EAAW,EAAA,EAAI,GAAG,MAAK,GAAI,YAAA;AAEnC,EAAA,MAAM,OAAA,mBACJ,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,QACT,UAAA,CAAW,IAAA;AAAA,QACX,cAAA;AAAA,QACA,MAAA,CAAO,WAAW,IAAI,CAAA;AAAA,QACtB;AAAA,OACF;AAAA,MACA,KAAA;AAAA,MACC,GAAG,cAAA;AAAA,MACH,GAAG;AAAA;AAAA,GACN;AAGF,EAAA,OAAO,6BACL,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAI,UAAA,EAAa,mBAAQ,CAAA,GAErC,OAAA;AAEJ,CAAC,CAAA;AAED,MAAM,QAAA,GAAW,UAAA,CAA0C,CAAC,KAAA,EAAO,GAAA,KAAQ;AACzE,EAAA,MAAM,EAAE,EAAA,EAAI,UAAA,EAAW,GAAI,aAAA,CAAc,MAAM,EAAE,CAAA;AAEjD,EAAA,MAAM,EAAE,YAAY,cAAA,EAAgB,cAAA,EAAgB,OAAO,YAAA,EAAa,GACtE,UAAU,kBAAA,EAAoB;AAAA,IAC5B,GAAG,KAAA;AAAA,IACH,EAAA,EAAI;AAAA;AAAA,GACL,CAAA;AAEH,EAAA,MAAM,EAAE,SAAA,EAAW,EAAA,EAAI,GAAG,MAAK,GAAI,YAAA;AAEnC,EAAA,MAAM,OAAA,mBACJ,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,QACT,UAAA,CAAW,IAAA;AAAA,QACX,cAAA;AAAA,QACA,MAAA,CAAO,WAAW,IAAI,CAAA;AAAA,QACtB;AAAA,OACF;AAAA,MACA,KAAA;AAAA,MACC,GAAG,cAAA;AAAA,MACH,GAAG;AAAA;AAAA,GACN;AAGF,EAAA,OAAO,6BACL,GAAA,CAAC,UAAA,EAAA,EAAW,EAAA,EAAI,UAAA,EAAa,mBAAQ,CAAA,GAErC,OAAA;AAEJ,CAAC,CAAA;AAGM,MAAM,IAAA,GAAO;AAAA,EAClB,IAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAM;AACR;;;;"}
@@ -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 .Grid_bui-Grid__9f67130f09 {\n display: grid;\n }\n\n .Grid_bui-Grid__9f67130f09[data-surface='0'],\n .Grid_bui-GridItem__9f67130f09[data-surface='0'] {\n background-color: var(--bui-bg-neutral-0);\n }\n\n .Grid_bui-Grid__9f67130f09[data-surface='1'],\n .Grid_bui-GridItem__9f67130f09[data-surface='1'] {\n background-color: var(--bui-bg-neutral-1);\n }\n\n .Grid_bui-Grid__9f67130f09[data-surface='2'],\n .Grid_bui-GridItem__9f67130f09[data-surface='2'] {\n background-color: var(--bui-bg-neutral-2);\n }\n\n .Grid_bui-Grid__9f67130f09[data-surface='3'],\n .Grid_bui-GridItem__9f67130f09[data-surface='3'] {\n background-color: var(--bui-bg-neutral-3);\n }\n\n .Grid_bui-Grid__9f67130f09[data-surface='danger'],\n .Grid_bui-GridItem__9f67130f09[data-surface='danger'] {\n background-color: var(--bui-bg-danger);\n }\n\n .Grid_bui-Grid__9f67130f09[data-surface='warning'],\n .Grid_bui-GridItem__9f67130f09[data-surface='warning'] {\n background-color: var(--bui-bg-warning);\n }\n\n .Grid_bui-Grid__9f67130f09[data-surface='success'],\n .Grid_bui-GridItem__9f67130f09[data-surface='success'] {\n background-color: var(--bui-bg-success);\n }\n}\n";
4
- var styles = {"bui-Grid":"Grid_bui-Grid__9f67130f09","bui-GridItem":"Grid_bui-GridItem__9f67130f09"};
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 .Grid_bui-Grid__90096dfd16 {\n display: grid;\n }\n\n .Grid_bui-Grid__90096dfd16[data-bg='neutral-1'],\n .Grid_bui-GridItem__90096dfd16[data-bg='neutral-1'] {\n background-color: var(--bui-bg-neutral-1);\n }\n\n .Grid_bui-Grid__90096dfd16[data-bg='neutral-2'],\n .Grid_bui-GridItem__90096dfd16[data-bg='neutral-2'] {\n background-color: var(--bui-bg-neutral-2);\n }\n\n .Grid_bui-Grid__90096dfd16[data-bg='neutral-3'],\n .Grid_bui-GridItem__90096dfd16[data-bg='neutral-3'] {\n background-color: var(--bui-bg-neutral-3);\n }\n\n .Grid_bui-Grid__90096dfd16[data-bg='danger'],\n .Grid_bui-GridItem__90096dfd16[data-bg='danger'] {\n background-color: var(--bui-bg-danger);\n }\n\n .Grid_bui-Grid__90096dfd16[data-bg='warning'],\n .Grid_bui-GridItem__90096dfd16[data-bg='warning'] {\n background-color: var(--bui-bg-warning);\n }\n\n .Grid_bui-Grid__90096dfd16[data-bg='success'],\n .Grid_bui-GridItem__90096dfd16[data-bg='success'] {\n background-color: var(--bui-bg-success);\n }\n}\n";
4
+ var styles = {"bui-Grid":"Grid_bui-Grid__90096dfd16","bui-GridItem":"Grid_bui-GridItem__90096dfd16"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -21,7 +21,14 @@ const GridDefinition = {
21
21
  "py"
22
22
  ],
23
23
  dataAttributes: {
24
- surface: ["0", "1", "2", "3", "danger", "warning", "success"]
24
+ bg: [
25
+ "neutral-1",
26
+ "neutral-2",
27
+ "neutral-3",
28
+ "danger",
29
+ "warning",
30
+ "success"
31
+ ]
25
32
  }
26
33
  };
27
34
  const GridItemDefinition = {
@@ -30,7 +37,14 @@ const GridItemDefinition = {
30
37
  },
31
38
  utilityProps: ["colSpan", "colEnd", "colStart", "rowSpan"],
32
39
  dataAttributes: {
33
- surface: ["0", "1", "2", "3", "danger", "warning", "success"]
40
+ bg: [
41
+ "neutral-1",
42
+ "neutral-2",
43
+ "neutral-3",
44
+ "danger",
45
+ "warning",
46
+ "success"
47
+ ]
34
48
  }
35
49
  };
36
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Grid/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 type { ComponentDefinition } from '../../types';\n\n/**\n * Component definition for Grid\n * @public\n */\nexport const GridDefinition = {\n classNames: {\n root: 'bui-Grid',\n },\n utilityProps: [\n 'columns',\n 'gap',\n 'm',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'mx',\n 'my',\n 'p',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'px',\n 'py',\n ],\n dataAttributes: {\n surface: ['0', '1', '2', '3', 'danger', 'warning', 'success'] as const,\n },\n} as const satisfies ComponentDefinition;\n\n/**\n * Component definition for GridItem\n * @public\n */\nexport const GridItemDefinition = {\n classNames: {\n root: 'bui-GridItem',\n },\n utilityProps: ['colSpan', 'colEnd', 'colStart', 'rowSpan'],\n dataAttributes: {\n surface: ['0', '1', '2', '3', 'danger', 'warning', 'success'] as const,\n },\n} as const satisfies ComponentDefinition;\n"],"names":[],"mappings":"AAsBO,MAAM,cAAA,GAAiB;AAAA,EAC5B,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,SAAA;AAAA,IACA,KAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,OAAA,EAAS,CAAC,GAAA,EAAK,GAAA,EAAK,KAAK,GAAA,EAAK,QAAA,EAAU,WAAW,SAAS;AAAA;AAEhE;AAMO,MAAM,kBAAA,GAAqB;AAAA,EAChC,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,YAAA,EAAc,CAAC,SAAA,EAAW,QAAA,EAAU,YAAY,SAAS,CAAA;AAAA,EACzD,cAAA,EAAgB;AAAA,IACd,OAAA,EAAS,CAAC,GAAA,EAAK,GAAA,EAAK,KAAK,GAAA,EAAK,QAAA,EAAU,WAAW,SAAS;AAAA;AAEhE;;;;"}
1
+ {"version":3,"file":"definition.esm.js","sources":["../../../src/components/Grid/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 type { ComponentDefinition } from '../../types';\n\n/**\n * Component definition for Grid\n * @public\n */\nexport const GridDefinition = {\n classNames: {\n root: 'bui-Grid',\n },\n utilityProps: [\n 'columns',\n 'gap',\n 'm',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'mx',\n 'my',\n 'p',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'px',\n 'py',\n ],\n dataAttributes: {\n bg: [\n 'neutral-1',\n 'neutral-2',\n 'neutral-3',\n 'danger',\n 'warning',\n 'success',\n ] as const,\n },\n} as const satisfies ComponentDefinition;\n\n/**\n * Component definition for GridItem\n * @public\n */\nexport const GridItemDefinition = {\n classNames: {\n root: 'bui-GridItem',\n },\n utilityProps: ['colSpan', 'colEnd', 'colStart', 'rowSpan'],\n dataAttributes: {\n bg: [\n 'neutral-1',\n 'neutral-2',\n 'neutral-3',\n 'danger',\n 'warning',\n 'success',\n ] as const,\n },\n} as const satisfies ComponentDefinition;\n"],"names":[],"mappings":"AAsBO,MAAM,cAAA,GAAiB;AAAA,EAC5B,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,SAAA;AAAA,IACA,KAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,EAAA,EAAI;AAAA,MACF,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA;AACF;AAEJ;AAMO,MAAM,kBAAA,GAAqB;AAAA,EAChC,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,YAAA,EAAc,CAAC,SAAA,EAAW,QAAA,EAAU,YAAY,SAAS,CAAA;AAAA,EACzD,cAAA,EAAgB;AAAA,IACd,EAAA,EAAI;AAAA,MACF,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA;AACF;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 .Menu_bui-MenuPopover__02d9661e47 {\n display: flex;\n flex-direction: column;\n box-shadow: var(--bui-shadow);\n border: 1px solid var(--bui-border);\n border-radius: var(--bui-radius-2);\n background: var(--bui-bg-neutral-1);\n color: var(--bui-fg-primary);\n outline: none;\n transition: transform 200ms, opacity 200ms;\n /* Let React Aria handle height constraints naturally */\n min-height: 0;\n /* Remove overflow from popover since ScrollArea will handle it */\n overflow: hidden;\n\n &[data-entering],\n &[data-exiting] {\n transform: var(--origin);\n opacity: 0;\n }\n\n &[data-placement='top'] {\n --origin: translateY(8px);\n }\n\n &[data-placement='bottom'] {\n --origin: translateY(-8px);\n }\n\n &[data-placement='right'] {\n --origin: translateX(-8px);\n }\n\n &[data-placement='left'] {\n --origin: translateX(8px);\n }\n }\n\n .Menu_bui-MenuContent__02d9661e47 {\n max-height: inherit;\n box-sizing: border-box;\n overflow: auto;\n min-width: 150px;\n box-sizing: border-box;\n outline: none;\n padding-block: var(--bui-space-1);\n }\n\n .Menu_bui-MenuItem__02d9661e47 {\n padding-inline: var(--bui-space-1);\n display: block;\n\n &[data-focused] .Menu_bui-MenuItemWrapper__02d9661e47 {\n background: var(--bui-bg-neutral-2);\n color: var(--bui-fg-primary);\n }\n\n &[data-open] .Menu_bui-MenuItemWrapper__02d9661e47 {\n background: var(--bui-bg-neutral-2);\n color: var(--bui-fg-primary);\n }\n\n &[data-color='danger'] .Menu_bui-MenuItemWrapper__02d9661e47 {\n color: var(--bui-fg-danger);\n }\n\n &[data-color='danger'][data-focused] .Menu_bui-MenuItemWrapper__02d9661e47 {\n background: var(--bui-bg-danger);\n color: var(--bui-fg-danger);\n }\n\n &[data-has-submenu] {\n & > .Menu_bui-MenuItemWrapper__02d9661e47 > .Menu_bui-MenuItemArrow__02d9661e47 {\n display: block;\n }\n }\n }\n\n .Menu_bui-MenuItemWrapper__02d9661e47 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 2rem;\n padding-inline: var(--bui-space-2);\n border-radius: var(--bui-radius-2);\n outline: none;\n cursor: default;\n color: var(--bui-fg-primary);\n font-size: var(--bui-font-size-3);\n gap: var(--bui-space-6);\n }\n\n .Menu_bui-MenuItemListBox__02d9661e47 {\n padding-inline: var(--bui-space-1);\n display: block;\n\n &:hover .Menu_bui-MenuItemWrapper__02d9661e47 {\n background: var(--bui-bg-neutral-2);\n color: var(--bui-fg-primary);\n }\n\n &[data-selected] .Menu_bui-MenuItemListBoxCheck__02d9661e47 {\n & > svg {\n opacity: 1;\n color: var(--bui-fg-primary);\n }\n }\n }\n\n .Menu_bui-MenuItemListBoxCheck__02d9661e47 {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n\n & > svg {\n opacity: 0;\n width: 1rem;\n height: 1rem;\n }\n }\n\n .Menu_bui-MenuItemContent__02d9661e47 {\n display: flex;\n align-items: center;\n gap: var(--bui-space-2);\n\n & > svg {\n width: 1rem;\n height: 1rem;\n }\n }\n\n .Menu_bui-MenuItemArrow__02d9661e47 {\n display: none;\n width: 1rem;\n height: 1rem;\n\n & > svg {\n width: 1rem;\n height: 1rem;\n }\n }\n\n .Menu_bui-MenuSection__02d9661e47 {\n &:first-child .Menu_bui-MenuSectionHeader__02d9661e47 {\n padding-top: 0;\n }\n }\n\n .Menu_bui-MenuSectionHeader__02d9661e47 {\n height: 2rem;\n display: flex;\n align-items: center;\n padding-top: var(--bui-space-3);\n padding-left: var(--bui-space-3);\n color: var(--bui-fg-primary);\n font-size: var(--bui-font-size-1);\n font-weight: bold;\n letter-spacing: 0.05rem;\n text-transform: uppercase;\n }\n\n .Menu_bui-MenuSeparator__02d9661e47 {\n height: 1px;\n background: var(--bui-border);\n margin-inline: var(--bui-space-1_5);\n margin-block: var(--bui-space-1);\n }\n\n .Menu_bui-MenuSearchField__02d9661e47 {\n font-family: var(--bui-font-regular);\n width: 100%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n border-bottom: 1px solid var(--bui-border);\n background-color: var(--bui-bg-neutral-1);\n height: 2rem;\n\n &[data-empty] {\n .Menu_bui-MenuSearchFieldClear__02d9661e47 {\n visibility: hidden;\n }\n }\n }\n\n .Menu_bui-MenuSearchFieldInput__02d9661e47 {\n flex: 1;\n display: flex;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n color: var(--bui-fg-primary);\n width: 100%;\n height: 100%;\n outline: none;\n cursor: inherit;\n\n &::-webkit-search-cancel-button,\n &::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n &::placeholder {\n color: var(--bui-fg-secondary);\n }\n\n &:first-child {\n padding-inline: var(--bui-space-3) 0;\n }\n }\n\n .Menu_bui-MenuSearchFieldClear__02d9661e47 {\n flex: 0 0 auto;\n display: grid;\n place-content: center;\n background-color: transparent;\n border: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n color: var(--bui-fg-secondary);\n transition: color 0.2s ease-in-out;\n width: 2rem;\n height: 2rem;\n\n &:hover {\n color: var(--bui-fg-primary);\n }\n\n & > svg {\n width: 1rem;\n height: 1rem;\n }\n }\n\n .Menu_bui-MenuEmptyState__02d9661e47 {\n padding-inline: var(--bui-space-3);\n padding-block: var(--bui-space-2);\n color: var(--bui-fg-secondary);\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n }\n}\n";
4
- var styles = {"bui-MenuPopover":"Menu_bui-MenuPopover__02d9661e47","bui-MenuContent":"Menu_bui-MenuContent__02d9661e47","bui-MenuItem":"Menu_bui-MenuItem__02d9661e47","bui-MenuItemWrapper":"Menu_bui-MenuItemWrapper__02d9661e47","bui-MenuItemArrow":"Menu_bui-MenuItemArrow__02d9661e47","bui-MenuItemListBox":"Menu_bui-MenuItemListBox__02d9661e47","bui-MenuItemListBoxCheck":"Menu_bui-MenuItemListBoxCheck__02d9661e47","bui-MenuItemContent":"Menu_bui-MenuItemContent__02d9661e47","bui-MenuSection":"Menu_bui-MenuSection__02d9661e47","bui-MenuSectionHeader":"Menu_bui-MenuSectionHeader__02d9661e47","bui-MenuSeparator":"Menu_bui-MenuSeparator__02d9661e47","bui-MenuSearchField":"Menu_bui-MenuSearchField__02d9661e47","bui-MenuSearchFieldClear":"Menu_bui-MenuSearchFieldClear__02d9661e47","bui-MenuSearchFieldInput":"Menu_bui-MenuSearchFieldInput__02d9661e47","bui-MenuEmptyState":"Menu_bui-MenuEmptyState__02d9661e47"};
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 .Menu_bui-MenuPopover__3ab632bf18 {\n display: flex;\n flex-direction: column;\n box-shadow: var(--bui-shadow);\n border: 1px solid var(--bui-border-1);\n border-radius: var(--bui-radius-2);\n background: var(--bui-bg-popover);\n color: var(--bui-fg-primary);\n outline: none;\n transition: transform 200ms, opacity 200ms;\n /* Let React Aria handle height constraints naturally */\n min-height: 0;\n /* Remove overflow from popover since ScrollArea will handle it */\n overflow: hidden;\n\n &[data-entering],\n &[data-exiting] {\n transform: var(--origin);\n opacity: 0;\n }\n\n &[data-placement='top'] {\n --origin: translateY(8px);\n }\n\n &[data-placement='bottom'] {\n --origin: translateY(-8px);\n }\n\n &[data-placement='right'] {\n --origin: translateX(-8px);\n }\n\n &[data-placement='left'] {\n --origin: translateX(8px);\n }\n }\n\n .Menu_bui-MenuContent__3ab632bf18 {\n max-height: inherit;\n box-sizing: border-box;\n overflow: auto;\n min-width: 150px;\n box-sizing: border-box;\n outline: none;\n padding-block: var(--bui-space-1);\n }\n\n .Menu_bui-MenuItem__3ab632bf18 {\n padding-inline: var(--bui-space-1);\n display: block;\n\n &[data-focused] .Menu_bui-MenuItemWrapper__3ab632bf18 {\n background: var(--bui-bg-neutral-2);\n color: var(--bui-fg-primary);\n }\n\n &[data-open] .Menu_bui-MenuItemWrapper__3ab632bf18 {\n background: var(--bui-bg-neutral-2);\n color: var(--bui-fg-primary);\n }\n\n &[data-color='danger'] .Menu_bui-MenuItemWrapper__3ab632bf18 {\n color: var(--bui-fg-danger);\n }\n\n &[data-color='danger'][data-focused] .Menu_bui-MenuItemWrapper__3ab632bf18 {\n background: var(--bui-bg-danger);\n color: var(--bui-fg-danger);\n }\n\n &[data-has-submenu] {\n & > .Menu_bui-MenuItemWrapper__3ab632bf18 > .Menu_bui-MenuItemArrow__3ab632bf18 {\n display: block;\n }\n }\n }\n\n .Menu_bui-MenuItemWrapper__3ab632bf18 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 2rem;\n padding-inline: var(--bui-space-2);\n border-radius: var(--bui-radius-2);\n outline: none;\n cursor: default;\n color: var(--bui-fg-primary);\n font-size: var(--bui-font-size-3);\n gap: var(--bui-space-6);\n }\n\n .Menu_bui-MenuItemListBox__3ab632bf18 {\n padding-inline: var(--bui-space-1);\n display: block;\n\n &:hover .Menu_bui-MenuItemWrapper__3ab632bf18 {\n background: var(--bui-bg-neutral-2);\n color: var(--bui-fg-primary);\n }\n\n &[data-selected] .Menu_bui-MenuItemListBoxCheck__3ab632bf18 {\n & > svg {\n opacity: 1;\n color: var(--bui-fg-primary);\n }\n }\n }\n\n .Menu_bui-MenuItemListBoxCheck__3ab632bf18 {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n\n & > svg {\n opacity: 0;\n width: 1rem;\n height: 1rem;\n }\n }\n\n .Menu_bui-MenuItemContent__3ab632bf18 {\n display: flex;\n align-items: center;\n gap: var(--bui-space-2);\n\n & > svg {\n width: 1rem;\n height: 1rem;\n }\n }\n\n .Menu_bui-MenuItemArrow__3ab632bf18 {\n display: none;\n width: 1rem;\n height: 1rem;\n\n & > svg {\n width: 1rem;\n height: 1rem;\n }\n }\n\n .Menu_bui-MenuSection__3ab632bf18 {\n &:first-child .Menu_bui-MenuSectionHeader__3ab632bf18 {\n padding-top: 0;\n }\n }\n\n .Menu_bui-MenuSectionHeader__3ab632bf18 {\n height: 2rem;\n display: flex;\n align-items: center;\n padding-top: var(--bui-space-3);\n padding-left: var(--bui-space-3);\n color: var(--bui-fg-primary);\n font-size: var(--bui-font-size-1);\n font-weight: bold;\n letter-spacing: 0.05rem;\n text-transform: uppercase;\n }\n\n .Menu_bui-MenuSeparator__3ab632bf18 {\n height: 1px;\n background: var(--bui-border-1);\n margin-inline: var(--bui-space-1_5);\n margin-block: var(--bui-space-1);\n }\n\n .Menu_bui-MenuSearchField__3ab632bf18 {\n font-family: var(--bui-font-regular);\n width: 100%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n border-bottom: 1px solid var(--bui-border-1);\n background-color: var(--bui-bg-neutral-1);\n height: 2rem;\n\n &[data-empty] {\n .Menu_bui-MenuSearchFieldClear__3ab632bf18 {\n visibility: hidden;\n }\n }\n }\n\n .Menu_bui-MenuSearchFieldInput__3ab632bf18 {\n flex: 1;\n display: flex;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n color: var(--bui-fg-primary);\n width: 100%;\n height: 100%;\n outline: none;\n cursor: inherit;\n\n &::-webkit-search-cancel-button,\n &::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n &::placeholder {\n color: var(--bui-fg-secondary);\n }\n\n &:first-child {\n padding-inline: var(--bui-space-3) 0;\n }\n }\n\n .Menu_bui-MenuSearchFieldClear__3ab632bf18 {\n flex: 0 0 auto;\n display: grid;\n place-content: center;\n background-color: transparent;\n border: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n color: var(--bui-fg-secondary);\n transition: color 0.2s ease-in-out;\n width: 2rem;\n height: 2rem;\n\n &:hover {\n color: var(--bui-fg-primary);\n }\n\n & > svg {\n width: 1rem;\n height: 1rem;\n }\n }\n\n .Menu_bui-MenuEmptyState__3ab632bf18 {\n padding-inline: var(--bui-space-3);\n padding-block: var(--bui-space-2);\n color: var(--bui-fg-secondary);\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n }\n}\n";
4
+ var styles = {"bui-MenuPopover":"Menu_bui-MenuPopover__3ab632bf18","bui-MenuContent":"Menu_bui-MenuContent__3ab632bf18","bui-MenuItem":"Menu_bui-MenuItem__3ab632bf18","bui-MenuItemWrapper":"Menu_bui-MenuItemWrapper__3ab632bf18","bui-MenuItemArrow":"Menu_bui-MenuItemArrow__3ab632bf18","bui-MenuItemListBox":"Menu_bui-MenuItemListBox__3ab632bf18","bui-MenuItemListBoxCheck":"Menu_bui-MenuItemListBoxCheck__3ab632bf18","bui-MenuItemContent":"Menu_bui-MenuItemContent__3ab632bf18","bui-MenuSection":"Menu_bui-MenuSection__3ab632bf18","bui-MenuSectionHeader":"Menu_bui-MenuSectionHeader__3ab632bf18","bui-MenuSeparator":"Menu_bui-MenuSeparator__3ab632bf18","bui-MenuSearchField":"Menu_bui-MenuSearchField__3ab632bf18","bui-MenuSearchFieldClear":"Menu_bui-MenuSearchFieldClear__3ab632bf18","bui-MenuSearchFieldInput":"Menu_bui-MenuSearchFieldInput__3ab632bf18","bui-MenuEmptyState":"Menu_bui-MenuEmptyState__3ab632bf18"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };
@@ -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 .PasswordField_bui-PasswordField__12ac503195 {\n display: flex;\n flex-direction: column;\n font-family: var(--bui-font-regular);\n width: 100%;\n flex-shrink: 0;\n\n &[data-size='small'] {\n --password-field-item-height: 2rem;\n }\n\n &[data-size='medium'] {\n --password-field-item-height: 2.5rem;\n }\n }\n\n .PasswordField_bui-PasswordFieldInputWrapper__12ac503195 {\n display: flex;\n align-items: center;\n border-radius: var(--bui-radius-2);\n border: 1px solid var(--bui-border);\n background-color: var(--bui-bg-neutral-1);\n transition: border-color 0.2s ease-in-out, outline-color 0.2s ease-in-out;\n\n &[data-size='small'] {\n height: 2rem;\n }\n\n &[data-size='medium'] {\n height: 2.5rem;\n }\n\n &:focus-within {\n border-color: var(--bui-border-pressed);\n outline-width: 0px;\n }\n\n &:hover {\n border-color: var(--bui-border-hover);\n }\n\n &:has([data-invalid]) {\n border-color: var(--bui-fg-danger);\n }\n\n &:has([data-disabled]) {\n opacity: 0.5;\n cursor: not-allowed;\n border: 1px solid var(--bui-border-disabled);\n }\n }\n\n .PasswordField_bui-PasswordFieldIcon__12ac503195 {\n flex: 0 0 auto;\n display: grid;\n place-content: center;\n color: var(--bui-fg-primary);\n pointer-events: none;\n width: var(--password-field-item-height);\n height: var(--password-field-item-height);\n\n & svg {\n .PasswordField_bui-PasswordField__12ac503195[data-size='small'] & {\n width: 1rem;\n height: 1rem;\n }\n\n .PasswordField_bui-PasswordField__12ac503195[data-size='medium'] & {\n width: 1.25rem;\n height: 1.25rem;\n }\n }\n }\n\n .PasswordField_bui-PasswordFieldInput__12ac503195 {\n flex: 1;\n display: flex;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n color: var(--bui-fg-primary);\n width: 100%;\n height: 100%;\n outline: none;\n\n &::-webkit-search-cancel-button,\n &::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n &::placeholder {\n color: var(--bui-fg-secondary);\n }\n\n &[data-disabled] {\n cursor: not-allowed;\n }\n\n &:first-child {\n .PasswordField_bui-PasswordField__12ac503195[data-size='small'] & {\n padding-inline: var(--bui-space-3) 0;\n }\n\n .PasswordField_bui-PasswordField__12ac503195[data-size='medium'] & {\n padding-inline: var(--bui-space-4) 0;\n }\n }\n }\n\n .PasswordField_bui-PasswordFieldVisibility__12ac503195 {\n flex: 0 0 auto;\n display: grid;\n place-content: center;\n background-color: transparent;\n cursor: pointer;\n border: none;\n padding: 0;\n margin: 0;\n color: var(--bui-fg-primary);\n width: var(--password-field-item-height);\n height: var(--password-field-item-height);\n\n & svg {\n .PasswordField_bui-PasswordField__12ac503195[data-size='small'] & {\n width: 1rem;\n height: 1rem;\n }\n\n .PasswordField_bui-PasswordField__12ac503195[data-size='medium'] & {\n width: 1.25rem;\n height: 1.25rem;\n }\n }\n }\n}\n";
4
- var stylesPasswordField = {"bui-PasswordField":"PasswordField_bui-PasswordField__12ac503195","bui-PasswordFieldInputWrapper":"PasswordField_bui-PasswordFieldInputWrapper__12ac503195","bui-PasswordFieldIcon":"PasswordField_bui-PasswordFieldIcon__12ac503195","bui-PasswordFieldInput":"PasswordField_bui-PasswordFieldInput__12ac503195","bui-PasswordFieldVisibility":"PasswordField_bui-PasswordFieldVisibility__12ac503195"};
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 .PasswordField_bui-PasswordField__aa0b36a0a3 {\n display: flex;\n flex-direction: column;\n font-family: var(--bui-font-regular);\n width: 100%;\n flex-shrink: 0;\n\n &[data-size='small'] {\n --password-field-item-height: 2rem;\n }\n\n &[data-size='medium'] {\n --password-field-item-height: 2.5rem;\n }\n }\n\n .PasswordField_bui-PasswordFieldInputWrapper__aa0b36a0a3 {\n display: flex;\n align-items: center;\n border-radius: var(--bui-radius-2);\n border: 1px solid var(--bui-border-2);\n background-color: var(--bui-bg-neutral-1);\n transition: border-color 0.2s ease-in-out, outline-color 0.2s ease-in-out;\n\n &[data-size='small'] {\n height: 2rem;\n }\n\n &[data-size='medium'] {\n height: 2.5rem;\n }\n\n &:has([data-invalid]) {\n border-color: var(--bui-fg-danger);\n }\n\n &:has([data-disabled]) {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n\n .PasswordField_bui-PasswordFieldIcon__aa0b36a0a3 {\n flex: 0 0 auto;\n display: grid;\n place-content: center;\n color: var(--bui-fg-primary);\n pointer-events: none;\n width: var(--password-field-item-height);\n height: var(--password-field-item-height);\n\n & svg {\n .PasswordField_bui-PasswordField__aa0b36a0a3[data-size='small'] & {\n width: 1rem;\n height: 1rem;\n }\n\n .PasswordField_bui-PasswordField__aa0b36a0a3[data-size='medium'] & {\n width: 1.25rem;\n height: 1.25rem;\n }\n }\n }\n\n .PasswordField_bui-PasswordFieldInput__aa0b36a0a3 {\n flex: 1;\n display: flex;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n font-size: var(--bui-font-size-3);\n font-family: var(--bui-font-regular);\n font-weight: var(--bui-font-weight-regular);\n color: var(--bui-fg-primary);\n width: 100%;\n height: 100%;\n outline: none;\n\n &::-webkit-search-cancel-button,\n &::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n &::placeholder {\n color: var(--bui-fg-secondary);\n }\n\n &[data-disabled] {\n cursor: not-allowed;\n }\n\n &:first-child {\n .PasswordField_bui-PasswordField__aa0b36a0a3[data-size='small'] & {\n padding-inline: var(--bui-space-3) 0;\n }\n\n .PasswordField_bui-PasswordField__aa0b36a0a3[data-size='medium'] & {\n padding-inline: var(--bui-space-4) 0;\n }\n }\n }\n\n .PasswordField_bui-PasswordFieldVisibility__aa0b36a0a3 {\n flex: 0 0 auto;\n display: grid;\n place-content: center;\n background-color: transparent;\n cursor: pointer;\n border: none;\n padding: 0;\n margin: 0;\n color: var(--bui-fg-primary);\n width: var(--password-field-item-height);\n height: var(--password-field-item-height);\n\n & svg {\n .PasswordField_bui-PasswordField__aa0b36a0a3[data-size='small'] & {\n width: 1rem;\n height: 1rem;\n }\n\n .PasswordField_bui-PasswordField__aa0b36a0a3[data-size='medium'] & {\n width: 1.25rem;\n height: 1.25rem;\n }\n }\n }\n}\n";
4
+ var stylesPasswordField = {"bui-PasswordField":"PasswordField_bui-PasswordField__aa0b36a0a3","bui-PasswordFieldInputWrapper":"PasswordField_bui-PasswordFieldInputWrapper__aa0b36a0a3","bui-PasswordFieldIcon":"PasswordField_bui-PasswordFieldIcon__aa0b36a0a3","bui-PasswordFieldInput":"PasswordField_bui-PasswordFieldInput__aa0b36a0a3","bui-PasswordFieldVisibility":"PasswordField_bui-PasswordFieldVisibility__aa0b36a0a3"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { stylesPasswordField as default };