Skip to content

Task/restructure - #903

Merged
SharonStrats merged 12 commits into
stagingfrom
task/restructure
Oct 23, 2026
Merged

SharonStrats merged 12 commits into
stagingfrom
task/restructure

Conversation

@SharonStrats

@SharonStrats SharonStrats commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Move the file explorer header here so it could be used in folder pane and solid-panes.

there are a few extra things like the NoopContext suggestion from Noel and some added variables to theme.css

SharonStrats and others added 8 commits October 16, 2026 22:29
Prompt: Fix stale async header/menu updates using a generation counter.

Co-authored-by: GPT-5.6 Luna <gpt-5.6-luna@openai.com>
… solid-panes and folder-pane

Prompt: Move the getRelevantPane function to solid-ui from solid-panes

Co-authored-by: GPT-5.6 Luna <gpt-5.6-luna@openai.com>
…t can be used in solid-panes and the folder-pane

Prompt: Create a compose explorer function that can be used in solid-panes and folder-pane so that we can centralize the file explorer composition.

Co-authored-by: GPT-5.6 Luna <gpt-5.6-luna@openai.com>
@SharonStrats
SharonStrats requested a balanced review from Copilot October 22, 2026 05:51
@SharonStrats SharonStrats self-assigned this Oct 22, 2026
@SharonStrats SharonStrats moved this to In review in SolidOS NLNet UI Oct 22, 2026
@SharonStrats
SharonStrats changed the base branch from main to staging October 22, 2026 05:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Authorization edits can lose restrictions or affect unedited grants, and unresolved loading, save-concurrency, and accessibility issues remain.

1 open issue
What changed in this PR

This PR expands solid-ui’s reusable file-explorer and access-control components, separates supporting logic into helpers, and improves shared widget interactions.

Changes:

  • Adds explorer composition, context, navigation events, headers, and resource-action components.
  • Introduces a modular access-control dialog with grant drafts, target resolution, saving, and error presentation.
  • Adds hidden form labels, updated navigation icons, configurable delete confirmations, and supporting tests.
File Description
test/​unit/​widgets/​forms/​autocomplete/​__snapshots__/​autocomplete.test.ts.snap Updates remove-control accessibility snapshots.
test/​unit/​widgets/​buttons/​iconLink.test.ts Tests Lucide links and custom icons.
test/​unit/​widgets/​buttons.test.ts Tests confirmation placement and focus behavior.
test/​unit/​index.test.ts Updates expected public exports.
test/​unit/​file-explorer/​relevant-panes.test.ts Tests pane filtering and fallback behavior.
test/​components/​error-state.test.ts Tests error rendering and close events.
test/​components/​compose-explorer.test.ts Tests composition and nested explorer isolation.
test/​components/​access-control-modal/​buildAccessChanges.test.ts Tests access-change assembly.
test/​components/​access-control-modal/​accessTargetResolver.test.ts Tests target resolution and trusted-app suggestions.
test/​components/​access-control-modal/​accessGrantDrafts.test.ts Tests grant identity and role aggregation.
src/​widgets/​forms/​autocomplete/​autocompletePicker.ts Handles missing binding results.
src/​widgets/​buttons/​iconLinks.ts Uses Lucide navigation icons by default.
src/​widgets/​buttons.ts Adds external confirmations and focus handling.
src/​utils/​webIdUtils.ts Adds profile lookup utilities.
src/​utils/​podUtils.ts Adds storage and container utilities.
src/​types/​custom-elements.d.ts Types the new custom elements.
src/​styles/​theme.css Adds shared color tokens.
src/​lib/​file-explorer/​relevant-panes.ts Selects relevant panes with legacy ordering.
src/​lib/​file-explorer/​index.ts Exports explorer helpers.
src/​lib/​file-explorer/​events.ts Defines navigation events and ownership checks.
src/​lib/​file-explorer/​context.ts Defines editor registration and dirty-state context.
src/​lib/​file-explorer/​compose-explorer.ts Composes headers and pane content.
src/​lib/​context/​noopContext.ts Reports missing provider context.
src/​lib/​components/​traits/​FormControlTrait.ts Supports visually hidden labels.
src/​lib/​components/​form-control-component/​FormControlComponent.ts Exposes the hidden-label property.
src/​index.ts Exports the expanded explorer API.
src/​components/​select/​Select.stories.ts Demonstrates hidden labels.
src/​components/​resource-actions-menu/​ResourceActionsMenu.ts Adds responsive resource actions.
src/​components/​resource-actions-menu/​ResourceActionsMenu.styles.css Styles the action-menu trigger.
src/​components/​resource-actions-menu/​index.ts Exports the resource-action menu.
src/​components/​resource-actions-menu/​DeleteResourceDialog.ts Adds a resource-deletion confirmation dialog.
src/​components/​input/​Input.ts Adds a left-icon slot.
src/​components/​input/​Input.styles.css Styles icons and configurable borders.
src/​components/​input/​Input.stories.ts Demonstrates hidden input labels.
src/​components/​index.ts Registers the explorer provider early.
src/​components/​file-explorer-provider/​index.ts Exports the explorer provider.
src/​components/​file-explorer-provider/​FileExplorerProvider.ts Provides explorer state and editor registration.
src/​components/​file-explorer-header/​types.ts Defines icon and metadata types.
src/​components/​file-explorer-header/​index.ts Exports the explorer header.
src/​components/​file-explorer-header/​FileExplorerHeaderSummary.ts Displays resource details and sharing status.
src/​components/​file-explorer-header/​FileExplorerHeaderSummary.styles.css Styles responsive resource summaries.
src/​components/​file-explorer-header/​FileExplorerHeaderControls.ts Adds editing and access controls.
src/​components/​file-explorer-header/​FileExplorerHeaderControls.styles.css Styles controls and unsaved-state indicators.
src/​components/​file-explorer-header/​FileExplorerHeader.ts Loads metadata and coordinates header components.
src/​components/​file-explorer-header/​FileExplorerHeader.styles.css Defines the header layout.
src/​components/​error-state/​index.ts Exports the error-state component.
src/​components/​error-state/​ErrorState.ts Adds reusable dismissible error presentation.
src/​components/​error-state/​ErrorState.styles.css Styles error content and controls.
src/​components/​error-state/​ErrorState.stories.ts Demonstrates error-state variants.
src/​components/​combobox/​Combobox.ts Handles disabled inputs and click reopening.
src/​components/​combobox/​Combobox.styles.css Adds configurable borders and focus styling.
src/​components/​combobox/​Combobox.stories.ts Demonstrates hidden combobox labels.
src/​components/​access-control-modal/​types.ts Defines grant, event, and error types.
src/​components/​access-control-modal/​index.ts Exports the access-control dialog.
src/​components/​access-control-modal/​helpers.ts Adds origin normalization and deduplication.
src/​components/​access-control-modal/​buildAccessChanges.ts Converts drafts into save operations.
src/​components/​access-control-modal/​applyAccessChanges.ts Applies scoped grants and revocations.
src/​components/​access-control-modal/​accessTargetResolver.ts Resolves principals and builds search suggestions.
src/​components/​access-control-modal/​accessGrantDrafts.ts Builds grant drafts and derives roles.
src/​components/​access-control-modal/​AccessControlSharedAccess.ts Displays and edits existing grants.
src/​components/​access-control-modal/​AccessControlSharedAccess.styles.css Styles grant rows and search.
src/​components/​access-control-modal/​AccessControlModal.ts Coordinates access loading, editing, and saving.
src/​components/​access-control-modal/​AccessControlModal.styles.css Styles dialog sections and scope warnings.
src/​components/​access-control-modal/​AccessControlGeneralAccess.ts Adds public and authenticated-access controls.
src/​components/​access-control-modal/​AccessControlGeneralAccess.styles.css Styles general-access rows.
src/​components/​access-control-modal/​AccessControlErrors.ts Presents failed save operations.
src/​components/​access-control-modal/​AccessControlErrors.styles.css Styles save-error details.
src/​components/​access-control-modal/​AccessControlAddAccess.ts Adds principal selection and pending grants.
src/​components/​access-control-modal/​AccessControlAddAccess.styles.css Styles principal input and pending grants.
README.md Documents icons and confirmation containers.
package.json Updates package and dependency versions.

Review effort: Balanced

Comment thread src/components/file-explorer-header/FileExplorerHeaderSummary.ts Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@SharonStrats
SharonStrats force-pushed the task/restructure branch 3 times, most recently from 959a51a to f72dd87 Compare October 23, 2026 06:51
pane-registry@5.0.2-0 pins solid-logic@6.0.1-0, so a clean install nested a
second solid-logic whose SessionEvents (private 'listeners') is not
type-compatible with solid-ui's, failing typecheck-test in CI. Override
pane-registry's solid-logic to solid-ui's version.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@SharonStrats
SharonStrats merged commit 01728c0 into staging Oct 23, 2026
9 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in SolidOS NLNet UI Oct 23, 2026
@SharonStrats
SharonStrats deleted the task/restructure branch October 23, 2026 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants