Skip to content

Commit e826c23

Browse files
authored
Merge pull request #16 from PureStackStudio/stabilize-file-watcher
Fix dev server directory events and output cleanup races.
2 parents 549a89d + 9a895dd commit e826c23

31 files changed

Lines changed: 1171 additions & 103 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,25 @@ jobs:
4343
- name: Check line endings
4444
run: yarn check-eol
4545

46+
- name: Regenerate Regor component metadata
47+
run: yarn regor-components
48+
49+
- name: Regenerate embedded scripts
50+
run: yarn embed
51+
52+
- name: Format repository
53+
run: yarn format
54+
55+
- name: Verify generated and formatted files are committed
56+
shell: bash
57+
run: |
58+
if [[ -n "$(git status --porcelain --untracked-files=all)" ]]; then
59+
echo "::error::Run yarn regor-components, yarn embed, and yarn format locally, then commit the resulting changes."
60+
git status --short --untracked-files=all
61+
git diff --stat
62+
exit 1
63+
fi
64+
4665
- name: Lint without changing files
4766
run: yarn lint:ci
4867

‎frontend/docs/componentGuide.ts‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,12 @@ export function registerComponentGuideStyles() {
121121
.select('.layout-demo-item--tall')
122122
.css({ minHeight: '4rem', fontSize: '1.3rem' })
123123
root.select('.layout-demo-scroll').css({ overflowX: 'auto', minWidth: '0' })
124+
root.select('.layout-playground-frame').css({ height: '20rem' })
125+
root.select('.layout-playground-frame--compact').css({ height: '14rem' })
126+
root.select('.layout-playground-frame--tall').css({ height: '28rem' })
127+
root.select('.layout-playground-width--narrow').css({ width: '24rem' })
128+
root.select('.layout-playground-width--medium').css({ width: '40rem' })
129+
root.select('.layout-playground-width--wide').css({ width: '60rem' })
124130
root
125131
.select('.layout-demo-track--narrow')
126132
.css({ width: '9rem', minHeight: '7rem' })

‎frontend/purestack.studio/components/layout/flex/flex.mdx‎

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,28 @@ nav:
4040
```
4141

4242

43+
## Interactive playground
44+
45+
Start with a preset, then explore direction, distribution, alignment, and wrapping. **Shared baseline** uses the framework's typography utilities to make baseline alignment visible. **Flexible first item** uses `flex-1` to show how item growth consumes free space; **Wrapping cards** makes line wrapping easy to compare with nowrap and reverse wrapping. Item sizing uses the component's `flex-none`, `flex-auto`, `flex-fill`, and `flex-1` utilities.
46+
47+
Change the preview width and height to explore both axes. Responsive overrides follow the browser viewport, so resize your browser to cross a breakpoint. Open **Responsive overrides** to configure direction, alignment, distribution, and wrapping independently at each breakpoint. The live readout shows the active settings, and the generated markup includes your component props and utility classes.
48+
49+
<Tabs group="flex-doc-playground" selectedTab="flex-doc-playground-preview" ariaLabel="Flex playground example and source" tone="neutral" variant="surface" tabVariant="underline">
50+
<TabPane id="flex-doc-playground-preview" label="Preview">
51+
<div class="component-preview-stage">
52+
<RegorApp id="flex-playground" src="./playground.ts"/>
53+
</div>
54+
</TabPane>
55+
<TabPane id="flex-doc-playground-mdx" label="playground.mdx">
56+
```html
57+
<RegorApp id="flex-playground" src="./playground.ts"/>
58+
```
59+
</TabPane>
60+
<TabPane id="flex-doc-playground-ts" label="playground.ts">
61+
<import-codeblock src="./playground.ts"/>
62+
</TabPane>
63+
</Tabs>
64+
4365
## A responsive toolbar
4466

4567
Resize the viewport: the title and action stack first, then share a row.

0 commit comments

Comments
 (0)