Files
tailwind-ui-library/src/index.ts
T
tbenandClaude Opus 5.5 11da9b89e7 Package library as @moduletrace/twui npm package
- Move components/ to src/ and compile to dist/ with tsc
- Add root barrel export plus deep-import subpath exports and base.css export
- Post-compile step: copy base.css, add .js import extensions, mark client modules
- Add publish.sh and .npmrc for the Gitea npm registry
- Fix type errors, guard TinyMCE env access, drop ace-builds type dependency
- Rename clashing props type names, remove Next.js scaffolding and unused deps

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:17:54 +01:00

141 lines
6.8 KiB
TypeScript

/**
* Root entry. Editors (Ace, TinyMCE), MDX, Next.js helpers, the AI blocks and
* RemoteCodeBlock rely on optional peer dependencies, so they are only
* available through deep imports, e.g. `@moduletrace/twui/editors/TinyMCE`.
*/
// layout
export { default as ArrowedLink } from "./layout/ArrowedLink";
export { default as Button } from "./layout/Button";
export * from "./layout/Button";
export { default as Center } from "./layout/Center";
export { default as Container } from "./layout/Container";
export { default as Divider } from "./layout/Divider";
export { default as DocsImg } from "./layout/DocsImg";
export { default as Footer } from "./layout/Footer";
export { default as H1 } from "./layout/H1";
export { default as H2 } from "./layout/H2";
export { default as H3 } from "./layout/H3";
export { default as H4 } from "./layout/H4";
export { default as H5 } from "./layout/H5";
export { default as HR } from "./layout/HR";
export { default as Header } from "./layout/Header";
export { default as IconLink } from "./layout/IconLink";
export { default as Img } from "./layout/Img";
export * from "./layout/Img";
export { default as Link } from "./layout/Link";
export { default as List } from "./layout/List";
export { default as LoadingRectangleBlock } from "./layout/LoadingRectangleBlock";
export * from "./layout/LoadingRectangleBlock";
export { default as Main } from "./layout/Main";
export { default as P } from "./layout/P";
export { default as Row } from "./layout/Row";
export { default as Section } from "./layout/Section";
export { default as Spacer } from "./layout/Spacer";
export { default as Span } from "./layout/Span";
export { default as Stack } from "./layout/Stack";
// elements
export { default as Border } from "./elements/Border";
export * from "./elements/Border";
export { default as Breadcrumbs } from "./elements/Breadcrumbs";
export * from "./elements/Breadcrumbs";
export { default as Card } from "./elements/Card";
export { default as CheckBulletPoints } from "./elements/CheckBulletPoints";
export * from "./elements/CheckBulletPoints";
export { default as CodeBlock } from "./elements/CodeBlock";
export * from "./elements/CodeBlock";
export { default as ColorSchemeSelector } from "./elements/ColorSchemeSelector";
export { default as CopySlug } from "./elements/CopySlug";
export { default as Dropdown } from "./elements/Dropdown";
export * from "./elements/Dropdown";
export { default as EmptyContent } from "./elements/EmptyContent";
export * from "./elements/EmptyContent";
export { default as HeaderLink } from "./elements/HeaderLink";
export * from "./elements/HeaderLink";
export { default as HeaderNav } from "./elements/HeaderNav";
export * from "./elements/HeaderNav";
export { default as HeaderNavLinkComponent } from "./elements/HeaderNavLinkComponent";
export { default as HtmlToReactComponent } from "./elements/HtmlToReactComponent";
export * from "./elements/HtmlToReactComponent";
export { default as LinkList } from "./elements/LinkList";
export * from "./elements/LinkList";
export { default as Loading } from "./elements/Loading";
export { default as LoadingBlock } from "./elements/LoadingBlock";
export { default as LoadingOverlay } from "./elements/LoadingOverlay";
export { default as Modal } from "./elements/Modal";
export * from "./elements/Modal";
export { default as Pagination } from "./elements/Pagination";
export { default as Paper } from "./elements/Paper";
export { default as Popover } from "./elements/Popover";
export { default as Search } from "./elements/Search";
export * from "./elements/Search";
export { default as SingleLineCodeBlock } from "./elements/SingleLineCodeBlock";
export { default as StarRating } from "./elements/StarRating";
export * from "./elements/StarRating";
export { default as Table } from "./elements/Table";
export { default as Tabs } from "./elements/Tabs";
export * from "./elements/Tabs";
export { default as Tag } from "./elements/Tag";
export * from "./elements/Tag";
export { default as Toast } from "./elements/Toast";
export * from "./elements/Toast";
export { default as Toggle } from "./elements/Toggle";
export * from "./elements/Toggle";
export { default as LucideIcon } from "./elements/lucide-icon";
export * from "./elements/lucide-icon";
// form
export { default as Checkbox } from "./form/Checkbox";
export * from "./form/Checkbox";
export { default as FileUpload } from "./form/FileUpload";
export { default as Form } from "./form/Form";
export { default as ImageUpload } from "./form/ImageUpload";
export { default as NumberInputButtons } from "./form/Input/NumberInputButtons";
export { default as Input } from "./form/Input";
export * from "./form/Input";
export { default as Radios } from "./form/Radios";
export * from "./form/Radios";
export { default as SearchSelect } from "./form/SearchSelect";
export * from "./form/SearchSelect";
export { default as Select } from "./form/Select";
export * from "./form/Select";
export { default as Textarea } from "./form/Textarea";
// hooks
export { default as useCustomEventDispatch } from "./hooks/useCustomEventDispatch";
export { default as useCustomEventListener } from "./hooks/useCustomEventListener";
export { default as useIntersectionObserver } from "./hooks/useIntersectionObserver";
export { default as useLocalStorage } from "./hooks/useLocalStorage";
export * from "./hooks/useLocalStorage";
export { default as useReady } from "./hooks/useReady";
export { default as useStatus } from "./hooks/useStatus";
export * from "./hooks/useStatus";
export { default as useWebSocket } from "./hooks/useWebSocket";
export * from "./hooks/useWebSocket";
export { default as useWebSocketEventHandler } from "./hooks/useWebSocketEventHandler";
export { default as useWindowFocus } from "./hooks/userWindowFocus";
// utils
export { default as twuiCamelToNormalCase } from "./utils/camel-to-normal-case";
export { default as TWUIEJSON } from "./utils/ejson";
export { default as fetchApi } from "./utils/fetch/fetchApi";
export * from "./utils/fetch/fetchApi";
export { default as fileInputToBase64 } from "./utils/form/fileInputToBase64";
export * from "./utils/form/fileInputToBase64";
export { default as imageInputToBase64 } from "./utils/form/imageInputToBase64";
export * from "./utils/form/imageInputToBase64";
export { default as lowerToTitleCase } from "./utils/lower-to-title-case";
export { default as twuiNormalizeText } from "./utils/normalize-text";
export { default as twuiNumberfy } from "./utils/numberfy";
export { default as TWUIRoundToNearestMagnitude } from "./utils/round-to-nearest-magnitude";
export { default as twuiSerializeQuery } from "./utils/serialize-query";
export { default as twuiSlugToNormalText } from "./utils/slug-to-normal-text";
export { default as twuiSlugify } from "./utils/slugify";
// svgs
export { default as CheckMarkSVG } from "./svgs/CheckMarkSVG";
// types
export * from "./types";