@blukavantui/community 1.0.1 → 1.1.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 (160) hide show
  1. package/README.md +11 -5
  2. package/dist/build-audit.json +181 -53
  3. package/dist/checkbox.css +1 -0
  4. package/dist/checkbox.d.ts +2 -0
  5. package/dist/checkbox.js +1 -0
  6. package/dist/chunk-3PNBQVYS.js +1 -0
  7. package/dist/chunk-5ENZVZGF.js +0 -0
  8. package/dist/chunk-AL2ETLJV.js +1 -0
  9. package/dist/chunk-BN3PDE5G.js +0 -0
  10. package/dist/chunk-EOKNLCNS.js +1 -0
  11. package/dist/chunk-EPZGLHPD.js +0 -0
  12. package/dist/chunk-FNX33PDD.js +0 -0
  13. package/dist/chunk-GXHANADL.js +1 -0
  14. package/dist/chunk-HO6CYWED.js +0 -0
  15. package/dist/chunk-IJ62ILKE.js +0 -0
  16. package/dist/chunk-IO22GWON.js +0 -0
  17. package/dist/chunk-IZJN3EF7.js +1 -0
  18. package/dist/chunk-JVE6CXCJ.js +1 -0
  19. package/dist/chunk-MYVLBALF.js +1 -0
  20. package/dist/chunk-OPMD7QNV.js +1 -0
  21. package/dist/chunk-RWBLICYX.js +0 -0
  22. package/dist/chunk-RYD6RHRX.js +0 -0
  23. package/dist/chunk-UN2SLVFG.js +1 -0
  24. package/dist/chunk-VJVFHL6P.js +0 -0
  25. package/dist/chunk-XWXEH3SW.js +1 -0
  26. package/dist/chunk-YCLR3IE3.js +0 -0
  27. package/dist/columns2.css +1 -0
  28. package/dist/columns2.d.ts +2 -0
  29. package/dist/columns2.js +1 -0
  30. package/dist/columns3.css +1 -0
  31. package/dist/columns3.d.ts +2 -0
  32. package/dist/columns3.js +1 -0
  33. package/dist/columns4.css +1 -0
  34. package/dist/columns4.d.ts +2 -0
  35. package/dist/columns4.js +1 -0
  36. package/dist/content.js +1 -1
  37. package/dist/core.js +1 -1
  38. package/dist/data.css +63 -0
  39. package/dist/data.d.ts +1 -0
  40. package/dist/data.js +1 -1
  41. package/dist/date-picker.css +5 -5
  42. package/dist/date-picker.js +1 -1
  43. package/dist/date-range-picker.css +5 -5
  44. package/dist/date-range-picker.js +1 -1
  45. package/dist/date-time-picker.css +5 -5
  46. package/dist/date-time-picker.js +1 -1
  47. package/dist/draft-components.json +77 -0
  48. package/dist/feedback.js +1 -1
  49. package/dist/form-field.css +1 -0
  50. package/dist/form-field.d.ts +2 -0
  51. package/dist/form-field.js +1 -0
  52. package/dist/form-layout/choice.d.ts +15 -0
  53. package/dist/form-layout/layout.d.ts +12 -0
  54. package/dist/form-layout/select.d.ts +3 -0
  55. package/dist/form-layout/shared.d.ts +21 -0
  56. package/dist/form-layout/table.d.ts +20 -0
  57. package/dist/form-layout/text.d.ts +3 -0
  58. package/dist/form-layout/types.d.ts +151 -0
  59. package/dist/form-layout.css +62 -0
  60. package/dist/form-layout.d.ts +12 -0
  61. package/dist/form-layout.js +1 -0
  62. package/dist/index.d.ts +1 -0
  63. package/dist/index.js +1 -1
  64. package/dist/inputs.css +83 -20
  65. package/dist/inputs.d.ts +8 -0
  66. package/dist/inputs.js +1 -1
  67. package/dist/layout.css +63 -0
  68. package/dist/layout.d.ts +3 -0
  69. package/dist/layout.js +1 -1
  70. package/dist/native/date-picker.js +1 -1
  71. package/dist/native/date-range-picker.js +1 -1
  72. package/dist/native/date-time-picker.js +1 -1
  73. package/dist/native/form-layout.js +1 -0
  74. package/dist/native/time-picker.js +1 -1
  75. package/dist/native-components/form-layout.d.ts +1 -0
  76. package/dist/radio-button.css +1 -0
  77. package/dist/radio-button.d.ts +2 -0
  78. package/dist/radio-button.js +1 -0
  79. package/dist/radio-group.css +1 -0
  80. package/dist/radio-group.d.ts +2 -0
  81. package/dist/radio-group.js +1 -0
  82. package/dist/select.css +1 -0
  83. package/dist/select.d.ts +2 -0
  84. package/dist/select.js +1 -0
  85. package/dist/sizes.json +272 -90
  86. package/dist/styles.css +83 -20
  87. package/dist/switch.css +1 -0
  88. package/dist/switch.d.ts +2 -0
  89. package/dist/switch.js +1 -0
  90. package/dist/table.css +1 -0
  91. package/dist/table.d.ts +2 -0
  92. package/dist/table.js +1 -0
  93. package/dist/text-area.css +1 -0
  94. package/dist/text-area.d.ts +2 -0
  95. package/dist/text-area.js +1 -0
  96. package/dist/text-input.css +1 -0
  97. package/dist/text-input.d.ts +2 -0
  98. package/dist/text-input.js +1 -0
  99. package/dist/time-picker.css +5 -5
  100. package/dist/time-picker.js +1 -1
  101. package/docs/FORM-LAYOUT-ESSENTIALS.md +122 -0
  102. package/docs/PUBLISHING.md +129 -25
  103. package/draft-components.json +77 -0
  104. package/edition.json +44 -7
  105. package/npm-shrinkwrap.json +2 -2
  106. package/package.json +76 -10
  107. package/scripts/build.mjs +16 -8
  108. package/src/checkbox.ts +2 -0
  109. package/src/columns2.ts +2 -0
  110. package/src/columns3.ts +2 -0
  111. package/src/columns4.ts +2 -0
  112. package/src/data.ts +1 -0
  113. package/src/form-field.ts +2 -0
  114. package/src/form-layout/choice.ts +66 -0
  115. package/src/form-layout/layout.ts +40 -0
  116. package/src/form-layout/select.ts +97 -0
  117. package/src/form-layout/shared.ts +57 -0
  118. package/src/form-layout/table.ts +86 -0
  119. package/src/form-layout/text.ts +73 -0
  120. package/src/form-layout/types.ts +59 -0
  121. package/src/form-layout.ts +12 -0
  122. package/src/index.ts +2 -0
  123. package/src/inputs.ts +8 -0
  124. package/src/layout.ts +3 -0
  125. package/src/native-components/form-layout.ts +21 -0
  126. package/src/radio-button.ts +2 -0
  127. package/src/radio-group.ts +2 -0
  128. package/src/runtime/date-picker.js +21 -12
  129. package/src/runtime/date-range-picker.js +21 -12
  130. package/src/runtime/date-time-picker.js +21 -12
  131. package/src/runtime/time-picker.js +21 -12
  132. package/src/select.ts +2 -0
  133. package/src/switch.ts +2 -0
  134. package/src/table.ts +2 -0
  135. package/src/text-area.ts +2 -0
  136. package/src/text-input.ts +2 -0
  137. package/src/types.ts +0 -12
  138. package/styles/checkbox.css +1 -0
  139. package/styles/columns2.css +1 -0
  140. package/styles/columns3.css +1 -0
  141. package/styles/columns4.css +1 -0
  142. package/styles/date-picker.css +5 -5
  143. package/styles/date-range-picker.css +5 -5
  144. package/styles/date-time-picker.css +5 -5
  145. package/styles/form-field.css +1 -0
  146. package/styles/form-layout.css +62 -0
  147. package/styles/radio-button.css +1 -0
  148. package/styles/radio-group.css +1 -0
  149. package/styles/select.css +1 -0
  150. package/styles/switch.css +1 -0
  151. package/styles/table.css +1 -0
  152. package/styles/text-area.css +1 -0
  153. package/styles/text-input.css +1 -0
  154. package/styles/time-picker.css +5 -5
  155. package/test/form-layout.test.mjs +28 -0
  156. package/test/isolation.test.mjs +2 -2
  157. package/dist/chunk-2TCNAQC6.js +0 -1
  158. package/dist/chunk-CTLZIWMX.js +0 -1
  159. package/dist/chunk-MHHJZYXW.js +0 -1
  160. package/dist/chunk-XDYBNO4P.js +0 -1
@@ -0,0 +1,20 @@
1
+ import type { TableOptions, TableEvents } from './types.js';
2
+ export declare function tableRows<Row extends object>(options: TableOptions<Row>): {
3
+ rows: Row[];
4
+ page: number;
5
+ pages: number;
6
+ total: number;
7
+ start: number;
8
+ end: number;
9
+ };
10
+ /** Semantic HTML table, client-side sorting/paging, no grid engine or editing model. */
11
+ export declare function createTable<Row extends object>(host: HTMLElement, initial: TableOptions<Row>, events?: TableEvents<Row>): {
12
+ element: HTMLDivElement;
13
+ update: (patch: Partial<TableOptions<Row>>) => void;
14
+ getState: () => {
15
+ Page: number;
16
+ SortKey: Extract<keyof Row, string> | undefined;
17
+ SortDirection: "Ascending" | "Descending";
18
+ };
19
+ destroy(): void;
20
+ };
@@ -0,0 +1,3 @@
1
+ import type { TextInputOptions, TextInputEvents, TextAreaOptions, FieldEvents, FieldComponent } from './types.js';
2
+ export declare function createTextInput(host: HTMLElement, initial?: TextInputOptions, events?: TextInputEvents): FieldComponent<TextInputOptions, string>;
3
+ export declare function createTextArea(host: HTMLElement, initial?: TextAreaOptions, events?: FieldEvents<string>): FieldComponent<TextAreaOptions, string>;
@@ -0,0 +1,151 @@
1
+ /** Local Community additions. Not present in the published 1.0.1 package. */
2
+ export type FieldSize = 'Small' | 'Medium' | 'Large';
3
+ export interface FieldOptions {
4
+ Id?: string;
5
+ Name?: string;
6
+ Label?: string;
7
+ Description?: string;
8
+ Error?: string;
9
+ Required?: boolean;
10
+ Disabled?: boolean;
11
+ ReadOnly?: boolean;
12
+ Size?: FieldSize;
13
+ ExtendedClass?: string;
14
+ }
15
+ export interface FieldEvents<T> {
16
+ Change?: (value: T) => void;
17
+ Blur?: () => void;
18
+ }
19
+ export interface FieldComponent<P, T> {
20
+ element: HTMLElement;
21
+ control: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;
22
+ update(patch: Partial<P>): void;
23
+ getValue(): T;
24
+ reset(): void;
25
+ focus(): void;
26
+ validate(): boolean;
27
+ destroy(): void;
28
+ }
29
+ export type Adornment = {
30
+ Kind: 'Text';
31
+ Text: string;
32
+ } | {
33
+ Kind: 'Icon';
34
+ Text: string;
35
+ Label?: string;
36
+ } | {
37
+ Kind: 'Image';
38
+ Src: string;
39
+ Alt: string;
40
+ } | {
41
+ Kind: 'Action';
42
+ Text: string;
43
+ Label: string;
44
+ Key: string;
45
+ };
46
+ export interface TextInputOptions extends FieldOptions {
47
+ Value?: string;
48
+ Type?: 'text' | 'email' | 'password' | 'search' | 'tel' | 'url';
49
+ Placeholder?: string;
50
+ MaxLength?: number;
51
+ Autocomplete?: string;
52
+ Leading?: Adornment;
53
+ Trailing?: Adornment;
54
+ Clearable?: boolean;
55
+ RevealPassword?: boolean;
56
+ }
57
+ export interface TextInputEvents extends FieldEvents<string> {
58
+ Action?: (key: string, value: string) => void;
59
+ }
60
+ export interface TextAreaOptions extends FieldOptions {
61
+ Value?: string;
62
+ Placeholder?: string;
63
+ Rows?: number;
64
+ MaxLength?: number;
65
+ AutoGrow?: boolean;
66
+ MaxHeight?: number;
67
+ ShowCount?: boolean;
68
+ }
69
+ export interface CheckboxOptions extends FieldOptions {
70
+ Checked?: boolean;
71
+ Indeterminate?: boolean;
72
+ Value?: string;
73
+ }
74
+ export interface SwitchOptions extends FieldOptions {
75
+ Checked?: boolean;
76
+ OnText?: string;
77
+ OffText?: string;
78
+ }
79
+ export interface RadioButtonOptions extends FieldOptions {
80
+ Checked?: boolean;
81
+ Value: string;
82
+ }
83
+ export interface Choice {
84
+ Value: string;
85
+ Label: string;
86
+ Description?: string;
87
+ Disabled?: boolean;
88
+ }
89
+ export interface RadioGroupOptions extends FieldOptions {
90
+ Value?: string;
91
+ Options: Choice[];
92
+ Direction?: 'Horizontal' | 'Vertical';
93
+ }
94
+ export interface SelectOptions extends FieldOptions {
95
+ Value?: string;
96
+ Options: Choice[];
97
+ Placeholder?: string;
98
+ Clearable?: boolean;
99
+ Searchable?: boolean;
100
+ }
101
+ export interface FormFieldOptions extends FieldOptions {
102
+ Control?: HTMLElement;
103
+ }
104
+ export interface ColumnsOptions {
105
+ Ratio?: 'Equal' | 'OneThirdTwoThirds' | 'TwoThirdsOneThird' | 'OneQuarterThreeQuarters' | 'ThreeQuartersOneQuarter' | 'WideCenter';
106
+ /** Match column heights within a row and stretch a single content wrapper. Stacked rows keep natural height. */
107
+ EqualHeight?: boolean;
108
+ Gap?: number;
109
+ Align?: 'Start' | 'Center' | 'End' | 'Stretch';
110
+ StackAt?: 'Small' | 'Medium' | 'Large';
111
+ ExtendedClass?: string;
112
+ }
113
+ export interface ColumnsComponent {
114
+ element: HTMLElement;
115
+ columns: HTMLElement[];
116
+ update(patch: Partial<ColumnsOptions>): void;
117
+ destroy(): void;
118
+ }
119
+ export interface TableColumn<Row extends object> {
120
+ Key: Extract<keyof Row, string>;
121
+ Header: string;
122
+ Sortable?: boolean;
123
+ Align?: 'Left' | 'Center' | 'Right';
124
+ Format?: (value: Row[Extract<keyof Row, string>], row: Row) => string;
125
+ }
126
+ export interface TableAction<Row> {
127
+ Key: string;
128
+ Label: string;
129
+ Disabled?: boolean | ((row: Row) => boolean);
130
+ }
131
+ export interface TableOptions<Row extends object> {
132
+ Columns: TableColumn<Row>[];
133
+ Rows: Row[];
134
+ Caption: string;
135
+ RowKey?: Extract<keyof Row, string>;
136
+ Actions?: TableAction<Row>[];
137
+ Loading?: boolean;
138
+ EmptyMessage?: string;
139
+ PageSize?: number;
140
+ Page?: number;
141
+ SortKey?: Extract<keyof Row, string>;
142
+ SortDirection?: 'Ascending' | 'Descending';
143
+ Density?: 'Compact' | 'Comfortable';
144
+ Striped?: boolean;
145
+ ExtendedClass?: string;
146
+ }
147
+ export interface TableEvents<Row> {
148
+ RowAction?: (key: string, row: Row) => void;
149
+ SortChanged?: (key: Extract<keyof Row, string>, direction: 'Ascending' | 'Descending') => void;
150
+ PageChanged?: (page: number) => void;
151
+ }
@@ -0,0 +1,62 @@
1
+ /* Community Form & Layout Essentials — local draft; no OutSystems UI selectors. */
2
+ .blu-field,.blu-columns,.blu-table{box-sizing:border-box;min-width:0;color:var(--bluui-text,#182230);font-family:var(--blu-font-family,Inter,system-ui,sans-serif);font-size:14px}
3
+ .blu-field *,.blu-columns *,.blu-table *{box-sizing:border-box}
4
+ .blu-field [hidden],.blu-table [hidden]{display:none!important}
5
+ .blu-field{--blu-field-height:42px;--blu-field-padding:12px;display:flex;flex-direction:column;gap:7px;border:0;padding:0;margin:0;min-inline-size:0}
6
+ .blu-field--small{--blu-field-height:34px;--blu-field-padding:9px;font-size:13px}.blu-field--large{--blu-field-height:50px;--blu-field-padding:15px;font-size:16px}
7
+ .blu-field__label{font-weight:600;line-height:1.5;padding:0;margin:0 0 2px}.blu-field__body{min-width:0}
8
+ .blu-field__help,.blu-choice__description,.blu-field__count{font-size:12px;color:var(--bluui-text-muted,#5c6b80);line-height:1.5}.blu-field__error{color:var(--bluui-color-error-text,#b42318);font-size:12px;line-height:1.5}.blu-field__count{text-align:end;margin-top:5px;font-variant-numeric:tabular-nums}
9
+ .blu-text,.blu-textarea,.blu-select__trigger{border:1px solid var(--bluui-control-border,#7b8799);border-radius:var(--blu-radius-md,8px);background:var(--bluui-surface,#fff);color:inherit;transition:border-color .12s,box-shadow .12s}
10
+ .blu-text{display:flex;align-items:center;gap:8px;min-height:var(--blu-field-height);padding:0 var(--blu-field-padding)}
11
+ .blu-text__input{width:100%;min-width:0;border:0!important;box-shadow:none!important;outline:none!important;background:transparent!important;color:inherit;padding:9px 0!important;font:inherit;line-height:1.5;height:auto}
12
+ .blu-text__input::placeholder,.blu-textarea::placeholder{color:var(--bluui-text-muted,#5c6b80);opacity:1}
13
+ .blu-text:focus-within,.blu-textarea:focus-visible,.blu-select__trigger:focus-visible{border-color:var(--bluui-primary,#4f46e5);outline:2px solid var(--bluui-primary,#4f46e5);outline-offset:2px}
14
+ .blu-text__adornment{display:inline-flex;flex:none;gap:6px;align-items:center;color:var(--bluui-text-muted,#5c6b80);white-space:nowrap}.blu-text__adornment img{width:24px;height:24px;object-fit:contain;border-radius:4px}
15
+ .blu-text__action{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;color:var(--bluui-primary,#4f46e5);font:inherit;font-size:12px;font-weight:600;min-width:26px;min-height:30px;cursor:pointer;white-space:nowrap;padding:3px}
16
+ .blu-text__action:hover{background:var(--bluui-hover,#f0f2f7)}
17
+ .blu-field button:focus-visible,.blu-table button:focus-visible,.blu-table__scroll:focus-visible{outline:2px solid var(--bluui-primary,#4f46e5);outline-offset:3px}
18
+ .blu-textarea{display:block;width:100%;min-height:var(--blu-field-height);padding:10px var(--blu-field-padding);font:inherit;line-height:1.6}
19
+ .blu-field[data-invalid=true] .blu-text,.blu-field[data-invalid=true] .blu-textarea,.blu-field[data-invalid=true] .blu-select__trigger{border-color:var(--bluui-color-error-text,#b42318)}
20
+ .blu-field[data-disabled=true]{opacity:.6}.blu-field input:disabled,.blu-field textarea:disabled,.blu-field button:disabled{cursor:not-allowed}
21
+ .blu-field input[readonly],.blu-field textarea[readonly]{cursor:default}
22
+ .blu-choice{display:flex;align-items:center;position:relative;gap:10px;min-height:32px;cursor:pointer;line-height:1.5}.blu-choice__input{position:absolute;inline-size:1px;block-size:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap;opacity:0}
23
+ .blu-choice__mark{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:19px;height:19px;border:1.5px solid var(--bluui-control-border,#7b8799);border-radius:5px;background:var(--bluui-surface,#fff);color:var(--bluui-on-primary,#fff)}
24
+ .blu-choice__input:checked+.blu-choice__mark,.blu-choice__input:indeterminate+.blu-choice__mark{background:var(--bluui-primary,#4f46e5);border-color:var(--bluui-primary,#4f46e5)}
25
+ .blu-choice--checkbox .blu-choice__input:checked+.blu-choice__mark:after{content:'';width:5px;height:9px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
26
+ .blu-choice__input:indeterminate+.blu-choice__mark:after{content:'';width:9px;height:2px;background:currentColor;transform:none;border:0}
27
+ .blu-choice__input:focus-visible+.blu-choice__mark{outline:2px solid var(--bluui-primary,#4f46e5);outline-offset:3px}
28
+ .blu-choice:has(input:disabled){opacity:.6;cursor:not-allowed}.blu-field[data-disabled=true] .blu-choice:has(input:disabled){opacity:1}
29
+ .blu-choice--radio .blu-choice__mark{border-radius:50%}.blu-choice--radio .blu-choice__input:checked+.blu-choice__mark:after{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
30
+ .blu-choice--switch .blu-choice__mark{width:38px;height:22px;border-radius:20px;background:var(--bluui-control-border,#7b8799);padding:2px;justify-content:flex-start}
31
+ .blu-choice--switch .blu-choice__mark:after{content:'';height:16px;width:16px;background:#fff;border-radius:50%;transition:transform .15s}
32
+ .blu-choice--switch .blu-choice__input:checked+.blu-choice__mark:after{transform:translateX(14px)}.blu-choice--switch .blu-choice__input:checked+.blu-choice__mark{background:var(--bluui-primary,#4f46e5)}
33
+ .blu-choice__state{margin-inline-start:auto;font-size:12px;color:var(--bluui-text-muted,#5c6b80)}.blu-choice__description{display:block}
34
+ .blu-radio-group{display:flex;flex-direction:column;gap:10px}.blu-radio-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:12px 24px}
35
+ .blu-select{position:relative;display:flex;gap:5px}.blu-select__native{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%);pointer-events:none}
36
+ .blu-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:var(--blu-field-height);width:100%;padding:9px var(--blu-field-padding);font:inherit;text-align:start;cursor:pointer}
37
+ .blu-select__trigger:after{content:'';width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);flex-shrink:0}.blu-select__trigger[data-placeholder=true]{color:var(--bluui-text-muted,#5c6b80)}
38
+ .blu-select__popup{box-sizing:border-box;position:absolute;inset:calc(100% + 6px) 0 auto;z-index:1000;max-height:320px;overflow:auto;margin:0;padding:6px;border:1px solid var(--bluui-border-strong,#b8c4d4);border-radius:10px;background:var(--bluui-surface,#fff);box-shadow:var(--bluui-menu-shadow,0 10px 30px #17203326);color:var(--bluui-text,#182230);font:inherit}
39
+ .blu-select__search{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--bluui-control-border,#7b8799);border-radius:6px;background:var(--bluui-surface,#fff);color:inherit;font:inherit;margin-bottom:5px;outline-offset:2px}
40
+ .blu-select__option{padding:9px 10px;border-radius:5px;cursor:pointer;line-height:1.5}.blu-select__option[aria-selected=true]{font-weight:600;color:var(--bluui-primary,#4f46e5)}.blu-select__option[data-active=true]{background:var(--bluui-selected,#e9e6ff)}.blu-select__option[aria-disabled=true]{opacity:.5;cursor:not-allowed}
41
+ .blu-columns{display:grid;grid-template-columns:var(--blu-columns-tracks,1fr 1fr);gap:var(--blu-columns-gap,24px)}.blu-columns__column{min-width:0;display:flex;flex-direction:column;gap:20px}
42
+ @media(max-width:479px){.blu-columns--stack-small{grid-template-columns:minmax(0,1fr)}}
43
+ @media(max-width:767px){.blu-columns--stack-medium{grid-template-columns:minmax(0,1fr)}}
44
+ @media(max-width:1023px){.blu-columns--stack-large{grid-template-columns:minmax(0,1fr)}}
45
+ .blu-table{border:1px solid var(--bluui-border,#e2e8f0);border-radius:12px;background:var(--bluui-surface,#fff);overflow:hidden}
46
+ .blu-table__scroll{overflow:auto}.blu-table table{width:100%;border-collapse:collapse;font:inherit;text-align:start}.blu-table caption{text-align:start;padding:18px;font-weight:600;font-size:15px}
47
+ .blu-table th{font-size:12px;color:var(--bluui-text-muted,#5c6b80);background:var(--bluui-surface-muted,#f7f8fb);font-weight:600;white-space:nowrap}
48
+ .blu-table th,.blu-table td{padding:14px 18px;border-top:1px solid var(--bluui-border,#e2e8f0);line-height:1.5}
49
+ .blu-table[data-density=Compact] th,.blu-table[data-density=Compact] td{padding:8px 12px}
50
+ .blu-table[data-striped=true] tbody tr:nth-child(even){background:var(--bluui-surface-muted,#f7f8fb)}
51
+ .blu-table__sort{font:inherit;font-weight:600;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:12px}
52
+ .blu-table__empty{text-align:center!important;height:140px;color:var(--bluui-text-muted,#5c6b80)}
53
+ .blu-table__footer{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--bluui-border,#e2e8f0);font-size:12px;flex-wrap:wrap}.blu-table__footer>span{margin-inline-end:auto;color:var(--bluui-text-muted,#5c6b80)}
54
+ .blu-table-button{border:1px solid var(--bluui-border-strong,#b8c4d4);border-radius:6px;padding:6px 10px;background:var(--bluui-surface,#fff);font:inherit;font-size:12px;color:var(--bluui-text,#182230);cursor:pointer;min-height:30px;white-space:nowrap}.blu-table-button:hover{background:var(--bluui-hover,#f0f2f7)}.blu-table-button:disabled{opacity:.5;cursor:not-allowed}.blu-table__actions{display:flex;gap:6px}
55
+ @media(prefers-reduced-motion:reduce){.blu-field *{transition:none!important}}
56
+ @media(forced-colors:active){.blu-choice__mark{forced-color-adjust:none;border-color:ButtonText;background:Canvas;color:HighlightText}.blu-choice__input:checked+.blu-choice__mark,.blu-choice__input:indeterminate+.blu-choice__mark{background:Highlight;border-color:Highlight}.blu-select__option[data-active=true]{outline:2px solid Highlight}.blu-choice--switch .blu-choice__mark:after{background:ButtonText}.blu-choice--switch .blu-choice__input:checked+.blu-choice__mark:after{background:HighlightText}}
57
+
58
+ /* Equal height is row-scoped; stacked columns retain their content height. */
59
+ .blu-columns.blu-columns--equal-height{align-items:stretch}
60
+ .blu-columns--equal-height > .blu-columns__column > :only-child{flex:1 1 auto}
61
+ .blu-columns--equal-height > .blu-columns__column > [data-placeholder]{display:flex;flex-direction:column}
62
+ .blu-columns--equal-height > .blu-columns__column > [data-placeholder] > :only-child{flex:1 1 auto}
@@ -0,0 +1,12 @@
1
+ export * from './checkbox.js';
2
+ export * from './text-input.js';
3
+ export * from './text-area.js';
4
+ export * from './radio-button.js';
5
+ export * from './radio-group.js';
6
+ export * from './switch.js';
7
+ export * from './select.js';
8
+ export * from './form-field.js';
9
+ export * from './columns2.js';
10
+ export * from './columns3.js';
11
+ export * from './columns4.js';
12
+ export * from './table.js';
@@ -0,0 +1 @@
1
+ import"./chunk-5ENZVZGF.js";import{a as l}from"./chunk-IZJN3EF7.js";import"./chunk-FNX33PDD.js";import"./chunk-IO22GWON.js";import"./chunk-EPZGLHPD.js";import{a as g}from"./chunk-MYVLBALF.js";import"./chunk-RYD6RHRX.js";import"./chunk-BN3PDE5G.js";import"./chunk-VJVFHL6P.js";import"./chunk-IJ62ILKE.js";import{a as h,b as i,c as j,d as k}from"./chunk-UN2SLVFG.js";import"./chunk-HO6CYWED.js";import{a,b,c,d}from"./chunk-GXHANADL.js";import"./chunk-RWBLICYX.js";import"./chunk-YCLR3IE3.js";import{a as e,b as f}from"./chunk-AL2ETLJV.js";import"./chunk-EOKNLCNS.js";export{a as createCheckbox,i as createColumns2,j as createColumns3,k as createColumns4,h as createFormField,c as createRadioButton,d as createRadioGroup,g as createSelect,b as createSwitch,l as createTable,f as createTextArea,e as createTextInput};
package/dist/index.d.ts CHANGED
@@ -54,3 +54,4 @@ export * from './font-provider.js';
54
54
  export * from './shape-mask.js';
55
55
  export * from './chip-group.js';
56
56
  export * from './grid-basic.js';
57
+ export * from './form-layout.js';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as Y}from"./chunk-4RM3B4L7.js";import{a as Z}from"./chunk-NB5PGEDY.js";import{a as Q}from"./chunk-3ZS5YITP.js";import{a as R}from"./chunk-SEJUHKS5.js";import{a as S}from"./chunk-WHA6UO5X.js";import{a as T}from"./chunk-KR3UUTB2.js";import{a as U}from"./chunk-VBRSAI3K.js";import{a as V}from"./chunk-IHKCC6WJ.js";import{a as W}from"./chunk-75BQYII5.js";import{a as X}from"./chunk-CZXYS6CY.js";import{a as E}from"./chunk-RGTLYBOY.js";import{a as G}from"./chunk-J7BV4KHG.js";import{a as H}from"./chunk-W4SW4RWX.js";import{a as K}from"./chunk-BLDXIO7P.js";import{a as M}from"./chunk-KBOMPMSI.js";import{a as N}from"./chunk-U4ZP73V4.js";import{a as O}from"./chunk-W27NAI62.js";import{a as P}from"./chunk-IIKSMXQE.js";import{a as L}from"./chunk-MBC4UVTS.js";import{a as _}from"./chunk-T45UAWNI.js";import{a as $}from"./chunk-7HXX66DB.js";import{a as oo}from"./chunk-6EJIIQNF.js";import{a as n}from"./chunk-H7ETPJVW.js";import{a as s}from"./chunk-MCVO25PZ.js";import{a as B}from"./chunk-NTFHNL7T.js";import{a as D}from"./chunk-AICXIQKD.js";import{a as eo}from"./chunk-XDYBNO4P.js";import{a as fo}from"./chunk-2TCNAQC6.js";import{a as mo}from"./chunk-CTLZIWMX.js";import{a as j}from"./chunk-MZBB5ROJ.js";import{a as u}from"./chunk-6EHKOVZK.js";import{a as v}from"./chunk-GK3INPAZ.js";import{a as w,b as y,c as z,d as A}from"./chunk-UEOCR2C3.js";import{a as F}from"./chunk-LGJVLEAH.js";import{a as I}from"./chunk-XIOI5PKM.js";import{a as J}from"./chunk-Y4TCT2K6.js";import{a as to}from"./chunk-3LWXPCWY.js";import{a as i}from"./chunk-C3CLLZH2.js";import{a as k}from"./chunk-4USJBOSC.js";import{a as q}from"./chunk-GEG3TNB4.js";import{a as C}from"./chunk-2MQNFEGJ.js";import{a as ro}from"./chunk-MHHJZYXW.js";import"./chunk-MSMNEIWA.js";import"./chunk-UUZ4HU7L.js";import"./chunk-2HFI6CC6.js";import{a as po}from"./chunk-6XOMFIPU.js";import{a as d}from"./chunk-U73BNLZ3.js";import{a as g}from"./chunk-LJ4O6YTN.js";import{a as h}from"./chunk-SIU7DSOA.js";import{a as l}from"./chunk-K2P2BHV5.js";import{a as xo}from"./chunk-H5IEGCAK.js";import{a as o,b as r,c as e}from"./chunk-64LOE3FU.js";import"./chunk-7KMRDQZG.js";import"./chunk-Y4WEMSE4.js";import"./chunk-TIXCZTJ7.js";import"./chunk-RZ5YSY7Y.js";import{b as f,c as m,d as p,e as t,f as x,g as a,h as b,i as c}from"./chunk-O3MRWAI5.js";import"./chunk-MEEQNPGM.js";import"./chunk-5TEIXA4R.js";import"./chunk-SDMH2EVD.js";export{f as buttonElement,I as createAppLayout,p as createBadge,d as createBreadcrumbs,m as createButton,x as createCard,C as createCascader,_ as createChat,$ as createChatWidget,t as createChip,b as createChipGroup,W as createCollectionLayout,j as createCommandPalette,T as createContentCarousel,K as createDashboardCanvas,M as createDashboardPanel,ro as createDatePicker,mo as createDateRangePicker,fo as createDateTimePicker,G as createDescriptions,v as createDrawer,c as createEmptyState,oo as createFloatButton,po as createFontProvider,xo as createGridBasic,X as createHeroSection,R as createImageCompare,Z as createLogoCloud,Q as createMediaCard,P as createMediaImage,u as createModal,w as createNotification,L as createNotificationCenter,g as createPageHeader,J as createPageLayout,B as createPagination,U as createProfileCard,E as createQRCode,V as createQuoteCard,to as createShapeMask,h as createSidebar,a as createSkeleton,H as createSparkline,Y as createSplitSection,l as createSplitter,D as createStatistic,S as createTextHighlight,eo as createTimePicker,s as createTimeline,F as createTour,q as createTransferList,i as createTreeSelect,n as createTreeView,k as createUploadManager,O as createVideoLightbox,N as createVideoPlayer,A as dismissNotification,r as getAppearance,e as mountAppearanceSelector,o as setAppearance,y as showNotification,z as updateNotification};
1
+ import{a as T}from"./chunk-KR3UUTB2.js";import{a as U}from"./chunk-VBRSAI3K.js";import{a as V}from"./chunk-IHKCC6WJ.js";import{a as W}from"./chunk-75BQYII5.js";import{a as X}from"./chunk-CZXYS6CY.js";import{a as Y}from"./chunk-4RM3B4L7.js";import{a as Z}from"./chunk-NB5PGEDY.js";import{a as K}from"./chunk-BLDXIO7P.js";import{a as M}from"./chunk-KBOMPMSI.js";import{a as N}from"./chunk-U4ZP73V4.js";import{a as O}from"./chunk-W27NAI62.js";import{a as P}from"./chunk-IIKSMXQE.js";import{a as Q}from"./chunk-3ZS5YITP.js";import{a as R}from"./chunk-SEJUHKS5.js";import{a as S}from"./chunk-WHA6UO5X.js";import{a as oo}from"./chunk-6EJIIQNF.js";import{a as n}from"./chunk-H7ETPJVW.js";import{a as s}from"./chunk-MCVO25PZ.js";import{a as B}from"./chunk-NTFHNL7T.js";import{a as D}from"./chunk-AICXIQKD.js";import{a as E}from"./chunk-RGTLYBOY.js";import{a as G}from"./chunk-J7BV4KHG.js";import{a as H}from"./chunk-W4SW4RWX.js";import{a as j}from"./chunk-MZBB5ROJ.js";import{a as u}from"./chunk-6EHKOVZK.js";import{a as v}from"./chunk-GK3INPAZ.js";import{a as w,b as y,c as z,d as A}from"./chunk-UEOCR2C3.js";import{a as F}from"./chunk-LGJVLEAH.js";import{a as L}from"./chunk-MBC4UVTS.js";import{a as _}from"./chunk-T45UAWNI.js";import{a as $}from"./chunk-7HXX66DB.js";import{a as i}from"./chunk-C3CLLZH2.js";import{a as k}from"./chunk-4USJBOSC.js";import{a as q}from"./chunk-GEG3TNB4.js";import{a as C}from"./chunk-2MQNFEGJ.js";import{a as ro}from"./chunk-3PNBQVYS.js";import{a as eo}from"./chunk-JVE6CXCJ.js";import{a as fo}from"./chunk-OPMD7QNV.js";import{a as mo}from"./chunk-XWXEH3SW.js";import{a as po}from"./chunk-6XOMFIPU.js";import{a as d}from"./chunk-U73BNLZ3.js";import{a as g}from"./chunk-LJ4O6YTN.js";import{a as h}from"./chunk-SIU7DSOA.js";import{a as l}from"./chunk-K2P2BHV5.js";import{a as I}from"./chunk-XIOI5PKM.js";import{a as J}from"./chunk-Y4TCT2K6.js";import{a as to}from"./chunk-3LWXPCWY.js";import"./chunk-7KMRDQZG.js";import"./chunk-Y4WEMSE4.js";import"./chunk-TIXCZTJ7.js";import"./chunk-RZ5YSY7Y.js";import"./chunk-MSMNEIWA.js";import"./chunk-UUZ4HU7L.js";import"./chunk-2HFI6CC6.js";import{a as xo}from"./chunk-H5IEGCAK.js";import{b as f,c as m,d as p,e as t,f as x,g as a,h as b,i as c}from"./chunk-O3MRWAI5.js";import"./chunk-MEEQNPGM.js";import"./chunk-5TEIXA4R.js";import"./chunk-SDMH2EVD.js";import{a as o,b as r,c as e}from"./chunk-64LOE3FU.js";import"./chunk-5ENZVZGF.js";import{a as so}from"./chunk-IZJN3EF7.js";import"./chunk-FNX33PDD.js";import"./chunk-IO22GWON.js";import"./chunk-EPZGLHPD.js";import{a as jo}from"./chunk-MYVLBALF.js";import"./chunk-RYD6RHRX.js";import"./chunk-BN3PDE5G.js";import"./chunk-VJVFHL6P.js";import"./chunk-IJ62ILKE.js";import{a as ko,b as lo,c as no,d as qo}from"./chunk-UN2SLVFG.js";import"./chunk-HO6CYWED.js";import{a as ao,b as bo,c as co,d as go}from"./chunk-GXHANADL.js";import"./chunk-RWBLICYX.js";import"./chunk-YCLR3IE3.js";import{a as ho,b as io}from"./chunk-AL2ETLJV.js";import"./chunk-EOKNLCNS.js";export{f as buttonElement,I as createAppLayout,p as createBadge,d as createBreadcrumbs,m as createButton,x as createCard,C as createCascader,_ as createChat,$ as createChatWidget,ao as createCheckbox,t as createChip,b as createChipGroup,W as createCollectionLayout,lo as createColumns2,no as createColumns3,qo as createColumns4,j as createCommandPalette,T as createContentCarousel,K as createDashboardCanvas,M as createDashboardPanel,ro as createDatePicker,mo as createDateRangePicker,fo as createDateTimePicker,G as createDescriptions,v as createDrawer,c as createEmptyState,oo as createFloatButton,po as createFontProvider,ko as createFormField,xo as createGridBasic,X as createHeroSection,R as createImageCompare,Z as createLogoCloud,Q as createMediaCard,P as createMediaImage,u as createModal,w as createNotification,L as createNotificationCenter,g as createPageHeader,J as createPageLayout,B as createPagination,U as createProfileCard,E as createQRCode,V as createQuoteCard,co as createRadioButton,go as createRadioGroup,jo as createSelect,to as createShapeMask,h as createSidebar,a as createSkeleton,H as createSparkline,Y as createSplitSection,l as createSplitter,D as createStatistic,bo as createSwitch,so as createTable,io as createTextArea,S as createTextHighlight,ho as createTextInput,eo as createTimePicker,s as createTimeline,F as createTour,q as createTransferList,i as createTreeSelect,n as createTreeView,k as createUploadManager,O as createVideoLightbox,N as createVideoPlayer,A as dismissNotification,r as getAppearance,e as mountAppearanceSelector,o as setAppearance,y as showNotification,z as updateNotification};
package/dist/inputs.css CHANGED
@@ -1215,7 +1215,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1215
1215
  .blu-picker [hidden],.blu-picker__dialog [hidden] {display:none!important;}
1216
1216
  .blu-picker__fields {display:flex;flex-wrap:wrap;gap:12px;}
1217
1217
  .blu-picker__field {flex:1 1 180px;min-width:0;}
1218
- .blu-picker__field label,.blu-picker__select-field>span {display:block;margin-bottom:5px;color:var(--bluui-text,#182230);font-weight:600;}
1218
+ .blu-picker__field label,.blu-picker__select-caption {display:block;margin-bottom:5px;color:var(--bluui-text,#182230);font-weight:600;}
1219
1219
  .blu-picker__input {display:block;width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--bluui-control-border,#69788d);border-radius:9px;background:var(--bluui-surface,#fff);color:var(--bluui-text,#182230);font:inherit;line-height:1.4;}
1220
1220
  .blu-picker__field-control {position:relative;}
1221
1221
  .blu-picker__field-control>.blu-picker__input {padding-right:38px;}
@@ -1238,7 +1238,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1238
1238
  .blu-picker__dialog::backdrop {background:transparent;pointer-events:none;}
1239
1239
  .blu-picker__dialog-head {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;}
1240
1240
  .blu-picker__dialog-head h2 {font-size:16px;line-height:1.4;font-family:var(--blu-font-heading-family,inherit);margin:0;overflow-wrap:anywhere;}
1241
- .blu-picker__calendar-nav {display:grid;grid-template-columns:32px minmax(0,1fr) 72px 32px;align-items:end;gap:6px;margin-top:0;}
1241
+ .blu-picker__calendar-nav {display:grid;grid-template-columns:32px minmax(0,1fr) 88px 32px;align-items:end;gap:6px;margin-top:0;}
1242
1242
  .blu-picker__calendar-nav>.blu-picker__button {height:36px;padding:2px;font-size:22px;}
1243
1243
  .blu-picker__select-field {min-width:0;}
1244
1244
  .blu-picker__caption {font-size:15px;text-align:center;margin:16px 0 8px;}
@@ -1263,8 +1263,8 @@ Keep bulk commands together in a wrapping row between the panels. */
1263
1263
  /* Compact popup controls; editable text stays at 16px to avoid iOS focus zoom. */
1264
1264
  .blu-picker__dialog .blu-picker__input {min-height:36px;padding:5px 7px;font-size:16px;line-height:1.2;}
1265
1265
  .blu-picker__dialog .blu-picker__button {min-height:34px;min-width:32px;padding:5px 9px;font-size:13px;line-height:1.25;}
1266
- .blu-picker__dialog .blu-picker__select-field>span {font-size:11px;margin-bottom:2px;}
1267
- .blu-picker__calendar-nav .blu-picker__select-field>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1266
+ .blu-picker__dialog .blu-picker__select-caption {font-size:11px;margin-bottom:2px;}
1267
+ .blu-picker__calendar-nav .blu-picker__select-caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1268
1268
  .blu-picker__dialog .blu-picker__error {margin-top:4px;font-size:12px;line-height:1.3;}
1269
1269
  @media(pointer:coarse){
1270
1270
  .blu-picker__field-control>.blu-picker__input {font-size:16px;min-height:44px;}
@@ -1281,7 +1281,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1281
1281
  .blu-picker__dialog[data-compact=true] .blu-picker__calendar td {height:24px;}
1282
1282
  .blu-picker__dialog[data-compact=true] .blu-picker__day {min-height:24px;padding:3px 0;}
1283
1283
  .blu-picker__dialog[data-compact=true] .blu-picker__time-area {margin:4px 0;gap:6px;}
1284
- .blu-picker__dialog[data-compact=true] .blu-picker__time-area .blu-picker__select-field>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
1284
+ .blu-picker__dialog[data-compact=true] .blu-picker__time-area .blu-picker__select-caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
1285
1285
  .blu-picker__dialog[data-compact=true] .blu-picker__selection {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1286
1286
  .blu-picker__dialog[data-compact=true] .blu-picker__popup-actions {margin-top:4px;gap:4px;}
1287
1287
  .blu-picker__dialog[data-compact=true] .blu-picker__presets {margin-bottom:4px;gap:4px;}
@@ -1294,7 +1294,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1294
1294
  .blu-picker [hidden],.blu-picker__dialog [hidden] {display:none!important;}
1295
1295
  .blu-picker__fields {display:flex;flex-wrap:wrap;gap:12px;}
1296
1296
  .blu-picker__field {flex:1 1 180px;min-width:0;}
1297
- .blu-picker__field label,.blu-picker__select-field>span {display:block;margin-bottom:5px;color:var(--bluui-text,#182230);font-weight:600;}
1297
+ .blu-picker__field label,.blu-picker__select-caption {display:block;margin-bottom:5px;color:var(--bluui-text,#182230);font-weight:600;}
1298
1298
  .blu-picker__input {display:block;width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--bluui-control-border,#69788d);border-radius:9px;background:var(--bluui-surface,#fff);color:var(--bluui-text,#182230);font:inherit;line-height:1.4;}
1299
1299
  .blu-picker__field-control {position:relative;}
1300
1300
  .blu-picker__field-control>.blu-picker__input {padding-right:38px;}
@@ -1317,7 +1317,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1317
1317
  .blu-picker__dialog::backdrop {background:transparent;pointer-events:none;}
1318
1318
  .blu-picker__dialog-head {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;}
1319
1319
  .blu-picker__dialog-head h2 {font-size:16px;line-height:1.4;font-family:var(--blu-font-heading-family,inherit);margin:0;overflow-wrap:anywhere;}
1320
- .blu-picker__calendar-nav {display:grid;grid-template-columns:32px minmax(0,1fr) 72px 32px;align-items:end;gap:6px;margin-top:0;}
1320
+ .blu-picker__calendar-nav {display:grid;grid-template-columns:32px minmax(0,1fr) 88px 32px;align-items:end;gap:6px;margin-top:0;}
1321
1321
  .blu-picker__calendar-nav>.blu-picker__button {height:36px;padding:2px;font-size:22px;}
1322
1322
  .blu-picker__select-field {min-width:0;}
1323
1323
  .blu-picker__caption {font-size:15px;text-align:center;margin:16px 0 8px;}
@@ -1342,8 +1342,8 @@ Keep bulk commands together in a wrapping row between the panels. */
1342
1342
  /* Compact popup controls; editable text stays at 16px to avoid iOS focus zoom. */
1343
1343
  .blu-picker__dialog .blu-picker__input {min-height:36px;padding:5px 7px;font-size:16px;line-height:1.2;}
1344
1344
  .blu-picker__dialog .blu-picker__button {min-height:34px;min-width:32px;padding:5px 9px;font-size:13px;line-height:1.25;}
1345
- .blu-picker__dialog .blu-picker__select-field>span {font-size:11px;margin-bottom:2px;}
1346
- .blu-picker__calendar-nav .blu-picker__select-field>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1345
+ .blu-picker__dialog .blu-picker__select-caption {font-size:11px;margin-bottom:2px;}
1346
+ .blu-picker__calendar-nav .blu-picker__select-caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1347
1347
  .blu-picker__dialog .blu-picker__error {margin-top:4px;font-size:12px;line-height:1.3;}
1348
1348
  @media(pointer:coarse){
1349
1349
  .blu-picker__field-control>.blu-picker__input {font-size:16px;min-height:44px;}
@@ -1360,7 +1360,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1360
1360
  .blu-picker__dialog[data-compact=true] .blu-picker__calendar td {height:24px;}
1361
1361
  .blu-picker__dialog[data-compact=true] .blu-picker__day {min-height:24px;padding:3px 0;}
1362
1362
  .blu-picker__dialog[data-compact=true] .blu-picker__time-area {margin:4px 0;gap:6px;}
1363
- .blu-picker__dialog[data-compact=true] .blu-picker__time-area .blu-picker__select-field>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
1363
+ .blu-picker__dialog[data-compact=true] .blu-picker__time-area .blu-picker__select-caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
1364
1364
  .blu-picker__dialog[data-compact=true] .blu-picker__selection {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1365
1365
  .blu-picker__dialog[data-compact=true] .blu-picker__popup-actions {margin-top:4px;gap:4px;}
1366
1366
  .blu-picker__dialog[data-compact=true] .blu-picker__presets {margin-bottom:4px;gap:4px;}
@@ -1373,7 +1373,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1373
1373
  .blu-picker [hidden],.blu-picker__dialog [hidden] {display:none!important;}
1374
1374
  .blu-picker__fields {display:flex;flex-wrap:wrap;gap:12px;}
1375
1375
  .blu-picker__field {flex:1 1 180px;min-width:0;}
1376
- .blu-picker__field label,.blu-picker__select-field>span {display:block;margin-bottom:5px;color:var(--bluui-text,#182230);font-weight:600;}
1376
+ .blu-picker__field label,.blu-picker__select-caption {display:block;margin-bottom:5px;color:var(--bluui-text,#182230);font-weight:600;}
1377
1377
  .blu-picker__input {display:block;width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--bluui-control-border,#69788d);border-radius:9px;background:var(--bluui-surface,#fff);color:var(--bluui-text,#182230);font:inherit;line-height:1.4;}
1378
1378
  .blu-picker__field-control {position:relative;}
1379
1379
  .blu-picker__field-control>.blu-picker__input {padding-right:38px;}
@@ -1396,7 +1396,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1396
1396
  .blu-picker__dialog::backdrop {background:transparent;pointer-events:none;}
1397
1397
  .blu-picker__dialog-head {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;}
1398
1398
  .blu-picker__dialog-head h2 {font-size:16px;line-height:1.4;font-family:var(--blu-font-heading-family,inherit);margin:0;overflow-wrap:anywhere;}
1399
- .blu-picker__calendar-nav {display:grid;grid-template-columns:32px minmax(0,1fr) 72px 32px;align-items:end;gap:6px;margin-top:0;}
1399
+ .blu-picker__calendar-nav {display:grid;grid-template-columns:32px minmax(0,1fr) 88px 32px;align-items:end;gap:6px;margin-top:0;}
1400
1400
  .blu-picker__calendar-nav>.blu-picker__button {height:36px;padding:2px;font-size:22px;}
1401
1401
  .blu-picker__select-field {min-width:0;}
1402
1402
  .blu-picker__caption {font-size:15px;text-align:center;margin:16px 0 8px;}
@@ -1421,8 +1421,8 @@ Keep bulk commands together in a wrapping row between the panels. */
1421
1421
  /* Compact popup controls; editable text stays at 16px to avoid iOS focus zoom. */
1422
1422
  .blu-picker__dialog .blu-picker__input {min-height:36px;padding:5px 7px;font-size:16px;line-height:1.2;}
1423
1423
  .blu-picker__dialog .blu-picker__button {min-height:34px;min-width:32px;padding:5px 9px;font-size:13px;line-height:1.25;}
1424
- .blu-picker__dialog .blu-picker__select-field>span {font-size:11px;margin-bottom:2px;}
1425
- .blu-picker__calendar-nav .blu-picker__select-field>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1424
+ .blu-picker__dialog .blu-picker__select-caption {font-size:11px;margin-bottom:2px;}
1425
+ .blu-picker__calendar-nav .blu-picker__select-caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1426
1426
  .blu-picker__dialog .blu-picker__error {margin-top:4px;font-size:12px;line-height:1.3;}
1427
1427
  @media(pointer:coarse){
1428
1428
  .blu-picker__field-control>.blu-picker__input {font-size:16px;min-height:44px;}
@@ -1439,7 +1439,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1439
1439
  .blu-picker__dialog[data-compact=true] .blu-picker__calendar td {height:24px;}
1440
1440
  .blu-picker__dialog[data-compact=true] .blu-picker__day {min-height:24px;padding:3px 0;}
1441
1441
  .blu-picker__dialog[data-compact=true] .blu-picker__time-area {margin:4px 0;gap:6px;}
1442
- .blu-picker__dialog[data-compact=true] .blu-picker__time-area .blu-picker__select-field>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
1442
+ .blu-picker__dialog[data-compact=true] .blu-picker__time-area .blu-picker__select-caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
1443
1443
  .blu-picker__dialog[data-compact=true] .blu-picker__selection {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1444
1444
  .blu-picker__dialog[data-compact=true] .blu-picker__popup-actions {margin-top:4px;gap:4px;}
1445
1445
  .blu-picker__dialog[data-compact=true] .blu-picker__presets {margin-bottom:4px;gap:4px;}
@@ -1452,7 +1452,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1452
1452
  .blu-picker [hidden],.blu-picker__dialog [hidden] {display:none!important;}
1453
1453
  .blu-picker__fields {display:flex;flex-wrap:wrap;gap:12px;}
1454
1454
  .blu-picker__field {flex:1 1 180px;min-width:0;}
1455
- .blu-picker__field label,.blu-picker__select-field>span {display:block;margin-bottom:5px;color:var(--bluui-text,#182230);font-weight:600;}
1455
+ .blu-picker__field label,.blu-picker__select-caption {display:block;margin-bottom:5px;color:var(--bluui-text,#182230);font-weight:600;}
1456
1456
  .blu-picker__input {display:block;width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--bluui-control-border,#69788d);border-radius:9px;background:var(--bluui-surface,#fff);color:var(--bluui-text,#182230);font:inherit;line-height:1.4;}
1457
1457
  .blu-picker__field-control {position:relative;}
1458
1458
  .blu-picker__field-control>.blu-picker__input {padding-right:38px;}
@@ -1475,7 +1475,7 @@ Keep bulk commands together in a wrapping row between the panels. */
1475
1475
  .blu-picker__dialog::backdrop {background:transparent;pointer-events:none;}
1476
1476
  .blu-picker__dialog-head {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;}
1477
1477
  .blu-picker__dialog-head h2 {font-size:16px;line-height:1.4;font-family:var(--blu-font-heading-family,inherit);margin:0;overflow-wrap:anywhere;}
1478
- .blu-picker__calendar-nav {display:grid;grid-template-columns:32px minmax(0,1fr) 72px 32px;align-items:end;gap:6px;margin-top:0;}
1478
+ .blu-picker__calendar-nav {display:grid;grid-template-columns:32px minmax(0,1fr) 88px 32px;align-items:end;gap:6px;margin-top:0;}
1479
1479
  .blu-picker__calendar-nav>.blu-picker__button {height:36px;padding:2px;font-size:22px;}
1480
1480
  .blu-picker__select-field {min-width:0;}
1481
1481
  .blu-picker__caption {font-size:15px;text-align:center;margin:16px 0 8px;}
@@ -1500,8 +1500,8 @@ Keep bulk commands together in a wrapping row between the panels. */
1500
1500
  /* Compact popup controls; editable text stays at 16px to avoid iOS focus zoom. */
1501
1501
  .blu-picker__dialog .blu-picker__input {min-height:36px;padding:5px 7px;font-size:16px;line-height:1.2;}
1502
1502
  .blu-picker__dialog .blu-picker__button {min-height:34px;min-width:32px;padding:5px 9px;font-size:13px;line-height:1.25;}
1503
- .blu-picker__dialog .blu-picker__select-field>span {font-size:11px;margin-bottom:2px;}
1504
- .blu-picker__calendar-nav .blu-picker__select-field>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1503
+ .blu-picker__dialog .blu-picker__select-caption {font-size:11px;margin-bottom:2px;}
1504
+ .blu-picker__calendar-nav .blu-picker__select-caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1505
1505
  .blu-picker__dialog .blu-picker__error {margin-top:4px;font-size:12px;line-height:1.3;}
1506
1506
  @media(pointer:coarse){
1507
1507
  .blu-picker__field-control>.blu-picker__input {font-size:16px;min-height:44px;}
@@ -1518,7 +1518,70 @@ Keep bulk commands together in a wrapping row between the panels. */
1518
1518
  .blu-picker__dialog[data-compact=true] .blu-picker__calendar td {height:24px;}
1519
1519
  .blu-picker__dialog[data-compact=true] .blu-picker__day {min-height:24px;padding:3px 0;}
1520
1520
  .blu-picker__dialog[data-compact=true] .blu-picker__time-area {margin:4px 0;gap:6px;}
1521
- .blu-picker__dialog[data-compact=true] .blu-picker__time-area .blu-picker__select-field>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
1521
+ .blu-picker__dialog[data-compact=true] .blu-picker__time-area .blu-picker__select-caption {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
1522
1522
  .blu-picker__dialog[data-compact=true] .blu-picker__selection {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;}
1523
1523
  .blu-picker__dialog[data-compact=true] .blu-picker__popup-actions {margin-top:4px;gap:4px;}
1524
1524
  .blu-picker__dialog[data-compact=true] .blu-picker__presets {margin-bottom:4px;gap:4px;}
1525
+
1526
+ /* Community Form & Layout Essentials — local draft; no OutSystems UI selectors. */
1527
+ .blu-field,.blu-columns,.blu-table{box-sizing:border-box;min-width:0;color:var(--bluui-text,#182230);font-family:var(--blu-font-family,Inter,system-ui,sans-serif);font-size:14px}
1528
+ .blu-field *,.blu-columns *,.blu-table *{box-sizing:border-box}
1529
+ .blu-field [hidden],.blu-table [hidden]{display:none!important}
1530
+ .blu-field{--blu-field-height:42px;--blu-field-padding:12px;display:flex;flex-direction:column;gap:7px;border:0;padding:0;margin:0;min-inline-size:0}
1531
+ .blu-field--small{--blu-field-height:34px;--blu-field-padding:9px;font-size:13px}.blu-field--large{--blu-field-height:50px;--blu-field-padding:15px;font-size:16px}
1532
+ .blu-field__label{font-weight:600;line-height:1.5;padding:0;margin:0 0 2px}.blu-field__body{min-width:0}
1533
+ .blu-field__help,.blu-choice__description,.blu-field__count{font-size:12px;color:var(--bluui-text-muted,#5c6b80);line-height:1.5}.blu-field__error{color:var(--bluui-color-error-text,#b42318);font-size:12px;line-height:1.5}.blu-field__count{text-align:end;margin-top:5px;font-variant-numeric:tabular-nums}
1534
+ .blu-text,.blu-textarea,.blu-select__trigger{border:1px solid var(--bluui-control-border,#7b8799);border-radius:var(--blu-radius-md,8px);background:var(--bluui-surface,#fff);color:inherit;transition:border-color .12s,box-shadow .12s}
1535
+ .blu-text{display:flex;align-items:center;gap:8px;min-height:var(--blu-field-height);padding:0 var(--blu-field-padding)}
1536
+ .blu-text__input{width:100%;min-width:0;border:0!important;box-shadow:none!important;outline:none!important;background:transparent!important;color:inherit;padding:9px 0!important;font:inherit;line-height:1.5;height:auto}
1537
+ .blu-text__input::placeholder,.blu-textarea::placeholder{color:var(--bluui-text-muted,#5c6b80);opacity:1}
1538
+ .blu-text:focus-within,.blu-textarea:focus-visible,.blu-select__trigger:focus-visible{border-color:var(--bluui-primary,#4f46e5);outline:2px solid var(--bluui-primary,#4f46e5);outline-offset:2px}
1539
+ .blu-text__adornment{display:inline-flex;flex:none;gap:6px;align-items:center;color:var(--bluui-text-muted,#5c6b80);white-space:nowrap}.blu-text__adornment img{width:24px;height:24px;object-fit:contain;border-radius:4px}
1540
+ .blu-text__action{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;color:var(--bluui-primary,#4f46e5);font:inherit;font-size:12px;font-weight:600;min-width:26px;min-height:30px;cursor:pointer;white-space:nowrap;padding:3px}
1541
+ .blu-text__action:hover{background:var(--bluui-hover,#f0f2f7)}
1542
+ .blu-field button:focus-visible,.blu-table button:focus-visible,.blu-table__scroll:focus-visible{outline:2px solid var(--bluui-primary,#4f46e5);outline-offset:3px}
1543
+ .blu-textarea{display:block;width:100%;min-height:var(--blu-field-height);padding:10px var(--blu-field-padding);font:inherit;line-height:1.6}
1544
+ .blu-field[data-invalid=true] .blu-text,.blu-field[data-invalid=true] .blu-textarea,.blu-field[data-invalid=true] .blu-select__trigger{border-color:var(--bluui-color-error-text,#b42318)}
1545
+ .blu-field[data-disabled=true]{opacity:.6}.blu-field input:disabled,.blu-field textarea:disabled,.blu-field button:disabled{cursor:not-allowed}
1546
+ .blu-field input[readonly],.blu-field textarea[readonly]{cursor:default}
1547
+ .blu-choice{display:flex;align-items:center;position:relative;gap:10px;min-height:32px;cursor:pointer;line-height:1.5}.blu-choice__input{position:absolute;inline-size:1px;block-size:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap;opacity:0}
1548
+ .blu-choice__mark{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:19px;height:19px;border:1.5px solid var(--bluui-control-border,#7b8799);border-radius:5px;background:var(--bluui-surface,#fff);color:var(--bluui-on-primary,#fff)}
1549
+ .blu-choice__input:checked+.blu-choice__mark,.blu-choice__input:indeterminate+.blu-choice__mark{background:var(--bluui-primary,#4f46e5);border-color:var(--bluui-primary,#4f46e5)}
1550
+ .blu-choice--checkbox .blu-choice__input:checked+.blu-choice__mark:after{content:'';width:5px;height:9px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
1551
+ .blu-choice__input:indeterminate+.blu-choice__mark:after{content:'';width:9px;height:2px;background:currentColor;transform:none;border:0}
1552
+ .blu-choice__input:focus-visible+.blu-choice__mark{outline:2px solid var(--bluui-primary,#4f46e5);outline-offset:3px}
1553
+ .blu-choice:has(input:disabled){opacity:.6;cursor:not-allowed}.blu-field[data-disabled=true] .blu-choice:has(input:disabled){opacity:1}
1554
+ .blu-choice--radio .blu-choice__mark{border-radius:50%}.blu-choice--radio .blu-choice__input:checked+.blu-choice__mark:after{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
1555
+ .blu-choice--switch .blu-choice__mark{width:38px;height:22px;border-radius:20px;background:var(--bluui-control-border,#7b8799);padding:2px;justify-content:flex-start}
1556
+ .blu-choice--switch .blu-choice__mark:after{content:'';height:16px;width:16px;background:#fff;border-radius:50%;transition:transform .15s}
1557
+ .blu-choice--switch .blu-choice__input:checked+.blu-choice__mark:after{transform:translateX(14px)}.blu-choice--switch .blu-choice__input:checked+.blu-choice__mark{background:var(--bluui-primary,#4f46e5)}
1558
+ .blu-choice__state{margin-inline-start:auto;font-size:12px;color:var(--bluui-text-muted,#5c6b80)}.blu-choice__description{display:block}
1559
+ .blu-radio-group{display:flex;flex-direction:column;gap:10px}.blu-radio-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:12px 24px}
1560
+ .blu-select{position:relative;display:flex;gap:5px}.blu-select__native{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%);pointer-events:none}
1561
+ .blu-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:var(--blu-field-height);width:100%;padding:9px var(--blu-field-padding);font:inherit;text-align:start;cursor:pointer}
1562
+ .blu-select__trigger:after{content:'';width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);flex-shrink:0}.blu-select__trigger[data-placeholder=true]{color:var(--bluui-text-muted,#5c6b80)}
1563
+ .blu-select__popup{box-sizing:border-box;position:absolute;inset:calc(100% + 6px) 0 auto;z-index:1000;max-height:320px;overflow:auto;margin:0;padding:6px;border:1px solid var(--bluui-border-strong,#b8c4d4);border-radius:10px;background:var(--bluui-surface,#fff);box-shadow:var(--bluui-menu-shadow,0 10px 30px #17203326);color:var(--bluui-text,#182230);font:inherit}
1564
+ .blu-select__search{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--bluui-control-border,#7b8799);border-radius:6px;background:var(--bluui-surface,#fff);color:inherit;font:inherit;margin-bottom:5px;outline-offset:2px}
1565
+ .blu-select__option{padding:9px 10px;border-radius:5px;cursor:pointer;line-height:1.5}.blu-select__option[aria-selected=true]{font-weight:600;color:var(--bluui-primary,#4f46e5)}.blu-select__option[data-active=true]{background:var(--bluui-selected,#e9e6ff)}.blu-select__option[aria-disabled=true]{opacity:.5;cursor:not-allowed}
1566
+ .blu-columns{display:grid;grid-template-columns:var(--blu-columns-tracks,1fr 1fr);gap:var(--blu-columns-gap,24px)}.blu-columns__column{min-width:0;display:flex;flex-direction:column;gap:20px}
1567
+ @media(max-width:479px){.blu-columns--stack-small{grid-template-columns:minmax(0,1fr)}}
1568
+ @media(max-width:767px){.blu-columns--stack-medium{grid-template-columns:minmax(0,1fr)}}
1569
+ @media(max-width:1023px){.blu-columns--stack-large{grid-template-columns:minmax(0,1fr)}}
1570
+ .blu-table{border:1px solid var(--bluui-border,#e2e8f0);border-radius:12px;background:var(--bluui-surface,#fff);overflow:hidden}
1571
+ .blu-table__scroll{overflow:auto}.blu-table table{width:100%;border-collapse:collapse;font:inherit;text-align:start}.blu-table caption{text-align:start;padding:18px;font-weight:600;font-size:15px}
1572
+ .blu-table th{font-size:12px;color:var(--bluui-text-muted,#5c6b80);background:var(--bluui-surface-muted,#f7f8fb);font-weight:600;white-space:nowrap}
1573
+ .blu-table th,.blu-table td{padding:14px 18px;border-top:1px solid var(--bluui-border,#e2e8f0);line-height:1.5}
1574
+ .blu-table[data-density=Compact] th,.blu-table[data-density=Compact] td{padding:8px 12px}
1575
+ .blu-table[data-striped=true] tbody tr:nth-child(even){background:var(--bluui-surface-muted,#f7f8fb)}
1576
+ .blu-table__sort{font:inherit;font-weight:600;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:12px}
1577
+ .blu-table__empty{text-align:center!important;height:140px;color:var(--bluui-text-muted,#5c6b80)}
1578
+ .blu-table__footer{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--bluui-border,#e2e8f0);font-size:12px;flex-wrap:wrap}.blu-table__footer>span{margin-inline-end:auto;color:var(--bluui-text-muted,#5c6b80)}
1579
+ .blu-table-button{border:1px solid var(--bluui-border-strong,#b8c4d4);border-radius:6px;padding:6px 10px;background:var(--bluui-surface,#fff);font:inherit;font-size:12px;color:var(--bluui-text,#182230);cursor:pointer;min-height:30px;white-space:nowrap}.blu-table-button:hover{background:var(--bluui-hover,#f0f2f7)}.blu-table-button:disabled{opacity:.5;cursor:not-allowed}.blu-table__actions{display:flex;gap:6px}
1580
+ @media(prefers-reduced-motion:reduce){.blu-field *{transition:none!important}}
1581
+ @media(forced-colors:active){.blu-choice__mark{forced-color-adjust:none;border-color:ButtonText;background:Canvas;color:HighlightText}.blu-choice__input:checked+.blu-choice__mark,.blu-choice__input:indeterminate+.blu-choice__mark{background:Highlight;border-color:Highlight}.blu-select__option[data-active=true]{outline:2px solid Highlight}.blu-choice--switch .blu-choice__mark:after{background:ButtonText}.blu-choice--switch .blu-choice__input:checked+.blu-choice__mark:after{background:HighlightText}}
1582
+
1583
+ /* Equal height is row-scoped; stacked columns retain their content height. */
1584
+ .blu-columns.blu-columns--equal-height{align-items:stretch}
1585
+ .blu-columns--equal-height > .blu-columns__column > :only-child{flex:1 1 auto}
1586
+ .blu-columns--equal-height > .blu-columns__column > [data-placeholder]{display:flex;flex-direction:column}
1587
+ .blu-columns--equal-height > .blu-columns__column > [data-placeholder] > :only-child{flex:1 1 auto}
package/dist/inputs.d.ts CHANGED
@@ -6,3 +6,11 @@ export * from './date-picker.js';
6
6
  export * from './time-picker.js';
7
7
  export * from './date-time-picker.js';
8
8
  export * from './date-range-picker.js';
9
+ export * from './checkbox.js';
10
+ export * from './text-input.js';
11
+ export * from './text-area.js';
12
+ export * from './radio-button.js';
13
+ export * from './radio-group.js';
14
+ export * from './switch.js';
15
+ export * from './select.js';
16
+ export * from './form-field.js';
package/dist/inputs.js CHANGED
@@ -1 +1 @@
1
- import{a as p}from"./chunk-XDYBNO4P.js";import{a as t}from"./chunk-2TCNAQC6.js";import{a as x}from"./chunk-CTLZIWMX.js";import{a as o}from"./chunk-C3CLLZH2.js";import{a as r}from"./chunk-4USJBOSC.js";import{a as e}from"./chunk-GEG3TNB4.js";import{a as f}from"./chunk-2MQNFEGJ.js";import{a as m}from"./chunk-MHHJZYXW.js";import"./chunk-O3MRWAI5.js";import"./chunk-MEEQNPGM.js";import"./chunk-5TEIXA4R.js";import"./chunk-SDMH2EVD.js";export{f as createCascader,m as createDatePicker,x as createDateRangePicker,t as createDateTimePicker,p as createTimePicker,e as createTransferList,o as createTreeSelect,r as createUploadManager};
1
+ import{a as o}from"./chunk-C3CLLZH2.js";import{a as r}from"./chunk-4USJBOSC.js";import{a as e}from"./chunk-GEG3TNB4.js";import{a as f}from"./chunk-2MQNFEGJ.js";import{a as m}from"./chunk-3PNBQVYS.js";import{a as p}from"./chunk-JVE6CXCJ.js";import{a as t}from"./chunk-OPMD7QNV.js";import{a as x}from"./chunk-XWXEH3SW.js";import"./chunk-O3MRWAI5.js";import"./chunk-MEEQNPGM.js";import"./chunk-5TEIXA4R.js";import"./chunk-SDMH2EVD.js";import"./chunk-FNX33PDD.js";import"./chunk-IO22GWON.js";import"./chunk-EPZGLHPD.js";import{a as i}from"./chunk-MYVLBALF.js";import"./chunk-RYD6RHRX.js";import{a as j}from"./chunk-UN2SLVFG.js";import"./chunk-HO6CYWED.js";import{a,b,c,d}from"./chunk-GXHANADL.js";import"./chunk-RWBLICYX.js";import"./chunk-YCLR3IE3.js";import{a as g,b as h}from"./chunk-AL2ETLJV.js";import"./chunk-EOKNLCNS.js";export{f as createCascader,a as createCheckbox,m as createDatePicker,x as createDateRangePicker,t as createDateTimePicker,j as createFormField,c as createRadioButton,d as createRadioGroup,i as createSelect,b as createSwitch,h as createTextArea,g as createTextInput,p as createTimePicker,e as createTransferList,o as createTreeSelect,r as createUploadManager};