Skip to content

Commit d7e5094

Browse files
committed
docs(format): Add steppers to menu options and simplify some examples
1 parent 7623a94 commit d7e5094

File tree

1 file changed

+41
-9
lines changed

1 file changed

+41
-9
lines changed

sites/docs/src/routes/docs/utils/format/+page.svelte

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
<script lang="ts">
22
import { TextField, DatePickerField, MenuField } from 'svelte-ux';
3-
import { format, PeriodType, type FormatNumberStyle, DateToken } from '@layerstack/utils';
3+
import {
4+
format,
5+
type FormatNumberStyle,
6+
DateToken,
7+
type PeriodTypeCode,
8+
} from '@layerstack/utils';
49
510
import Preview from '$docs/Preview.svelte';
611
import Code from '$docs/Code.svelte';
@@ -12,6 +17,20 @@
1217
1318
let myDate = new Date('1982-03-30T07:11:00');
1419
20+
const periodTypeCodes: PeriodTypeCode[] = [
21+
'day',
22+
'daytime',
23+
'time',
24+
'week',
25+
'biweek1',
26+
'month',
27+
'month-year',
28+
'quarter',
29+
'year',
30+
'fiscal-year-october',
31+
];
32+
let periodType: PeriodTypeCode = 'day';
33+
1534
const locales = ['en', 'de', 'fr', 'it', 'es', 'jp', 'zh'] as const;
1635
let locale: (typeof locales)[number] = 'en';
1736
</script>
@@ -42,6 +61,7 @@
4261
'percentRound',
4362
'metric',
4463
].map((value) => ({ label: value, value }))}
64+
stepper
4565
/>
4666

4767
<MenuField
@@ -51,12 +71,15 @@
5171
label: value ?? 'None',
5272
value,
5373
}))}
74+
stepper
75+
disabled={style !== 'currency' && style !== 'currencyRound'}
5476
/>
5577

5678
<MenuField
5779
label="locale"
5880
bind:value={locale}
5981
options={locales.map((value) => ({ label: value, value }))}
82+
stepper
6083
/>
6184

6285
<MenuField
@@ -66,6 +89,7 @@
6689
label: value,
6790
value,
6891
}))}
92+
stepper
6993
/>
7094
</div>
7195

@@ -78,15 +102,23 @@
78102
<div class="grid grid-cols-xs gap-2 mb-2">
79103
<DatePickerField format="dd/MM/yyyy" label="date" bind:value={myDate}></DatePickerField>
80104

105+
<MenuField
106+
label="periodType"
107+
bind:value={periodType}
108+
options={periodTypeCodes.map((value) => ({ label: value, value }))}
109+
stepper
110+
/>
111+
81112
<MenuField
82113
label="locale"
83114
bind:value={locale}
84115
options={locales.map((value) => ({ label: value, value }))}
116+
stepper
85117
/>
86118
</div>
87119

88120
<Preview>
89-
<div>{format(myDate, PeriodType.Day)}</div>
121+
<div>{format(myDate, periodType)}</div>
90122
</Preview>
91123

92124
<h1>Numbers</h1>
@@ -151,41 +183,41 @@
151183
<div>
152184
<h3>With format string</h3>
153185
<Preview>
154-
{format(myDate, PeriodType.Custom, {
186+
{format(myDate, 'custom', {
155187
custom: 'eee, MMMM do',
156188
})}
157189
</Preview>
158190
</div>
159191
<div>
160192
<h3>With descriptive tokens</h3>
161193
<Preview>
162-
{format(myDate, PeriodType.Custom, {
194+
{format(myDate, 'custom', {
163195
custom: [DateToken.DayOfWeek_short, DateToken.Month_long, DateToken.DayOfMonth_withOrdinal],
164196
})}
165197
</Preview>
166198
</div>
167199
<div>
168200
<h3>With full intl</h3>
169201
<Preview>
170-
{format(myDate, PeriodType.Custom, {
202+
{format(myDate, 'custom', {
171203
custom: { weekday: 'short', month: 'long', day: 'numeric', withOrdinal: true },
172204
})}
173205
</Preview>
174206
</div>
175207
</div>
176208

177-
{#each [PeriodType.Day, PeriodType.DayTime, PeriodType.TimeOnly, PeriodType.Week, PeriodType.BiWeek1, PeriodType.Month, PeriodType.MonthYear, PeriodType.Quarter, PeriodType.CalendarYear, PeriodType.FiscalYearOctober] as periodType}
178-
<h2>PeriodType.{PeriodType[periodType]}</h2>
209+
{#each periodTypeCodes as periodType}
210+
<h2>{periodType}</h2>
179211

180-
{#if periodType === PeriodType.Week || periodType === PeriodType.BiWeek1}
212+
{#if periodType === 'week' || periodType === 'biweek1'}
181213
<span>
182214
It will take your default <b>weekStartsOn</b>
183215
<a
184216
class="text-accent-500"
185217
href="https://svelte-ux.techniq.dev/customization#settings"
186218
target="_blank">settings</a
187219
>, if you want to be specific, you can also use
188-
<b>{periodType === PeriodType.Week ? 'PeriodType.WeekSun' : 'PeriodType.BiWeek1Sun'}</b>
220+
<b>{periodType === 'week' ? 'PeriodType.WeekSun' : 'PeriodType.BiWeek1Sun'}</b>
189221
</span>
190222
{/if}
191223

0 commit comments

Comments
 (0)