@lucasbernardosn/react-ui 0.1.0 → 0.2.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 (192) hide show
  1. package/dist/components/buttons/button/button-variants.d.ts +1 -1
  2. package/dist/components/buttons/button/button-variants.d.ts.map +1 -1
  3. package/dist/components/buttons/button/button-variants.js +13 -14
  4. package/dist/components/buttons/button/button-variants.js.map +1 -1
  5. package/dist/components/collections/select/select-group-label-variants.js +1 -1
  6. package/dist/components/collections/select/select-group-label-variants.js.map +1 -1
  7. package/dist/components/collections/select/select-item-variants.js +5 -5
  8. package/dist/components/collections/select/select-item-variants.js.map +1 -1
  9. package/dist/components/collections/select/select-trigger-variants.d.ts +1 -1
  10. package/dist/components/collections/tree-view/tree-view-node-rename-input.js +2 -1
  11. package/dist/components/collections/tree-view/tree-view-node-rename-input.js.map +1 -1
  12. package/dist/components/collections/tree-view/tree-view-node-variants.d.ts +1 -1
  13. package/dist/components/collections/tree-view/tree-view-root-provider.js +1 -5
  14. package/dist/components/collections/tree-view/tree-view-root-provider.js.map +1 -1
  15. package/dist/components/collections/tree-view/tree-view-root.d.ts +1 -1
  16. package/dist/components/collections/tree-view/tree-view-root.js +2 -6
  17. package/dist/components/collections/tree-view/tree-view-root.js.map +1 -1
  18. package/dist/components/collections/tree-view/tree-view-tree-variants.d.ts +2 -4
  19. package/dist/components/collections/tree-view/tree-view-tree-variants.d.ts.map +1 -1
  20. package/dist/components/collections/tree-view/tree-view-tree-variants.js +7 -35
  21. package/dist/components/collections/tree-view/tree-view-tree-variants.js.map +1 -1
  22. package/dist/components/collections/tree-view/tree-view-tree.d.ts +2 -3
  23. package/dist/components/collections/tree-view/tree-view-tree.d.ts.map +1 -1
  24. package/dist/components/collections/tree-view/tree-view-tree.js +4 -8
  25. package/dist/components/collections/tree-view/tree-view-tree.js.map +1 -1
  26. package/dist/components/collections/tree-view/use-tree-view-variants-context.d.ts +0 -7
  27. package/dist/components/collections/tree-view/use-tree-view-variants-context.d.ts.map +1 -1
  28. package/dist/components/collections/tree-view/use-tree-view-variants-context.js +0 -1
  29. package/dist/components/collections/tree-view/use-tree-view-variants-context.js.map +1 -1
  30. package/dist/components/disclosure/breadcrumb/breadcrumb-link.js +2 -1
  31. package/dist/components/disclosure/breadcrumb/breadcrumb-link.js.map +1 -1
  32. package/dist/components/disclosure/collapsible/collapsible-panel-variants.d.ts +1 -1
  33. package/dist/components/disclosure/tabs/tabs-indicator-variants.d.ts +1 -1
  34. package/dist/components/disclosure/tabs/tabs-list-variants.d.ts +1 -1
  35. package/dist/components/disclosure/tabs/tabs-list-variants.js +1 -1
  36. package/dist/components/disclosure/tabs/tabs-list-variants.js.map +1 -1
  37. package/dist/components/disclosure/tabs/tabs-root-variants.d.ts +0 -1
  38. package/dist/components/disclosure/tabs/tabs-root-variants.d.ts.map +1 -1
  39. package/dist/components/disclosure/tabs/tabs-root-variants.js +15 -23
  40. package/dist/components/disclosure/tabs/tabs-root-variants.js.map +1 -1
  41. package/dist/components/disclosure/tabs/tabs-root.d.ts +3 -3
  42. package/dist/components/disclosure/tabs/tabs-root.js +3 -4
  43. package/dist/components/disclosure/tabs/tabs-root.js.map +1 -1
  44. package/dist/components/disclosure/tabs/tabs-tab-variants.d.ts +1 -2
  45. package/dist/components/disclosure/tabs/tabs-tab-variants.d.ts.map +1 -1
  46. package/dist/components/disclosure/tabs/tabs-tab-variants.js +2 -6
  47. package/dist/components/disclosure/tabs/tabs-tab-variants.js.map +1 -1
  48. package/dist/components/disclosure/tabs/tabs-tab.js +1 -2
  49. package/dist/components/disclosure/tabs/tabs-tab.js.map +1 -1
  50. package/dist/components/disclosure/tabs/use-tabs-context.d.ts +0 -6
  51. package/dist/components/disclosure/tabs/use-tabs-context.d.ts.map +1 -1
  52. package/dist/components/disclosure/tabs/use-tabs-context.js +0 -1
  53. package/dist/components/disclosure/tabs/use-tabs-context.js.map +1 -1
  54. package/dist/components/display/card/card-description.d.ts +3 -4
  55. package/dist/components/display/card/card-description.d.ts.map +1 -1
  56. package/dist/components/display/card/card-description.js +5 -6
  57. package/dist/components/display/card/card-description.js.map +1 -1
  58. package/dist/components/display/card/card-header.d.ts +2 -2
  59. package/dist/components/display/card/card-header.js +3 -3
  60. package/dist/components/display/card/card-header.js.map +1 -1
  61. package/dist/components/display/card/card-root-variants.d.ts +3 -17
  62. package/dist/components/display/card/card-root-variants.d.ts.map +1 -1
  63. package/dist/components/display/card/card-root-variants.js +27 -74
  64. package/dist/components/display/card/card-root-variants.js.map +1 -1
  65. package/dist/components/display/card/card-root.js +1 -1
  66. package/dist/components/display/card/card-root.js.map +1 -1
  67. package/dist/components/display/card/card-title.d.ts +5 -6
  68. package/dist/components/display/card/card-title.d.ts.map +1 -1
  69. package/dist/components/display/card/card-title.js +6 -7
  70. package/dist/components/display/card/card-title.js.map +1 -1
  71. package/dist/components/display/data-list/data-list-item-value-variants.d.ts +1 -1
  72. package/dist/components/display/data-list/data-list-item-variants.d.ts +3 -4
  73. package/dist/components/display/data-list/data-list-item-variants.d.ts.map +1 -1
  74. package/dist/components/display/data-list/data-list-item-variants.js +22 -60
  75. package/dist/components/display/data-list/data-list-item-variants.js.map +1 -1
  76. package/dist/components/display/data-list/data-list-item.js +2 -5
  77. package/dist/components/display/data-list/data-list-item.js.map +1 -1
  78. package/dist/components/display/data-list/data-list-root-variants.d.ts +1 -2
  79. package/dist/components/display/data-list/data-list-root-variants.d.ts.map +1 -1
  80. package/dist/components/display/data-list/data-list-root-variants.js +2 -8
  81. package/dist/components/display/data-list/data-list-root-variants.js.map +1 -1
  82. package/dist/components/display/data-list/data-list-root.js +1 -5
  83. package/dist/components/display/data-list/data-list-root.js.map +1 -1
  84. package/dist/components/display/data-list/use-data-list-context.d.ts +0 -6
  85. package/dist/components/display/data-list/use-data-list-context.d.ts.map +1 -1
  86. package/dist/components/display/data-list/use-data-list-context.js +1 -2
  87. package/dist/components/display/data-list/use-data-list-context.js.map +1 -1
  88. package/dist/components/feedback/empty-state/empty-state-content.d.ts +1 -2
  89. package/dist/components/feedback/empty-state/empty-state-content.d.ts.map +1 -1
  90. package/dist/components/feedback/empty-state/empty-state-content.js +2 -3
  91. package/dist/components/feedback/empty-state/empty-state-content.js.map +1 -1
  92. package/dist/components/feedback/empty-state/empty-state-description.d.ts +2 -2
  93. package/dist/components/feedback/empty-state/empty-state-description.js +4 -4
  94. package/dist/components/feedback/empty-state/empty-state-description.js.map +1 -1
  95. package/dist/components/feedback/empty-state/empty-state-indicator.d.ts +4 -3
  96. package/dist/components/feedback/empty-state/empty-state-indicator.d.ts.map +1 -1
  97. package/dist/components/feedback/empty-state/empty-state-indicator.js +5 -4
  98. package/dist/components/feedback/empty-state/empty-state-indicator.js.map +1 -1
  99. package/dist/components/feedback/empty-state/empty-state-root-variants.d.ts +2 -16
  100. package/dist/components/feedback/empty-state/empty-state-root-variants.d.ts.map +1 -1
  101. package/dist/components/feedback/empty-state/empty-state-root-variants.js +16 -72
  102. package/dist/components/feedback/empty-state/empty-state-root-variants.js.map +1 -1
  103. package/dist/components/feedback/empty-state/empty-state-root.d.ts +2 -3
  104. package/dist/components/feedback/empty-state/empty-state-root.d.ts.map +1 -1
  105. package/dist/components/feedback/empty-state/empty-state-root.js +3 -4
  106. package/dist/components/feedback/empty-state/empty-state-root.js.map +1 -1
  107. package/dist/components/feedback/empty-state/empty-state-title.d.ts +3 -3
  108. package/dist/components/feedback/empty-state/empty-state-title.js +4 -4
  109. package/dist/components/feedback/empty-state/empty-state-title.js.map +1 -1
  110. package/dist/components/fields/checkbox/checkbox-root-variants.d.ts +1 -1
  111. package/dist/components/fields/currency-brl-input/currency-brl-input-variants.d.ts +1 -1
  112. package/dist/components/fields/fieldset/fieldset-legend.d.ts +8 -8
  113. package/dist/components/fields/fieldset/fieldset-legend.js +11 -10
  114. package/dist/components/fields/fieldset/fieldset-legend.js.map +1 -1
  115. package/dist/components/fields/input/input-variants.d.ts +1 -1
  116. package/dist/components/fields/number-input/number-input-variants.d.ts +1 -1
  117. package/dist/components/fields/pattern-input/pattern-input-variants.d.ts +1 -1
  118. package/dist/components/fields/textarea/textarea-variants.d.ts +1 -1
  119. package/dist/components/fields/textarea/textarea-variants.js +2 -2
  120. package/dist/components/fields/textarea/textarea-variants.js.map +1 -1
  121. package/dist/components/layout/center-absolute/center-absolute-variants.d.ts +1 -1
  122. package/dist/components/layout/float/float-variants.d.ts +1 -1
  123. package/dist/components/layout/scroll-area/scroll-area-viewport-variants.d.ts +1 -1
  124. package/dist/components/overlays/action-bar/action-bar-popup-variants.d.ts +2 -2
  125. package/dist/components/overlays/action-bar/action-bar-popup-variants.js +4 -4
  126. package/dist/components/overlays/action-bar/action-bar-popup-variants.js.map +1 -1
  127. package/dist/components/overlays/alert-dialog/alert-dialog-footer.js +2 -3
  128. package/dist/components/overlays/alert-dialog/alert-dialog-footer.js.map +1 -1
  129. package/dist/components/overlays/alert-dialog/alert-dialog-header.js +1 -1
  130. package/dist/components/overlays/alert-dialog/alert-dialog-header.js.map +1 -1
  131. package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.js +2 -2
  132. package/dist/components/overlays/alert-dialog/alert-dialog-popup-variants.js.map +1 -1
  133. package/dist/components/overlays/dialog/dialog-body.d.ts +2 -2
  134. package/dist/components/overlays/dialog/dialog-body.js +2 -2
  135. package/dist/components/overlays/dialog/dialog-body.js.map +1 -1
  136. package/dist/components/overlays/dialog/dialog-description.d.ts +1 -2
  137. package/dist/components/overlays/dialog/dialog-description.d.ts.map +1 -1
  138. package/dist/components/overlays/dialog/dialog-description.js +1 -2
  139. package/dist/components/overlays/dialog/dialog-description.js.map +1 -1
  140. package/dist/components/overlays/dialog/dialog-footer.d.ts +1 -1
  141. package/dist/components/overlays/dialog/dialog-footer.js +3 -4
  142. package/dist/components/overlays/dialog/dialog-footer.js.map +1 -1
  143. package/dist/components/overlays/dialog/dialog-header.d.ts +3 -4
  144. package/dist/components/overlays/dialog/dialog-header.d.ts.map +1 -1
  145. package/dist/components/overlays/dialog/dialog-header.js +4 -5
  146. package/dist/components/overlays/dialog/dialog-header.js.map +1 -1
  147. package/dist/components/overlays/dialog/dialog-popup-variants.d.ts +3 -4
  148. package/dist/components/overlays/dialog/dialog-popup-variants.d.ts.map +1 -1
  149. package/dist/components/overlays/dialog/dialog-popup-variants.js +5 -6
  150. package/dist/components/overlays/dialog/dialog-popup-variants.js.map +1 -1
  151. package/dist/components/overlays/dialog/dialog-title.d.ts +2 -3
  152. package/dist/components/overlays/dialog/dialog-title.d.ts.map +1 -1
  153. package/dist/components/overlays/dialog/dialog-title.js +4 -5
  154. package/dist/components/overlays/dialog/dialog-title.js.map +1 -1
  155. package/dist/components/overlays/drawer/drawer-footer.js +2 -3
  156. package/dist/components/overlays/drawer/drawer-footer.js.map +1 -1
  157. package/dist/components/overlays/drawer/drawer-header.js +1 -1
  158. package/dist/components/overlays/drawer/drawer-header.js.map +1 -1
  159. package/dist/components/overlays/drawer/drawer-popup-variants.d.ts.map +1 -1
  160. package/dist/components/overlays/drawer/drawer-popup-variants.js +1 -6
  161. package/dist/components/overlays/drawer/drawer-popup-variants.js.map +1 -1
  162. package/dist/components/overlays/drawer/drawer-title.js +2 -2
  163. package/dist/components/overlays/drawer/drawer-title.js.map +1 -1
  164. package/dist/components/overlays/menu/menu-group-label.js +1 -1
  165. package/dist/components/overlays/menu/menu-group-label.js.map +1 -1
  166. package/dist/components/overlays/popover/popover-description.js +1 -0
  167. package/dist/components/overlays/popover/popover-description.js.map +1 -1
  168. package/dist/components/overlays/popover/popover-popup-variants.d.ts +2 -2
  169. package/dist/components/overlays/popover/popover-popup-variants.js +2 -2
  170. package/dist/components/overlays/popover/popover-popup-variants.js.map +1 -1
  171. package/dist/components/overlays/popover/popover-title.d.ts +2 -3
  172. package/dist/components/overlays/popover/popover-title.d.ts.map +1 -1
  173. package/dist/components/overlays/popover/popover-title.js +6 -5
  174. package/dist/components/overlays/popover/popover-title.js.map +1 -1
  175. package/dist/components/overlays/tooltip/tooltip-popup.js +1 -1
  176. package/dist/components/overlays/tooltip/tooltip-popup.js.map +1 -1
  177. package/dist/components/typography/heading/heading.js +1 -1
  178. package/dist/components/typography/heading/heading.js.map +1 -1
  179. package/dist/components/typography/kbd/kbd-variants.d.ts +1 -1
  180. package/dist/components/typography/kbd/kbd-variants.js +2 -2
  181. package/dist/components/typography/kbd/kbd-variants.js.map +1 -1
  182. package/dist/components/typography/mark/mark-variants.d.ts +1 -1
  183. package/dist/components/typography/mark/mark-variants.d.ts.map +1 -1
  184. package/dist/components/typography/mark/mark-variants.js +2 -0
  185. package/dist/components/typography/mark/mark-variants.js.map +1 -1
  186. package/dist/components/typography/pre/pre-variants.d.ts +1 -8
  187. package/dist/components/typography/pre/pre-variants.d.ts.map +1 -1
  188. package/dist/components/typography/pre/pre-variants.js +6 -23
  189. package/dist/components/typography/pre/pre-variants.js.map +1 -1
  190. package/dist/components/typography/pre/pre.js +1 -5
  191. package/dist/components/typography/pre/pre.js.map +1 -1
  192. package/package.json +5 -5
@@ -2,9 +2,10 @@ import { useRender } from "@base-ui/react";
2
2
  //#region src/components/feedback/empty-state/empty-state-indicator.d.ts
3
3
  export type EmptyStateIndicatorProps = useRender.ComponentProps<'div'>;
4
4
  /**
5
- * Ícone ou ilustração do estado vazio. O tamanho vem do `font-size`, lido do `size` do
6
- * `EmptyState.Root`, e o `svg` mede `1em`: ícone, emoji e texto seguem a mesma escala, mesmo que o
7
- * ícone traga um tamanho próprio. Para outro tamanho, troque o `font-size` pela `className`.
5
+ * Ícone ou ilustração do estado vazio. O tamanho vem do `font-size`, lido de
6
+ * `--empty-state-indicator-size` (24px, declarada no `EmptyState.Root`), e o `svg` mede `1em`:
7
+ * ícone, emoji e texto seguem o mesmo tamanho, mesmo que o ícone traga um próprio. Para outro
8
+ * tamanho, troque o `font-size` pela `className`.
8
9
  */
9
10
  export declare const EmptyStateIndicator: {
10
11
  (props: EmptyStateIndicatorProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state-indicator.d.ts","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-indicator.tsx"],"mappings":";;YAGY,2BAA2B,UAAU;;;;;;qBAOpC;GAA8B,OAAA,2CAAwB,+CAAA"}
1
+ {"version":3,"file":"empty-state-indicator.d.ts","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-indicator.tsx"],"mappings":";;YAGY,2BAA2B,UAAU;;;;;;;qBAQpC;GAA8B,OAAA,2CAAwB,+CAAA"}
@@ -2,9 +2,10 @@ import { mergeTwClassNames } from "../../../utils/merge-class-names.js";
2
2
  import { mergeProps, useRender } from "@base-ui/react";
3
3
  //#region src/components/feedback/empty-state/empty-state-indicator.tsx
4
4
  /**
5
- * Ícone ou ilustração do estado vazio. O tamanho vem do `font-size`, lido do `size` do
6
- * `EmptyState.Root`, e o `svg` mede `1em`: ícone, emoji e texto seguem a mesma escala, mesmo que o
7
- * ícone traga um tamanho próprio. Para outro tamanho, troque o `font-size` pela `className`.
5
+ * Ícone ou ilustração do estado vazio. O tamanho vem do `font-size`, lido de
6
+ * `--empty-state-indicator-size` (24px, declarada no `EmptyState.Root`), e o `svg` mede `1em`:
7
+ * ícone, emoji e texto seguem o mesmo tamanho, mesmo que o ícone traga um próprio. Para outro
8
+ * tamanho, troque o `font-size` pela `className`.
8
9
  */
9
10
  const EmptyStateIndicator = (props) => {
10
11
  const { render, className, ...rest } = props;
@@ -15,7 +16,7 @@ const EmptyStateIndicator = (props) => {
15
16
  "items-center",
16
17
  "justify-center",
17
18
  "text-gray-12",
18
- "text-(length:--empty-state-indicator-size,--spacing(9))",
19
+ "text-(length:--empty-state-indicator-size,--spacing(6))",
19
20
  "leading-none",
20
21
  "[&_svg]:size-[1em]"
21
22
  ], className)
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state-indicator.js","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-indicator.tsx"],"sourcesContent":["import { mergeProps, useRender } from '@base-ui/react';\nimport { mergeTwClassNames } from '#utils';\n\nexport type EmptyStateIndicatorProps = useRender.ComponentProps<'div'>;\n\n/**\n * Ícone ou ilustração do estado vazio. O tamanho vem do `font-size`, lido do `size` do\n * `EmptyState.Root`, e o `svg` mede `1em`: ícone, emoji e texto seguem a mesma escala, mesmo que o\n * ícone traga um tamanho próprio. Para outro tamanho, troque o `font-size` pela `className`.\n */\nexport const EmptyStateIndicator = (props: EmptyStateIndicatorProps) => {\n const { render, className, ...rest } = props;\n\n const baseProps = {\n 'data-component': 'EmptyState.Indicator',\n className: mergeTwClassNames(\n [\n 'flex',\n 'items-center',\n 'justify-center',\n\n 'text-gray-12',\n 'text-(length:--empty-state-indicator-size,--spacing(9))',\n // Sem entrelinha, um emoji ocuparia mais altura que o ícone.\n 'leading-none',\n\n '[&_svg]:size-[1em]',\n ],\n className,\n ),\n };\n\n return useRender({\n render,\n defaultTagName: 'div',\n props: mergeProps(baseProps, rest),\n });\n};\n\nEmptyStateIndicator.displayName = 'EmptyState.Indicator';\n"],"mappings":";;;;;;;;AAUA,MAAa,uBAAuB,UAAoC;CACtE,MAAM,EAAE,QAAQ,WAAW,GAAG,SAAS;CAEvC,MAAM,YAAY;EAChB,kBAAkB;EAClB,WAAW,kBACT;GACE;GACA;GACA;GAEA;GACA;GAEA;GAEA;EACF,GACA,SACF;CACF;CAEA,OAAO,UAAU;EACf;EACA,gBAAgB;EAChB,OAAO,WAAW,WAAW,IAAI;CACnC,CAAC;AACH;AAEA,oBAAoB,cAAc"}
1
+ {"version":3,"file":"empty-state-indicator.js","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-indicator.tsx"],"sourcesContent":["import { mergeProps, useRender } from '@base-ui/react';\nimport { mergeTwClassNames } from '#utils';\n\nexport type EmptyStateIndicatorProps = useRender.ComponentProps<'div'>;\n\n/**\n * Ícone ou ilustração do estado vazio. O tamanho vem do `font-size`, lido de\n * `--empty-state-indicator-size` (24px, declarada no `EmptyState.Root`), e o `svg` mede `1em`:\n * ícone, emoji e texto seguem o mesmo tamanho, mesmo que o ícone traga um próprio. Para outro\n * tamanho, troque o `font-size` pela `className`.\n */\nexport const EmptyStateIndicator = (props: EmptyStateIndicatorProps) => {\n const { render, className, ...rest } = props;\n\n const baseProps = {\n 'data-component': 'EmptyState.Indicator',\n className: mergeTwClassNames(\n [\n 'flex',\n 'items-center',\n 'justify-center',\n\n 'text-gray-12',\n 'text-(length:--empty-state-indicator-size,--spacing(6))',\n // Sem entrelinha, um emoji ocuparia mais altura que o ícone.\n 'leading-none',\n\n '[&_svg]:size-[1em]',\n ],\n className,\n ),\n };\n\n return useRender({\n render,\n defaultTagName: 'div',\n props: mergeProps(baseProps, rest),\n });\n};\n\nEmptyStateIndicator.displayName = 'EmptyState.Indicator';\n"],"mappings":";;;;;;;;;AAWA,MAAa,uBAAuB,UAAoC;CACtE,MAAM,EAAE,QAAQ,WAAW,GAAG,SAAS;CAEvC,MAAM,YAAY;EAChB,kBAAkB;EAClB,WAAW,kBACT;GACE;GACA;GACA;GAEA;GACA;GAEA;GAEA;EACF,GACA,SACF;CACF;CAEA,OAAO,UAAU;EACf;EACA,gBAAgB;EAChB,OAAO,WAAW,WAAW,IAAI;CACnC,CAAC;AACH;AAEA,oBAAoB,cAAc"}
@@ -1,12 +1,5 @@
1
1
  //#region src/components/feedback/empty-state/empty-state-root-variants.d.ts
2
2
  export type EmptyStateVariants = {
3
- /**
4
- * Respiro interno, espaço entre as partes, tamanho do indicador e tipografia do título e da
5
- * descrição, na escala de título e descrição da lib.
6
- *
7
- * @default 'sm'
8
- */
9
- size?: 'xs' | 'sm' | 'md' | 'lg';
10
3
  /**
11
4
  * Moldura do `Root`: `outline` com borda tracejada e `plain` sem moldura, para quando o estado
12
5
  * vazio já está dentro de algo emoldurado (tabela, cartão, dropdown).
@@ -17,17 +10,10 @@ export type EmptyStateVariants = {
17
10
  };
18
11
  export declare const emptyStateDefaultVariants: Required<EmptyStateVariants>;
19
12
  /**
20
- * O `size` aplica o respiro e o espaço entre as partes no próprio `Root` e declara CSS variables
21
- * para as partes lerem:
22
- * - `--empty-state-indicator-size`: o tamanho do ícone no Indicator;
23
- * - `--empty-state-title-size` e `--empty-state-title-leading`: o Title;
24
- * - `--empty-state-description-size` e `--empty-state-description-leading`: a Description;
25
- * - `--empty-state-header-gap`: o espaço entre título e descrição no Content.
26
- *
27
- * Assim as partes não precisam de contexto e, fora de um `Root`, ficam no tamanho do `sm`.
13
+ * O respiro, o espaço entre as partes e o tamanho do indicador são fixos e ficam no `Root`. O
14
+ * Indicator lê o tamanho pela CSS variable, e fora de um `Root` cai no mesmo valor.
28
15
  */
29
16
  export declare const emptyStateRootVariants: (props?: ({
30
- size?: "xs" | "sm" | "md" | "lg" | null | undefined;
31
17
  variant?: "outline" | "plain" | null | undefined;
32
18
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
33
19
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state-root-variants.d.ts","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-root-variants.ts"],"mappings":";YAEY;;;;;;;EAOV;;;;;;;EAOA;;qBAGW,2BAA2B,SAAS;;;;;;;;;;;qBAepC,yBAAsB;;;6CAsElC"}
1
+ {"version":3,"file":"empty-state-root-variants.d.ts","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-root-variants.ts"],"mappings":";YAEY;;;;;;;EAOV;;qBAGW,2BAA2B,SAAS;;;;;qBAQpC,yBAAsB;;6CA6BlC"}
@@ -1,88 +1,32 @@
1
1
  import { cva } from "class-variance-authority";
2
2
  //#region src/components/feedback/empty-state/empty-state-root-variants.ts
3
- const emptyStateDefaultVariants = {
4
- size: "sm",
5
- variant: "outline"
6
- };
3
+ const emptyStateDefaultVariants = { variant: "outline" };
7
4
  /**
8
- * O `size` aplica o respiro e o espaço entre as partes no próprio `Root` e declara CSS variables
9
- * para as partes lerem:
10
- * - `--empty-state-indicator-size`: o tamanho do ícone no Indicator;
11
- * - `--empty-state-title-size` e `--empty-state-title-leading`: o Title;
12
- * - `--empty-state-description-size` e `--empty-state-description-leading`: a Description;
13
- * - `--empty-state-header-gap`: o espaço entre título e descrição no Content.
14
- *
15
- * Assim as partes não precisam de contexto e, fora de um `Root`, ficam no tamanho do `sm`.
5
+ * O respiro, o espaço entre as partes e o tamanho do indicador são fixos e ficam no `Root`. O
6
+ * Indicator lê o tamanho pela CSS variable, e fora de um `Root` cai no mesmo valor.
16
7
  */
17
8
  const emptyStateRootVariants = cva([
9
+ "[--empty-state-indicator-size:--spacing(6)]",
18
10
  "flex",
19
11
  "flex-col",
20
12
  "items-center",
21
13
  "justify-center",
14
+ "gap-4",
15
+ "px-6",
16
+ "py-8",
22
17
  "rounded-md",
23
18
  "corner-squircle",
24
19
  "text-center"
25
20
  ], {
26
- variants: {
27
- size: {
28
- xs: [
29
- "gap-3",
30
- "px-4",
31
- "py-6",
32
- "[--empty-state-indicator-size:--spacing(6)]",
33
- "[--empty-state-title-size:var(--text-base)]",
34
- "[--empty-state-title-leading:--spacing(5)]",
35
- "[--empty-state-description-size:var(--text-xs)]",
36
- "[--empty-state-description-leading:--spacing(4)]",
37
- "[--empty-state-header-gap:--spacing(0.5)]"
38
- ],
39
- sm: [
40
- "gap-4",
41
- "px-6",
42
- "py-8",
43
- "[--empty-state-indicator-size:--spacing(9)]",
44
- "[--empty-state-title-size:var(--text-lg)]",
45
- "[--empty-state-title-leading:--spacing(6)]",
46
- "[--empty-state-description-size:var(--text-sm)]",
47
- "[--empty-state-description-leading:--spacing(5)]",
48
- "[--empty-state-header-gap:--spacing(0.5)]"
49
- ],
50
- md: [
51
- "gap-5",
52
- "px-8",
53
- "py-12",
54
- "[--empty-state-indicator-size:--spacing(12)]",
55
- "[--empty-state-title-size:var(--text-xl)]",
56
- "[--empty-state-title-leading:--spacing(7)]",
57
- "[--empty-state-description-size:var(--text-base)]",
58
- "[--empty-state-description-leading:--spacing(6)]",
59
- "[--empty-state-header-gap:--spacing(1)]"
60
- ],
61
- lg: [
62
- "gap-6",
63
- "px-10",
64
- "py-16",
65
- "[--empty-state-indicator-size:--spacing(15)]",
66
- "[--empty-state-title-size:var(--text-2xl)]",
67
- "[--empty-state-title-leading:--spacing(8)]",
68
- "[--empty-state-description-size:var(--text-lg)]",
69
- "[--empty-state-description-leading:--spacing(7)]",
70
- "[--empty-state-header-gap:--spacing(1)]"
71
- ]
72
- },
73
- variant: {
74
- outline: [
75
- "border",
76
- "border-dashed",
77
- "border-gray-6"
78
- ],
79
- plain: []
80
- }
81
- },
82
- defaultVariants: {
83
- size: emptyStateDefaultVariants.size,
84
- variant: emptyStateDefaultVariants.variant
85
- }
21
+ variants: { variant: {
22
+ outline: [
23
+ "border",
24
+ "border-dashed",
25
+ "border-gray-6"
26
+ ],
27
+ plain: []
28
+ } },
29
+ defaultVariants: { variant: emptyStateDefaultVariants.variant }
86
30
  });
87
31
  //#endregion
88
32
  export { emptyStateDefaultVariants, emptyStateRootVariants };
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state-root-variants.js","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-root-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type EmptyStateVariants = {\n /**\n * Respiro interno, espaço entre as partes, tamanho do indicador e tipografia do título e da\n * descrição, na escala de título e descrição da lib.\n *\n * @default 'sm'\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n /**\n * Moldura do `Root`: `outline` com borda tracejada e `plain` sem moldura, para quando o estado\n * vazio já está dentro de algo emoldurado (tabela, cartão, dropdown).\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'plain';\n};\n\nexport const emptyStateDefaultVariants: Required<EmptyStateVariants> = {\n size: 'sm',\n variant: 'outline',\n};\n\n/**\n * O `size` aplica o respiro e o espaço entre as partes no próprio `Root` e declara CSS variables\n * para as partes lerem:\n * - `--empty-state-indicator-size`: o tamanho do ícone no Indicator;\n * - `--empty-state-title-size` e `--empty-state-title-leading`: o Title;\n * - `--empty-state-description-size` e `--empty-state-description-leading`: a Description;\n * - `--empty-state-header-gap`: o espaço entre título e descrição no Content.\n *\n * Assim as partes não precisam de contexto e, fora de um `Root`, ficam no tamanho do `sm`.\n */\nexport const emptyStateRootVariants = cva(\n [\n 'flex',\n 'flex-col',\n 'items-center',\n 'justify-center',\n\n 'rounded-md',\n 'corner-squircle',\n\n 'text-center',\n ],\n {\n variants: {\n size: {\n xs: [\n 'gap-3',\n 'px-4',\n 'py-6',\n '[--empty-state-indicator-size:--spacing(6)]',\n '[--empty-state-title-size:var(--text-base)]',\n '[--empty-state-title-leading:--spacing(5)]',\n '[--empty-state-description-size:var(--text-xs)]',\n '[--empty-state-description-leading:--spacing(4)]',\n '[--empty-state-header-gap:--spacing(0.5)]',\n ],\n sm: [\n 'gap-4',\n 'px-6',\n 'py-8',\n '[--empty-state-indicator-size:--spacing(9)]',\n '[--empty-state-title-size:var(--text-lg)]',\n '[--empty-state-title-leading:--spacing(6)]',\n '[--empty-state-description-size:var(--text-sm)]',\n '[--empty-state-description-leading:--spacing(5)]',\n '[--empty-state-header-gap:--spacing(0.5)]',\n ],\n md: [\n 'gap-5',\n 'px-8',\n 'py-12',\n '[--empty-state-indicator-size:--spacing(12)]',\n '[--empty-state-title-size:var(--text-xl)]',\n '[--empty-state-title-leading:--spacing(7)]',\n '[--empty-state-description-size:var(--text-base)]',\n '[--empty-state-description-leading:--spacing(6)]',\n '[--empty-state-header-gap:--spacing(1)]',\n ],\n lg: [\n 'gap-6',\n 'px-10',\n 'py-16',\n '[--empty-state-indicator-size:--spacing(15)]',\n '[--empty-state-title-size:var(--text-2xl)]',\n '[--empty-state-title-leading:--spacing(8)]',\n '[--empty-state-description-size:var(--text-lg)]',\n '[--empty-state-description-leading:--spacing(7)]',\n '[--empty-state-header-gap:--spacing(1)]',\n ],\n },\n variant: {\n outline: ['border', 'border-dashed', 'border-gray-6'],\n plain: [],\n },\n },\n defaultVariants: {\n size: emptyStateDefaultVariants.size,\n variant: emptyStateDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;AAmBA,MAAa,4BAA0D;CACrE,MAAM;CACN,SAAS;AACX;;;;;;;;;;;AAYA,MAAa,yBAAyB,IACpC;CACE;CACA;CACA;CACA;CAEA;CACA;CAEA;AACF,GACA;CACE,UAAU;EACR,MAAM;GACJ,IAAI;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,IAAI;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,IAAI;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,IAAI;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF;EACA,SAAS;GACP,SAAS;IAAC;IAAU;IAAiB;GAAe;GACpD,OAAO,CAAC;EACV;CACF;CACA,iBAAiB;EACf,MAAM,0BAA0B;EAChC,SAAS,0BAA0B;CACrC;AACF,CACF"}
1
+ {"version":3,"file":"empty-state-root-variants.js","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-root-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type EmptyStateVariants = {\n /**\n * Moldura do `Root`: `outline` com borda tracejada e `plain` sem moldura, para quando o estado\n * vazio já está dentro de algo emoldurado (tabela, cartão, dropdown).\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'plain';\n};\n\nexport const emptyStateDefaultVariants: Required<EmptyStateVariants> = {\n variant: 'outline',\n};\n\n/**\n * O respiro, o espaço entre as partes e o tamanho do indicador são fixos e ficam no `Root`. O\n * Indicator lê o tamanho pela CSS variable, e fora de um `Root` cai no mesmo valor.\n */\nexport const emptyStateRootVariants = cva(\n [\n '[--empty-state-indicator-size:--spacing(6)]',\n\n 'flex',\n 'flex-col',\n 'items-center',\n 'justify-center',\n\n 'gap-4',\n 'px-6',\n 'py-8',\n\n 'rounded-md',\n 'corner-squircle',\n\n 'text-center',\n ],\n {\n variants: {\n variant: {\n outline: ['border', 'border-dashed', 'border-gray-6'],\n plain: [],\n },\n },\n defaultVariants: {\n variant: emptyStateDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;AAYA,MAAa,4BAA0D,EACrE,SAAS,UACX;;;;;AAMA,MAAa,yBAAyB,IACpC;CACE;CAEA;CACA;CACA;CACA;CAEA;CACA;CACA;CAEA;CACA;CAEA;AACF,GACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;GAAC;GAAU;GAAiB;EAAe;EACpD,OAAO,CAAC;CACV,EACF;CACA,iBAAiB,EACf,SAAS,0BAA0B,QACrC;AACF,CACF"}
@@ -4,9 +4,8 @@ import { useRender } from "@base-ui/react";
4
4
  //#region src/components/feedback/empty-state/empty-state-root.d.ts
5
5
  export type EmptyStateRootProps = MergeOverride<useRender.ComponentProps<'div'>, EmptyStateVariants>;
6
6
  /**
7
- * Estado vazio: coluna centralizada que empilha indicador, título, descrição e ações. O `size`
8
- * vale para todas as partes, pelas CSS variables que o `Root` declara; a `variant` decide se há
9
- * moldura.
7
+ * Estado vazio: coluna centralizada que empilha indicador, título, descrição e ações, com
8
+ * tamanho e respiro fixos; a `variant` decide se há moldura.
10
9
  *
11
10
  * @example
12
11
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state-root.d.ts","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-root.tsx"],"mappings":";;;;YAQY,sBAAsB,cAChC,UAAU,uBACV;;;;;;;;;;;;;;;;;;;;qBAwBW;GAAyB,OAAA,sCAAmB,+CAAA"}
1
+ {"version":3,"file":"empty-state-root.d.ts","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-root.tsx"],"mappings":";;;;YAQY,sBAAsB,cAChC,UAAU,uBACV;;;;;;;;;;;;;;;;;;;qBAuBW;GAAyB,OAAA,sCAAmB,+CAAA"}
@@ -5,9 +5,8 @@ import { mergeProps, useRender } from "@base-ui/react";
5
5
  //#region src/components/feedback/empty-state/empty-state-root.tsx
6
6
  const splitVariantProps = createSplitProps();
7
7
  /**
8
- * Estado vazio: coluna centralizada que empilha indicador, título, descrição e ações. O `size`
9
- * vale para todas as partes, pelas CSS variables que o `Root` declara; a `variant` decide se há
10
- * moldura.
8
+ * Estado vazio: coluna centralizada que empilha indicador, título, descrição e ações, com
9
+ * tamanho e respiro fixos; a `variant` decide se há moldura.
11
10
  *
12
11
  * @example
13
12
  * ```tsx
@@ -24,7 +23,7 @@ const splitVariantProps = createSplitProps();
24
23
  * ```
25
24
  */
26
25
  const EmptyStateRoot = (props) => {
27
- const [variantProps, elementProps] = splitVariantProps(props, ["size", "variant"]);
26
+ const [variantProps, elementProps] = splitVariantProps(props, ["variant"]);
28
27
  const { render, className, ...rest } = elementProps;
29
28
  const baseProps = {
30
29
  "data-component": "EmptyState.Root",
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state-root.js","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-root.tsx"],"sourcesContent":["import { mergeProps, useRender } from '@base-ui/react';\nimport { createSplitProps, type MergeOverride } from '@lucasbernardosn/utils';\nimport { mergeTwClassNames } from '#utils';\nimport {\n type EmptyStateVariants,\n emptyStateRootVariants,\n} from './empty-state-root-variants';\n\nexport type EmptyStateRootProps = MergeOverride<\n useRender.ComponentProps<'div'>,\n EmptyStateVariants\n>;\n\nconst splitVariantProps = createSplitProps<EmptyStateVariants>();\n\n/**\n * Estado vazio: coluna centralizada que empilha indicador, título, descrição e ações. O `size`\n * vale para todas as partes, pelas CSS variables que o `Root` declara; a `variant` decide se há\n * moldura.\n *\n * @example\n * ```tsx\n * <EmptyState.Root>\n * <EmptyState.Indicator>\n * <InboxIcon />\n * </EmptyState.Indicator>\n *\n * <EmptyState.Content>\n * <EmptyState.Title>Nenhuma mensagem</EmptyState.Title>\n * <EmptyState.Description>As mensagens recebidas aparecem aqui.</EmptyState.Description>\n * </EmptyState.Content>\n * </EmptyState.Root>\n * ```\n */\nexport const EmptyStateRoot = (props: EmptyStateRootProps) => {\n const [variantProps, elementProps] = splitVariantProps(props, [\n 'size',\n 'variant',\n ]);\n\n const { render, className, ...rest } = elementProps;\n\n const baseProps = {\n 'data-component': 'EmptyState.Root',\n className: mergeTwClassNames(\n emptyStateRootVariants(variantProps),\n className,\n ),\n };\n\n return useRender({\n render,\n defaultTagName: 'div',\n props: mergeProps(baseProps, rest),\n });\n};\n\nEmptyStateRoot.displayName = 'EmptyState.Root';\n"],"mappings":";;;;;AAaA,MAAM,oBAAoB,iBAAqC;;;;;;;;;;;;;;;;;;;;AAqB/D,MAAa,kBAAkB,UAA+B;CAC5D,MAAM,CAAC,cAAc,gBAAgB,kBAAkB,OAAO,CAC5D,QACA,SACF,CAAC;CAED,MAAM,EAAE,QAAQ,WAAW,GAAG,SAAS;CAEvC,MAAM,YAAY;EAChB,kBAAkB;EAClB,WAAW,kBACT,uBAAuB,YAAY,GACnC,SACF;CACF;CAEA,OAAO,UAAU;EACf;EACA,gBAAgB;EAChB,OAAO,WAAW,WAAW,IAAI;CACnC,CAAC;AACH;AAEA,eAAe,cAAc"}
1
+ {"version":3,"file":"empty-state-root.js","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-root.tsx"],"sourcesContent":["import { mergeProps, useRender } from '@base-ui/react';\nimport { createSplitProps, type MergeOverride } from '@lucasbernardosn/utils';\nimport { mergeTwClassNames } from '#utils';\nimport {\n type EmptyStateVariants,\n emptyStateRootVariants,\n} from './empty-state-root-variants';\n\nexport type EmptyStateRootProps = MergeOverride<\n useRender.ComponentProps<'div'>,\n EmptyStateVariants\n>;\n\nconst splitVariantProps = createSplitProps<EmptyStateVariants>();\n\n/**\n * Estado vazio: coluna centralizada que empilha indicador, título, descrição e ações, com\n * tamanho e respiro fixos; a `variant` decide se há moldura.\n *\n * @example\n * ```tsx\n * <EmptyState.Root>\n * <EmptyState.Indicator>\n * <InboxIcon />\n * </EmptyState.Indicator>\n *\n * <EmptyState.Content>\n * <EmptyState.Title>Nenhuma mensagem</EmptyState.Title>\n * <EmptyState.Description>As mensagens recebidas aparecem aqui.</EmptyState.Description>\n * </EmptyState.Content>\n * </EmptyState.Root>\n * ```\n */\nexport const EmptyStateRoot = (props: EmptyStateRootProps) => {\n const [variantProps, elementProps] = splitVariantProps(props, ['variant']);\n\n const { render, className, ...rest } = elementProps;\n\n const baseProps = {\n 'data-component': 'EmptyState.Root',\n className: mergeTwClassNames(\n emptyStateRootVariants(variantProps),\n className,\n ),\n };\n\n return useRender({\n render,\n defaultTagName: 'div',\n props: mergeProps(baseProps, rest),\n });\n};\n\nEmptyStateRoot.displayName = 'EmptyState.Root';\n"],"mappings":";;;;;AAaA,MAAM,oBAAoB,iBAAqC;;;;;;;;;;;;;;;;;;;AAoB/D,MAAa,kBAAkB,UAA+B;CAC5D,MAAM,CAAC,cAAc,gBAAgB,kBAAkB,OAAO,CAAC,SAAS,CAAC;CAEzE,MAAM,EAAE,QAAQ,WAAW,GAAG,SAAS;CAEvC,MAAM,YAAY;EAChB,kBAAkB;EAClB,WAAW,kBACT,uBAAuB,YAAY,GACnC,SACF;CACF;CAEA,OAAO,UAAU;EACf;EACA,gBAAgB;EAChB,OAAO,WAAW,WAAW,IAAI;CACnC,CAAC;AACH;AAEA,eAAe,cAAc"}
@@ -3,15 +3,15 @@ import { useRender } from "@base-ui/react";
3
3
  //#region src/components/feedback/empty-state/empty-state-title.d.ts
4
4
  export type EmptyStateTitleProps = MergeOverride<useRender.ComponentProps<'h3'>, {
5
5
  /**
6
- * Nível do título, que define a tag (`h1` a `h6`). Não muda a aparência: o tamanho vem do
7
- * `size` do `EmptyState.Root`. Com `render`, a tag do `render` prevalece.
6
+ * Nível do título, que define a tag (`h1` a `h6`). Não muda a aparência, que é fixa. Com
7
+ * `render`, a tag do `render` prevalece.
8
8
  *
9
9
  * @default 3
10
10
  */
11
11
  level?: 1 | 2 | 3 | 4 | 5 | 6;
12
12
  }>;
13
13
  /**
14
- * Título do estado vazio, no tamanho e na entrelinha do `size` do `EmptyState.Root`. Escolha o
14
+ * Título do estado vazio, com a tipografia fixa dos títulos. Escolha o
15
15
  * `level` pela hierarquia da página: `2` para um estado vazio que ocupa a página, `3` ou `4` para o
16
16
  * de uma seção.
17
17
  */
@@ -2,7 +2,7 @@ import { mergeTwClassNames } from "../../../utils/merge-class-names.js";
2
2
  import { mergeProps, useRender } from "@base-ui/react";
3
3
  //#region src/components/feedback/empty-state/empty-state-title.tsx
4
4
  /**
5
- * Título do estado vazio, no tamanho e na entrelinha do `size` do `EmptyState.Root`. Escolha o
5
+ * Título do estado vazio, com a tipografia fixa dos títulos. Escolha o
6
6
  * `level` pela hierarquia da página: `2` para um estado vazio que ocupa a página, `3` ou `4` para o
7
7
  * de uma seção.
8
8
  */
@@ -11,9 +11,9 @@ const EmptyStateTitle = (props) => {
11
11
  const baseProps = {
12
12
  "data-component": "EmptyState.Title",
13
13
  className: mergeTwClassNames([
14
- "text-(length:--empty-state-title-size,var(--text-lg))",
15
- "leading-(--empty-state-title-leading,--spacing(6))",
16
- "font-semibold",
14
+ "text-base",
15
+ "leading-6",
16
+ "font-medium",
17
17
  "text-gray-12",
18
18
  "text-balance"
19
19
  ], className)
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state-title.js","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-title.tsx"],"sourcesContent":["import { mergeProps, useRender } from '@base-ui/react';\nimport type { MergeOverride } from '@lucasbernardosn/utils';\nimport { mergeTwClassNames } from '#utils';\n\nexport type EmptyStateTitleProps = MergeOverride<\n useRender.ComponentProps<'h3'>,\n {\n /**\n * Nível do título, que define a tag (`h1` a `h6`). Não muda a aparência: o tamanho vem do\n * `size` do `EmptyState.Root`. Com `render`, a tag do `render` prevalece.\n *\n * @default 3\n */\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n }\n>;\n\n/**\n * Título do estado vazio, no tamanho e na entrelinha do `size` do `EmptyState.Root`. Escolha o\n * `level` pela hierarquia da página: `2` para um estado vazio que ocupa a página, `3` ou `4` para o\n * de uma seção.\n */\nexport const EmptyStateTitle = (props: EmptyStateTitleProps) => {\n const { level = 3, render, className, ...rest } = props;\n\n const baseProps = {\n 'data-component': 'EmptyState.Title',\n className: mergeTwClassNames(\n [\n 'text-(length:--empty-state-title-size,var(--text-lg))',\n 'leading-(--empty-state-title-leading,--spacing(6))',\n 'font-semibold',\n 'text-gray-12',\n 'text-balance',\n ],\n className,\n ),\n };\n\n return useRender({\n render,\n defaultTagName: `h${level}`,\n props: mergeProps(baseProps, rest),\n });\n};\n\nEmptyStateTitle.displayName = 'EmptyState.Title';\n"],"mappings":";;;;;;;;AAsBA,MAAa,mBAAmB,UAAgC;CAC9D,MAAM,EAAE,QAAQ,GAAG,QAAQ,WAAW,GAAG,SAAS;CAElD,MAAM,YAAY;EAChB,kBAAkB;EAClB,WAAW,kBACT;GACE;GACA;GACA;GACA;GACA;EACF,GACA,SACF;CACF;CAEA,OAAO,UAAU;EACf;EACA,gBAAgB,IAAI;EACpB,OAAO,WAAW,WAAW,IAAI;CACnC,CAAC;AACH;AAEA,gBAAgB,cAAc"}
1
+ {"version":3,"file":"empty-state-title.js","names":[],"sources":["../../../../src/components/feedback/empty-state/empty-state-title.tsx"],"sourcesContent":["import { mergeProps, useRender } from '@base-ui/react';\nimport type { MergeOverride } from '@lucasbernardosn/utils';\nimport { mergeTwClassNames } from '#utils';\n\nexport type EmptyStateTitleProps = MergeOverride<\n useRender.ComponentProps<'h3'>,\n {\n /**\n * Nível do título, que define a tag (`h1` a `h6`). Não muda a aparência, que é fixa. Com\n * `render`, a tag do `render` prevalece.\n *\n * @default 3\n */\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n }\n>;\n\n/**\n * Título do estado vazio, com a tipografia fixa dos títulos. Escolha o\n * `level` pela hierarquia da página: `2` para um estado vazio que ocupa a página, `3` ou `4` para o\n * de uma seção.\n */\nexport const EmptyStateTitle = (props: EmptyStateTitleProps) => {\n const { level = 3, render, className, ...rest } = props;\n\n const baseProps = {\n 'data-component': 'EmptyState.Title',\n className: mergeTwClassNames(\n ['text-base', 'leading-6', 'font-medium', 'text-gray-12', 'text-balance'],\n className,\n ),\n };\n\n return useRender({\n render,\n defaultTagName: `h${level}`,\n props: mergeProps(baseProps, rest),\n });\n};\n\nEmptyStateTitle.displayName = 'EmptyState.Title';\n"],"mappings":";;;;;;;;AAsBA,MAAa,mBAAmB,UAAgC;CAC9D,MAAM,EAAE,QAAQ,GAAG,QAAQ,WAAW,GAAG,SAAS;CAElD,MAAM,YAAY;EAChB,kBAAkB;EAClB,WAAW,kBACT;GAAC;GAAa;GAAa;GAAe;GAAgB;EAAc,GACxE,SACF;CACF;CAEA,OAAO,UAAU;EACf;EACA,gBAAgB,IAAI;EACpB,OAAO,WAAW,WAAW,IAAI;CACnC,CAAC;AACH;AAEA,gBAAgB,cAAc"}
@@ -31,7 +31,7 @@ export declare const checkboxRootDefaultVariants: Required<CheckboxRootVariants>
31
31
  export declare const checkboxRootVariants: (props?: ({
32
32
  colorScheme?: "gray" | "brand" | null | undefined;
33
33
  size?: "xs" | "sm" | "md" | "lg" | null | undefined;
34
- variant?: "outline" | "subtle" | "solid" | null | undefined;
34
+ variant?: "solid" | "subtle" | "outline" | null | undefined;
35
35
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
36
36
  //#endregion
37
37
  //# sourceMappingURL=checkbox-root-variants.d.ts.map
@@ -24,7 +24,7 @@ export declare const currencyBrlInputDefaultVariants: Required<CurrencyBrlInputV
24
24
  * tecla nem quando o separador de milhar entra.
25
25
  */
26
26
  export declare const currencyBrlInputVariants: (props?: ({
27
- variant?: "outline" | "subtle" | null | undefined;
27
+ variant?: "subtle" | "outline" | null | undefined;
28
28
  size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
29
29
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
30
30
  //#endregion
@@ -3,16 +3,16 @@ import { Fieldset } from "@base-ui/react/fieldset";
3
3
  export type FieldsetLegendProps = Fieldset.Legend.Props;
4
4
  export type FieldsetLegendState = Fieldset.Legend.State;
5
5
  /**
6
- * Nome do grupo, com a tipografia do `Field.Label`. Renderiza um `<div>` ligado ao
7
- * `Fieldset.Root` por `aria-labelledby`: o `<legend>` nativo sai do fluxo do flex e fica sobre a
8
- * borda do `<fieldset>`.
6
+ * Nome do grupo. Renderiza um `<div>` ligado ao `Fieldset.Root` por `aria-labelledby`: o
7
+ * `<legend>` nativo sai do fluxo do flex e fica sobre a borda do `<fieldset>`.
9
8
  *
10
- * Num grupo de opções, o Base UI põe o `Fieldset.Root` dentro de um `Field.Root`, e a `Legend`
11
- * acompanha o `size` dele como o rótulo das opções. Fora de um `Field.Root`, fica no `size`
12
- * padrão.
9
+ * Tem dois papéis, que dependem de onde está:
10
+ * - dentro de um `Field.Root`, como num grupo de opções (o Base UI põe o `Fieldset.Root` dentro
11
+ * dele), é o rótulo do grupo: acompanha o `size` do campo, como o rótulo das opções;
12
+ * - fora de um `Field.Root`, é o título de uma seção de campos, com a tipografia dos títulos.
13
13
  *
14
- * Como título de seção, componha com o título que quiser:
15
- * `<Heading render={<Fieldset.Legend />}>`.
14
+ * Ele lê as variáveis do `Field.Root` com a tipografia do título como fallback: sem `Field.Root`,
15
+ * as variáveis não existem.
16
16
  */
17
17
  export declare const FieldsetLegend: {
18
18
  (props: FieldsetLegendProps): import("react").JSX.Element;
@@ -3,26 +3,27 @@ import { jsx } from "react/jsx-runtime";
3
3
  import { Fieldset } from "@base-ui/react/fieldset";
4
4
  //#region src/components/fields/fieldset/fieldset-legend.tsx
5
5
  /**
6
- * Nome do grupo, com a tipografia do `Field.Label`. Renderiza um `<div>` ligado ao
7
- * `Fieldset.Root` por `aria-labelledby`: o `<legend>` nativo sai do fluxo do flex e fica sobre a
8
- * borda do `<fieldset>`.
6
+ * Nome do grupo. Renderiza um `<div>` ligado ao `Fieldset.Root` por `aria-labelledby`: o
7
+ * `<legend>` nativo sai do fluxo do flex e fica sobre a borda do `<fieldset>`.
9
8
  *
10
- * Num grupo de opções, o Base UI põe o `Fieldset.Root` dentro de um `Field.Root`, e a `Legend`
11
- * acompanha o `size` dele como o rótulo das opções. Fora de um `Field.Root`, fica no `size`
12
- * padrão.
9
+ * Tem dois papéis, que dependem de onde está:
10
+ * - dentro de um `Field.Root`, como num grupo de opções (o Base UI põe o `Fieldset.Root` dentro
11
+ * dele), é o rótulo do grupo: acompanha o `size` do campo, como o rótulo das opções;
12
+ * - fora de um `Field.Root`, é o título de uma seção de campos, com a tipografia dos títulos.
13
13
  *
14
- * Como título de seção, componha com o título que quiser:
15
- * `<Heading render={<Fieldset.Legend />}>`.
14
+ * Ele lê as variáveis do `Field.Root` com a tipografia do título como fallback: sem `Field.Root`,
15
+ * as variáveis não existem.
16
16
  */
17
17
  const FieldsetLegend = (props) => {
18
18
  const { className, ...rest } = props;
19
19
  return /* @__PURE__ */ jsx(Fieldset.Legend, {
20
20
  "data-component": "Fieldset.Legend",
21
21
  className: mergeStateClassNames([
22
- "text-(length:--field-label-size,var(--text-sm))",
23
- "leading-(--field-label-leading,--spacing(4))",
22
+ "text-(length:--field-label-size,var(--text-base))",
23
+ "leading-(--field-label-leading,--spacing(6))",
24
24
  "font-medium",
25
25
  "text-gray-12",
26
+ "text-balance",
26
27
  "data-disabled:opacity-50"
27
28
  ], className),
28
29
  ...rest
@@ -1 +1 @@
1
- {"version":3,"file":"fieldset-legend.js","names":["BaseFieldset"],"sources":["../../../../src/components/fields/fieldset/fieldset-legend.tsx"],"sourcesContent":["import { Fieldset as BaseFieldset } from '@base-ui/react/fieldset';\nimport { mergeStateClassNames } from '#utils';\n\nexport type FieldsetLegendProps = BaseFieldset.Legend.Props;\n\nexport type FieldsetLegendState = BaseFieldset.Legend.State;\n\n/**\n * Nome do grupo, com a tipografia do `Field.Label`. Renderiza um `<div>` ligado ao\n * `Fieldset.Root` por `aria-labelledby`: o `<legend>` nativo sai do fluxo do flex e fica sobre a\n * borda do `<fieldset>`.\n *\n * Num grupo de opções, o Base UI põe o `Fieldset.Root` dentro de um `Field.Root`, e a `Legend`\n * acompanha o `size` dele como o rótulo das opções. Fora de um `Field.Root`, fica no `size`\n * padrão.\n *\n * Como título de seção, componha com o título que quiser:\n * `<Heading render={<Fieldset.Legend />}>`.\n */\nexport const FieldsetLegend = (props: FieldsetLegendProps) => {\n const { className, ...rest } = props;\n\n return (\n <BaseFieldset.Legend\n data-component=\"Fieldset.Legend\"\n className={mergeStateClassNames(\n [\n // Tamanho e linha vêm do `size` do `Field.Root` em volta (ver `fieldRootVariants`).\n 'text-(length:--field-label-size,var(--text-sm))',\n 'leading-(--field-label-leading,--spacing(4))',\n 'font-medium',\n 'text-gray-12',\n\n 'data-disabled:opacity-50',\n ],\n className,\n )}\n {...rest}\n />\n );\n};\n\nFieldsetLegend.displayName = 'Fieldset.Legend';\n"],"mappings":";;;;;;;;;;;;;;;;AAmBA,MAAa,kBAAkB,UAA+B;CAC5D,MAAM,EAAE,WAAW,GAAG,SAAS;CAE/B,OACE,oBAACA,SAAa,QAAd;EACE,kBAAe;EACf,WAAW,qBACT;GAEE;GACA;GACA;GACA;GAEA;EACF,GACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,eAAe,cAAc"}
1
+ {"version":3,"file":"fieldset-legend.js","names":["BaseFieldset"],"sources":["../../../../src/components/fields/fieldset/fieldset-legend.tsx"],"sourcesContent":["import { Fieldset as BaseFieldset } from '@base-ui/react/fieldset';\nimport { mergeStateClassNames } from '#utils';\n\nexport type FieldsetLegendProps = BaseFieldset.Legend.Props;\n\nexport type FieldsetLegendState = BaseFieldset.Legend.State;\n\n/**\n * Nome do grupo. Renderiza um `<div>` ligado ao `Fieldset.Root` por `aria-labelledby`: o\n * `<legend>` nativo sai do fluxo do flex e fica sobre a borda do `<fieldset>`.\n *\n * Tem dois papéis, que dependem de onde está:\n * - dentro de um `Field.Root`, como num grupo de opções (o Base UI põe o `Fieldset.Root` dentro\n * dele), é o rótulo do grupo: acompanha o `size` do campo, como o rótulo das opções;\n * - fora de um `Field.Root`, é o título de uma seção de campos, com a tipografia dos títulos.\n *\n * Ele lê as variáveis do `Field.Root` com a tipografia do título como fallback: sem `Field.Root`,\n * as variáveis não existem.\n */\nexport const FieldsetLegend = (props: FieldsetLegendProps) => {\n const { className, ...rest } = props;\n\n return (\n <BaseFieldset.Legend\n data-component=\"Fieldset.Legend\"\n className={mergeStateClassNames(\n [\n // Tamanho e linha vêm do `size` do `Field.Root` em volta (ver `fieldRootVariants`); sem\n // ele, caem na tipografia do título.\n 'text-(length:--field-label-size,var(--text-base))',\n 'leading-(--field-label-leading,--spacing(6))',\n 'font-medium',\n 'text-gray-12',\n 'text-balance',\n\n 'data-disabled:opacity-50',\n ],\n className,\n )}\n {...rest}\n />\n );\n};\n\nFieldsetLegend.displayName = 'Fieldset.Legend';\n"],"mappings":";;;;;;;;;;;;;;;;AAmBA,MAAa,kBAAkB,UAA+B;CAC5D,MAAM,EAAE,WAAW,GAAG,SAAS;CAE/B,OACE,oBAACA,SAAa,QAAd;EACE,kBAAe;EACf,WAAW,qBACT;GAGE;GACA;GACA;GACA;GACA;GAEA;EACF,GACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,eAAe,cAAc"}
@@ -32,7 +32,7 @@ export declare const inputDefaultVariants: Required<InputVariants>;
32
32
  * que só casa depois de o usuário mexer no campo ou tentar enviar.
33
33
  */
34
34
  export declare const inputVariants: (props?: ({
35
- variant?: "outline" | "subtle" | null | undefined;
35
+ variant?: "subtle" | "outline" | null | undefined;
36
36
  size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
37
37
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
38
38
  //#endregion
@@ -24,7 +24,7 @@ export declare const numberInputDefaultVariants: Required<NumberInputVariants>;
24
24
  * tecla nem quando o separador de milhar entra.
25
25
  */
26
26
  export declare const numberInputVariants: (props?: ({
27
- variant?: "outline" | "subtle" | null | undefined;
27
+ variant?: "subtle" | "outline" | null | undefined;
28
28
  size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
29
29
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
30
30
  //#endregion
@@ -24,7 +24,7 @@ export declare const patternInputDefaultVariants: Required<PatternInputVariants>
24
24
  * literais): o texto não se mexe quando uma posição vazia é preenchida.
25
25
  */
26
26
  export declare const patternInputVariants: (props?: ({
27
- variant?: "outline" | "subtle" | null | undefined;
27
+ variant?: "subtle" | "outline" | null | undefined;
28
28
  size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
29
29
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
30
30
  //#endregion
@@ -31,7 +31,7 @@ export declare const textareaDefaultVariants: Required<TextareaVariants>;
31
31
  * a borda. Arrastando a alça, o campo não encolhe a ponto de cortar o texto.
32
32
  */
33
33
  export declare const textareaVariants: (props?: ({
34
- variant?: "outline" | "subtle" | null | undefined;
34
+ variant?: "subtle" | "outline" | null | undefined;
35
35
  size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
36
36
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
37
37
  //#endregion
@@ -76,7 +76,7 @@ const textareaVariants = cva([
76
76
  ],
77
77
  xs: [
78
78
  "px-2",
79
- "[--textarea-py:--spacing(1.5)]",
79
+ "[--textarea-py:--spacing(2)]",
80
80
  "text-xs",
81
81
  "any-pointer-coarse:text-base"
82
82
  ],
@@ -99,7 +99,7 @@ const textareaVariants = cva([
99
99
  ],
100
100
  xl: [
101
101
  "px-4.5",
102
- "[--textarea-py:--spacing(3.5)]",
102
+ "[--textarea-py:--spacing(4)]",
103
103
  "text-base"
104
104
  ],
105
105
  "2xl": [
@@ -1 +1 @@
1
- {"version":3,"file":"textarea-variants.js","names":[],"sources":["../../../../src/components/fields/textarea/textarea-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type TextareaVariants = {\n /**\n * Padding e tamanho do texto, com os nomes do `Input`. Sem altura fixa: ela vem de `rows` ou,\n * com `field-sizing-content`, do conteúdo. Em tela de toque, do `2xs` ao `md` o texto sobe para\n * 16px, para o iPhone não dar zoom no foco.\n *\n * @default 'sm'\n */\n size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n /**\n * Fundo e borda do campo.\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'subtle';\n};\n\nexport const textareaDefaultVariants: Required<TextareaVariants> = {\n size: 'sm',\n variant: 'outline',\n};\n\n/**\n * Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam do\n * mesmo jeito, explicados lá. As diferenças:\n * - sem `data-placeholder` nem altura fixa: a altura vem de `rows` ou, com `field-sizing-content`,\n * do conteúdo;\n * - `block`, `resize-y` e o padding vertical em `--textarea-py`.\n *\n * Cada tamanho declara o padding vertical em `--textarea-py`, que três classes da base leem:\n * - `py`;\n * - `scroll-pb`: ao digitar na última linha de um textarea com rolagem, o navegador rola até o\n * cursor; sem ele, a linha fica colada na borda de baixo, sem o padding;\n * - `min-h`: uma linha (`1lh`, que acompanha o texto, inclusive em tela de toque), mais o padding e\n * a borda. Arrastando a alça, o campo não encolhe a ponto de cortar o texto.\n */\nexport const textareaVariants = cva(\n [\n 'relative',\n 'block', // Como `inline-block`, o padrão, deixa um vão embaixo, na linha de base do texto em volta\n 'w-full',\n 'min-h-[calc(1lh+var(--textarea-py)*2+2px)]',\n\n 'py-(--textarea-py)',\n 'scroll-pb-(--textarea-py)',\n\n 'appearance-none',\n 'outline-none',\n\n 'resize-y',\n\n 'text-start',\n 'font-normal', // Sem isto, herda o peso do `<label>` em volta\n 'text-gray-12',\n\n 'placeholder:text-gray-9/90',\n\n 'border',\n 'rounded-md',\n 'corner-squircle',\n\n '[--textarea-focus-color:var(--color-black)]',\n 'dark:[--textarea-focus-color:var(--color-white)]',\n\n 'focus-visible:outline-1',\n 'focus-visible:outline-solid',\n 'focus-visible:-outline-offset-2', // Offset = borda + anel: o campo não cresce no foco\n 'focus-visible:outline-(--textarea-focus-color)',\n 'focus-visible:border-(--textarea-focus-color)',\n\n 'data-focused:outline-1',\n 'data-focused:outline-solid',\n 'data-focused:-outline-offset-2',\n 'data-focused:outline-(--textarea-focus-color)',\n 'data-focused:border-(--textarea-focus-color)',\n\n 'disabled:opacity-50',\n 'disabled:cursor-not-allowed',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n 'data-invalid:border-red-9',\n 'data-invalid:[--textarea-focus-color:var(--color-red-9)]',\n 'aria-invalid:border-red-9',\n 'aria-invalid:[--textarea-focus-color:var(--color-red-9)]',\n 'user-invalid:border-red-9',\n 'user-invalid:[--textarea-focus-color:var(--color-red-9)]',\n ],\n {\n variants: {\n variant: {\n outline: [\n 'bg-white/90',\n 'dark:bg-black/90',\n\n 'border-gray-alpha-7',\n ],\n subtle: [\n 'bg-gray-4',\n\n 'border-transparent',\n ],\n },\n size: {\n '2xs': [\n 'px-2',\n '[--textarea-py:--spacing(1)]',\n\n 'text-xs',\n // Em tela de toque, 16px: abaixo disso o Safari do iPhone dá zoom ao focar o campo.\n 'any-pointer-coarse:text-base',\n ],\n xs: [\n 'px-2',\n '[--textarea-py:--spacing(1.5)]',\n\n 'text-xs',\n 'any-pointer-coarse:text-base',\n ],\n sm: [\n 'px-2.5',\n '[--textarea-py:--spacing(2)]',\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n md: [\n 'px-3',\n '[--textarea-py:--spacing(2)]',\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n lg: [\n 'px-4',\n '[--textarea-py:--spacing(3)]',\n\n 'text-base',\n ],\n xl: [\n 'px-4.5',\n '[--textarea-py:--spacing(3.5)]',\n\n 'text-base',\n ],\n '2xl': [\n 'px-5',\n '[--textarea-py:--spacing(4)]',\n\n 'text-lg',\n ],\n },\n },\n defaultVariants: {\n size: textareaDefaultVariants.size,\n variant: textareaDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;AAmBA,MAAa,0BAAsD;CACjE,MAAM;CACN,SAAS;AACX;;;;;;;;;;;;;;;AAgBA,MAAa,mBAAmB,IAC9B;CACE;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;IACP;IACA;IAEA;GACF;GACA,QAAQ,CACN,aAEA,oBACF;EACF;EACA,MAAM;GACJ,OAAO;IACL;IACA;IAEA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;GACF;EACF;CACF;CACA,iBAAiB;EACf,MAAM,wBAAwB;EAC9B,SAAS,wBAAwB;CACnC;AACF,CACF"}
1
+ {"version":3,"file":"textarea-variants.js","names":[],"sources":["../../../../src/components/fields/textarea/textarea-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type TextareaVariants = {\n /**\n * Padding e tamanho do texto, com os nomes do `Input`. Sem altura fixa: ela vem de `rows` ou,\n * com `field-sizing-content`, do conteúdo. Em tela de toque, do `2xs` ao `md` o texto sobe para\n * 16px, para o iPhone não dar zoom no foco.\n *\n * @default 'sm'\n */\n size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n /**\n * Fundo e borda do campo.\n *\n * @default 'outline'\n */\n variant?: 'outline' | 'subtle';\n};\n\nexport const textareaDefaultVariants: Required<TextareaVariants> = {\n size: 'sm',\n variant: 'outline',\n};\n\n/**\n * Cópia de `inputVariants`, a origem do visual dos campos: o anel de foco e o inválido funcionam do\n * mesmo jeito, explicados lá. As diferenças:\n * - sem `data-placeholder` nem altura fixa: a altura vem de `rows` ou, com `field-sizing-content`,\n * do conteúdo;\n * - `block`, `resize-y` e o padding vertical em `--textarea-py`.\n *\n * Cada tamanho declara o padding vertical em `--textarea-py`, que três classes da base leem:\n * - `py`;\n * - `scroll-pb`: ao digitar na última linha de um textarea com rolagem, o navegador rola até o\n * cursor; sem ele, a linha fica colada na borda de baixo, sem o padding;\n * - `min-h`: uma linha (`1lh`, que acompanha o texto, inclusive em tela de toque), mais o padding e\n * a borda. Arrastando a alça, o campo não encolhe a ponto de cortar o texto.\n */\nexport const textareaVariants = cva(\n [\n 'relative',\n 'block', // Como `inline-block`, o padrão, deixa um vão embaixo, na linha de base do texto em volta\n 'w-full',\n 'min-h-[calc(1lh+var(--textarea-py)*2+2px)]',\n\n 'py-(--textarea-py)',\n 'scroll-pb-(--textarea-py)',\n\n 'appearance-none',\n 'outline-none',\n\n 'resize-y',\n\n 'text-start',\n 'font-normal', // Sem isto, herda o peso do `<label>` em volta\n 'text-gray-12',\n\n 'placeholder:text-gray-9/90',\n\n 'border',\n 'rounded-md',\n 'corner-squircle',\n\n '[--textarea-focus-color:var(--color-black)]',\n 'dark:[--textarea-focus-color:var(--color-white)]',\n\n 'focus-visible:outline-1',\n 'focus-visible:outline-solid',\n 'focus-visible:-outline-offset-2', // Offset = borda + anel: o campo não cresce no foco\n 'focus-visible:outline-(--textarea-focus-color)',\n 'focus-visible:border-(--textarea-focus-color)',\n\n 'data-focused:outline-1',\n 'data-focused:outline-solid',\n 'data-focused:-outline-offset-2',\n 'data-focused:outline-(--textarea-focus-color)',\n 'data-focused:border-(--textarea-focus-color)',\n\n 'disabled:opacity-50',\n 'disabled:cursor-not-allowed',\n\n 'data-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed',\n\n 'data-invalid:border-red-9',\n 'data-invalid:[--textarea-focus-color:var(--color-red-9)]',\n 'aria-invalid:border-red-9',\n 'aria-invalid:[--textarea-focus-color:var(--color-red-9)]',\n 'user-invalid:border-red-9',\n 'user-invalid:[--textarea-focus-color:var(--color-red-9)]',\n ],\n {\n variants: {\n variant: {\n outline: [\n 'bg-white/90',\n 'dark:bg-black/90',\n\n 'border-gray-alpha-7',\n ],\n subtle: [\n 'bg-gray-4',\n\n 'border-transparent',\n ],\n },\n size: {\n '2xs': [\n 'px-2',\n '[--textarea-py:--spacing(1)]',\n\n 'text-xs',\n // Em tela de toque, 16px: abaixo disso o Safari do iPhone dá zoom ao focar o campo.\n 'any-pointer-coarse:text-base',\n ],\n xs: [\n 'px-2',\n '[--textarea-py:--spacing(2)]',\n\n 'text-xs',\n 'any-pointer-coarse:text-base',\n ],\n sm: [\n 'px-2.5',\n '[--textarea-py:--spacing(2)]',\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n md: [\n 'px-3',\n '[--textarea-py:--spacing(2)]',\n\n 'text-sm',\n 'any-pointer-coarse:text-base',\n ],\n lg: [\n 'px-4',\n '[--textarea-py:--spacing(3)]',\n\n 'text-base',\n ],\n xl: [\n 'px-4.5',\n '[--textarea-py:--spacing(4)]',\n\n 'text-base',\n ],\n '2xl': [\n 'px-5',\n '[--textarea-py:--spacing(4)]',\n\n 'text-lg',\n ],\n },\n },\n defaultVariants: {\n size: textareaDefaultVariants.size,\n variant: textareaDefaultVariants.variant,\n },\n },\n);\n"],"mappings":";;AAmBA,MAAa,0BAAsD;CACjE,MAAM;CACN,SAAS;AACX;;;;;;;;;;;;;;;AAgBA,MAAa,mBAAmB,IAC9B;CACE;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CAEA;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;AACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;IACP;IACA;IAEA;GACF;GACA,QAAQ,CACN,aAEA,oBACF;EACF;EACA,MAAM;GACJ,OAAO;IACL;IACA;IAEA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;IACA;GACF;GACA,IAAI;IACF;IACA;IAEA;GACF;GACA,IAAI;IACF;IACA;IAEA;GACF;GACA,OAAO;IACL;IACA;IAEA;GACF;EACF;CACF;CACA,iBAAiB;EACf,MAAM,wBAAwB;EAC9B,SAAS,wBAAwB;CACnC;AACF,CACF"}
@@ -9,7 +9,7 @@ export type CenterAbsoluteVariants = {
9
9
  };
10
10
  export declare const centerAbsoluteDefaultVariants: Required<CenterAbsoluteVariants>;
11
11
  export declare const centerAbsoluteVariants: (props?: ({
12
- axis?: "vertical" | "horizontal" | "both" | null | undefined;
12
+ axis?: "both" | "horizontal" | "vertical" | null | undefined;
13
13
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
14
14
  //#endregion
15
15
  //# sourceMappingURL=center-absolute-variants.d.ts.map
@@ -13,7 +13,7 @@ export declare const floatDefaultVariants: Required<FloatVariants>;
13
13
  * de sinal (`rtl:`), para o elemento continuar metade dentro e metade fora do canto.
14
14
  */
15
15
  export declare const floatVariants: (props?: ({
16
- placement?: "bottom-start" | "bottom-end" | "top-start" | "top-center" | "top-end" | "middle-start" | "middle-center" | "middle-end" | "bottom-center" | null | undefined;
16
+ placement?: "top-start" | "top-center" | "top-end" | "middle-start" | "middle-center" | "middle-end" | "bottom-start" | "bottom-center" | "bottom-end" | null | undefined;
17
17
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
18
18
  //#endregion
19
19
  //# sourceMappingURL=float-variants.d.ts.map
@@ -22,7 +22,7 @@ export type ScrollAreaViewportVariants = {
22
22
  * já aparecer antes da primeira medição, quando ainda há conteúdo abaixo.
23
23
  */
24
24
  export declare const scrollAreaViewportVariants: (props?: ({
25
- fade?: "vertical" | "horizontal" | "both" | null | undefined;
25
+ fade?: "both" | "horizontal" | "vertical" | null | undefined;
26
26
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
27
27
  //#endregion
28
28
  //# sourceMappingURL=scroll-area-viewport-variants.d.ts.map
@@ -4,7 +4,7 @@
4
4
  * e cor do texto estão explicados. As diferenças:
5
5
  * - posição própria, `fixed` no rodapé, sem positioner, e sem teto de altura nem animação de
6
6
  * tamanho;
7
- * - ações em linha (`items-center`, `gap-3`), padding próprio, `rounded-lg` e `shadow-lg`;
7
+ * - ações em linha (`items-center`, `gap-3`), padding próprio, `rounded-md` e `shadow-lg`;
8
8
  * - entra subindo (`translate-y-4`), e não crescendo a partir de um trigger.
9
9
  *
10
10
  * A distância das bordas da tela fica em `--action-bar-offset`, somada à área segura do celular
@@ -14,7 +14,7 @@
14
14
  * Tailwind os dois eixos compõem a mesma propriedade `translate`, então um não anula o outro.
15
15
  */
16
16
  export declare const actionBarPopupVariants: (props?: ({
17
- placement?: "bottom" | "bottom-start" | "bottom-end" | null | undefined;
17
+ placement?: "bottom-start" | "bottom-end" | "bottom" | null | undefined;
18
18
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
19
  //#endregion
20
20
  //# sourceMappingURL=action-bar-popup-variants.d.ts.map
@@ -6,7 +6,7 @@ import { cva } from "class-variance-authority";
6
6
  * e cor do texto estão explicados. As diferenças:
7
7
  * - posição própria, `fixed` no rodapé, sem positioner, e sem teto de altura nem animação de
8
8
  * tamanho;
9
- * - ações em linha (`items-center`, `gap-3`), padding próprio, `rounded-lg` e `shadow-lg`;
9
+ * - ações em linha (`items-center`, `gap-3`), padding próprio, `rounded-md` e `shadow-lg`;
10
10
  * - entra subindo (`translate-y-4`), e não crescendo a partir de um trigger.
11
11
  *
12
12
  * A distância das bordas da tela fica em `--action-bar-offset`, somada à área segura do celular
@@ -23,9 +23,9 @@ const actionBarPopupVariants = cva([
23
23
  "items-center",
24
24
  "gap-3",
25
25
  "max-w-[calc(100dvw-2*var(--action-bar-offset))]",
26
- "px-3",
27
- "py-2.5",
28
- "rounded-lg",
26
+ "px-4",
27
+ "py-2",
28
+ "rounded-md",
29
29
  "corner-squircle",
30
30
  "outline-1",
31
31
  "outline-gray-6",