@iclips/ui 1.4.6 → 1.4.8

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.
@@ -4,6 +4,21 @@ export interface ComboboxOption {
4
4
  label: string;
5
5
  disabled?: boolean;
6
6
  }
7
+ export interface ComboboxGroup {
8
+ /**
9
+ * Rótulo do grupo — renderizado em negrito e caixa alta
10
+ */
11
+ label: string;
12
+ /**
13
+ * Quando presente, o cabeçalho do grupo é selecionável e representa o próprio grupo.
14
+ * Sem `value`, o cabeçalho é apenas um rótulo visual não clicável.
15
+ */
16
+ value?: string;
17
+ /**
18
+ * Opções pertencentes ao grupo — renderizadas indentadas, em peso normal
19
+ */
20
+ options: ComboboxOption[];
21
+ }
7
22
  export interface ComboboxProps {
8
23
  /**
9
24
  * Valor selecionado atual
@@ -14,9 +29,15 @@ export interface ComboboxProps {
14
29
  */
15
30
  onValueChange?: (value: string) => void;
16
31
  /**
17
- * Lista de opções disponíveis
32
+ * Lista de opções disponíveis.
33
+ * Use `options` OU `groups` — nunca os dois ao mesmo tempo.
18
34
  */
19
- options: ComboboxOption[];
35
+ options?: ComboboxOption[];
36
+ /**
37
+ * Opções agrupadas hierarquicamente.
38
+ * Use `options` OU `groups` — nunca os dois ao mesmo tempo.
39
+ */
40
+ groups?: ComboboxGroup[];
20
41
  /**
21
42
  * Placeholder quando nenhum valor está selecionado
22
43
  */
@@ -72,6 +93,7 @@ export interface ComboboxProps {
72
93
  *
73
94
  * @example
74
95
  * ```tsx
96
+ * // Lista plana
75
97
  * <Combobox
76
98
  * value={clienteId}
77
99
  * onValueChange={setClienteId}
@@ -79,7 +101,18 @@ export interface ComboboxProps {
79
101
  * placeholder="Selecione o cliente"
80
102
  * searchPlaceholder="Buscar cliente..."
81
103
  * />
104
+ *
105
+ * // Lista hierárquica — grupos selecionáveis com seus clientes indentados
106
+ * <Combobox
107
+ * value={selecao}
108
+ * onValueChange={setSelecao}
109
+ * groups={grupos.map(g => ({
110
+ * label: g.nomeGrupo,
111
+ * value: `g-${g.grupoClienteId}`,
112
+ * options: g.clientes.map(c => ({ value: String(c.id), label: c.nome })),
113
+ * }))}
114
+ * />
82
115
  * ```
83
116
  */
84
- export declare function Combobox({ value, onValueChange, options, placeholder, searchPlaceholder, emptyMessage, disabled, loading, className, popoverWidth, maxHeight, align, clearable, filterFn, }: ComboboxProps): React.JSX.Element;
117
+ export declare function Combobox({ value, onValueChange, options, groups, placeholder, searchPlaceholder, emptyMessage, disabled, loading, className, popoverWidth, maxHeight, align, clearable, filterFn, }: ComboboxProps): React.JSX.Element;
85
118
  //# sourceMappingURL=combobox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;OAEG;IACH,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACpE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,aAAa,EACb,OAAO,EACP,WAA6B,EAC7B,iBAA+B,EAC/B,YAA4C,EAC5C,QAAgB,EAChB,OAAe,EACf,SAAS,EACT,YAAY,EACZ,SAAmB,EACnB,KAAe,EACf,SAAiB,EACjB,QAAQ,GACT,EAAE,aAAa,qBAgIf"}
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAE3B;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,WAA6B,EAC7B,iBAA+B,EAC/B,YAA4C,EAC5C,QAAgB,EAChB,OAAe,EACf,SAAS,EACT,YAAY,EACZ,SAAmB,EACnB,KAAe,EACf,SAAiB,EACjB,QAAQ,GACT,EAAE,aAAa,qBAkOf"}