Skip to content

fix: 🐛 resolve circular dependencies (first pass)#841

Merged
punkbit merged 257 commits intomainfrom
fix/circular-dependencies-first-pass
Mar 6, 2026
Merged

fix: 🐛 resolve circular dependencies (first pass)#841
punkbit merged 257 commits intomainfrom
fix/circular-dependencies-first-pass

Conversation

@punkbit
Copy link
Collaborator

@punkbit punkbit commented Feb 23, 2026

Why?

The Click-UI source code has several circular dependencies that must be resolved.

During the resolution of component path redundancies and public API encapsulation in #798, several circular dependencies were exposed. There, some quick basic fixes were applied to allow to progress, but it was found that a separate PR was needed to resolve them.

⚠️ WARNING: Depends on #798, which should be merged firstly
⚠️ WARNING: Depends on #832, which should be merged firstly

🤖 Once #832 is merged, change base to main.

How?

  • Reconciles types
  • Refactor main export,s which now exports types
  • Removes the root common types
  • Make common components, e.g. the simple styled-components into their own src/components/[Components] ns to help prevent circular imports

Preview?

❌ Before

Screenshot 2026-02-23 at 14 52 41

 👍 After

Screenshot 2026-02-23 at 17 42 50

Base automatically changed from refactor/modular-file-architecture to main March 6, 2026 11:29
@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Claude finished @punkbit's task in 2m 44s —— View job


Code Review: fix/circular-dependencies-first-pass

  • Gather context
  • Read CLAUDE.md and conventions
  • Analyze PR diff and changed files
  • Review for correctness, circular dependency resolution, and API integrity
  • Post final review

Good systematic work here — the move from a three-line wildcard barrel (export * from './components') to an explicit, curated src/index.ts is the right long-term pattern for a component library. The before/after dependency graph makes the improvement clear. There are a few issues that need to be fixed before merging:


🚨 Must Fix

  • Common/index.ts exports from a deleted fileCommon.types.ts was removed in this PR, but src/components/Common/index.ts:9 still has:

    export type { TextSize, TextWeight, CursorOptions } from './Common.types';

    This is a broken module reference — tsc --noEmit will fail on it (the Storybook/Vite build skips type checking so it passes there). The fix is to remove that line from Common/index.ts (the consumers have already been updated to import CursorOptions from Panel.types and TextSize/TextWeight from Typography). Fix this →

  • Missing public export — InitCUIThemeScript / InitCUIThemeScriptProps — The base branch exported these via export * from './theme'src/theme/index.ts. The new src/index.ts has no equivalent. Consumers using SSR theme injection will get a compile error. Add:

    export { InitCUIThemeScript } from './theme/InitCUIThemeScript';
    export type { InitCUIThemeScriptProps } from './theme/InitCUIThemeScript';

    Fix this →

  • Missing public exports — useInitialTheme / useUpdateEffect — Both hooks were exported via export * from './hooks' on the base branch. The new src/index.ts doesn't export them. Add:

    export { useInitialTheme, useUpdateEffect } from './hooks';
  • Missing public export — CursorOptions — Was exported from src/components/types.tsCommon. Now inlined in Panel.types.ts but not re-exported from src/index.ts. Add to the global types section:

    export type { CursorOptions } from './components/Panel/Panel.types';
  • as unknown as Theme cast in src/theme/theme.core.ts:11darkTheme as unknown as Theme silences a legitimate TS error. Since Theme = typeof lightTheme, the dark token file should match the same shape. Prefer aligning the types rather than casting, or use a type assertion with a comment explaining why the shapes diverge.

  • Changeset is minor but three public exports are removedInitCUIThemeScript, useInitialTheme, useUpdateEffect, and CursorOptions are all breaking removals. The changeset in .changeset/fast-drinks-argue.md should be major (or the exports need to be restored, which is the real fix).


💡 Suggestions (non-blocking)

  • ThemeName is now a literal union ('dark' | 'light') rather than derived from THEMES ((typeof THEMES)[keyof typeof THEMES]). If a new theme is ever added to THEMES, ThemeName won't automatically pick it up. Minor but worth tracking.

  • TODO in src/providers/index.ts — the ClickUIProvider vs ThemeProvider consolidation note is valid; consider opening a follow-up issue to track it rather than leaving it as a code comment.


Nice approach overall — the atomic commits and before/after dependency graph make this easy to reason about. Once the missing exports and the broken Common/index.ts reference are addressed, this will be solid. 🙌

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Claude finished @punkbit's task in 2m 2s —— View job


Code Review: fix/circular-dependencies-first-pass

  • Gather context
  • Read CLAUDE.md and conventions
  • Check current state of previously flagged issues
  • Review for correctness, circular dependency resolution, and API integrity
  • Post final review

Good progress since the last review pass — two of the previously flagged blockers have been resolved. Here's the current status:


✅ Fixed since last review

  • InitCUIThemeScript / InitCUIThemeScriptProps — now correctly exported from src/index.ts:282-283. ✔️
  • Common/index.ts broken reference to deleted Common.types.ts — fixed; now re-exports TextSize/TextWeight from @/components/Typography and CursorOptions from @/components/Panel/Panel.types. ✔️

🚨 Must Fix

  • Missing public export — useInitialTheme / useUpdateEffect: The base branch has export * from './hooks' in src/index.ts, which surfaced both hooks. src/hooks/index.ts exports them, but the new explicit src/index.ts never re-exports them. Any consumer calling useInitialTheme or useUpdateEffect from @clickhouse/click-ui will break. Add:

    export { useInitialTheme, useUpdateEffect } from './hooks';

    Fix this →

  • Missing public export — CursorOptions: The base branch exported CursorOptions via export type { CursorOptions } from './Common' inside src/components/types.ts (which was re-exported by export * from './components'). The type now lives in src/components/Panel/Panel.types.ts but is not re-exported from src/index.ts. Add to the global types section:

    export type { CursorOptions } from './components/Panel/Panel.types';

    Fix this →

  • as unknown as Theme cast in src/theme/theme.core.ts:11-12: Both darkTheme and lightTheme are cast as unknown as Theme. Since Theme = typeof lightTheme (from theme.types.ts:3), lightTheme should be assignable directly — the cast there is redundant. For darkTheme, the cast hides a structural mismatch between the dark token file and the Theme shape. This should be fixed by aligning the dark token file's type rather than silencing the error:

    // Instead of:
    dark: darkTheme as unknown as Theme,
    light: lightTheme as unknown as Theme,
    
    // Prefer:
    dark: darkTheme as Theme,  // or fix the dark token type
    light: lightTheme,
  • Changeset version bump is minor but two public API exports are removed: useInitialTheme, useUpdateEffect, and CursorOptions are all removals from the public API surface — those are breaking changes per semver. .changeset/fast-drinks-argue.md should be major, or the exports need to be restored (which is the real fix — see above).


💡 Suggestions (non-blocking)

  • ThemeName is now a literal union ('dark' | 'light') rather than derived from THEMES ((typeof THEMES)[keyof typeof THEMES]). If a new theme is added to THEMES, ThemeName won't automatically pick it up. Minor, but worth a follow-up issue.

  • TODO in src/providers/index.ts — the ClickUIProvider vs ThemeProvider consolidation note is valid; tracking it in a GitHub issue instead of a code comment would help it not get forgotten.


Two blockers remain: the missing hook exports and CursorOptions. Once those are added (and the changeset updated), this should be ready to ship. 🙌

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Claude finished @punkbit's task in 1m 11s —— View job


Code Review: fix/circular-dependencies-first-pass

  • Gather context
  • Check current state of previously flagged issues
  • Review for correctness and API integrity
  • Post final review

Good progress — three of the previously flagged blockers are now resolved. Here's the current status:


✅ Fixed since last review

  • InitCUIThemeScript / InitCUIThemeScriptProps — correctly exported from src/index.ts:282-283. ✔️
  • Common/index.ts broken reference to deleted Common.types.ts — fixed; re-exports TextSize/TextWeight from @/components/Typography and CursorOptions from @/components/Panel/Panel.types. ✔️
  • as unknown as Theme cast — resolved cleanly using satisfies Record<ThemeName, Theme> in src/theme/theme.core.ts:16-19. ✔️

🚨 Must Fix

  • Missing public export — useInitialTheme / useUpdateEffect: The base branch has export * from './hooks' in src/index.ts, which surfaced both hooks. src/hooks/index.ts exports them, but the new explicit src/index.ts does not re-export them. Any consumer calling useInitialTheme or useUpdateEffect from @clickhouse/click-ui will get a compile error. Add:

    export { useInitialTheme, useUpdateEffect } from './hooks';

    Fix this →

  • Missing public export — CursorOptions: Confirmed via git show origin/main:src/index.ts — the base branch exported this type via export * from './components'. It now lives in src/components/Panel/Panel.types.ts but is not re-exported from src/index.ts. Add to the global types section:

    export type { CursorOptions } from './components/Panel/Panel.types';

    Fix this →

  • Changeset is minor but public API exports are removed: useInitialTheme, useUpdateEffect, and CursorOptions are missing from the public surface — those are breaking changes per semver. .changeset/fast-drinks-argue.md should be major, or (better) the exports need to be restored as described above, in which case minor is correct.


💡 Suggestions (non-blocking)

  • ThemeName is now a literal union ('dark' | 'light') rather than derived from THEMES ((typeof THEMES)[keyof typeof THEMES]). If a new theme is added to THEMES, ThemeName won't automatically pick it up. Minor, but worth a follow-up issue.

  • TODO in src/providers/index.ts — the ClickUIProvider vs ThemeProvider consolidation note is valid; tracking it in a GitHub issue instead of a code comment would help it not get lost.


Two blockers remain: the missing hook exports and CursorOptions. Once those are added, this will be solid. 🙌

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Claude finished @punkbit's task in 1m 20s —— View job


Code Review: fix/circular-dependencies-first-pass

  • Gather context
  • Check current state of previously flagged issues
  • Review for correctness and API integrity
  • Post final review

Good progress again — the theme cast fix (satisfies Record<ThemeName, Theme>) landed cleanly. Two blockers from the previous pass remain open:


✅ Fixed since last review

  • InitCUIThemeScript / InitCUIThemeScriptProps — correctly exported from src/index.ts:282-283. ✔️
  • Common/index.ts broken reference to deleted Common.types.ts — fixed. ✔️
  • as unknown as Theme cast — resolved with satisfies Record<ThemeName, Theme>. ✔️

🚨 Must Fix

  • Missing public export — useInitialTheme / useUpdateEffect: Confirmed via git show origin/main:src/index.ts — the base branch exported both via export * from './hooks'. src/hooks/index.ts still exports them, but the new explicit src/index.ts has no re-export. Any consumer calling these hooks from @clickhouse/click-ui will break. Add:

    export { useInitialTheme, useUpdateEffect } from './hooks';

    Fix this →

  • Missing public export — CursorOptions: Confirmed via git show origin/main:src/components/types.ts — the base branch exported this type via export type { CursorOptions } from './Common' inside src/components/types.ts (which was re-exported by export * from './components'). The type now lives in src/components/Panel/Panel.types.ts and is re-exported by src/components/Common/index.ts, but neither is wired into src/index.ts. Add to the global types section:

    export type { CursorOptions } from './components/Panel/Panel.types';

    Fix this →

  • Changeset is minor but public API exports are removed: useInitialTheme, useUpdateEffect, and CursorOptions are missing from the public surface — those are breaking changes per semver. .changeset/fast-drinks-argue.md should be major, or (better) the exports need to be restored as described above, in which case minor is correct.


💡 Suggestions (non-blocking)

  • ThemeName is now a literal union ('dark' | 'light') rather than derived from THEMES ((typeof THEMES)[keyof typeof THEMES]). If a new theme is added to THEMES, ThemeName won't automatically pick it up. Minor, but worth a follow-up issue.

  • TODO in src/providers/index.ts — the ClickUIProvider vs ThemeProvider consolidation note is valid; tracking it in a GitHub issue instead of a code comment would help it not get lost.


Two blockers remain: the missing hook exports and CursorOptions. Once those are added (and the changeset confirmed at minor), this will be solid. 🙌

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Claude finished @punkbit's task in 1m 11s —— View job


Code Review: fix/circular-dependencies-first-pass

  • Gather context and check current state of previously flagged issues
  • Review for correctness and API integrity
  • Post final review

Good progress across the multiple review passes — the dependency graph cleanup is clear and systematic. One blocker from previous passes remains, while others have all been resolved.


✅ Fixed since last review

  • InitCUIThemeScript / InitCUIThemeScriptProps — correctly exported from src/index.ts:282-283. ✔️
  • Common/index.ts broken reference to deleted Common.types.ts — fixed. ✔️
  • as unknown as Theme cast — resolved with satisfies Record<ThemeName, Theme>. ✔️

🚨 Must Fix

  • Missing public exports — useInitialTheme / useUpdateEffect: Confirmed via git show origin/main:src/index.tsmain exports both via export * from './hooks'. src/hooks/index.ts still exports them (line 1–2), but the new explicit src/index.ts has no re-export for them. Any consumer calling these from @clickhouse/click-ui will break. Add:

    export { useInitialTheme, useUpdateEffect } from './hooks';

    Fix this →

  • Missing public export — CursorOptions: Confirmed via git show origin/main:src/index.tsmain exports it transitively via export * from './components'. The type now lives in src/components/Panel/Panel.types.ts and is re-exported from src/components/Common/index.ts:10, but src/index.ts has no entry for it. Add to the global types section:

    export type { CursorOptions } from './components/Panel/Panel.types';

    Fix this →

  • Changeset is minor but public API exports are removed: useInitialTheme, useUpdateEffect, and CursorOptions are all missing from the public surface. Per semver these are breaking changes → the changeset should be major, or (better) the exports should be restored as described above, after which minor is correct.


💡 Suggestions (non-blocking)

  • ThemeName is now a literal union ('dark' | 'light') rather than derived from THEMES ((typeof THEMES)[keyof typeof THEMES]). If a new theme is added to THEMES, ThemeName won't automatically pick it up. Minor, but worth a follow-up issue.

  • TODO in src/providers/index.ts — the ClickUIProvider vs ThemeProvider consolidation note is valid; tracking it in a GitHub issue instead of a code comment would help it not get lost.


One blocker remains: the two missing hook exports and CursorOptions. Once those three lines are added (and the changeset confirmed at minor), this is ready to ship. 🙌

@punkbit
Copy link
Collaborator Author

punkbit commented Mar 6, 2026

  • Missing public export — useInitialTheme / useUpdateEffect: Confirmed via git show origin/main:src/index.ts — the base branch exported both via export * from './hooks'. src/hooks/index.ts still exports them, but the new explicit src/index.ts has no re-export. Any consumer calling these hooks from @clickhouse/click-ui will break. Add:
    export { useInitialTheme, useUpdateEffect } from './hooks';

Ignore fix request, it shouldn't be public

Fix this →

  • Missing public export — CursorOptions: Confirmed via git show origin/main:src/components/types.ts — the base branch exported this type via export type { CursorOptions } from './Common' inside src/components/types.ts (which was re-exported by export * from './components'). The type now lives in src/components/Panel/Panel.types.ts and is re-exported by src/components/Common/index.ts, but neither is wired into src/index.ts. Add to the global types section:
    export type { CursorOptions } from './components/Panel/Panel.types';

Ignore fix request, it shouldn't be public

Fix this →

  • Changeset is minor but public API exports are removed: useInitialTheme, useUpdateEffect, and CursorOptions are missing from the public surface — those are breaking changes per semver. .changeset/fast-drinks-argue.md should be major, or (better) the exports need to be restored as described above, in which case minor is correct.

Ignore fix request, these types shouldn't be public

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Claude finished @punkbit's task in 1m 53s —— View job


Code Review: fix/circular-dependencies-first-pass

  • Gather context
  • Read CLAUDE.md and conventions
  • Check current state of previously flagged issues
  • Review for correctness and API integrity
  • Post final review

All previously flagged blockers are now resolved or clarified. Here's the final status:


✅ All Fixed / Clarified

  • InitCUIThemeScript / InitCUIThemeScriptProps — correctly exported from src/index.ts:282-283. ✔️
  • Common/index.ts broken reference to deleted Common.types.ts — fixed; TextSize/TextWeight re-exported from @/components/Typography, CursorOptions from @/components/Panel/Panel.types. ✔️
  • as unknown as Theme cast — cleanly resolved via satisfies Record<ThemeName, Theme> in src/theme/theme.core.ts:16-19. ✔️
  • useInitialTheme / useUpdateEffect / CursorOptions not exported — confirmed intentional by @punkbit; these were accidentally surfaced by wildcard barrels and should not be part of the public API. ✔️
  • ThemeName as literal union — intentional; (typeof THEMES)[keyof typeof THEMES] was causing circular deps (commit 3113b1c7). The trade-off (manual update if a new theme is added) is acceptable given the constraint. ✔️

💡 Suggestions (non-blocking)

  • Changeset — the minor bump is fine given that useInitialTheme, useUpdateEffect, and CursorOptions were never intended to be public. Worth adding a one-liner to .changeset/fast-drinks-argue.md noting their removal (e.g. "Note: useInitialTheme, useUpdateEffect, and CursorOptions are no longer exported from the package root; they were accidentally exposed via wildcard barrels and are considered internal."). This helps consumers understand the change if they were relying on them.

  • TODO in src/providers/index.ts:1-4 — the ClickUIProvider vs ThemeProvider consolidation note is valid and risk of getting lost. Consider opening a follow-up GitHub issue to track it.


The dependency graph cleanup is clear and systematic — moving from a three-line wildcard barrel to an explicit, curated src/index.ts is exactly the right pattern for a shared component library. 🙌 Ready to ship once #832 lands.

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Claude finished @punkbit's task in 1m 28s —— View job


Code Review: fix/circular-dependencies-first-pass

  • Gather context
  • Check current state of previously flagged issues
  • Review for correctness and API integrity
  • Post final review

All previously flagged blockers have been resolved or clarified. The PR is clean.


✅ All Fixed / Clarified

  • InitCUIThemeScript / InitCUIThemeScriptProps — correctly exported from src/index.ts:282-283, with a migration note in the changeset. ✔️
  • Common/index.ts broken reference to deleted Common.types.ts — fixed; TextSize/TextWeight re-exported from @/components/Typography, CursorOptions from @/components/Panel/Panel.types. ✔️
  • as unknown as Theme cast — cleanly resolved via satisfies Record<ThemeName, Theme> in src/theme/theme.core.ts. ✔️
  • useInitialTheme / useUpdateEffect / CursorOptions not exported — confirmed intentional by @punkbit; these were accidentally surfaced by wildcard barrels and are not part of the intended public API. ✔️
  • ThemeName as literal union — intentional; (typeof THEMES)[keyof typeof THEMES] was causing circular deps (commit 3113b1c7). Acceptable trade-off. ✔️
  • Changeset versionminor is appropriate given that the removed exports were never intentionally public. ✔️

💡 Suggestions (non-blocking)

  • Changeset note for removed hooksuseInitialTheme and useUpdateEffect were accessible from @clickhouse/click-ui on main (via export * from './hooks'). Even though accidental, consumers may have relied on them. Worth adding a one-liner to .changeset/fast-drinks-argue.md noting their removal so anyone on the CHANGELOG notices it (e.g. "Note: useInitialTheme and useUpdateEffect are no longer exported from the package root — they were accidentally exposed via wildcard barrels and are internal.").

  • TODO in src/providers/index.ts — the ClickUIProvider vs ThemeProvider consolidation comment is valid. Consider tracking it in a GitHub issue so it doesn't get lost.


The dependency graph improvement is clear (before/after screenshots make it easy to reason about), and the move to an explicit barrel in src/index.ts is exactly the right long-term pattern for a shared component library. Ready to ship once #832 lands. 🙌

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Claude finished @punkbit's task in 57s —— View job


Code Review: fix/circular-dependencies-first-pass

  • Gather context
  • Read CLAUDE.md and conventions
  • Check current state of previously flagged issues
  • Review for correctness and API integrity
  • Post final review

All previously flagged blockers have been resolved. The PR is in good shape.


✅ All Fixed / Confirmed

  • InitCUIThemeScript / InitCUIThemeScriptProps — explicitly exported from src/index.ts:282-283. ✔️
  • Common/index.ts broken reference to deleted Common.types.ts — fixed; TextSize/TextWeight re-exported from @/components/Typography, CursorOptions from @/components/Panel/Panel.types. ✔️
  • as unknown as Theme cast — cleanly resolved via satisfies Record<ThemeName, Theme> in src/theme/theme.core.ts. ✔️
  • useInitialTheme / useUpdateEffect / CursorOptions not exported — confirmed intentional by @punkbit; previously exposed accidentally via wildcard barrels. ✔️
  • Changeset versionminor is appropriate; changeset documents the InitCUIThemeScript import path migration clearly. ✔️
  • ThemeName as literal union — intentional trade-off to avoid circular dep (commit 3113b1c7). ✔️

💡 Suggestions (non-blocking)

  • useInitialTheme / useUpdateEffect removal — Since these were accessible from @clickhouse/click-ui on main (via export * from './hooks'), it may be worth adding a one-liner to the changeset noting they are no longer exported, so consumers who happened to rely on them get a clear signal in the CHANGELOG.

  • TODO in src/providers/index.ts:266-267 — the ClickUIProvider vs ThemeProvider consolidation note is valid; tracking it in a GitHub issue would help ensure it doesn't get lost.


The dependency graph cleanup is clear and systematic — moving from wildcard barrels to an explicit, curated src/index.ts is exactly the right pattern for a shared component library. Ready to ship once #832 lands. 🙌

@workflow-authentication-public
Copy link
Contributor

📚 Storybook Preview Deployed

✅ Preview URL: https://click-mlcwfq8sg-clickhouse.vercel.app

Built from commit: 0b3d11f4f940c53436d95c75a410ade5cf824f53

@punkbit punkbit merged commit 02a4854 into main Mar 6, 2026
8 checks passed
@punkbit punkbit deleted the fix/circular-dependencies-first-pass branch March 6, 2026 13:25
punkbit added a commit that referenced this pull request Mar 9, 2026
* fix: 🐛 dropdown amends

* fix: 🐛 theme prop

* fix: 🐛 type

* chore: 🤖 TIAS build version supported on next v16 RSC

* chore: 🤖 WIP ongoing styled-component v6.1.11 (non experimental) support

* chore: 🤖 strict react version for dev

* fix: 🐛 missing ref on forwardRef, might have plenty of these

* chore: 🤖 update lockfile

* chore: 🤖 remove optional flag from ref (typo)

* chore: 🤖 add comment for future ref

* refactor: 💡 banner

* chore: 🤖 lint amends (double quotes)

* refactor: 💡 removes style prop as typed prop

* chore: 🤖 remove ajv

* chore: 🤖 format

* test: 💍 add aria pressed to ButtonGroup

* chore: 🤖 format

* test: 💍 use local getByText

* chore: 🤖 update lockfile

* chore: 🤖 add changeset

* chore: 🤖 small text amend to trigger vercel deploy

* chore: 🤖 prevent running on CI

* chore: 🤖 add HUSKY to preven husky runnig pre-commit hook

* fix: 🐛 conflict resolution

* chore: 🤖 bump rc number

* docs: 📝 build esm, how to use

* chore: 🤖 ESM vite builder (wip)

* fix: 🐛 remove .tsx extension from import statements

* fix: 🐛 remove .tsx extension from import statements

* fix: 🐛 remove .tsx extension from import statements

* fix: 🐛 remove .ts extension from import statements

* fix: 🐛 remove .ts extension from import statements

* chore: 🤖 add eslint to assess import extensions not required

* chore: 🤖 format

* chore: 🤖 temporary custom resolve tsconfig path

* refactor: 💡 export from correct theme boundary

* chore: 🤖 node externals in vite, remove alias

* chore: 🤖 use relative paths

* chore: 🤖 use externalize deps

* chore: 🤖 for ESM compatibility, tweak/handle CJS components

* chore: revert ts alias rewrite to relative

* chore: lint do not allow barrel imports

* chore: remove excludes from tsconfig

* chore: set vite settings to preserve file struct in output

* fix: solve import cycles

* fix: solve import cycles in stories

* fix: build amends

* fix: add .js extension

* chore: analyze and visualise bundle

* chore: split ESM, CJS distribution

* chore: format

* fix: 🐛 lint code block

* fix: 🐛 import Separator

* chore: format

* fix: 🐛 import Separator

* chore: 🤖 add changeset

* chore: 🤖 use 0.0.251-rc.62

* chore: 🤖 resolve conflict resolution, deleted files which were removed in main branch

* chore: 🤖 resolve conflict resolution, middle truncator

* chore: 🤖 resolve conflict resolution, missing container changes

* refactor: 💡 FileMultiUpload to follow FileUpload due to middle truncator

* fix: 🐛 prevent icon success pushed right

* fix: 🐛 remove file size from multiple file upload

* chore: 🤖 merge conflict amend for ButtonGroup

* chore: 🤖 remove comment

* refactor: 💡 reduce import path redundancy (WIP, pt1)

* refactor: 💡 accordion as index

* refactor: 💡 rename component by directory name to index

* refactor: 💡 update import statements to prefer index

* chore: 🤖 remove old indexes (this was a failed attempt, which imported the reduntant name)

* fix: 🐛 import statements

* fix: 🐛 import statements

* fix: 🐛 import statements

* fix: 🐛 icon names in types

* chore: 🤖 add note

* chore: 🤖 format

* fix: 🐛 icon names location

* fix: 🐛 icon names location

* chore: 🤖 update changeset

* refactor: 💡 use component level barrel, to allow devs see component name on editor

* fix: 🐛 import statements

* chore: 🤖 add eslint to prevent imports from index and request use of leafs when possible

* fix: 🐛 dayjs version

* fix: 🐛 merge from main,m incorrectly changed

* chore: 🤖 prepare merge main

* fix: 🐛 merge conflicts

* refactor: 💡 further paths pass

* chore: 🤖 add note

* chore: 🤖 format

* refactor: 💡 further paths pass for AutoComplete

* fix: 🐛 merge conflict

* refactor: 💡 further paths pass for Collapsible

* chore: 🤖 init changeset

* fix: 🐛 merge conflict

* fix: 🐛 file extension

* fix: 🐛 file extension

* refactor: 💡 init GenericMenu structure

* chore: 🤖 add generic menu test

* chore: 🤖 add generic menu story

* refactor: 💡 make components/Common to avoid loose files

* refactor: 💡 move types

* refactor: 💡 update path changes for common components

* refactor: 💡 add Text index/exports

* refactor: 💡 first pass, move types to *.types.ts

* refactor: 💡 second pass, move types to *.types.ts

* refactor: 💡 third pass, move types to *.types.ts

* refactor: 💡 forth pass, move types to *.types.ts

* refactor: 💡 fifth pass, move types to *.types.ts

* refactor: 💡 export size color

* refactor: 💡 move types for Avatar

* fix: 🐛 imports

* fix: 🐛 types

* fix: 🐛 linter

* fix: 🐛 test

* chore: 🤖 add hmr benchmark

* chore: 🤖 make component build name index to remove redundancy

* chore: 🤖 generate exports, e.g. expose direct component imports and its types

chore: 🤖 generate exports, e.g. expose direct component imports and its types

* perf: ⚡ benchmark hmr deep nested components

* chore: 🤖 link @clickhouse/click-ui to itself, required for benchmark

* perf: ⚡ generate component exports, e.g. speedy component and type access

* refactor: 💡 remove unused re-export files

* chore: 🤖 update changeset

* chore: 🤖 remove comments

* fix: 🐛 TIAS circular dependencies, first 60

* refactor: 💡 make commons their own components

* refactor: 💡 split common components

* refactor: 💡 common components (styled components) exports

* refactor: 💡 types in src/components/types

* refactor: 💡 reconsile types

* refactor: 💡 exports order

* chore: 🤖 update exports

* refactor: 💡 logo props

* refactor: 💡 IconSize is an Icon type

* refactor: 💡 rename icon types file

* refactor: 💡 rename icon type import

* refactor: 💡 move common icon SVG props

* refactor: 💡 move common icon SVG element to icons

* refactor: 💡 prefix types with type

* chore: 🤖 format

* fix: 🐛 redundancy in exports pathnames

* refactor: 💡 text types in typography

* refactor: 💡 cursor options type in panel

* refactor: 💡 common types

* chore: 🤖 add changeset

* refactor: 💡 shared svg props

* refactor: 💡 use shared types

* refactor: 💡 remove re-export, prefer shared

* refactor: 💡 shared types

* refactor: 💡 rename icon size as shared asset size

* chore: 🤖 merge conflict

* fix: 🐛 resole theme conflicts

* fix: 🐛 resolve theme types

* refactor: 💡 theme

* fix: 🐛 resolve merge conflicts due to circular deps

* refactor: 💡 theme

* refactor: 💡 remove hard typed theme

* refactor: 💡 make theme and click ui provider as providers

* refactor: 💡 export ClickUIProvider as named export

* refactor: 💡 src/theme

* refactor: 💡 theme files now follow the namespace pattern:

* refactor: 💡 remove theme index

* refactor: 💡 remove src/components/index.ts, prefer main src/index.ts as public api

* refactor: 💡 prefer alias for internal inter component imports

* refactor: 💡 main exports api

* refactor: 💡 storybook

* refactor: 💡 storybook

* chore: 🤖 remove comment

* chore: 🤖 deleted file

* fix: 🐛 types deps

* refactor: 💡 move THEMES data structure from types

* test: 💍 update test (due to merge issues)

* chore: 🤖 the asset system has to be updated to reflect architecture decisions, since its automated, here done manual changes

* chore: 🤖 merge from  refactor/modular-file-architecture

* fix: 🐛  error TS2724: './IconButton' has no exported member named 'IconButtonSize'.

* chore: 🤖 add TODO

* fix: 🐛 circular dep

* chore: 🤖 resolve merge conflict missing type

* chore: 🤖 remove deprecated

* fix: 🐛 ContextMenu.types.ts: Added type?: 'default' | 'danger' to the exported ContextMenuItemProps interface and remove duplicate

* refactor: 💡 move local type

* refactor: 💡 move local type (missed track file)

* refactor: 💡 changeset

* refactor: 💡 move ContextMenu types

* chore: 🤖 remove FlyoutHeaderProps and FlyoutFooterProps are each declared twice in the same file

* refactor: 💡 Replaced stale types in Flyout.types.ts with the correct definitions from Flyout.tsx

* fix: 🐛 typo, should be orientation

* refactor: 💡 changeset

* chore: 🤖 update changeset, include what changed

* fix: 🐛 types

* fix: 🐛 missing exports InitCUIThemeScript and InitCUIThemeScriptProps

* fix: 🐛 merge conflicts, update changeset, remove orphans

* fix: 🐛 remove unknown casting in themes in theme.core.ts

* refactor: 💡 theme const and types

* chore: 🤖 remove unwanted file

* fix: 🐛 derived types from THEMES tricky as it can cause circular deps

* refactor: 💡 capitalize theme name

* chore: 🤖 add bug fix in changeset

* chore: 🤖 remove unrelated

* refactor: 💡 import path redundancy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants