cb7d0b83a8
## PR description This PR: - Creates a TypeScript-based extractor that discovers all exported twenty-ui components by scanning barrel files, extracting props/slots/events via ts-morph type analysis, and generating the remote DOM bindings automatically. - Adds a new ESLint rule which enforces all *Props types in twenty-ui components to be exported, which is required for the extractor to discover component prop types. Existing twenty-ui components are updated to comply with this rule. - Extends the remote DOM generation to support slots, per-component events, forwardRef wrappers, and richer property types (array, object, function) ## Edge cases to fix in another PR - Icons cannot be rendered inside buttons - IconButtons throw an error when mounted - MenuItems are not displayed correctly - MenuItemNavigate throws on click ## Video Demo https://github.com/user-attachments/assets/c2ed67cf-6a15-4896-9fec-e83fac0e862b
11 lines
525 B
TypeScript
11 lines
525 B
TypeScript
export { addExportedConst } from './add-exported-const';
|
|
export { addExportedType } from './add-exported-type';
|
|
export { addFileHeader } from './add-file-header';
|
|
export { addStatement } from './add-statement';
|
|
export { extractHtmlTag } from './extract-html-tag';
|
|
export { generatePropertiesType } from './generate-properties-type';
|
|
export { GENERATED_FILE_HEADER } from './generated-file-header';
|
|
export { schemaTypeToConstructor } from './schema-type-to-constructor';
|
|
export { schemaTypeToTs } from './schema-type-to-ts';
|
|
|