, string> | undefined>(undefined);
-
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters -- @TODO: Refactor this
- const withRootProvider = >(Component: ElementType) => {
- const StyledComponent = (properties: P) => {
- const [variantProperties, otherProperties] = recipe.splitVariantProps(properties);
- const slotStyles = recipe(variantProperties) as Record, string>;
-
- return (
-
-
-
- );
- };
- return StyledComponent;
- };
-
- const withProvider = (
- Component: ElementType,
- slot: Slot,
- options?: Options
- ): ForwardRefExoticComponent & RefAttributes> => {
- const StyledComponent = styled(
- Component,
- {},
- {
- shouldForwardProp: (property, variantKeys) =>
- shouldForwardProperty(property, variantKeys, options),
- }
- ) as StyledComponent;
- const StyledSlotProvider = forwardRef((properties, reference) => {
- const [variantProperties, otherProperties] = recipe.splitVariantProps(properties);
- const slotStyles = recipe(variantProperties) as Record, string>;
-
- return (
-
-
-
- );
- });
- // @ts-expect-error -- TODO: Fix this
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
- StyledSlotProvider.displayName = Component.displayName || Component.name;
-
- return StyledSlotProvider;
- };
-
- const withContext = (
- Component: ElementType,
- slot: Slot
- ): ForwardRefExoticComponent & RefAttributes> => {
- const StyledComponent = styled(Component);
- const StyledSlotComponent = forwardRef((properties, reference) => {
- const slotStyles = useContext(StyleContext);
- return (
-
- );
- });
- // @ts-expect-error -- TODO: Fix this
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
- StyledSlotComponent.displayName = Component.displayName || Component.name;
-
- return StyledSlotComponent;
- };
-
- return {
- withRootProvider,
- withProvider,
- withContext,
- };
-};
diff --git a/apps/kickass-ui/app/shared/icons/github-icon.tsx b/apps/kickass-ui/app/shared/icons/github-icon.tsx
deleted file mode 100644
index 4f9a1b7..0000000
--- a/apps/kickass-ui/app/shared/icons/github-icon.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { createIcon } from "./utils/create-icon";
-
-export const GithubIcon = createIcon(
- ,
- {
- name: "GithubIcon",
- defaultProperties: {
- viewBox: "0 0 24 24",
- fill: "currentColor",
- height: 24,
- width: 24,
- },
- }
-);
diff --git a/apps/kickass-ui/app/shared/icons/utils/create-icon.tsx b/apps/kickass-ui/app/shared/icons/utils/create-icon.tsx
deleted file mode 100644
index 78fe7b1..0000000
--- a/apps/kickass-ui/app/shared/icons/utils/create-icon.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { forwardRef, type ReactNode, type SVGProps } from "react";
-
-export type IconComponentProperties = Omit, "children">;
-
-type CreateIconOptions = {
- name: string;
- defaultProperties?: IconComponentProperties;
-};
-
-const DEFAULT_PROPERTIES = {
- xmlns: "http://www.w3.org/2000/svg",
- width: 16,
- height: 16,
- viewBox: "0 0 16 16",
- fill: "currentColor",
-} satisfies IconComponentProperties;
-
-export function createIcon(iconBody: ReactNode, options: CreateIconOptions) {
- const resolvedDefaultProperties = { ...DEFAULT_PROPERTIES, ...options.defaultProperties };
-
- const IconComponent = forwardRef(
- (properties, reference) => {
- return (
-
- );
- }
- );
-
- IconComponent.displayName = options.name;
-
- return IconComponent;
-}
diff --git a/apps/kickass-ui/app/shared/utils/base-64-encode-decode-string.ts b/apps/kickass-ui/app/shared/utils/base-64-encode-decode-string.ts
deleted file mode 100644
index caf8b90..0000000
--- a/apps/kickass-ui/app/shared/utils/base-64-encode-decode-string.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem.
-function base64ToBytes(base64String: string) {
- const binString = atob(base64String);
- return Uint8Array.from(binString, (m) => m.codePointAt(0) ?? 0);
-}
-
-// From https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem.
-function bytesToBase64(bytes: Uint8Array) {
- const binString = String.fromCodePoint(...bytes);
- return btoa(binString);
-}
-
-// Quick polyfill since Firefox and Opera do not yet support isWellFormed().
-// encodeURIComponent() throws an error for lone surrogates, which is essentially the same.
-function isWellFormed(stringToCheck: string) {
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- maybe not available on older browsers
- if (stringToCheck.isWellFormed === undefined) {
- // Use the older encodeURIComponent().
- try {
- encodeURIComponent(stringToCheck);
- return true;
- } catch {
- return false;
- }
- } else {
- // Use the newer isWellFormed() feature.
- return stringToCheck.isWellFormed();
- }
-}
-
-export function encodeStringToBase64(stringToEncode: string) {
- if (!isWellFormed(stringToEncode)) {
- throw new Error(`Cannot process a string: [${stringToEncode}]`);
- }
-
- const encoded = new TextEncoder().encode(stringToEncode);
-
- return bytesToBase64(encoded);
-}
-
-export function decodeBase64ToString(base64ToDecode: string) {
- const decoded = base64ToBytes(base64ToDecode);
-
- return new TextDecoder().decode(decoded);
-}
diff --git a/apps/kickass-ui/app/ssr.tsx b/apps/kickass-ui/app/ssr.tsx
deleted file mode 100644
index 0ebf38b..0000000
--- a/apps/kickass-ui/app/ssr.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-///
-import { getRouterManifest } from "@tanstack/start/router-manifest";
-import { createStartHandler, defaultStreamHandler } from "@tanstack/start/server";
-
-import { createRouter } from "./router";
-
-const startHandler = createStartHandler({
- createRouter,
- getRouterManifest,
-})(defaultStreamHandler);
-
-export default startHandler;
diff --git a/apps/kickass-ui/app/widgets/docs/ui/documentation-navigation-sidebar.tsx b/apps/kickass-ui/app/widgets/docs/ui/documentation-navigation-sidebar.tsx
deleted file mode 100644
index c65fcb0..0000000
--- a/apps/kickass-ui/app/widgets/docs/ui/documentation-navigation-sidebar.tsx
+++ /dev/null
@@ -1,78 +0,0 @@
-import { For } from "@kickass-coderz/react-control-flow/for";
-import { Link as RouterLink } from "@tanstack/react-router";
-
-import { DOCUMENTATION_NAVIGATION_DATA } from "~features/navigation/consts";
-import {
- NavigationSection,
- NavigationSectionHeader,
- NavigationSectionList,
- NavigationSectionListItem,
-} from "~features/navigation/ui/sidebar-navigation-layout";
-import { Button } from "~shared/design-system/button";
-import { Heading } from "~shared/design-system/typography/heading";
-import { stack } from "~styled-system/patterns";
-
-const navStyles = stack({
- flexShrink: "0",
- direction: "column",
- gap: "4",
- width: "64",
- height: "calc({sizes.viewportHeight} - {sizes.16})",
- position: "sticky",
- top: "16",
- left: "0",
- paddingY: "12",
- paddingRight: "2",
- overflowY: "auto",
- hideBelow: "xl",
-});
-
-export function DocumentationNavigationSidebar() {
- return (
-
- );
-}
diff --git a/apps/kickass-ui/app/widgets/docs/ui/documentation-toc.tsx b/apps/kickass-ui/app/widgets/docs/ui/documentation-toc.tsx
deleted file mode 100644
index e11bc57..0000000
--- a/apps/kickass-ui/app/widgets/docs/ui/documentation-toc.tsx
+++ /dev/null
@@ -1,181 +0,0 @@
-import { For } from "@kickass-coderz/react-control-flow/for";
-import { Link as RouterLink } from "@tanstack/react-router";
-import { ChevronRightIcon, TextIcon } from "lucide-react";
-
-import { Button } from "~shared/design-system/button";
-import { Icon } from "~shared/design-system/icon";
-import { Heading } from "~shared/design-system/typography/heading";
-import { Link } from "~shared/design-system/typography/link";
-import { Text } from "~shared/design-system/typography/text";
-import { css } from "~styled-system/css";
-import { container, hstack, stack } from "~styled-system/patterns";
-
-type TocEntries = Array<{
- title: string;
- url: string;
- depth: number;
-}>;
-
-type DocumentationTocProperties = Readonly<{
- entries: TocEntries;
-}>;
-
-const mobileContentRootStyles = container({
- hideFrom: "xl",
- width: "full",
- height: "full",
- display: "flex",
- alignItems: "center",
-});
-
-const mobileContentHeadingStyles = hstack({
- gap: "0",
-});
-
-const desktopContentRootStyles = css({
- hideBelow: "xl",
- paddingY: "12",
-});
-
-const desktopEntryItemStyles = css({
- height: "fit",
- width: "fit",
- "&:where([data-depth='0'])": {
- paddingLeft: "0",
- },
- "&:where([data-depth='1'])": {
- paddingLeft: "4",
- },
- "&:where([data-depth='2'])": {
- paddingLeft: "8",
- },
- "&:where([data-depth='3'])": {
- paddingLeft: "12",
- },
- "&:where([data-depth='4'])": {
- paddingLeft: "16",
- },
- "&:where([data-depth='5'])": {
- paddingLeft: "20",
- },
- "&:where([data-depth='6'])": {
- paddingLeft: "24",
- },
-});
-
-export function DocumentationToc({ entries }: DocumentationTocProperties) {
- return (
-
- );
-}
diff --git a/apps/kickass-ui/app/widgets/global/ui/desktop-navigation.tsx b/apps/kickass-ui/app/widgets/global/ui/desktop-navigation.tsx
deleted file mode 100644
index 2b3d127..0000000
--- a/apps/kickass-ui/app/widgets/global/ui/desktop-navigation.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import { For } from "@kickass-coderz/react-control-flow/for";
-import { Link as RouterLink } from "@tanstack/react-router";
-
-import { MAIN_NAVIGATION_DATA } from "~features/navigation/consts";
-import { GithubLink } from "~features/navigation/ui/github-link";
-import { Link } from "~shared/design-system/typography/link";
-import { hstack } from "~styled-system/patterns";
-
-const rootStyles = hstack({
- gap: "0",
- hideBelow: "xl",
-});
-
-const navListStyles = hstack({
- gap: "8",
-});
-
-const navListItemStyles = hstack();
-
-export function DesktopNavigation() {
- return (
-
- );
-}
diff --git a/apps/kickass-ui/app/widgets/global/ui/global-footer.tsx b/apps/kickass-ui/app/widgets/global/ui/global-footer.tsx
deleted file mode 100644
index 80f42ce..0000000
--- a/apps/kickass-ui/app/widgets/global/ui/global-footer.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Logo } from "~shared/components/logo";
-import { Link } from "~shared/design-system/typography/link";
-import { Text } from "~shared/design-system/typography/text";
-import { css } from "~styled-system/css";
-import { Stack } from "~styled-system/jsx";
-import { container } from "~styled-system/patterns";
-
-const rootStyles = css({
- width: "full",
- backdropFilter: "auto",
- backdropBlur: "3xl",
- backgroundGradient: "to-r",
- gradientFrom: "background.translucent",
- gradientVia: "neutral.a2",
- gradientTo: "background.translucent",
- backgroundRepeat: "no-repeat",
- backgroundSize: "cover",
-});
-
-const innerStyles = container({
- position: "relative",
- width: "full",
- height: "full",
- display: "flex",
- alignItems: "center",
- borderImageSource:
- "linear-gradient(90deg, {colors.background.translucent} 0, {colors.neutral.a6} 55%, {colors.background.translucent})",
- borderTopWidth: "1px",
- borderTopStyle: "solid",
- borderImageSlice: "1",
- paddingY: "8",
-});
-
-export function GlobalFooter() {
- return (
-
- );
-}
diff --git a/apps/kickass-ui/app/widgets/global/ui/global-header.tsx b/apps/kickass-ui/app/widgets/global/ui/global-header.tsx
deleted file mode 100644
index 97cbc18..0000000
--- a/apps/kickass-ui/app/widgets/global/ui/global-header.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Logo } from "~shared/components/logo";
-import { css } from "~styled-system/css";
-import { container } from "~styled-system/patterns";
-
-import { DesktopNavigation } from "./desktop-navigation";
-import { GlobalNavigationDrawer } from "./global-navigation-drawer";
-
-const rootStyles = css({
- position: "sticky",
- top: "0",
- left: "0",
- zIndex: "sticky",
- width: "full",
- height: "16",
- backgroundColor: "background.translucent",
- backdropFilter: "auto",
- backdropBlur: "3xl",
-});
-
-const innerStyles = container({
- position: "relative",
- width: "full",
- height: "full",
- display: "flex",
- alignItems: "center",
- justifyContent: "space-between",
- borderImageSource:
- "linear-gradient(90deg, {colors.background.translucent} 0, {colors.neutral.a6} 55%, {colors.background.translucent})",
- borderBottomWidth: "1px",
- borderBottomStyle: "solid",
- borderImageSlice: "1",
-});
-
-export function GlobalHeader() {
- return (
-
- );
-}
diff --git a/apps/kickass-ui/app/widgets/global/ui/global-layout.tsx b/apps/kickass-ui/app/widgets/global/ui/global-layout.tsx
deleted file mode 100644
index 3c05ec9..0000000
--- a/apps/kickass-ui/app/widgets/global/ui/global-layout.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { css } from "~styled-system/css";
-
-import { GlobalFooter } from "./global-footer";
-import { GlobalHeader } from "./global-header";
-
-const rootStyles = css({
- position: "relative",
- isolation: "isolate",
- width: "full",
-});
-
-type GlobalLayoutProperties = Readonly<{
- children: React.ReactNode;
-}>;
-
-export function GlobalLayout({ children }: GlobalLayoutProperties) {
- return (
-
-
- {children}
-
-
- );
-}
diff --git a/apps/kickass-ui/app/widgets/global/ui/global-navigation-drawer.tsx b/apps/kickass-ui/app/widgets/global/ui/global-navigation-drawer.tsx
deleted file mode 100644
index edcacda..0000000
--- a/apps/kickass-ui/app/widgets/global/ui/global-navigation-drawer.tsx
+++ /dev/null
@@ -1,190 +0,0 @@
-import { For } from "@kickass-coderz/react-control-flow/for";
-import { Show } from "@kickass-coderz/react-control-flow/show";
-import { Link as RouterLink } from "@tanstack/react-router";
-import { MenuIcon, PaletteIcon, XIcon } from "lucide-react";
-
-import { DOCUMENTATION_NAVIGATION_DATA, MAIN_NAVIGATION_DATA } from "~features/navigation/consts";
-import { GithubLink } from "~features/navigation/ui/github-link";
-import {
- NavigationSection,
- NavigationSectionHeader,
- NavigationSectionList,
- NavigationSectionListItem,
-} from "~features/navigation/ui/sidebar-navigation-layout";
-import { Logo } from "~shared/components/logo";
-import { Button } from "~shared/design-system/button";
-import {
- Drawer,
- DrawerBody,
- DrawerCloseTrigger,
- DrawerFooter,
- DrawerHeader,
- DrawerTitle,
-} from "~shared/design-system/drawer";
-import { Icon } from "~shared/design-system/icon";
-import { IconButton } from "~shared/design-system/icon-button";
-import { Heading } from "~shared/design-system/typography/heading";
-import { HStack } from "~styled-system/jsx";
-import { stack } from "~styled-system/patterns";
-
-const DRAWER_TITLE_ID = "global-navigation-drawer-title";
-
-export function GlobalNavigationDrawer() {
- return (
-
-
-
-
-
- }
- >
-
- Site navigation
-
-
-
-
-
-
-
-
-
-
-
-
- {(navigationItem) => (
-
- -
-
-
-
-
-
- )}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/apps/kickass-ui/content/documentation/components/avatar.md b/apps/kickass-ui/content/documentation/components/avatar.md
deleted file mode 100644
index ab4d2b6..0000000
--- a/apps/kickass-ui/content/documentation/components/avatar.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Avatar
-description: Profile picture, user initials or fallback icon.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/badge.md b/apps/kickass-ui/content/documentation/components/badge.md
deleted file mode 100644
index eb14bb6..0000000
--- a/apps/kickass-ui/content/documentation/components/badge.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Badge
-description: Stylized badge element.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/button.md b/apps/kickass-ui/content/documentation/components/button.md
deleted file mode 100644
index 9aa86fd..0000000
--- a/apps/kickass-ui/content/documentation/components/button.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: Button
-description: Trigger an action or event, such as submitting a form or displaying a dialog.
----
-
-## API Reference
-
-This component is based on the `button` element and supports common button props.
-
-| Properties | Type | Default |
-| -------------- | ----------------------------------- | --------- |
-| `asChild` | `boolean` | `false` |
-| `size` | `xs sm md lg` | `sm` |
-| `variant` | `solid soft outlined surface ghost` | `solid` |
-| `radius` | `none rounded full` | `rounded` |
-| `highContrast` | `boolean` | - |
-
-## Examples
-
-### Size
-
-Use the `size` property to change the button size.
-
-### Variant
-
-Use the `variant` property to change the button style.
-
-### Radius
-
-Use the `radius` property to change the button radius.
-
-### Color
-
-Use the `colorPalette` property to change the button color.
-
-### High contrast
-
-Use the `highContrast` property to change the button color to high contrast.
-
-### With icons
-
-You can nest icons directly inside the button. An appropriate gap is provided automatically.
-
-### As a link
-
-You can use the `asChild` property to render a button as a link.
diff --git a/apps/kickass-ui/content/documentation/components/callout.md b/apps/kickass-ui/content/documentation/components/callout.md
deleted file mode 100644
index b4d4463..0000000
--- a/apps/kickass-ui/content/documentation/components/callout.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Callout
-description: Short message to attract user’s attention.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/card.md b/apps/kickass-ui/content/documentation/components/card.md
deleted file mode 100644
index 1053395..0000000
--- a/apps/kickass-ui/content/documentation/components/card.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Card
-description: Container that groups related content and actions.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/data-list.md b/apps/kickass-ui/content/documentation/components/data-list.md
deleted file mode 100644
index b6a5593..0000000
--- a/apps/kickass-ui/content/documentation/components/data-list.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Data list
-description: Displays metadata as a list of key-value pairs.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/drawer.md b/apps/kickass-ui/content/documentation/components/drawer.md
deleted file mode 100644
index 3ff3942..0000000
--- a/apps/kickass-ui/content/documentation/components/drawer.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Drawer
-description: A panel that slides in from the edge of the screen.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/fieldset.md b/apps/kickass-ui/content/documentation/components/fieldset.md
deleted file mode 100644
index 0f0a828..0000000
--- a/apps/kickass-ui/content/documentation/components/fieldset.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Fieldset
-description: Groups related form elements.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/icon-button.md b/apps/kickass-ui/content/documentation/components/icon-button.md
deleted file mode 100644
index 9c9c85b..0000000
--- a/apps/kickass-ui/content/documentation/components/icon-button.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Icon button
-description: Button designed specifically for usage with a single icon.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/icon.md b/apps/kickass-ui/content/documentation/components/icon.md
deleted file mode 100644
index 7ad6c4b..0000000
--- a/apps/kickass-ui/content/documentation/components/icon.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Icon
-description: Styled wrapper around an SVG icon.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/input-field.md b/apps/kickass-ui/content/documentation/components/input-field.md
deleted file mode 100644
index c727cbc..0000000
--- a/apps/kickass-ui/content/documentation/components/input-field.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Input field
-description: Provides labels, help text, and error messages to form fields.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/menu.md b/apps/kickass-ui/content/documentation/components/menu.md
deleted file mode 100644
index 961c2ab..0000000
--- a/apps/kickass-ui/content/documentation/components/menu.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Menu
-description: A dropdown menu representing a set of actions, triggered by a button.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/number-input.md b/apps/kickass-ui/content/documentation/components/number-input.md
deleted file mode 100644
index aba8624..0000000
--- a/apps/kickass-ui/content/documentation/components/number-input.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Number input
-description: An input for entering numbers, incremens or decremens the value using stepper buttons.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/radio-group.md b/apps/kickass-ui/content/documentation/components/radio-group.md
deleted file mode 100644
index 7f9ab93..0000000
--- a/apps/kickass-ui/content/documentation/components/radio-group.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Radio group
-description: Set of interactive radio buttons where only one can be selected at a time.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/segment-group.md b/apps/kickass-ui/content/documentation/components/segment-group.md
deleted file mode 100644
index 2c017bd..0000000
--- a/apps/kickass-ui/content/documentation/components/segment-group.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Segment Group
-description: Toggle buttons for switching between different values or views.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/skeleton.md b/apps/kickass-ui/content/documentation/components/skeleton.md
deleted file mode 100644
index 8ed30be..0000000
--- a/apps/kickass-ui/content/documentation/components/skeleton.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Skeleton
-description: Replaces content with same shape placeholder that indicates a loading state.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/spinner.md b/apps/kickass-ui/content/documentation/components/spinner.md
deleted file mode 100644
index 88ff629..0000000
--- a/apps/kickass-ui/content/documentation/components/spinner.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Spinner
-description: Animated loading indicator.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/switch.md b/apps/kickass-ui/content/documentation/components/switch.md
deleted file mode 100644
index dd3585a..0000000
--- a/apps/kickass-ui/content/documentation/components/switch.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Switch
-description: A toggle switch. Visual alternative to a checkbox.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/table.md b/apps/kickass-ui/content/documentation/components/table.md
deleted file mode 100644
index d4b7571..0000000
--- a/apps/kickass-ui/content/documentation/components/table.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Table
-description: Semantic table element for presenting data.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/tabs.md b/apps/kickass-ui/content/documentation/components/tabs.md
deleted file mode 100644
index 6bb4cf2..0000000
--- a/apps/kickass-ui/content/documentation/components/tabs.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Tabs
-description: A tabbed interface for organizing content.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/text-input.md b/apps/kickass-ui/content/documentation/components/text-input.md
deleted file mode 100644
index 6549200..0000000
--- a/apps/kickass-ui/content/documentation/components/text-input.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Text input
-description: Captures user input with an optional slot for buttons and icons.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/textarea.md b/apps/kickass-ui/content/documentation/components/textarea.md
deleted file mode 100644
index 69c6b2f..0000000
--- a/apps/kickass-ui/content/documentation/components/textarea.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Textarea
-description: A multi-line text input field.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/components/tooltip.md b/apps/kickass-ui/content/documentation/components/tooltip.md
deleted file mode 100644
index 4d31bb9..0000000
--- a/apps/kickass-ui/content/documentation/components/tooltip.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Tooltip
-description: Floating element that provides contextual information via pointer or focus.
----
-
-## API Reference
diff --git a/apps/kickass-ui/content/documentation/overview/getting-started.md b/apps/kickass-ui/content/documentation/overview/getting-started.md
deleted file mode 100644
index 379bfd3..0000000
--- a/apps/kickass-ui/content/documentation/overview/getting-started.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: Getting started
-description: Let's get started with Kickass UI. Learn how to install and use the components.
-order: 2
----
-
-## Motivation
-
-Many popular component libraries are tailored to specific JavaScript
-frameworks and adhere to particular UI designs. While this approach may suit
-individuals and small businesses, it often presents challenges for larger
-organizations or agencies working with diverse clients and teams using
-different JS frameworks.
-
-Additionally, most component libraries tightly couple design and functionality, making customization difficult and sometimes impossible.
-
-## Solution
-
-Introducing Kickass UI. Our goal is to give you control over how components
-are built and styled. Park UI offers a set of components with sensible
-defaults that can be easily customized to meet your needs.
-
-Unlike many other component libraries, Kickass UI isn't shipped as a
-single npm package. Instead, you can install only the components you need.
-If you want the full design system, you can install the Kickass UI Preset.
-You will learn more in the next section.
-
-## Acknowledgments
-
-## FAQ
diff --git a/apps/kickass-ui/content/documentation/overview/introduction.md b/apps/kickass-ui/content/documentation/overview/introduction.md
deleted file mode 100644
index 9a31189..0000000
--- a/apps/kickass-ui/content/documentation/overview/introduction.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: Kickass UI
-description: "Component library optimized for fast development, easy maintenance, and accessibility. Build high-quality web apps with breeze."
-sidebarLabel: Introduction
-order: 1
----
-
-## Motivation
-
-Many popular component libraries are tailored to specific JavaScript
-frameworks and adhere to particular UI designs. While this approach may suit
-individuals and small businesses, it often presents challenges for larger
-organizations or agencies working with diverse clients and teams using
-different JS frameworks.
-
-Additionally, most component libraries tightly couple design and functionality, making customization difficult and sometimes impossible.
-
-## Solution
-
-Introducing Kickass UI. Our goal is to give you control over how components
-are built and styled. Park UI offers a set of components with sensible
-defaults that can be easily customized to meet your needs.
-
-Unlike many other component libraries, Kickass UI isn't shipped as a
-single npm package. Instead, you can install only the components you need.
-If you want the full design system, you can install the Kickass UI Preset.
-You will learn more in the next section.
-
-## Acknowledgments
-
-## FAQ
diff --git a/apps/kickass-ui/content/documentation/theme/overview.md b/apps/kickass-ui/content/documentation/theme/overview.md
deleted file mode 100644
index 4ea5bd1..0000000
--- a/apps/kickass-ui/content/documentation/theme/overview.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: Theme overview
-description: How theming system works.
-sidebarLabel: Overview
-order: 1
----
-
-## Motivation
-
-Many popular component libraries are tailored to specific JavaScript
-frameworks and adhere to particular UI designs. While this approach may suit
-individuals and small businesses, it often presents challenges for larger
-organizations or agencies working with diverse clients and teams using
-different JS frameworks.
-
-Additionally, most component libraries tightly couple design and functionality, making customization difficult and sometimes impossible.
-
-## Solution
-
-Introducing Kickass UI. Our goal is to give you control over how components
-are built and styled. Park UI offers a set of components with sensible
-defaults that can be easily customized to meet your needs.
-
-Unlike many other component libraries, Kickass UI isn't shipped as a
-single npm package. Instead, you can install only the components you need.
-If you want the full design system, you can install the Kickass UI Preset.
-You will learn more in the next section.
-
-## Acknowledgments
-
-## FAQ
diff --git a/apps/kickass-ui/eslint.config.js b/apps/kickass-ui/eslint.config.js
deleted file mode 100644
index 97be129..0000000
--- a/apps/kickass-ui/eslint.config.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import {
- base,
- browser,
- node,
- prettier,
- react,
- tsTypecheckDisabled,
- tsTypechecked,
-} from "@kickass-coderz/eslint-config";
-import pluginRouter from "@tanstack/eslint-plugin-router";
-import reactRefresh from "eslint-plugin-react-refresh";
-import tseslint from "typescript-eslint";
-
-export default tseslint.config(
- {
- name: "Base",
- files: ["**/*.{js,jsx,ts,tsx,mjs,cjs}"],
- extends: [base, tsTypechecked],
- languageOptions: {
- parserOptions: {
- project: ["./tsconfig.app.json", "./tsconfig.node.json"],
- tsconfigRootDir: import.meta.dirname,
- },
- },
- },
- {
- files: ["**/*.{js,cjs,mjs}"],
- extends: [tsTypecheckDisabled],
- },
- {
- name: "Configs",
- files: ["*.config.{ts,js,mjs,cjs}"],
- extends: [node],
- },
- {
- name: "App",
- files: ["app/**/*.{ts,tsx}"],
- extends: [browser, react, pluginRouter.configs["flat/recommended"]],
- plugins: {
- "react-refresh": reactRefresh,
- },
- rules: {
- "react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
- },
- },
- prettier,
- {
- ignores: [".vercel/", ".output/", ".vinxi/", "styled-system/*", "app/routeTree.gen.ts"],
- }
-);
diff --git a/apps/kickass-ui/package.json b/apps/kickass-ui/package.json
deleted file mode 100644
index 9e8c632..0000000
--- a/apps/kickass-ui/package.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "name": "kickass-ui",
- "version": "0.0.0",
- "private": true,
- "description": "",
- "keywords": [],
- "license": "MIT",
- "author": "",
- "type": "module",
- "scripts": {
- "build": "vinxi build",
- "dev": "vinxi dev",
- "dev:content": "velite --watch",
- "lint": "eslint . --max-warnings 0",
- "prepare": "panda codegen",
- "start": "vinxi start"
- },
- "dependencies": {
- "@ark-ui/react": "^4.7.0",
- "@kickass-coderz/capitalize-title": "workspace:*",
- "@kickass-coderz/react-control-flow": "workspace:*",
- "@tanstack/react-router": "^1.95.3",
- "@tanstack/start": "^1.95.3",
- "lucide-react": "^0.471.0",
- "outdent": "^0.8.0",
- "react": "^18",
- "react-dom": "^18",
- "vinxi": "^0.5.1"
- },
- "devDependencies": {
- "@kickass-coderz/eslint-config": "workspace:*",
- "@kickass-coderz/panda-preset-kaui": "workspace:*",
- "@kickass-coderz/ts-config": "workspace:*",
- "@pandacss/dev": "^0.51.1",
- "@tanstack/eslint-plugin-router": "^1.92.7",
- "@types/react": "^18",
- "@types/react-dom": "^18",
- "@vitejs/plugin-react": "^4.3.4",
- "eslint": "^9.18.0",
- "eslint-plugin-react-refresh": "^0.4.16",
- "rehype-slug": "^6.0.0",
- "typescript": "^5.7.3",
- "typescript-eslint": "^8.19.1",
- "velite": "^0.2.2"
- }
-}
diff --git a/apps/kickass-ui/panda.config.ts b/apps/kickass-ui/panda.config.ts
deleted file mode 100644
index 34ff383..0000000
--- a/apps/kickass-ui/panda.config.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createKickassUIPreset, mauve, plum } from "@kickass-coderz/panda-preset-kaui";
-import { defineConfig } from "@pandacss/dev";
-
-const kickassPreset = createKickassUIPreset({
- accentColor: plum,
- neutralColor: mauve,
-});
-
-export default defineConfig({
- // Whether to use css reset
- preflight: true,
- presets: [kickassPreset],
-
- // Where to look for your css declarations
- include: ["./app/**/*.{ts,tsx}"],
-
- // Files to exclude
- exclude: [],
-
- // Useful for theme customization
- theme: {
- extend: {},
- },
-
- // The output directory for your css system
- outdir: "styled-system",
- jsxFramework: "react",
- jsxStyleProps: "minimal",
-});
diff --git a/apps/kickass-ui/postcss.config.cjs b/apps/kickass-ui/postcss.config.cjs
deleted file mode 100644
index fc707d8..0000000
--- a/apps/kickass-ui/postcss.config.cjs
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
- plugins: {
- "@pandacss/dev/postcss": {},
- },
-};
diff --git a/apps/kickass-ui/tsconfig.app.json b/apps/kickass-ui/tsconfig.app.json
deleted file mode 100644
index e9c84bf..0000000
--- a/apps/kickass-ui/tsconfig.app.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/tsconfig",
- "display": "App",
- "extends": "@kickass-coderz/ts-config/base.json",
- "compilerOptions": {
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
- "lib": ["ESNext", "DOM", "DOM.Iterable"],
- "jsx": "react-jsx",
- "noEmit": true,
- "paths": {
- "~shared": ["./app/shared"],
- "~shared/*": ["./app/shared/*"],
- "~entities": ["./app/entities"],
- "~entities/*": ["./app/entities/*"],
- "~features": ["./app/features"],
- "~features/*": ["./app/features/*"],
- "~widgets": ["./app/widgets"],
- "~widgets/*": ["./app/widgets/*"],
- "~styled-system": ["./styled-system"],
- "~styled-system/*": ["./styled-system/*"],
- "~site-content": ["./.velite"]
- }
- },
- "include": ["app"]
-}
diff --git a/apps/kickass-ui/tsconfig.json b/apps/kickass-ui/tsconfig.json
deleted file mode 100644
index 8fbcf38..0000000
--- a/apps/kickass-ui/tsconfig.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "compilerOptions": {
- "jsx": "react-jsx"
- },
- "files": [],
- "references": [{ "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" }]
-}
diff --git a/apps/kickass-ui/tsconfig.node.json b/apps/kickass-ui/tsconfig.node.json
deleted file mode 100644
index 3be8fbb..0000000
--- a/apps/kickass-ui/tsconfig.node.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/tsconfig",
- "display": "Node",
- "extends": "@kickass-coderz/ts-config/base.json",
- "compilerOptions": {
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
- "lib": ["ESNext"],
- "noEmit": true
- },
- "include": ["app.config.ts", "panda.config.ts", "velite.config.ts"]
-}
diff --git a/apps/kickass-ui/velite.config.ts b/apps/kickass-ui/velite.config.ts
deleted file mode 100644
index d4f4f99..0000000
--- a/apps/kickass-ui/velite.config.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-import { capitalizeTitle } from "@kickass-coderz/capitalize-title";
-import rehypeSlug from "rehype-slug";
-import { defineCollection, defineConfig, s, z } from "velite";
-
-const tocSchema = s.toc();
-type TocEntries = z.infer;
-
-function flattenToc(entries: TocEntries, depth = 0) {
- const flattenedTocStack: Array<{
- title: string;
- url: string;
- depth: number;
- }> = [];
-
- for (const entry of entries) {
- flattenedTocStack.push({
- title: capitalizeTitle(entry.title),
- url: entry.url.replaceAll("#", ""),
- depth,
- });
- if (entry.items.length > 0) {
- flattenedTocStack.push(...flattenToc(entry.items, depth + 1));
- }
- }
-
- return flattenedTocStack;
-}
-
-const documentationCollection = defineCollection({
- name: "DocumentationCollection",
- pattern: "documentation/**/*.md",
- schema: s
- .object({
- title: s.string(),
- description: s.string(),
- meta: s.metadata(),
- toc: tocSchema,
- path: s.path(),
- content: s.mdx(),
- order: s.number().optional(),
- sidebarLabel: s.string().optional(),
- })
- .transform((data) => ({
- ...data,
- meta: {
- readingTime: data.meta.readingTime,
- },
- toc: flattenToc(data.toc),
- title: capitalizeTitle(data.title),
- sidebarLabel: capitalizeTitle(data.sidebarLabel ?? data.title),
- slug: data.path.split("/").slice(1).join("/"),
- category: capitalizeTitle(data.path.split("/").slice(1, 2).join("")),
- })),
-});
-
-const config = defineConfig({
- collections: {
- docs: documentationCollection,
- },
- markdown: {
- rehypePlugins: [
- rehypeSlug,
-
- // [
- // // eslint-disable-next-line @typescript-eslint/no-explicit-any
- // rehypeShiki as any,
- // {
- // theme: "nord",
- // },
- // ],
- ],
- },
- mdx: {
- rehypePlugins: [
- rehypeSlug,
- // [
- // // eslint-disable-next-line @typescript-eslint/no-explicit-any
- // rehypeShiki as any,
- // {
- // theme: "nord",
- // },
- // ],
- ],
- },
-});
-
-export default config;
diff --git a/apps/playground/.gitignore b/apps/playground/.gitignore
deleted file mode 100644
index fa147c3..0000000
--- a/apps/playground/.gitignore
+++ /dev/null
@@ -1,28 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
-
-## Panda
-styled-system
-styled-system-studio
\ No newline at end of file
diff --git a/apps/playground/README.md b/apps/playground/README.md
deleted file mode 100644
index 74872fd..0000000
--- a/apps/playground/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# React + TypeScript + Vite
-
-This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
-
-Currently, two official plugins are available:
-
-- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
-- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
-
-## Expanding the ESLint configuration
-
-If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
-
-- Configure the top-level `parserOptions` property like this:
-
-```js
-export default tseslint.config({
- languageOptions: {
- // other options...
- parserOptions: {
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
- tsconfigRootDir: import.meta.dirname,
- },
- },
-})
-```
-
-- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
-- Optionally add `...tseslint.configs.stylisticTypeChecked`
-- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:
-
-```js
-// eslint.config.js
-import react from 'eslint-plugin-react'
-
-export default tseslint.config({
- // Set the react version
- settings: { react: { version: '18.3' } },
- plugins: {
- // Add the react plugin
- react,
- },
- rules: {
- // other rules...
- // Enable its recommended rules
- ...react.configs.recommended.rules,
- ...react.configs['jsx-runtime'].rules,
- },
-})
-```
diff --git a/apps/playground/eslint.config.js b/apps/playground/eslint.config.js
deleted file mode 100644
index 092408a..0000000
--- a/apps/playground/eslint.config.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import js from '@eslint/js'
-import globals from 'globals'
-import reactHooks from 'eslint-plugin-react-hooks'
-import reactRefresh from 'eslint-plugin-react-refresh'
-import tseslint from 'typescript-eslint'
-
-export default tseslint.config(
- { ignores: ['dist'] },
- {
- extends: [js.configs.recommended, ...tseslint.configs.recommended],
- files: ['**/*.{ts,tsx}'],
- languageOptions: {
- ecmaVersion: 2020,
- globals: globals.browser,
- },
- plugins: {
- 'react-hooks': reactHooks,
- 'react-refresh': reactRefresh,
- },
- rules: {
- ...reactHooks.configs.recommended.rules,
- 'react-refresh/only-export-components': [
- 'warn',
- { allowConstantExport: true },
- ],
- },
- },
-)
diff --git a/apps/playground/index.html b/apps/playground/index.html
deleted file mode 100644
index e4b78ea..0000000
--- a/apps/playground/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
- Vite + React + TS
-
-
-
-
-
-
diff --git a/apps/playground/package.json b/apps/playground/package.json
deleted file mode 100644
index b3e4688..0000000
--- a/apps/playground/package.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "playground",
- "version": "0.0.0",
- "private": true,
- "type": "module",
- "scripts": {
- "build": "tsc -b && vite build",
- "dev": "vite",
- "lint": "eslint .",
- "prepare": "panda codegen",
- "preview": "vite preview"
- },
- "dependencies": {
- "@kickass-coderz/kaui-react": "workspace:*",
- "react": "^19",
- "react-dom": "^19"
- },
- "devDependencies": {
- "@eslint/js": "^9.17.0",
- "@pandacss/dev": "^0.51.1",
- "@types/react": "^19",
- "@types/react-dom": "^19",
- "@vitejs/plugin-react": "^4.3.4",
- "eslint": "^9.17.0",
- "eslint-plugin-react-hooks": "^5.0.0",
- "eslint-plugin-react-refresh": "^0.4.16",
- "globals": "^15.14.0",
- "typescript": "~5.6.2",
- "typescript-eslint": "^8.18.2",
- "vite": "^6.0.5"
- }
-}
diff --git a/apps/playground/panda.config.ts b/apps/playground/panda.config.ts
deleted file mode 100644
index 794a2ab..0000000
--- a/apps/playground/panda.config.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-// import { createKickassUIPreset, mauve, plum } from "@kickass-coderz/kickass-ui-react/preset";
-import { defineConfig } from "@pandacss/dev";
-import { createKickassUIPreset, crimson, mauve, redTheme } from "@kickass-coderz/kaui-react/preset";
-
-const kickassPreset = createKickassUIPreset({
- accentColor: crimson,
- neutralColor: mauve,
-});
-
-export default defineConfig({
- // Whether to use css reset
- preflight: true,
- presets: [kickassPreset],
-
- // Where to look for your css declarations
- include: [
- "./src/**/*.{ts,tsx}",
- "./node_modules/@kickass-coderz/kaui-react/src/components/**/*.{ts,tsx}",
- ],
- themes: {
- ...redTheme,
- },
-
- // The output directory for your css system
- importMap: "@kickass-coderz/kaui-react/styled-system",
- outdir: "./node_modules/@kickass-coderz/kaui-react/styled-system",
- // importMap: "@kickass-coderz/kaui-react/system",
- // outdir: "./node_modules/@kickass-coderz/kaui-react/system",
- jsxFramework: "react",
- jsxStyleProps: "minimal",
- outExtension: "js",
- // lightningcss: true,
-});
diff --git a/apps/playground/postcss.config.cjs b/apps/playground/postcss.config.cjs
deleted file mode 100644
index fc707d8..0000000
--- a/apps/playground/postcss.config.cjs
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
- plugins: {
- "@pandacss/dev/postcss": {},
- },
-};
diff --git a/apps/playground/public/vite.svg b/apps/playground/public/vite.svg
deleted file mode 100644
index e7b8dfb..0000000
--- a/apps/playground/public/vite.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/playground/src/App.tsx b/apps/playground/src/App.tsx
deleted file mode 100644
index 15a3acd..0000000
--- a/apps/playground/src/App.tsx
+++ /dev/null
@@ -1,79 +0,0 @@
-import { Badge } from "@kickass-coderz/kaui-react/components/badge";
-import "./index.css";
-
-import { Button } from "@kickass-coderz/kaui-react/components/button";
-import { css, cva } from "@kickass-coderz/kaui-react/styled-system/css";
-import { Container } from "@kickass-coderz/kaui-react/styled-system/jsx";
-
-const boxStyles = css({
- width: "20",
- height: "20",
- backgroundColor: "accent.9",
-});
-
-const myButtonStyles = cva({
- base: {
- paddingY: "2",
- paddingX: "4",
- },
- variants: {
- variant: {
- primary: {
- backgroundColor: "accent.9",
- color: "accent.contrast",
- },
- secondary: {
- backgroundColor: "accent.5",
- color: "accent.11",
- },
- },
- },
-});
-
-// const MyButton = styled(SlotableButton, myButtonStyles, {
-// defaultProps: {
-// variant: "primary",
-// type: "button",
-// },
-// });
-
-function App() {
- return (
-
- B
-
-
-
- Badge
-
- {/* }
- >
- Click me
- */}
- {/* }>
- Button
-
- Button */}
-
- );
-}
-
-export default App;
diff --git a/apps/playground/src/assets/react.svg b/apps/playground/src/assets/react.svg
deleted file mode 100644
index 6c87de9..0000000
--- a/apps/playground/src/assets/react.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/playground/src/index.css b/apps/playground/src/index.css
deleted file mode 100644
index e27a23b..0000000
--- a/apps/playground/src/index.css
+++ /dev/null
@@ -1 +0,0 @@
-@layer reset, base, tokens, recipes, utilities;
diff --git a/apps/playground/src/main.tsx b/apps/playground/src/main.tsx
deleted file mode 100644
index 98bf07f..0000000
--- a/apps/playground/src/main.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import { StrictMode } from "react";
-import { createRoot } from "react-dom/client";
-
-import App from "./App.tsx";
-
-createRoot(document.getElementById("root")!).render(
-
-
-
-);
diff --git a/apps/playground/src/vite-env.d.ts b/apps/playground/src/vite-env.d.ts
deleted file mode 100644
index 11f02fe..0000000
--- a/apps/playground/src/vite-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/apps/playground/tsconfig.app.json b/apps/playground/tsconfig.app.json
deleted file mode 100644
index d426d4a..0000000
--- a/apps/playground/tsconfig.app.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "compilerOptions": {
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
- "target": "ES2020",
- "useDefineForClassFields": true,
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
- "module": "ESNext",
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "isolatedModules": true,
- "moduleDetection": "force",
- "noEmit": true,
- "jsx": "react-jsx",
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true,
- "noUncheckedSideEffectImports": true,
-
- "baseUrl": "."
- },
- "include": ["src"]
-}
diff --git a/apps/playground/tsconfig.json b/apps/playground/tsconfig.json
deleted file mode 100644
index 1ffef60..0000000
--- a/apps/playground/tsconfig.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "files": [],
- "references": [
- { "path": "./tsconfig.app.json" },
- { "path": "./tsconfig.node.json" }
- ]
-}
diff --git a/apps/playground/tsconfig.node.json b/apps/playground/tsconfig.node.json
deleted file mode 100644
index db0becc..0000000
--- a/apps/playground/tsconfig.node.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "compilerOptions": {
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
- "target": "ES2022",
- "lib": ["ES2023"],
- "module": "ESNext",
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "isolatedModules": true,
- "moduleDetection": "force",
- "noEmit": true,
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true,
- "noUncheckedSideEffectImports": true
- },
- "include": ["vite.config.ts"]
-}
diff --git a/apps/playground/vite.config.ts b/apps/playground/vite.config.ts
deleted file mode 100644
index 92a998f..0000000
--- a/apps/playground/vite.config.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { defineConfig } from "vite";
-import react from "@vitejs/plugin-react";
-
-// https://vite.dev/config/
-export default defineConfig({
- server: {
- port: 3000,
- },
- plugins: [react()],
-});
diff --git a/apps/web/.gitignore b/apps/web/.gitignore
deleted file mode 100644
index c0b902a..0000000
--- a/apps/web/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-## Panda
-styled-system
-styled-system-studio
\ No newline at end of file
diff --git a/apps/web/app.config.ts b/apps/web/app.config.ts
deleted file mode 100644
index 867f9d3..0000000
--- a/apps/web/app.config.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import path from "node:path";
-
-import { defineConfig } from "@tanstack/start/config";
-
-export default defineConfig({
- server: {
- preset: "vercel",
- },
- vite: {
- resolve: {
- alias: {
- "~shared": path.resolve("app/shared"),
- "~entities": path.resolve("app/entities"),
- "~features": path.resolve("app/features"),
- "~widgets": path.resolve("app/widgets"),
- "~styled-system": path.resolve("styled-system"),
- },
- },
- },
-});
diff --git a/apps/web/app/client.tsx b/apps/web/app/client.tsx
deleted file mode 100644
index 0a5bdaf..0000000
--- a/apps/web/app/client.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-import { StartClient } from "@tanstack/start";
-import { hydrateRoot } from "react-dom/client";
-
-import { createRouter } from "./router";
-
-const router = createRouter();
-
-const root = hydrateRoot(document, );
-
-export default root;
diff --git a/apps/web/app/css/index.css b/apps/web/app/css/index.css
deleted file mode 100644
index e27a23b..0000000
--- a/apps/web/app/css/index.css
+++ /dev/null
@@ -1 +0,0 @@
-@layer reset, base, tokens, recipes, utilities;
diff --git a/apps/web/app/features/packages/consts/index.tsx b/apps/web/app/features/packages/consts/index.tsx
deleted file mode 100644
index 803109a..0000000
--- a/apps/web/app/features/packages/consts/index.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import type { Package } from "../models";
-
-export const FEATURED_PACKAGES: Array = [
- {
- id: 1,
- title: "React Hooks",
- description: (
- <>
- A collection of React hooks.
-
- Typed,tested and ready to use.
- >
- ),
- stats: [
- { type: "stars", value: 1400 },
- { type: "downloads", value: 1400 },
- { type: "contributors", value: 1400 },
- ],
- },
- {
- id: 2,
- title: "Kickass UI",
- description:
- "Component library optimized for fast development, easy maintenance, and accessibility. Build high-quality web apps with breeze.",
- stats: [
- { type: "stars", value: 1400 },
- { type: "downloads", value: 1400 },
- { type: "contributors", value: 1400 },
- ],
- },
- {
- id: 3,
- title: "Data Service",
- description: (
- <>
- Streamline data fetching, caching, and updating with a single service. No more
- any's and typecasting.
- >
- ),
- stats: [
- { type: "stars", value: 1400 },
- { type: "downloads", value: 1400 },
- { type: "contributors", value: 1400 },
- ],
- },
- {
- id: 4,
- title: "Control Flows",
- description: "Simplify the complexity of conditional rendering.",
- stats: [
- { type: "stars", value: 1400 },
- { type: "downloads", value: 1400 },
- { type: "contributors", value: 1400 },
- ],
- },
-];
diff --git a/apps/web/app/features/packages/models/index.ts b/apps/web/app/features/packages/models/index.ts
deleted file mode 100644
index 2ec1fe9..0000000
--- a/apps/web/app/features/packages/models/index.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export type PackageStat = Readonly<{
- type: "stars" | "downloads" | "contributors";
- value: number;
-}>;
-
-export type Package = Readonly<{
- id: number;
- title: React.ReactNode;
- description: React.ReactNode;
- stats: Array;
-}>;
diff --git a/apps/web/app/features/packages/ui/package-card.tsx b/apps/web/app/features/packages/ui/package-card.tsx
deleted file mode 100644
index c6927bb..0000000
--- a/apps/web/app/features/packages/ui/package-card.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import { DownloadIcon, StarIcon, UsersIcon } from "lucide-react";
-
-import { CardBody, CardFooter, CardHeader, CardRoot } from "~shared/design-system/card";
-import { Icon } from "~shared/design-system/icon";
-import { Heading } from "~shared/design-system/typography/heading";
-import { Text } from "~shared/design-system/typography/text";
-
-import type { PackageStat } from "../models";
-
-type PackageCardProperties = Readonly<{
- title: React.ReactNode;
- description: React.ReactNode;
- stats: Array;
-}>;
-
-export function PackageCard({ title, description }: PackageCardProperties) {
- return (
-
-
-
- {title}
-
-
-
-
- {description}
-
-
-
-
-
-
-
- 1.4k
-
-
-
-
-
- 1.4k
-
-
-
-
-
- 1.4k
-
-
-
- );
-}
diff --git a/apps/web/app/features/packages/ui/package-switcher-menu.tsx b/apps/web/app/features/packages/ui/package-switcher-menu.tsx
deleted file mode 100644
index 7fb6fd9..0000000
--- a/apps/web/app/features/packages/ui/package-switcher-menu.tsx
+++ /dev/null
@@ -1,167 +0,0 @@
-import {
- AnchorIcon,
- ArrowUpDownIcon,
- ChevronsUpDownIcon,
- CircuitBoardIcon,
- DatabaseIcon,
- FileKey2Icon,
- SwatchBookIcon,
-} from "lucide-react";
-
-import { Avatar } from "~shared/design-system/avatar";
-import { CardBody, CardRoot } from "~shared/design-system/card";
-import { Icon } from "~shared/design-system/icon";
-import {
- Menu,
- MenuItem,
- MenuItemGroup,
- MenuItemGroupLabel,
- MenuSeparator,
-} from "~shared/design-system/menu";
-import { Text } from "~shared/design-system/typography/text";
-import { HStack, Stack } from "~styled-system/jsx";
-
-export function PackageSwitcherMenu() {
- return (
-
- );
-}
diff --git a/apps/web/app/routeTree.gen.ts b/apps/web/app/routeTree.gen.ts
deleted file mode 100644
index 3cbc24a..0000000
--- a/apps/web/app/routeTree.gen.ts
+++ /dev/null
@@ -1,292 +0,0 @@
-/* eslint-disable */
-
-// @ts-nocheck
-
-// noinspection JSUnusedGlobalSymbols
-
-// This file was automatically generated by TanStack Router.
-// You should NOT make any changes in this file as it will be overwritten.
-// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
-
-// Import Routes
-
-import { Route as rootRoute } from './routes/__root'
-import { Route as IndexImport } from './routes/index'
-import { Route as ShowcaseIndexImport } from './routes/showcase/index'
-import { Route as PackagesIndexImport } from './routes/packages/index'
-import { Route as BlogIndexImport } from './routes/blog/index'
-import { Route as PackagesKickassUiIndexImport } from './routes/packages/kickass-ui/index'
-import { Route as PackagesKickassUiDocumentationRouteImport } from './routes/packages/kickass-ui/documentation/route'
-import { Route as PackagesKickassUiPlaygroundIndexImport } from './routes/packages/kickass-ui/playground/index'
-import { Route as PackagesKickassUiDocumentationIndexImport } from './routes/packages/kickass-ui/documentation/index'
-
-// Create/Update Routes
-
-const IndexRoute = IndexImport.update({
- id: '/',
- path: '/',
- getParentRoute: () => rootRoute,
-} as any)
-
-const ShowcaseIndexRoute = ShowcaseIndexImport.update({
- id: '/showcase/',
- path: '/showcase/',
- getParentRoute: () => rootRoute,
-} as any)
-
-const PackagesIndexRoute = PackagesIndexImport.update({
- id: '/packages/',
- path: '/packages/',
- getParentRoute: () => rootRoute,
-} as any)
-
-const BlogIndexRoute = BlogIndexImport.update({
- id: '/blog/',
- path: '/blog/',
- getParentRoute: () => rootRoute,
-} as any)
-
-const PackagesKickassUiIndexRoute = PackagesKickassUiIndexImport.update({
- id: '/packages/kickass-ui/',
- path: '/packages/kickass-ui/',
- getParentRoute: () => rootRoute,
-} as any)
-
-const PackagesKickassUiDocumentationRouteRoute =
- PackagesKickassUiDocumentationRouteImport.update({
- id: '/packages/kickass-ui/documentation',
- path: '/packages/kickass-ui/documentation',
- getParentRoute: () => rootRoute,
- } as any)
-
-const PackagesKickassUiPlaygroundIndexRoute =
- PackagesKickassUiPlaygroundIndexImport.update({
- id: '/packages/kickass-ui/playground/',
- path: '/packages/kickass-ui/playground/',
- getParentRoute: () => rootRoute,
- } as any)
-
-const PackagesKickassUiDocumentationIndexRoute =
- PackagesKickassUiDocumentationIndexImport.update({
- id: '/',
- path: '/',
- getParentRoute: () => PackagesKickassUiDocumentationRouteRoute,
- } as any)
-
-// Populate the FileRoutesByPath interface
-
-declare module '@tanstack/react-router' {
- interface FileRoutesByPath {
- '/': {
- id: '/'
- path: '/'
- fullPath: '/'
- preLoaderRoute: typeof IndexImport
- parentRoute: typeof rootRoute
- }
- '/blog/': {
- id: '/blog/'
- path: '/blog'
- fullPath: '/blog'
- preLoaderRoute: typeof BlogIndexImport
- parentRoute: typeof rootRoute
- }
- '/packages/': {
- id: '/packages/'
- path: '/packages'
- fullPath: '/packages'
- preLoaderRoute: typeof PackagesIndexImport
- parentRoute: typeof rootRoute
- }
- '/showcase/': {
- id: '/showcase/'
- path: '/showcase'
- fullPath: '/showcase'
- preLoaderRoute: typeof ShowcaseIndexImport
- parentRoute: typeof rootRoute
- }
- '/packages/kickass-ui/documentation': {
- id: '/packages/kickass-ui/documentation'
- path: '/packages/kickass-ui/documentation'
- fullPath: '/packages/kickass-ui/documentation'
- preLoaderRoute: typeof PackagesKickassUiDocumentationRouteImport
- parentRoute: typeof rootRoute
- }
- '/packages/kickass-ui/': {
- id: '/packages/kickass-ui/'
- path: '/packages/kickass-ui'
- fullPath: '/packages/kickass-ui'
- preLoaderRoute: typeof PackagesKickassUiIndexImport
- parentRoute: typeof rootRoute
- }
- '/packages/kickass-ui/documentation/': {
- id: '/packages/kickass-ui/documentation/'
- path: '/'
- fullPath: '/packages/kickass-ui/documentation/'
- preLoaderRoute: typeof PackagesKickassUiDocumentationIndexImport
- parentRoute: typeof PackagesKickassUiDocumentationRouteImport
- }
- '/packages/kickass-ui/playground/': {
- id: '/packages/kickass-ui/playground/'
- path: '/packages/kickass-ui/playground'
- fullPath: '/packages/kickass-ui/playground'
- preLoaderRoute: typeof PackagesKickassUiPlaygroundIndexImport
- parentRoute: typeof rootRoute
- }
- }
-}
-
-// Create and export the route tree
-
-interface PackagesKickassUiDocumentationRouteRouteChildren {
- PackagesKickassUiDocumentationIndexRoute: typeof PackagesKickassUiDocumentationIndexRoute
-}
-
-const PackagesKickassUiDocumentationRouteRouteChildren: PackagesKickassUiDocumentationRouteRouteChildren =
- {
- PackagesKickassUiDocumentationIndexRoute:
- PackagesKickassUiDocumentationIndexRoute,
- }
-
-const PackagesKickassUiDocumentationRouteRouteWithChildren =
- PackagesKickassUiDocumentationRouteRoute._addFileChildren(
- PackagesKickassUiDocumentationRouteRouteChildren,
- )
-
-export interface FileRoutesByFullPath {
- '/': typeof IndexRoute
- '/blog': typeof BlogIndexRoute
- '/packages': typeof PackagesIndexRoute
- '/showcase': typeof ShowcaseIndexRoute
- '/packages/kickass-ui/documentation': typeof PackagesKickassUiDocumentationRouteRouteWithChildren
- '/packages/kickass-ui': typeof PackagesKickassUiIndexRoute
- '/packages/kickass-ui/documentation/': typeof PackagesKickassUiDocumentationIndexRoute
- '/packages/kickass-ui/playground': typeof PackagesKickassUiPlaygroundIndexRoute
-}
-
-export interface FileRoutesByTo {
- '/': typeof IndexRoute
- '/blog': typeof BlogIndexRoute
- '/packages': typeof PackagesIndexRoute
- '/showcase': typeof ShowcaseIndexRoute
- '/packages/kickass-ui': typeof PackagesKickassUiIndexRoute
- '/packages/kickass-ui/documentation': typeof PackagesKickassUiDocumentationIndexRoute
- '/packages/kickass-ui/playground': typeof PackagesKickassUiPlaygroundIndexRoute
-}
-
-export interface FileRoutesById {
- __root__: typeof rootRoute
- '/': typeof IndexRoute
- '/blog/': typeof BlogIndexRoute
- '/packages/': typeof PackagesIndexRoute
- '/showcase/': typeof ShowcaseIndexRoute
- '/packages/kickass-ui/documentation': typeof PackagesKickassUiDocumentationRouteRouteWithChildren
- '/packages/kickass-ui/': typeof PackagesKickassUiIndexRoute
- '/packages/kickass-ui/documentation/': typeof PackagesKickassUiDocumentationIndexRoute
- '/packages/kickass-ui/playground/': typeof PackagesKickassUiPlaygroundIndexRoute
-}
-
-export interface FileRouteTypes {
- fileRoutesByFullPath: FileRoutesByFullPath
- fullPaths:
- | '/'
- | '/blog'
- | '/packages'
- | '/showcase'
- | '/packages/kickass-ui/documentation'
- | '/packages/kickass-ui'
- | '/packages/kickass-ui/documentation/'
- | '/packages/kickass-ui/playground'
- fileRoutesByTo: FileRoutesByTo
- to:
- | '/'
- | '/blog'
- | '/packages'
- | '/showcase'
- | '/packages/kickass-ui'
- | '/packages/kickass-ui/documentation'
- | '/packages/kickass-ui/playground'
- id:
- | '__root__'
- | '/'
- | '/blog/'
- | '/packages/'
- | '/showcase/'
- | '/packages/kickass-ui/documentation'
- | '/packages/kickass-ui/'
- | '/packages/kickass-ui/documentation/'
- | '/packages/kickass-ui/playground/'
- fileRoutesById: FileRoutesById
-}
-
-export interface RootRouteChildren {
- IndexRoute: typeof IndexRoute
- BlogIndexRoute: typeof BlogIndexRoute
- PackagesIndexRoute: typeof PackagesIndexRoute
- ShowcaseIndexRoute: typeof ShowcaseIndexRoute
- PackagesKickassUiDocumentationRouteRoute: typeof PackagesKickassUiDocumentationRouteRouteWithChildren
- PackagesKickassUiIndexRoute: typeof PackagesKickassUiIndexRoute
- PackagesKickassUiPlaygroundIndexRoute: typeof PackagesKickassUiPlaygroundIndexRoute
-}
-
-const rootRouteChildren: RootRouteChildren = {
- IndexRoute: IndexRoute,
- BlogIndexRoute: BlogIndexRoute,
- PackagesIndexRoute: PackagesIndexRoute,
- ShowcaseIndexRoute: ShowcaseIndexRoute,
- PackagesKickassUiDocumentationRouteRoute:
- PackagesKickassUiDocumentationRouteRouteWithChildren,
- PackagesKickassUiIndexRoute: PackagesKickassUiIndexRoute,
- PackagesKickassUiPlaygroundIndexRoute: PackagesKickassUiPlaygroundIndexRoute,
-}
-
-export const routeTree = rootRoute
- ._addFileChildren(rootRouteChildren)
- ._addFileTypes()
-
-/* ROUTE_MANIFEST_START
-{
- "routes": {
- "__root__": {
- "filePath": "__root.tsx",
- "children": [
- "/",
- "/blog/",
- "/packages/",
- "/showcase/",
- "/packages/kickass-ui/documentation",
- "/packages/kickass-ui/",
- "/packages/kickass-ui/playground/"
- ]
- },
- "/": {
- "filePath": "index.tsx"
- },
- "/blog/": {
- "filePath": "blog/index.tsx"
- },
- "/packages/": {
- "filePath": "packages/index.tsx"
- },
- "/showcase/": {
- "filePath": "showcase/index.tsx"
- },
- "/packages/kickass-ui/documentation": {
- "filePath": "packages/kickass-ui/documentation/route.tsx",
- "children": [
- "/packages/kickass-ui/documentation/"
- ]
- },
- "/packages/kickass-ui/": {
- "filePath": "packages/kickass-ui/index.tsx"
- },
- "/packages/kickass-ui/documentation/": {
- "filePath": "packages/kickass-ui/documentation/index.tsx",
- "parent": "/packages/kickass-ui/documentation"
- },
- "/packages/kickass-ui/playground/": {
- "filePath": "packages/kickass-ui/playground/index.tsx"
- }
- }
-}
-ROUTE_MANIFEST_END */
diff --git a/apps/web/app/router.ts b/apps/web/app/router.ts
deleted file mode 100644
index 2829e95..0000000
--- a/apps/web/app/router.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import {
- type AnySchema,
- createRouter as createTanStackRouter,
- parseSearchWith,
- stringifySearchWith,
-} from "@tanstack/react-router";
-
-import {
- decodeBase64ToString,
- encodeStringToBase64,
-} from "~shared/utils/base-64-encode-decode-string";
-
-import { routeTree } from "./routeTree.gen";
-
-export function createRouter() {
- const router = createTanStackRouter({
- routeTree,
- parseSearch: parseSearchWith(
- (value) => JSON.parse(decodeBase64ToString(value)) as AnySchema
- ),
- stringifySearch: stringifySearchWith((value) =>
- encodeStringToBase64(JSON.stringify(value))
- ),
- });
-
- return router;
-}
-
-declare module "@tanstack/react-router" {
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- Module augmentation for type inference
- interface Register {
- router: ReturnType;
- }
-}
diff --git a/apps/web/app/routes/__root.tsx b/apps/web/app/routes/__root.tsx
deleted file mode 100644
index d913be6..0000000
--- a/apps/web/app/routes/__root.tsx
+++ /dev/null
@@ -1,138 +0,0 @@
-import { Show } from "@kickass-coderz/react-control-flow/show";
-import {
- createRootRoute,
- ErrorComponent,
- type ErrorComponentProps,
- Link,
- Outlet,
- rootRouteId,
- ScrollRestoration,
- useMatch,
- useRouter,
-} from "@tanstack/react-router";
-import { Meta, Scripts } from "@tanstack/start";
-import { outdent } from "outdent";
-
-import { GlobalLayout } from "~widgets/global/ui/global-layout";
-
-import appCss from "../css/index.css?url";
-
-export const Route = createRootRoute({
- head: () => ({
- meta: [
- {
- charSet: "utf8",
- },
- {
- name: "viewport",
- content: "width=device-width, initial-scale=1",
- },
- {
- title: "Kickass Toolkit",
- },
- {
- name: "description",
- content:
- "Kickass Toolkit is a set of finely crafted and curated tools for rapid development of modern applications based on React and it's ecosystem.",
- },
- {
- name: "robots",
- content: "noindex, nofollow",
- },
- ],
- links: [
- {
- rel: "preload",
- href: appCss,
- as: "style",
- },
- {
- rel: "stylesheet",
- href: appCss,
- },
- ],
- // TODO: remove when hot reloading is fixed -- https://github.com/TanStack/router/issues/1992
- scripts: import.meta.env.PROD
- ? []
- : [
- {
- id: "react-refresh",
- type: "module",
- children: outdent/* js */ `
- import RefreshRuntime from "/_build/@react-refresh"
- RefreshRuntime.injectIntoGlobalHook(window)
- window.$RefreshReg$ = () => {}
- window.$RefreshSig$ = () => (type) => type
- `,
- },
- ],
- }),
- component: RootComponent,
- notFoundComponent: NotFoundFoundComponent,
- errorComponent: DefaultCatchBoundary,
-});
-
-function RootComponent() {
- return (
-
-
-
-
-
- );
-}
-
-type RootDocumentProperties = Readonly<{ children: React.ReactNode }>;
-
-function RootDocument({ children }: RootDocumentProperties) {
- return (
-
-
-
-
-
- {children}
-
-
-
-
- );
-}
-
-function NotFoundFoundComponent() {
- return Not Found Custom
;
-}
-
-function DefaultCatchBoundary({ error }: ErrorComponentProps) {
- const router = useRouter();
- const isRoot = useMatch({
- strict: false,
- select: (state) => state.id === rootRouteId,
- });
-
- const handleTryAgain = () => {
- void router.invalidate();
- };
-
- const handleGoBack = (event: React.MouseEvent) => {
- event.preventDefault();
- router.history.back();
- };
-
- return (
-
-
-
-
- Go Back
-
- }
- >
- Home
-
-
- );
-}
diff --git a/apps/web/app/routes/blog/index.tsx b/apps/web/app/routes/blog/index.tsx
deleted file mode 100644
index 4494e2d..0000000
--- a/apps/web/app/routes/blog/index.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import { createFileRoute } from "@tanstack/react-router";
-
-export const Route = createFileRoute("/blog/")({
- component: RouteComponent,
-});
-
-function RouteComponent() {
- return Hello Blog
;
-}
diff --git a/apps/web/app/routes/index.tsx b/apps/web/app/routes/index.tsx
deleted file mode 100644
index ae93384..0000000
--- a/apps/web/app/routes/index.tsx
+++ /dev/null
@@ -1,162 +0,0 @@
-import { For } from "@kickass-coderz/react-control-flow/for";
-import { Show } from "@kickass-coderz/react-control-flow/show";
-import { createFileRoute, Link as RouterLink } from "@tanstack/react-router";
-import { ArrowRightIcon, PartyPopperIcon } from "lucide-react";
-
-import { FEATURED_PACKAGES } from "~features/packages/consts";
-import { PackageCard } from "~features/packages/ui/package-card";
-import { Badge } from "~shared/design-system/badge";
-import { Button } from "~shared/design-system/button";
-import { Icon } from "~shared/design-system/icon";
-import { Heading } from "~shared/design-system/typography/heading";
-import { Text } from "~shared/design-system/typography/text";
-import { useIsClient } from "~shared/hooks/use-is-client";
-import { GithubIcon } from "~shared/icons/github-icon";
-import { css } from "~styled-system/css";
-import { container, grid, gridItem, stack } from "~styled-system/patterns";
-import { AnimatedBackground } from "~widgets/global/ui/animated-background";
-
-export const Route = createFileRoute("/")({
- component: RouteComponent,
-});
-
-const rootStyles = css({
- width: "full",
- minHeight: "viewportHeight",
- position: "relative",
-});
-
-const headerStyles = container({
- height: "calc({sizes.viewportHeight} - {sizes.16})",
- display: "flex",
- flexDirection: "column",
- alignItems: "center",
- justifyContent: "center",
- gap: "10",
-});
-
-const headerHgroupStyles = stack({
- gap: "5",
-});
-
-function RouteComponent() {
- const isClient = useIsClient();
- return (
-
-
-
-
-
-
-
-
-
- Celebrating the launch of Kickass Toolkit
-
-
-
-
-
-
- Develop Kickass projects
-
with rapid development Toolkit
-
-
- Simple, powerful and flexible toolkit for building web apps.
-
Focus on code let us take care of chores!
-
-
-
-
-
-
- Redefining development experience
-
- Streamlining the development one step at the time.
-
-
-
-
- {(packageItem, index) => (
- -
-
-
- )}
-
-
-
-
-
-
- Kickass Toolkit is Open Source
-
- Our code's chillin' on GitHub - dive in, peep it, shit on it, or
- drop
-
some hot commits if you're feelin' it!
-
-
-
-
-
- );
-}
diff --git a/apps/web/app/routes/packages/index.tsx b/apps/web/app/routes/packages/index.tsx
deleted file mode 100644
index f9c7b53..0000000
--- a/apps/web/app/routes/packages/index.tsx
+++ /dev/null
@@ -1,182 +0,0 @@
-import { For } from "@kickass-coderz/react-control-flow/for";
-import { Show } from "@kickass-coderz/react-control-flow/show";
-import { createFileRoute } from "@tanstack/react-router";
-import { BoxesIcon, CheckIcon, ChevronsUpDownIcon, SearchIcon } from "lucide-react";
-
-import { FEATURED_PACKAGES } from "~features/packages/consts";
-import { PackageCard } from "~features/packages/ui/package-card";
-import { Icon } from "~shared/design-system/icon";
-import { InputField } from "~shared/design-system/input-field";
-import { Select, SelectItem } from "~shared/design-system/select";
-import { createListCollection } from "~shared/design-system/select/create-list-collection";
-import { TextInput } from "~shared/design-system/text-input";
-import { Heading } from "~shared/design-system/typography/heading";
-import { Text } from "~shared/design-system/typography/text";
-import { useIsClient } from "~shared/hooks/use-is-client";
-import { cx } from "~styled-system/css";
-import { container, grid, gridItem, hstack, stack } from "~styled-system/patterns";
-import { section } from "~styled-system/recipes";
-import { AnimatedBackground } from "~widgets/global/ui/animated-background";
-
-export const Route = createFileRoute("/packages/")({
- component: RouteComponent,
-});
-
-const SORT_BY_COLLECTION = createListCollection({
- items: [
- { label: "Name", value: "name" },
- { label: "Stars", value: "stars" },
- { label: "Downloads", value: "downloads" },
- { label: "Contributors", value: "contributors" },
- ] as const,
-});
-
-const ORDER_COLLECTION = createListCollection({
- items: [
- { label: "Ascending", value: "asc" },
- { label: "Descending", value: "desc" },
- ] as const,
-});
-
-const rootStyles = cx(
- container({
- maxWidth: "7xl",
- width: "full",
- minHeight: "viewportHeight",
- position: "relative",
- display: "flex",
- flexDirection: "column",
- gap: "12",
- }),
- section({ size: "lg" })
-);
-
-const headerStyles = stack({
- gap: "6",
-});
-
-const headerHgroupStyles = stack({ gap: "2" });
-
-function RouteComponent() {
- const isClient = useIsClient();
-
- return (
-
-
-
-
-
-
-
-
-
- Packages
-
- A gateway to our galaxy of JavaScript utilities, libraries, and tools
- created to empower developers.
-
-
-
-
-
-
-
-
-
-
- }
- />
-
-
-
-
-
-
-
-
-
-
-
-
- List of packages
-
-
- {(packageItem) => (
- -
-
-
- )}
-
-
-
-
-
- );
-}
diff --git a/apps/web/app/routes/packages/kickass-ui/documentation/index.tsx b/apps/web/app/routes/packages/kickass-ui/documentation/index.tsx
deleted file mode 100644
index 795a658..0000000
--- a/apps/web/app/routes/packages/kickass-ui/documentation/index.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-import { createFileRoute } from '@tanstack/react-router'
-
-import { Heading } from '~shared/design-system/typography/heading'
-import { Text } from '~shared/design-system/typography/text'
-import { css, cx } from '~styled-system/css'
-import { stack } from '~styled-system/patterns'
-import { section } from '~styled-system/recipes'
-
-export const Route = createFileRoute('/packages/kickass-ui/documentation/')({
- component: RouteComponent,
-})
-
-const rootStyles = cx(
- css({
- width: 'full',
- maxWidth: '2xl',
-
- display: 'flex',
- flexDirection: 'column',
- gap: '12',
- }),
- section({ size: 'lg' }),
-)
-
-const headerStyles = css({})
-
-const headerHgroupStyles = stack({
- gap: '2',
-})
-
-function RouteComponent() {
- return (
-
-
-
- Kickass UI
-
- Component library optimized for fast development, easy maintenance,
- and accessibility. Build high-quality web apps with breeze.
-
-
-
-
-
- Motivation
-
-
- Many popular component libraries are tailored to specific JavaScript
- frameworks and adhere to particular UI designs. While this approach
- may suit individuals and small businesses, it often presents
- challenges for larger organizations or agencies working with diverse
- clients and teams using different JS frameworks.
-
-
- Additionally, most component libraries tightly couple design and
- functionality, making customization difficult and sometimes
- impossible.
-
-
-
-
- Solution
-
-
- Introducing Kickass UI. Our goal is to give you control over how
- components are built and styled. Park UI offers a set of components
- with sensible defaults that can be easily customized to meet your
- needs.
-
-
- Unlike many other component libraries, Kickass UI isn't shipped
- as a single npm package. Instead, you can install only the components
- you need. If you want the full design system, you can install the
- Kickass UI Preset. You will learn more in the next section.
-
-
-
-
-
- )
-}
diff --git a/apps/web/app/routes/packages/kickass-ui/documentation/route.tsx b/apps/web/app/routes/packages/kickass-ui/documentation/route.tsx
deleted file mode 100644
index 602beed..0000000
--- a/apps/web/app/routes/packages/kickass-ui/documentation/route.tsx
+++ /dev/null
@@ -1,585 +0,0 @@
-import { createFileRoute, Link as RouterLink, Outlet } from "@tanstack/react-router";
-import { EllipsisIcon, PanelLeftCloseIcon, SearchIcon, SparklesIcon } from "lucide-react";
-
-import { PackageSwitcherMenu } from "~features/packages/ui/package-switcher-menu";
-import { Logo } from "~shared/components/logo";
-import { Button } from "~shared/design-system/button";
-import { Icon } from "~shared/design-system/icon";
-import { IconButton } from "~shared/design-system/icon-button";
-import { Section } from "~shared/design-system/section";
-import { Switch } from "~shared/design-system/switch";
-import { TextInput } from "~shared/design-system/text-input";
-import { Heading } from "~shared/design-system/typography/heading";
-import { Link } from "~shared/design-system/typography/link";
-import { css, cx } from "~styled-system/css";
-import { HStack, Stack } from "~styled-system/jsx";
-import { container, stack } from "~styled-system/patterns";
-
-export const Route = createFileRoute("/packages/kickass-ui/documentation")({
- component: RouteComponent,
-});
-
-// const rootStyles = cx(
-// container({
-// width: "full",
-// position: "relative",
-// display: "flex",
-// flexDirection: "row",
-// justifyContent: "space-between",
-// })
-// );
-
-const rootStyles = css({
- width: "full",
- position: "relative",
- display: "flex",
- flexDirection: "row",
- justifyContent: "space-between",
-});
-
-function RouteComponent() {
- return (
-
-
-
-
-
- );
-}
-
-function DocumentationNavigationSidebar() {
- return (
-
- );
-}
-
-function TOCNavigationSidebar() {
- return (
-
- );
-}
diff --git a/apps/web/app/routes/packages/kickass-ui/index.tsx b/apps/web/app/routes/packages/kickass-ui/index.tsx
deleted file mode 100644
index 204610e..0000000
--- a/apps/web/app/routes/packages/kickass-ui/index.tsx
+++ /dev/null
@@ -1,94 +0,0 @@
-import { createFileRoute, Link as RouterLink } from "@tanstack/react-router";
-import { ArrowRightIcon, PaletteIcon, SwatchBookIcon } from "lucide-react";
-
-import { Logo } from "~shared/components/logo";
-import { Button } from "~shared/design-system/button";
-import { Icon } from "~shared/design-system/icon";
-import { Heading } from "~shared/design-system/typography/heading";
-import { Text } from "~shared/design-system/typography/text";
-import { cx } from "~styled-system/css";
-import { Stack } from "~styled-system/jsx";
-import { container, stack } from "~styled-system/patterns";
-import { section } from "~styled-system/recipes";
-
-export const Route = createFileRoute("/packages/kickass-ui/")({
- component: RouteComponent,
-});
-
-const rootStyles = cx(
- container({
- maxWidth: "7xl",
- width: "full",
- minHeight: "viewportHeight",
- position: "relative",
- display: "flex",
- flexDirection: "column",
- gap: "12",
- }),
- section({ size: "lg" })
-);
-
-const headerStyles = stack({
- paddingTop: "16",
- gap: "10",
-});
-
-const headerHgroupStyles = stack({
- gap: "5",
- maxWidth: "prose",
-});
-
-function RouteComponent() {
- return (
-
-
-
-
-
- }
- />
-
-
- Build beautiful
-
interfaces with speed
-
-
- Component library optimized for fast development, easy maintenance, and
- accessibility. Build high-quality web apps with breeze.
-
-
-
-
-
-
-
-
- );
-}
diff --git a/apps/web/app/routes/packages/kickass-ui/playground/index.tsx b/apps/web/app/routes/packages/kickass-ui/playground/index.tsx
deleted file mode 100644
index 3c67b30..0000000
--- a/apps/web/app/routes/packages/kickass-ui/playground/index.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import { createFileRoute } from "@tanstack/react-router";
-
-export const Route = createFileRoute("/packages/kickass-ui/playground/")({
- component: RouteComponent,
-});
-
-function RouteComponent() {
- return UI Playground;
-}
diff --git a/apps/web/app/routes/showcase/index.tsx b/apps/web/app/routes/showcase/index.tsx
deleted file mode 100644
index a7f329a..0000000
--- a/apps/web/app/routes/showcase/index.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import { createFileRoute } from "@tanstack/react-router";
-
-export const Route = createFileRoute("/showcase/")({
- component: RouteComponent,
-});
-
-function RouteComponent() {
- return Hello Showcase
;
-}
diff --git a/apps/web/app/shared/components/logo.tsx b/apps/web/app/shared/components/logo.tsx
deleted file mode 100644
index 9a19074..0000000
--- a/apps/web/app/shared/components/logo.tsx
+++ /dev/null
@@ -1,152 +0,0 @@
-import { Link, type LinkOptions } from "@tanstack/react-router";
-import { BoltIcon } from "lucide-react";
-import type React from "react";
-
-import { Icon } from "~shared/design-system/icon";
-import { cx, type RecipeVariantProps, sva } from "~styled-system/css";
-
-const logoRecipe = sva({
- slots: ["root", "icon", "text"],
- base: {
- root: {
- outline: "none",
- display: "flex",
- alignItems: "center",
- flexWrap: "nowrap",
- userSelect: "none",
- width: "fit",
- },
- icon: {
- backgroundColor: "accent.9",
- color: "accent.contrast",
- display: "flex",
- alignItems: "center",
- justifyContent: "center",
- },
- text: {
- fontWeight: "bold",
- fontFamily: "sans",
- color: "neutral.12",
- whiteSpace: "nowrap",
- },
- },
- variants: {
- hideText: {
- true: {
- text: {
- srOnly: true,
- },
- },
- },
- interactive: {
- true: {
- root: {
- maskImage: "linear-gradient(60deg,black 25%,rgba(0, 0, 0, 0.2) 50%,black 75%)",
- maskSize: "400%",
- maskPosition: "0%",
-
- _hover: {
- maskPosition: "100%",
- },
-
- _focusVisible: {
- maskPosition: "100%",
- },
- },
- },
- },
- size: {
- sm: {
- root: {
- gap: "2",
- transition: "mask-position 1s ease",
- },
- icon: {
- width: "7",
- height: "7",
- borderRadius: "md",
- fontSize: "md",
- },
- text: {
- textStyle: "md",
- },
- },
- md: {
- root: {
- gap: "2",
- transition: "mask-position 1s ease",
- },
- icon: {
- width: "8",
- height: "8",
- borderRadius: "xl",
- fontSize: "md",
- },
- text: {
- textStyle: "xl",
- },
- },
- lg: {
- root: {
- gap: "4",
- transition: "mask-position 0.7s ease",
- },
- icon: {
- width: "12",
- height: "12",
- borderRadius: "2xl",
- fontSize: "3xl",
- },
- text: {
- textStyle: "3xl",
- },
- },
- xl: {
- root: {
- gap: "4",
- transition: "mask-position 0.7s ease",
- },
- icon: {
- width: "16",
- height: "16",
- borderRadius: "3xl",
- fontSize: "4xl",
- },
- text: { textStyle: "4xl" },
- },
- },
- },
-});
-
-type LogoProperties = Readonly<
- LinkOptions &
- RecipeVariantProps & {
- className?: string | undefined;
- icon?: React.JSX.Element;
- label?: React.ReactNode;
- }
->;
-
-export function Logo({
- hideText,
- interactive,
- size = "md",
- icon = (
-
-
-
- ),
- label = "Kickass Toolkit",
- to = "/",
- className,
- ...rest
-}: LogoProperties) {
- const classes = logoRecipe({ hideText, size, interactive });
-
- return (
-
- {icon}
- {label}
-
- );
-}
diff --git a/apps/web/app/shared/design-system/avatar.tsx b/apps/web/app/shared/design-system/avatar.tsx
deleted file mode 100644
index 8f86730..0000000
--- a/apps/web/app/shared/design-system/avatar.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { Avatar as ArkAvatar } from "@ark-ui/react/avatar";
-
-import { css } from "~styled-system/css";
-import { splitCssProps } from "~styled-system/jsx";
-import { avatar, type AvatarVariantProps } from "~styled-system/recipes";
-import type { Assign, ComponentProps, HTMLStyledProps } from "~styled-system/types";
-
-import { createStyleContext } from "./utils/create-style-context";
-
-const { withProvider, withContext } = createStyleContext(avatar);
-
-export type AvatarRootProviderProperties = ComponentProps;
-
-export const AvatarRootProvider = withProvider<
- HTMLDivElement,
- Assign, ArkAvatar.RootProviderBaseProps>, AvatarVariantProps>
->(ArkAvatar.RootProvider, "root");
-
-export type AvatarRootProperties = ComponentProps;
-const AvatarRootStyled = withProvider<
- HTMLDivElement,
- Assign, ArkAvatar.RootBaseProps>, AvatarVariantProps>
->(ArkAvatar.Root, "root");
-
-export function AvatarRoot(properties: AvatarRootProperties) {
- const [cssProperties, rest] = splitCssProps(properties);
- const { css: cssProperty, ...styleProperties } = cssProperties;
- const styles = css.raw({ colorPalette: "neutral" }, styleProperties, cssProperty);
-
- return ;
-}
-
-export const AvatarFallback = withContext<
- HTMLSpanElement,
- Assign, ArkAvatar.FallbackBaseProps>
->(ArkAvatar.Fallback, "fallback");
-
-export const AvatarImage = withContext<
- HTMLImageElement,
- Assign, ArkAvatar.ImageBaseProps>
->(ArkAvatar.Image, "image");
-
-export type { AvatarStatusChangeDetails } from "@ark-ui/react/avatar";
-export { AvatarContext } from "@ark-ui/react/avatar";
-
-type AvatarProperties = Readonly<
- AvatarRootProperties & {
- name?: string | undefined;
- src?: string | undefined;
- initials?: string | undefined;
- icon?: React.ReactNode | undefined;
- }
->;
-
-export function Avatar({ name, src, initials, icon, ...rest }: AvatarProperties) {
- return (
-
- {initials ?? icon}
-
-
- );
-}
diff --git a/apps/web/app/shared/design-system/badge.tsx b/apps/web/app/shared/design-system/badge.tsx
deleted file mode 100644
index 346a534..0000000
--- a/apps/web/app/shared/design-system/badge.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { ark } from "@ark-ui/react/factory";
-
-import { styled } from "~styled-system/jsx";
-import { badge } from "~styled-system/recipes";
-import type { ComponentProps } from "~styled-system/types";
-
-export const Badge = styled(ark.span, badge, {
- defaultProps: {
- size: "xs",
- variant: "soft",
- radius: "rounded",
- },
-});
-
-export type BadgeProperties = ComponentProps;
diff --git a/apps/web/app/shared/design-system/button.tsx b/apps/web/app/shared/design-system/button.tsx
deleted file mode 100644
index b519825..0000000
--- a/apps/web/app/shared/design-system/button.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { ark } from "@ark-ui/react/factory";
-
-import { styled } from "~styled-system/jsx";
-import { button } from "~styled-system/recipes";
-import type { ComponentProps } from "~styled-system/types";
-
-export const Button = styled(ark.button, button, {
- defaultProps: {
- size: "sm",
- variant: "solid",
- radius: "rounded",
- highContrast: false,
- fullWidth: false,
- justify: "center",
- },
-});
-
-export type ButtonProperties = ComponentProps;
diff --git a/apps/web/app/shared/design-system/callout.tsx b/apps/web/app/shared/design-system/callout.tsx
deleted file mode 100644
index 2e17340..0000000
--- a/apps/web/app/shared/design-system/callout.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Show } from "@kickass-coderz/react-control-flow/show";
-
-import { callout, type CalloutVariantProps } from "~styled-system/recipes";
-import type { Assign, ComponentProps, HTMLStyledProps } from "~styled-system/types";
-
-import { createStyleContext } from "./utils/create-style-context";
-
-const { withProvider, withContext } = createStyleContext(callout);
-
-export type CalloutRootProperties = ComponentProps