Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/release-rc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ jobs:
- name: Install Dependencies 🔧
run: pnpm install

- name: Check the icon map
run: pnpm --filter=@raystack/apsara check:icon-map

- name: Build Step 🔧
env:
CI: ""
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ jobs:
- name: Install Dependencies 🔧
run: pnpm install

- name: Check the icon map
run: pnpm --filter=@raystack/apsara check:icon-map

- name: Build Step 🔧
env:
CI: ""
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Check the icon map
run: pnpm --filter=@raystack/apsara check:icon-map

- name: Generate the icon registry
run: pnpm --filter=@raystack/apsara build:icon-registry

- name: Run tests
run: pnpm --filter=@raystack/apsara test

Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,9 @@ yarn-error.log*

# generated Code Connect batch file (created by figma:generate-icons at publish time)
packages/raystack/figma/icons.figma.batch.json

# generated icon registry — one wrapper module per key of icons/icon-map.json.
# Written by `build:icon-registry`, which runs on `pnpm install` (the `prepare`
# script of @raystack/apsara) and again before build, dev and test. Edit
# icon-map.json, never these files.
packages/raystack/icons/generated/
8 changes: 6 additions & 2 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,12 @@ pnpm lint
# Clean build artifacts
pnpm clean

# Build icon components
pnpm build:icons
# Generate the icon registry from icons/icon-map.json into icons/generated/
# (not in git — `pnpm install` runs this for you, and so do build, dev and test)
pnpm build:icon-registry

# Check that every icon-map.json entry resolves to a real lucide export
pnpm check:icon-map
```

## Testing
Expand Down
18 changes: 13 additions & 5 deletions apps/www/src/app/examples/datatable-virtual/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ import {
Sidebar,
Text
} from '@raystack/apsara';
import { BellIcon, FilterIcon, SidebarIcon } from '@raystack/apsara/icons';
import {
BellIcon,
ListFilterIcon,
PanelLeftIcon
} from '@raystack/apsara/icons';
import { useCallback, useMemo, useState } from 'react';

const sampleData = [
Expand Down Expand Up @@ -514,13 +518,13 @@ const Page = () => {
<Sidebar.Item
href='/examples/datatable-virtual'
active
leadingIcon={<SidebarIcon />}
leadingIcon={<PanelLeftIcon />}
>
DataTable – Virtualized
</Sidebar.Item>
<Sidebar.Item
href='/examples/datatable-content'
leadingIcon={<SidebarIcon />}
leadingIcon={<PanelLeftIcon />}
>
DataTable – Content
</Sidebar.Item>
Expand Down Expand Up @@ -553,7 +557,11 @@ const Page = () => {
size='small'
style={{ width: '200px' }}
/>
<Button variant='outline' size='small' leadingIcon={<FilterIcon />}>
<Button
variant='outline'
size='small'
leadingIcon={<ListFilterIcon />}
>
Actions
</Button>
</Navbar.End>
Expand Down Expand Up @@ -586,7 +594,7 @@ const Page = () => {
rowHeight={44.5}
emptyState={
<EmptyState
icon={<FilterIcon />}
icon={<ListFilterIcon />}
heading='No results'
variant='empty1'
subHeading='Try adjusting your filters or search.'
Expand Down
18 changes: 13 additions & 5 deletions apps/www/src/app/examples/datatable/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ import {
Sidebar,
Text
} from '@raystack/apsara';
import { BellIcon, FilterIcon, SidebarIcon } from '@raystack/apsara/icons';
import {
BellIcon,
ListFilterIcon,
PanelLeftIcon
} from '@raystack/apsara/icons';
import { useState } from 'react';

const sampleData = [
Expand Down Expand Up @@ -527,11 +531,11 @@ const Page = () => {
</Sidebar.Item>
<Sidebar.Item
href='/examples/datatable'
leadingIcon={<SidebarIcon />}
leadingIcon={<PanelLeftIcon />}
>
DataTable
</Sidebar.Item>
<Sidebar.Group label='Resources' leadingIcon={<FilterIcon />}>
<Sidebar.Group label='Resources' leadingIcon={<ListFilterIcon />}>
<Sidebar.Item href='#'>Reports</Sidebar.Item>
<Sidebar.Item href='#'>Activities</Sidebar.Item>
</Sidebar.Group>
Expand Down Expand Up @@ -567,7 +571,11 @@ const Page = () => {
size='small'
style={{ width: '200px' }}
/>
<Button variant='outline' size='small' leadingIcon={<FilterIcon />}>
<Button
variant='outline'
size='small'
leadingIcon={<ListFilterIcon />}
>
Actions
</Button>
</Navbar.End>
Expand All @@ -594,7 +602,7 @@ const Page = () => {
<DataTable.Content
emptyState={
<EmptyState
icon={<FilterIcon />}
icon={<ListFilterIcon />}
heading='No results'
variant='empty1'
subHeading='Try adjusting your filters or search.'
Expand Down
12 changes: 8 additions & 4 deletions apps/www/src/app/examples/dataview/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,11 @@ import {
Sidebar,
Text
} from '@raystack/apsara';
import { BellIcon, FilterIcon, SidebarIcon } from '@raystack/apsara/icons';
import {
BellIcon,
ListFilterIcon,
PanelLeftIcon
} from '@raystack/apsara/icons';

type ProfileCell = { row: { original: Profile } };

Expand Down Expand Up @@ -502,7 +506,7 @@ const Page = () => {
<Sidebar.Main>
<Sidebar.Item
href='/examples/dataview'
leadingIcon={<SidebarIcon />}
leadingIcon={<PanelLeftIcon />}
active
>
DataView
Expand Down Expand Up @@ -596,15 +600,15 @@ const Page = () => {
{/* Empty/zero state lifted out of renderers — single sibling reads context */}
<DataView.EmptyState>
<EmptyState
icon={<FilterIcon />}
icon={<ListFilterIcon />}
heading='No matching people'
variant='empty1'
subHeading='Try adjusting your filters or search.'
/>
</DataView.EmptyState>
<DataView.ZeroState>
<EmptyState
icon={<FilterIcon />}
icon={<ListFilterIcon />}
heading='No people yet'
variant='empty1'
subHeading='Add your first teammate to get started.'
Expand Down
Loading