@selectwin/kit 0.1.2

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 (171) hide show
  1. package/README.md +29 -0
  2. package/dist/SelectAccordion.d.ts +14 -0
  3. package/dist/SelectActionCard.d.ts +12 -0
  4. package/dist/SelectActionList.d.ts +22 -0
  5. package/dist/SelectActionMenu.d.ts +6 -0
  6. package/dist/SelectAddButton.d.ts +10 -0
  7. package/dist/SelectAlert.d.ts +10 -0
  8. package/dist/SelectAuthFx.d.ts +8 -0
  9. package/dist/SelectAvatar.d.ts +13 -0
  10. package/dist/SelectBackLink.d.ts +6 -0
  11. package/dist/SelectBadge.d.ts +9 -0
  12. package/dist/SelectBalanceCard.d.ts +21 -0
  13. package/dist/SelectBankAccountField.d.ts +22 -0
  14. package/dist/SelectBarChart.d.ts +11 -0
  15. package/dist/SelectBoxPlot.d.ts +18 -0
  16. package/dist/SelectBuilderLayout.d.ts +18 -0
  17. package/dist/SelectBullet.d.ts +16 -0
  18. package/dist/SelectBump.d.ts +11 -0
  19. package/dist/SelectButton.d.ts +17 -0
  20. package/dist/SelectCalendarHeatmap.d.ts +16 -0
  21. package/dist/SelectCandlestick.d.ts +18 -0
  22. package/dist/SelectCard.d.ts +12 -0
  23. package/dist/SelectChartCard.d.ts +22 -0
  24. package/dist/SelectChord.d.ts +12 -0
  25. package/dist/SelectCirclePack.d.ts +14 -0
  26. package/dist/SelectCollapsible.d.ts +10 -0
  27. package/dist/SelectColorField.d.ts +9 -0
  28. package/dist/SelectColumnChart.d.ts +13 -0
  29. package/dist/SelectComboChart.d.ts +20 -0
  30. package/dist/SelectCombobox.d.ts +32 -0
  31. package/dist/SelectConfirmModal.d.ts +13 -0
  32. package/dist/SelectCopyRow.d.ts +11 -0
  33. package/dist/SelectCopyableId.d.ts +16 -0
  34. package/dist/SelectDataTable.d.ts +100 -0
  35. package/dist/SelectDateField.d.ts +19 -0
  36. package/dist/SelectDatePicker.d.ts +34 -0
  37. package/dist/SelectDateRangeField.d.ts +20 -0
  38. package/dist/SelectDetail.d.ts +19 -0
  39. package/dist/SelectDisclosureButton.d.ts +12 -0
  40. package/dist/SelectDivider.d.ts +7 -0
  41. package/dist/SelectDocumentField.d.ts +11 -0
  42. package/dist/SelectDonut.d.ts +17 -0
  43. package/dist/SelectDotField.d.ts +5 -0
  44. package/dist/SelectDumbbell.d.ts +17 -0
  45. package/dist/SelectFeeBreakdown.d.ts +14 -0
  46. package/dist/SelectField.d.ts +66 -0
  47. package/dist/SelectFieldGrid.d.ts +8 -0
  48. package/dist/SelectFileDropzone.d.ts +13 -0
  49. package/dist/SelectFileTile.d.ts +15 -0
  50. package/dist/SelectFilterBar.d.ts +28 -0
  51. package/dist/SelectFilterChip.d.ts +9 -0
  52. package/dist/SelectFormLayout.d.ts +12 -0
  53. package/dist/SelectFormModal.d.ts +18 -0
  54. package/dist/SelectFunnel.d.ts +9 -0
  55. package/dist/SelectGauge.d.ts +18 -0
  56. package/dist/SelectGaugeBands.d.ts +18 -0
  57. package/dist/SelectGlobe.d.ts +47 -0
  58. package/dist/SelectHeatmap.d.ts +26 -0
  59. package/dist/SelectHexbin.d.ts +18 -0
  60. package/dist/SelectHorizontalBar.d.ts +23 -0
  61. package/dist/SelectIcicle.d.ts +15 -0
  62. package/dist/SelectIcon.d.ts +8 -0
  63. package/dist/SelectIconButton.d.ts +14 -0
  64. package/dist/SelectIdentityFooter.d.ts +12 -0
  65. package/dist/SelectImageField.d.ts +20 -0
  66. package/dist/SelectImageUploadField.d.ts +23 -0
  67. package/dist/SelectImageUrlsField.d.ts +12 -0
  68. package/dist/SelectImageZoomModal.d.ts +7 -0
  69. package/dist/SelectJsonViewer.d.ts +16 -0
  70. package/dist/SelectKeyValueEditor.d.ts +19 -0
  71. package/dist/SelectKpiCard.d.ts +15 -0
  72. package/dist/SelectLayout.d.ts +73 -0
  73. package/dist/SelectLineChart.d.ts +12 -0
  74. package/dist/SelectLinkButton.d.ts +11 -0
  75. package/dist/SelectListCard.d.ts +25 -0
  76. package/dist/SelectLoader.d.ts +10 -0
  77. package/dist/SelectMarimekko.d.ts +18 -0
  78. package/dist/SelectMediaCell.d.ts +11 -0
  79. package/dist/SelectMenu.d.ts +27 -0
  80. package/dist/SelectModal.d.ts +17 -0
  81. package/dist/SelectMoney.d.ts +32 -0
  82. package/dist/SelectMoneyField.d.ts +19 -0
  83. package/dist/SelectNetwork.d.ts +22 -0
  84. package/dist/SelectNote.d.ts +9 -0
  85. package/dist/SelectNumberField.d.ts +18 -0
  86. package/dist/SelectOfflineModal.d.ts +1 -0
  87. package/dist/SelectOptionList.d.ts +17 -0
  88. package/dist/SelectOtpInput.d.ts +13 -0
  89. package/dist/SelectPage.d.ts +25 -0
  90. package/dist/SelectPagination.d.ts +23 -0
  91. package/dist/SelectPanel.d.ts +13 -0
  92. package/dist/SelectParallel.d.ts +19 -0
  93. package/dist/SelectPareto.d.ts +10 -0
  94. package/dist/SelectPasswordStrength.d.ts +9 -0
  95. package/dist/SelectPaymentBrand.d.ts +17 -0
  96. package/dist/SelectPhoneField.d.ts +28 -0
  97. package/dist/SelectPlanCard.d.ts +21 -0
  98. package/dist/SelectPolarArea.d.ts +13 -0
  99. package/dist/SelectPopover.d.ts +17 -0
  100. package/dist/SelectPreviewFrame.d.ts +12 -0
  101. package/dist/SelectProgressList.d.ts +24 -0
  102. package/dist/SelectPyramid.d.ts +20 -0
  103. package/dist/SelectRadar.d.ts +19 -0
  104. package/dist/SelectRadialBar.d.ts +20 -0
  105. package/dist/SelectRadioGroup.d.ts +20 -0
  106. package/dist/SelectRangeBar.d.ts +18 -0
  107. package/dist/SelectRating.d.ts +11 -0
  108. package/dist/SelectRepeatingFieldArray.d.ts +31 -0
  109. package/dist/SelectResendButton.d.ts +9 -0
  110. package/dist/SelectRowActions.d.ts +12 -0
  111. package/dist/SelectSankey.d.ts +16 -0
  112. package/dist/SelectScatter.d.ts +26 -0
  113. package/dist/SelectSearchInput.d.ts +11 -0
  114. package/dist/SelectSection.d.ts +14 -0
  115. package/dist/SelectSegmented.d.ts +16 -0
  116. package/dist/SelectSelect.d.ts +26 -0
  117. package/dist/SelectSetting.d.ts +21 -0
  118. package/dist/SelectSideNav.d.ts +20 -0
  119. package/dist/SelectSkeleton.d.ts +17 -0
  120. package/dist/SelectSlope.d.ts +17 -0
  121. package/dist/SelectSparkline.d.ts +9 -0
  122. package/dist/SelectStackedArea.d.ts +11 -0
  123. package/dist/SelectStatusBadge.d.ts +14 -0
  124. package/dist/SelectSteps.d.ts +11 -0
  125. package/dist/SelectStreamGraph.d.ts +11 -0
  126. package/dist/SelectSunburst.d.ts +20 -0
  127. package/dist/SelectSurface.d.ts +14 -0
  128. package/dist/SelectSwitch.d.ts +13 -0
  129. package/dist/SelectSwitchField.d.ts +9 -0
  130. package/dist/SelectTable.d.ts +56 -0
  131. package/dist/SelectTabs.d.ts +15 -0
  132. package/dist/SelectTagSelect.d.ts +23 -0
  133. package/dist/SelectText.d.ts +22 -0
  134. package/dist/SelectTextarea.d.ts +26 -0
  135. package/dist/SelectThemeSwitcher.d.ts +11 -0
  136. package/dist/SelectThumbnail.d.ts +9 -0
  137. package/dist/SelectTicker.d.ts +9 -0
  138. package/dist/SelectTile.d.ts +20 -0
  139. package/dist/SelectTimeline.d.ts +15 -0
  140. package/dist/SelectToast.d.ts +15 -0
  141. package/dist/SelectToggle.d.ts +17 -0
  142. package/dist/SelectTogglePanel.d.ts +13 -0
  143. package/dist/SelectTooltip.d.ts +8 -0
  144. package/dist/SelectTree.d.ts +13 -0
  145. package/dist/SelectTreemap.d.ts +14 -0
  146. package/dist/SelectUnitInput.d.ts +17 -0
  147. package/dist/SelectVenn.d.ts +13 -0
  148. package/dist/SelectViolin.d.ts +18 -0
  149. package/dist/SelectWaffle.d.ts +11 -0
  150. package/dist/SelectWaterfall.d.ts +16 -0
  151. package/dist/SelectWordCloud.d.ts +14 -0
  152. package/dist/SelectWorkspaceSwitcher.d.ts +10 -0
  153. package/dist/SelectZoomThumbnail.d.ts +7 -0
  154. package/dist/chartTip.d.ts +26 -0
  155. package/dist/chartUtils.d.ts +76 -0
  156. package/dist/detectSelectTheme.d.ts +8 -0
  157. package/dist/icons.d.ts +85 -0
  158. package/dist/index.d.ts +234 -0
  159. package/dist/index.js +8329 -0
  160. package/dist/internal/document.d.ts +9 -0
  161. package/dist/internal/money.d.ts +8 -0
  162. package/dist/internal/phone.d.ts +22 -0
  163. package/dist/internal/useFocusTrap.d.ts +2 -0
  164. package/dist/internal/useSelectReveal.d.ts +75 -0
  165. package/dist/jsonTree.d.ts +87 -0
  166. package/dist/positioning.d.ts +17 -0
  167. package/dist/spacing.d.ts +10 -0
  168. package/dist/style.css +1 -0
  169. package/dist/uploadUtils.d.ts +16 -0
  170. package/dist/worldLand.d.ts +6 -0
  171. package/package.json +61 -0
@@ -0,0 +1,100 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Grid-track width for a date/time column — a FIXED width that fits a full pt-BR
4
+ * "dd/mm/aaaa, hh:mm" without clipping (the problem a bare `1fr` column had: it shared the
5
+ * slack equally with narrow status/badge columns and truncated the datetime).
6
+ *
7
+ * It MUST be a fixed length, NOT `max-content`/`min-content`/`auto`: the header and EACH row
8
+ * are SEPARATE grid containers (not one shared grid / subgrid), so a content-based track
9
+ * resolves independently per grid — the header sizes to the label ("Criação") while the rows
10
+ * size to the datetime — and the columns drift out of alignment. A fixed rem resolves to the
11
+ * same width in every grid, so head and cells stay locked. Pass as the `width` of any column
12
+ * that renders `formatDateTime`.
13
+ */
14
+ export declare const SELECT_COL_DATETIME = "9.5rem";
15
+ export interface SelectDataColumn<T> {
16
+ key: string;
17
+ title: ReactNode;
18
+ render: (item: T) => ReactNode;
19
+ align?: 'start' | 'end' | 'center';
20
+ width?: string;
21
+ /**
22
+ * Comparison value for client-side sorting — its presence makes the column sortable.
23
+ * Sorts only the LOADED page (the server page/order is the baseline; clearing the sort
24
+ * restores it). Return a number for money/quantity (coerce backend string amounts first)
25
+ * and an ISO string or epoch for dates; strings compare with pt-BR collation
26
+ * (numeric-aware, accent-insensitive). null/undefined/'' always sink to the end.
27
+ */
28
+ sortValue?: (item: T) => string | number | null | undefined;
29
+ /** Direction of the FIRST click on this column (default 'asc'; use 'desc' for dates/money
30
+ * so the first click answers "newest/biggest first"). */
31
+ sortDefault?: 'asc' | 'desc';
32
+ /** Whether the column can be hidden from the `columnsKey` picker. Defaults to "has a
33
+ * title" — untitled columns (actions) are never listed nor hideable. */
34
+ hideable?: boolean;
35
+ }
36
+ /**
37
+ * Page size the user picked for a given table (pair with `pagination.pageSizeOptions`/
38
+ * `onPageSizeChange`), persisted per table under the same key `columnsKey` uses. A stored
39
+ * value outside `options` (stale after a menu change) falls back to `fallback`. Storage
40
+ * guards mirror SelectMoney — storage unavailable = in-memory only.
41
+ */
42
+ export declare function useSelectPageSize(key: string, fallback: number, options?: number[]): [number, (size: number) => void];
43
+ export declare function SelectDataTable<T>({ columns, items, getId, loading, empty, pagination, onRowClick, title, action, columnsKey, }: {
44
+ columns: SelectDataColumn<T>[];
45
+ items: T[];
46
+ getId: (item: T) => string;
47
+ loading?: boolean;
48
+ empty?: {
49
+ icon?: ReactNode;
50
+ heading: ReactNode;
51
+ text?: ReactNode;
52
+ action?: ReactNode;
53
+ };
54
+ /**
55
+ * Footer pager. The cursor fields (hasPrevious/onPrevious/hasNext/onNext) are enough for a
56
+ * basic centered prev/next pager. Provide `total` + `pageSize` + `page` to show the count
57
+ * label, and additionally `onPage` (+ optional `pageCount`) to render numbered page buttons.
58
+ */
59
+ pagination?: {
60
+ hasPrevious: boolean;
61
+ onPrevious: () => void;
62
+ hasNext: boolean;
63
+ onNext: () => void;
64
+ /** Total item count across all pages (drives the "de N" label). */
65
+ total?: number;
66
+ /** Items per page — with `total` + `page` yields the "X–Y de N" range label. */
67
+ pageSize?: number;
68
+ /** Current page, 1-based. */
69
+ page?: number;
70
+ /** Total pages — enables numbered buttons when paired with `onPage`. */
71
+ pageCount?: number;
72
+ /** Jump to a 1-based page (enables numbered buttons). */
73
+ onPage?: (page: number) => void;
74
+ /** Noun for the count label, e.g. "produtos" (defaults to "resultados"). */
75
+ noun?: string;
76
+ /**
77
+ * Page-size menu ("N por página", bottom-left of the footer) — the user picks how many
78
+ * rows per page. Cap the options at 50% of the backend's zod max for the endpoint
79
+ * (e.g. max 100 → [10, 25, 50]). Requires `onPageSizeChange`; pair the state with
80
+ * `useSelectPageSize` so the choice persists per table.
81
+ */
82
+ pageSizeOptions?: number[];
83
+ /** Apply a new page size (also reset the offset to the first page in the caller). */
84
+ onPageSizeChange?: (size: number) => void;
85
+ };
86
+ onRowClick?: (item: T) => void;
87
+ /** Card title in the table's own header bar — renders a self-contained titled card
88
+ * (don't wrap in SelectSection; the table is already a card). */
89
+ title?: ReactNode;
90
+ /** Right-aligned header action (e.g. an "Adicionar" button). */
91
+ action?: ReactNode;
92
+ /**
93
+ * Enables the column-visibility picker (a gear in the header bar) and persists the
94
+ * hidden set in localStorage under this key — use a stable per-table slug (e.g.
95
+ * "checkout-sessions"). Columns are hideable by default when they have a `title`
96
+ * (opt out per column with `hideable: false`); at least one hideable column always
97
+ * stays visible.
98
+ */
99
+ columnsKey?: string;
100
+ }): import("react").JSX.Element;
@@ -0,0 +1,19 @@
1
+ export interface SelectDateFieldProps {
2
+ label?: string;
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ /** Include a time picker and emit "YYYY-MM-DDTHH:mm" (default: date only). */
6
+ showTime?: boolean;
7
+ placeholder?: string;
8
+ required?: boolean;
9
+ disabled?: boolean;
10
+ error?: string;
11
+ hint?: string;
12
+ /** Earliest / latest selectable day (inclusive); days outside are blocked. */
13
+ minDate?: Date | null;
14
+ maxDate?: Date | null;
15
+ /** Offer a "Limpar" action that empties the field (default true). */
16
+ clearable?: boolean;
17
+ id?: string;
18
+ }
19
+ export declare const SelectDateField: import('react').ForwardRefExoticComponent<SelectDateFieldProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectDateFieldProps> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,34 @@
1
+ export interface SelectDateRange {
2
+ from: Date | null;
3
+ to: Date | null;
4
+ }
5
+ export interface SelectDatePreset {
6
+ id: string;
7
+ label: string;
8
+ disabled?: boolean;
9
+ /** Computed at click time (so "now" is current). Omit for a non-selectable label. */
10
+ range?: () => SelectDateRange;
11
+ }
12
+ export type SelectDateLocale = 'en-US' | 'pt-BR';
13
+ export interface SelectDatePickerProps {
14
+ /** Initial range (the picker is uncontrolled; Apply commits via onApply). */
15
+ value?: SelectDateRange;
16
+ presets?: SelectDatePreset[];
17
+ onApply?: (range: SelectDateRange) => void;
18
+ onCancel?: () => void;
19
+ /** CSS custom property name to drive the accent (default --select-accent). */
20
+ accentVar?: string;
21
+ /** Calendar/labels language + date order (default 'en-US'). */
22
+ locale?: SelectDateLocale;
23
+ /** Show the From/To time pills (default true). Off for daily ranges. */
24
+ showTime?: boolean;
25
+ /** Latest selectable day — days after it are greyed out and blocked. */
26
+ maxDate?: Date | null;
27
+ /** Drop the card chrome (surface/border/shadow) so it sits flush in a popover. */
28
+ embedded?: boolean;
29
+ }
30
+ /** Mirrors the reference: minute/hour/day windows ending "now", plus All. */
31
+ export declare const SELECT_DATE_PRESETS: SelectDatePreset[];
32
+ /** PT-BR daily presets for dashboards/analytics (today / last N days, no time). */
33
+ export declare const SELECT_DAILY_PRESETS: SelectDatePreset[];
34
+ export declare const SelectDatePicker: import('react').ForwardRefExoticComponent<SelectDatePickerProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectDatePickerProps> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,20 @@
1
+ import { SelectPlacement } from './SelectPopover';
2
+ import { SelectDatePreset } from './SelectDatePicker';
3
+ export interface SelectDateRangeValue {
4
+ start: Date;
5
+ end: Date;
6
+ }
7
+ export interface SelectDateRangeFieldProps {
8
+ value: SelectDateRangeValue;
9
+ onChange: (range: SelectDateRangeValue) => void;
10
+ /** Quick presets in the rail (default: Hoje / 7 / 30 / 90 dias). */
11
+ presets?: SelectDatePreset[];
12
+ /** Latest selectable day. `null` allows future days; defaults to today. */
13
+ maxDate?: Date | null;
14
+ placement?: SelectPlacement;
15
+ size?: 'sm' | 'md';
16
+ disabled?: boolean;
17
+ /** Fill the available width (filter grids) instead of sizing to the range label. */
18
+ block?: boolean;
19
+ }
20
+ export declare function SelectDateRangeField({ value, onChange, presets, maxDate, placement, size, disabled, block, }: SelectDateRangeFieldProps): import("react").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { ReactNode, ComponentPropsWithoutRef } from 'react';
2
+ export declare function SelectDetailList({ children, stacked, loading, }: {
3
+ children: ReactNode;
4
+ stacked?: boolean;
5
+ /** Shimmer every row's value. The labels stay — only the values are unknown. */
6
+ loading?: boolean;
7
+ }): import("react").JSX.Element;
8
+ type SelectDetailRowOwnProps = {
9
+ label: ReactNode;
10
+ children: ReactNode;
11
+ /** Right-aligned action (e.g. an "Update" link). */
12
+ action?: ReactNode;
13
+ align?: 'center' | 'start';
14
+ /** Overrides the list's `loading` for this row alone. */
15
+ loading?: boolean;
16
+ };
17
+ export type SelectDetailRowProps = SelectDetailRowOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectDetailRowOwnProps>;
18
+ export declare const SelectDetailRow: import('react').ForwardRefExoticComponent<SelectDetailRowOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectDetailRowOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
19
+ export {};
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function SelectDisclosureButton({ open, onToggle, children, openLabel, disabled, size, variant, }: {
3
+ open: boolean;
4
+ onToggle: () => void;
5
+ /** Label shown when CLOSED (e.g. "Mostrar"). */
6
+ children: ReactNode;
7
+ /** Label shown when OPEN (e.g. "Ocultar"). Falls back to `children`. */
8
+ openLabel?: ReactNode;
9
+ disabled?: boolean;
10
+ size?: 'sm' | 'md' | 'lg';
11
+ variant?: 'primary' | 'secondary' | 'danger';
12
+ }): import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { ReactNode, ComponentPropsWithoutRef } from 'react';
2
+ type SelectDividerOwnProps = {
3
+ children?: ReactNode;
4
+ };
5
+ export type SelectDividerProps = SelectDividerOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectDividerOwnProps>;
6
+ export declare const SelectDivider: import('react').ForwardRefExoticComponent<SelectDividerOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "children"> & import('react').RefAttributes<HTMLDivElement>>;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ export declare function SelectDocumentField({ label, value, onChange, hint, error, onBlur, required, name, }: {
2
+ label?: string;
3
+ /** Clean digits (no mask). */
4
+ value: string;
5
+ onChange: (clean: string) => void;
6
+ hint?: string;
7
+ error?: string;
8
+ onBlur?: () => void;
9
+ required?: boolean;
10
+ name?: string;
11
+ }): import("react").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { ReactNode, ComponentPropsWithoutRef } from 'react';
2
+ import { SelectDonutSegment } from './chartUtils';
3
+ type SelectDonutOwnProps = {
4
+ segments: SelectDonutSegment[];
5
+ size?: number;
6
+ thickness?: number;
7
+ format?: (n: number) => string;
8
+ centerLabel?: ReactNode;
9
+ legend?: boolean;
10
+ /** Angular gap between slices, in degrees. */
11
+ gap?: number;
12
+ /** Render a full pie (no center hole) instead of a ring. */
13
+ pie?: boolean;
14
+ };
15
+ export type SelectDonutProps = SelectDonutOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectDonutOwnProps>;
16
+ export declare const SelectDonut: import('react').ForwardRefExoticComponent<SelectDonutOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectDonutOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
17
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare function SelectDotField({ className, theme, glowTarget }: {
2
+ className?: string;
3
+ theme?: 'light' | 'dark';
4
+ glowTarget?: string;
5
+ }): import("react").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ export interface SelectDumbbellDatum {
3
+ label: string;
4
+ from: number;
5
+ to: number;
6
+ }
7
+ type SelectDumbbellOwnProps = {
8
+ data: SelectDumbbellDatum[];
9
+ height?: number;
10
+ format?: (n: number) => string;
11
+ fromLabel?: string;
12
+ toLabel?: string;
13
+ labelWidth?: number;
14
+ };
15
+ export type SelectDumbbellProps = SelectDumbbellOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectDumbbellOwnProps>;
16
+ export declare function SelectDumbbell({ data, height, format, fromLabel, toLabel, labelWidth, className, ...rest }: SelectDumbbellProps): import("react").JSX.Element;
17
+ export {};
@@ -0,0 +1,14 @@
1
+ export interface SelectFeeLine {
2
+ label: string;
3
+ /** Deduction in CENTS (positive number = subtracted from gross). */
4
+ cents: number;
5
+ }
6
+ export interface SelectFeeBreakdownProps {
7
+ grossCents: number;
8
+ fees: SelectFeeLine[];
9
+ /** Net in CENTS. Defaults to gross − Σfees. */
10
+ netCents?: number;
11
+ grossLabel?: string;
12
+ netLabel?: string;
13
+ }
14
+ export declare const SelectFeeBreakdown: import('react').ForwardRefExoticComponent<SelectFeeBreakdownProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectFeeBreakdownProps> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,66 @@
1
+ import { KeyboardEvent, ReactNode, ComponentPropsWithoutRef } from 'react';
2
+ /** Shared label row: label text, an optional ⓘ info affordance, and a right action. */
3
+ type SelectLabelRowOwnProps = {
4
+ htmlFor: string;
5
+ label: ReactNode;
6
+ info?: string;
7
+ action?: ReactNode;
8
+ };
9
+ export type SelectLabelRowProps = SelectLabelRowOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectLabelRowOwnProps>;
10
+ export declare const SelectLabelRow: import('react').ForwardRefExoticComponent<SelectLabelRowOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectLabelRowOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
11
+ export interface SelectFieldProps {
12
+ /** Field label. Omit when an outer row already labels the field. */
13
+ label?: string;
14
+ value: string;
15
+ onChange: (value: string) => void;
16
+ type?: 'text' | 'email' | 'password' | 'url' | 'tel' | 'date' | 'datetime-local' | 'number';
17
+ /** Right-aligned action next to the label (e.g. a recovery link). */
18
+ labelAction?: ReactNode;
19
+ /** Small ⓘ affordance after the label, with this text as a tooltip. */
20
+ info?: string;
21
+ /** Helper text shown under the label, ABOVE the input (Clerk "Key" pattern). */
22
+ description?: ReactNode;
23
+ /** Helper text below the field (hidden when `error` is set). */
24
+ hint?: string;
25
+ /** Validation message below the field; also flips the input to its error style. */
26
+ error?: string;
27
+ /** Static text/icon inside the field, left of the value (e.g. "R$", "https://"). */
28
+ prefix?: ReactNode;
29
+ /** Static text/icon inside the field, right of the value (e.g. "%", "un."). */
30
+ suffix?: ReactNode;
31
+ /** Monospace the value (codes, keys, scripts). */
32
+ mono?: boolean;
33
+ autoComplete?: string;
34
+ placeholder?: string;
35
+ required?: boolean;
36
+ disabled?: boolean;
37
+ readOnly?: boolean;
38
+ name?: string;
39
+ id?: string;
40
+ minLength?: number;
41
+ maxLength?: number;
42
+ /** Numeric bounds (type="number"). */
43
+ min?: number | string;
44
+ max?: number | string;
45
+ step?: number | string;
46
+ inputMode?: 'text' | 'email' | 'numeric' | 'tel' | 'url' | 'decimal';
47
+ autoFocus?: boolean;
48
+ onBlur?: () => void;
49
+ /** Key handler on the input (e.g. Enter-to-add in chip lists). */
50
+ onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;
51
+ /** Control density. Default `md`; use `sm` in dense surfaces (filters/toolbars/row
52
+ * actions) and in modal/card forms. See the sizing policy in the /select showcase. */
53
+ size?: 'sm' | 'md';
54
+ }
55
+ export declare const SelectField: import('react').ForwardRefExoticComponent<SelectFieldProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectFieldProps> & import('react').RefAttributes<HTMLDivElement>>;
56
+ type SelectCheckboxOwnProps = {
57
+ label: ReactNode;
58
+ checked: boolean;
59
+ onChange: (checked: boolean) => void;
60
+ disabled?: boolean;
61
+ hint?: ReactNode;
62
+ name?: string;
63
+ };
64
+ export type SelectCheckboxProps = SelectCheckboxOwnProps & Omit<ComponentPropsWithoutRef<'span'>, keyof SelectCheckboxOwnProps>;
65
+ export declare const SelectCheckbox: import('react').ForwardRefExoticComponent<SelectCheckboxOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref">, keyof SelectCheckboxOwnProps> & import('react').RefAttributes<HTMLSpanElement>>;
66
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ReactNode, ComponentPropsWithoutRef } from 'react';
2
+ type SelectFieldGridOwnProps = {
3
+ children: ReactNode;
4
+ columns?: 2 | 3;
5
+ };
6
+ export type SelectFieldGridProps = SelectFieldGridOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectFieldGridOwnProps>;
7
+ export declare const SelectFieldGrid: import('react').ForwardRefExoticComponent<SelectFieldGridOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectFieldGridOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
8
+ export {};
@@ -0,0 +1,13 @@
1
+ export interface SelectFileDropzoneProps {
2
+ files: File[];
3
+ onChange: (files: File[]) => void;
4
+ /** Allowed extensions/MIME, e.g. '.pdf,.jpg,.jpeg,.png' or 'image/*,application/pdf'. */
5
+ accept?: string;
6
+ /** Per-file size cap in MB. Default 10. */
7
+ maxSizeMB?: number;
8
+ allowMultiple?: boolean;
9
+ /** Optional cap on the number of files; hides the add tile once reached. */
10
+ maxFiles?: number;
11
+ hint?: string;
12
+ }
13
+ export declare const SelectFileDropzone: import('react').ForwardRefExoticComponent<SelectFileDropzoneProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectFileDropzoneProps> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,15 @@
1
+ export interface SelectFileTileProps {
2
+ /** Image URL (object URL for a File, or an https URL). Omit for a non-image doc tile. */
3
+ src?: string;
4
+ /** Extension shown on the doc tile when there's no image, e.g. "PDF". */
5
+ docExt?: string;
6
+ /** Primary label under the tile (filename or hostname). */
7
+ name: string;
8
+ /** Optional secondary line (e.g. file size). */
9
+ sub?: string;
10
+ /** Optional badge shown over the tile (e.g. "atual" for an existing image). */
11
+ badge?: string;
12
+ /** Remove handler; when omitted the tile is read-only (no remove button). */
13
+ onRemove?: () => void;
14
+ }
15
+ export declare const SelectFileTile: import('react').ForwardRefExoticComponent<SelectFileTileProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectFileTileProps> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,28 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ export interface SelectFilterDef {
3
+ key: string;
4
+ label: string;
5
+ type: 'text' | 'select' | 'date';
6
+ placeholder?: string;
7
+ options?: {
8
+ label: string;
9
+ value: string;
10
+ }[];
11
+ pinned?: boolean;
12
+ }
13
+ type SelectFilterBarOwnProps = {
14
+ filters: SelectFilterDef[];
15
+ values: Record<string, string>;
16
+ onChange: (key: string, value: string) => void;
17
+ onClearAll: () => void;
18
+ /** Dedicated free-text query field (the Polaris query). Omit to hide it. */
19
+ search?: {
20
+ value: string;
21
+ onChange: (value: string) => void;
22
+ placeholder?: string;
23
+ };
24
+ disabled?: boolean;
25
+ };
26
+ export type SelectFilterBarProps = SelectFilterBarOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectFilterBarOwnProps>;
27
+ export declare const SelectFilterBar: import('react').ForwardRefExoticComponent<SelectFilterBarOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectFilterBarOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
28
+ export {};
@@ -0,0 +1,9 @@
1
+ import { ReactNode, ComponentPropsWithoutRef } from 'react';
2
+ type SelectFilterChipOwnProps = {
3
+ children: ReactNode;
4
+ onClick?: () => void;
5
+ active?: boolean;
6
+ };
7
+ export type SelectFilterChipProps = SelectFilterChipOwnProps & Omit<ComponentPropsWithoutRef<'button'>, keyof SelectFilterChipOwnProps>;
8
+ export declare const SelectFilterChip: import('react').ForwardRefExoticComponent<SelectFilterChipOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, keyof SelectFilterChipOwnProps> & import('react').RefAttributes<HTMLButtonElement>>;
9
+ export {};
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ declare function SelectFormLayoutRoot({ children }: {
3
+ children: ReactNode;
4
+ }): import("react").JSX.Element;
5
+ declare function SelectFormLayoutGroup({ children, columns }: {
6
+ children: ReactNode;
7
+ columns?: number;
8
+ }): import("react").JSX.Element;
9
+ export declare const SelectFormLayout: typeof SelectFormLayoutRoot & {
10
+ Group: typeof SelectFormLayoutGroup;
11
+ };
12
+ export {};
@@ -0,0 +1,18 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function SelectFormModal({ open, onClose, onSubmit, title, subtitle, children, submitLabel, cancelLabel, submitting, submitDisabled, submitVariant, error, size, theme, }: {
3
+ open: boolean;
4
+ onClose: () => void;
5
+ onSubmit: () => void;
6
+ title: ReactNode;
7
+ subtitle?: ReactNode;
8
+ children: ReactNode;
9
+ submitLabel?: string;
10
+ cancelLabel?: string;
11
+ submitting?: boolean;
12
+ submitDisabled?: boolean;
13
+ /** `danger` paints the submit button red for irreversible actions (e.g. estorno). */
14
+ submitVariant?: 'primary' | 'danger';
15
+ error?: ReactNode;
16
+ size?: 'sm' | 'md' | 'lg' | 'xl';
17
+ theme?: 'light' | 'dark';
18
+ }): import("react").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import { SelectFunnelStage } from './chartUtils';
3
+ type SelectFunnelOwnProps = {
4
+ stages: SelectFunnelStage[];
5
+ format?: (n: number) => string;
6
+ };
7
+ export type SelectFunnelProps = SelectFunnelOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectFunnelOwnProps>;
8
+ export declare const SelectFunnel: import('react').ForwardRefExoticComponent<SelectFunnelOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectFunnelOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
9
+ export {};
@@ -0,0 +1,18 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ type SelectGaugeOwnProps = {
3
+ /** Percentage 0–100 (drives the arc sweep). */
4
+ value: number;
5
+ label?: string;
6
+ caption?: string;
7
+ /** Outer width in px at the base 16px root; rendered in rem so it scales with the fluid
8
+ * root font-size (the viewBox keeps the geometry crisp). Default 220. */
9
+ size?: number;
10
+ thickness?: number;
11
+ /** Override the progress arc colour (default brand gradient). */
12
+ color?: string;
13
+ /** Format the center number (default "NN%"). */
14
+ format?: (n: number) => string;
15
+ };
16
+ export type SelectGaugeProps = SelectGaugeOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectGaugeOwnProps>;
17
+ export declare const SelectGauge: import('react').ForwardRefExoticComponent<SelectGaugeOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectGaugeOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
18
+ export {};
@@ -0,0 +1,18 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ export interface SelectGaugeBand {
3
+ /** Upper bound of this band (in value units). */
4
+ upTo: number;
5
+ color: string;
6
+ }
7
+ type SelectGaugeBandsOwnProps = {
8
+ value: number;
9
+ max?: number;
10
+ bands: SelectGaugeBand[];
11
+ size?: number;
12
+ thickness?: number;
13
+ label?: string;
14
+ format?: (n: number) => string;
15
+ };
16
+ export type SelectGaugeBandsProps = SelectGaugeBandsOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectGaugeBandsOwnProps>;
17
+ export declare const SelectGaugeBands: import('react').ForwardRefExoticComponent<SelectGaugeBandsOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectGaugeBandsOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
18
+ export {};
@@ -0,0 +1,47 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ export interface SelectGlobePoint {
3
+ lat: number;
4
+ lng: number;
5
+ label: string;
6
+ value?: number;
7
+ color?: string;
8
+ }
9
+ export interface SelectGlobeArc {
10
+ from: {
11
+ lat: number;
12
+ lng: number;
13
+ };
14
+ to: {
15
+ lat: number;
16
+ lng: number;
17
+ };
18
+ color?: string;
19
+ }
20
+ type SelectGlobeOwnProps = {
21
+ points?: SelectGlobePoint[];
22
+ arcs?: SelectGlobeArc[];
23
+ /** Outer width/height in px at the base 16px root (square). The box renders in rem so it
24
+ * scales with the app's fluid root font-size; the SVG tracks the real px. Default 320.
25
+ * Ignored when fluid=true. */
26
+ size?: number;
27
+ /** Fill the parent's full width instead of a fixed rem size — use with a negative-margin
28
+ * wrapper to let the sphere bleed beyond the card boundary. */
29
+ fluid?: boolean;
30
+ /** Initial latitude tilt of the globe, degrees (negative leans the north pole away). */
31
+ tilt?: number;
32
+ /** Auto-rotate when idle. */
33
+ spin?: boolean;
34
+ /** Idle auto-rotation speed, degrees/second. */
35
+ speed?: number;
36
+ color?: string;
37
+ format?: (n: number) => string;
38
+ legend?: boolean;
39
+ /** Draw the real continents (Natural Earth land). */
40
+ map?: boolean;
41
+ /** Notified after each scroll-zoom step with the new scale (clamped 0.8–1.8). Lets the
42
+ * host derive granularity from zoom, maps-style (e.g. country → state → city). */
43
+ onZoomChange?: (scale: number) => void;
44
+ };
45
+ export type SelectGlobeProps = SelectGlobeOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectGlobeOwnProps>;
46
+ export declare const SelectGlobe: import('react').ForwardRefExoticComponent<SelectGlobeOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectGlobeOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
47
+ export {};
@@ -0,0 +1,26 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ export interface SelectHeatmapRow {
3
+ label: string;
4
+ /** Values aligned to `columns`; null = empty cell. */
5
+ values: (number | null)[];
6
+ }
7
+ type SelectHeatmapOwnProps = {
8
+ columns: string[];
9
+ rows: SelectHeatmapRow[];
10
+ /** Value printed INSIDE the cell — kept compact, the cell is narrow. */
11
+ format?: (n: number) => string;
12
+ /** Value in the TOOLTIP. Defaults to `format`; pass the exact formatter for money. */
13
+ formatValue?: (n: number) => string;
14
+ /** Base colour the cells are tinted from. */
15
+ color?: string;
16
+ /** Print the value inside each cell. Default true (turn off for dense grids). */
17
+ showValues?: boolean;
18
+ /** Colour-scale bounds; derived from the data when omitted. */
19
+ min?: number;
20
+ max?: number;
21
+ /** Minimum cell width in px. Default 40. */
22
+ cellSize?: number;
23
+ };
24
+ export type SelectHeatmapProps = SelectHeatmapOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectHeatmapOwnProps>;
25
+ export declare const SelectHeatmap: import('react').ForwardRefExoticComponent<SelectHeatmapOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectHeatmapOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
26
+ export {};
@@ -0,0 +1,18 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ export interface SelectHexPoint {
3
+ x: number;
4
+ y: number;
5
+ }
6
+ type SelectHexbinOwnProps = {
7
+ points: SelectHexPoint[];
8
+ height?: number;
9
+ /** Hex radius in px. */
10
+ radius?: number;
11
+ color?: string;
12
+ xMax?: number;
13
+ yMax?: number;
14
+ format?: (n: number) => string;
15
+ };
16
+ export type SelectHexbinProps = SelectHexbinOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectHexbinOwnProps>;
17
+ export declare function SelectHexbin({ points, height, radius, color, xMax: xMaxProp, yMax: yMaxProp, format, className, ...rest }: SelectHexbinProps): import("react").JSX.Element;
18
+ export {};
@@ -0,0 +1,23 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import { SelectBarDatum } from './chartUtils';
3
+ type SelectHorizontalBarOwnProps = {
4
+ data: SelectBarDatum[];
5
+ height?: number;
6
+ /** Single colour for all bars (when `distributed` is false). */
7
+ color?: string;
8
+ /** Axis ticks. Compact by design — the axis has no room for exact amounts. */
9
+ format?: (n: number) => string;
10
+ /**
11
+ * The TOOLTIP value. Defaults to `format`, but pass the exact formatter for money: a tooltip is
12
+ * where the user goes to read the precise number, and a compact axis formatter turns R$ 3.000,00
13
+ * into "R$ 3 mil" — the one place rounding is not acceptable.
14
+ */
15
+ formatValue?: (n: number) => string;
16
+ /** One hue per row (default). Set false to use a single `color`. */
17
+ distributed?: boolean;
18
+ /** Width reserved for the category labels. Omit to size it from the longest label (recommended). */
19
+ labelWidth?: number;
20
+ };
21
+ export type SelectHorizontalBarProps = SelectHorizontalBarOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectHorizontalBarOwnProps>;
22
+ export declare function SelectHorizontalBar({ data, height, color, format, formatValue, distributed, labelWidth, className, ...rest }: SelectHorizontalBarProps): import("react").JSX.Element;
23
+ export {};