accomadesc 0.2.9 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,67 +3,62 @@
3
3
  import CalendarAvailable from './CalendarAvailable.svelte';
4
4
  import Photo from './Photo.svelte';
5
5
  import PricingShort from './PricingShort.svelte';
6
- import {
7
- isAmenitiesCore,
8
- isCalendarAvailable,
9
- isPricingShort,
10
- type AccoCardContent,
11
- type I18nFacade,
12
- } from './types.js';
6
+ import { type AccoCardContent, type I18nFacade } from './types.js';
13
7
 
14
8
  let {
15
- cardContent,
16
9
  displayName,
10
+ coverPhoto,
11
+ slug,
12
+ pricing,
13
+ avail,
14
+ amenities,
17
15
  translateFunc,
18
16
  formatFunc,
19
17
  formatMoneyFunc,
20
18
  formatDateFunc,
21
19
  }: AccoCardContent & I18nFacade = $props();
22
- let translatedSlug = $derived(
23
- translateFunc && cardContent.slug ? translateFunc(cardContent.slug) : '',
24
- );
20
+
21
+ let translatedSlug = $derived(translateFunc && slug ? translateFunc(slug) : '');
25
22
  </script>
26
23
 
27
24
  <div class="accocard-wrapper">
28
- {#if cardContent}
29
- <div class="title-with-slug">
30
- <h2>{displayName}</h2>
31
- {#if cardContent.slug}
32
- <div class="slug">{@html translatedSlug}</div>
33
- {/if}
34
- </div>
35
- {#if cardContent.coverPhoto}
36
- <div class="photo">
37
- <Photo {...cardContent.coverPhoto} {translateFunc} />
38
- </div>
39
- {/if}
40
- {#if cardContent.blocks}
41
- {#each cardContent.blocks as b, i}
42
- <div class="block-container-{i}">
43
- {#if isAmenitiesCore(b)}
44
- <AmenitiesCore {...b.content} {formatFunc} {formatMoneyFunc} {formatDateFunc} />
45
- {:else if isPricingShort(b)}
46
- <PricingShort
47
- {...b.content}
48
- {translateFunc}
49
- {formatFunc}
50
- {formatMoneyFunc}
51
- {formatDateFunc}
52
- />
53
- {:else if isCalendarAvailable(b)}
54
- <CalendarAvailable
55
- {...b.content}
56
- {translateFunc}
57
- {formatFunc}
58
- {formatMoneyFunc}
59
- {formatDateFunc}
60
- />
61
- {:else}
62
- <span>Unsupported</span>
63
- {/if}
64
- </div>
65
- {/each}
25
+ <div class="title-with-slug">
26
+ <h2>{displayName}</h2>
27
+ {#if slug}
28
+ <div class="slug">{@html translatedSlug}</div>
66
29
  {/if}
30
+ </div>
31
+ {#if coverPhoto}
32
+ <div class="photo">
33
+ <Photo {...coverPhoto} {translateFunc} />
34
+ </div>
35
+ {/if}
36
+ {#if amenities}
37
+ <div class="amenities-container">
38
+ <AmenitiesCore {...amenities.content} {formatFunc} {formatMoneyFunc} {formatDateFunc} />
39
+ </div>
40
+ {/if}
41
+ {#if pricing}
42
+ <div class="pricing-container">
43
+ <PricingShort
44
+ {...pricing.content}
45
+ {translateFunc}
46
+ {formatFunc}
47
+ {formatMoneyFunc}
48
+ {formatDateFunc}
49
+ />
50
+ </div>
51
+ {/if}
52
+ {#if avail}
53
+ <div class="calendar-container">
54
+ <CalendarAvailable
55
+ {...avail.content}
56
+ {translateFunc}
57
+ {formatFunc}
58
+ {formatMoneyFunc}
59
+ {formatDateFunc}
60
+ />
61
+ </div>
67
62
  {/if}
68
63
  </div>
69
64
 
@@ -76,17 +71,17 @@
76
71
  grid-area: first-row-line / start-line / fifth-row-line / middle-line;
77
72
  }
78
73
 
79
- .block-container-0 {
74
+ .amenities-container {
80
75
  grid-area: second-row-line / middle-line / third-row-line / end-line;
81
76
  position: relative;
82
77
  }
83
78
 
84
- .block-container-1 {
79
+ .pricing-container {
85
80
  grid-area: third-row-line / middle-line / fourth-row-line / end-line;
86
81
  position: relative;
87
82
  }
88
83
 
89
- .block-container-2 {
84
+ .calendar-container {
90
85
  grid-area: fourth-row-line / middle-line / fifth-row-line / end-line;
91
86
  position: relative;
92
87
  }
@@ -169,17 +164,17 @@
169
164
  grid-column: 1;
170
165
  }
171
166
 
172
- .block-container-0 {
167
+ .amenities-container {
173
168
  grid-row: auto;
174
169
  grid-column: 1;
175
170
  }
176
171
 
177
- .block-container-1 {
172
+ .pricing-container {
178
173
  grid-row: auto;
179
174
  grid-column: 1;
180
175
  }
181
176
 
182
- .block-container-2 {
177
+ .calendar-container {
183
178
  grid-row: auto;
184
179
  grid-column: 1;
185
180
  }
@@ -149,7 +149,7 @@
149
149
  form {
150
150
  display: flex;
151
151
  flex-direction: column;
152
- justify-content: stretch;
152
+ width: 100%;
153
153
  gap: 0.5rem;
154
154
  }
155
155
 
package/dist/index.d.ts CHANGED
@@ -24,6 +24,6 @@ import Text from './Text.svelte';
24
24
  import Weather from './Weather.svelte';
25
25
  import PageComponent from './PageComponent.svelte';
26
26
  export type { OccuplanTranslations } from './occuplan/state.svelte.ts';
27
- export type { GridPhoto, LeafletMap as LeafletMapI, LeafletMapContent, Calendar as CalendarI, CalendarContent, CalendarAvailable as CalendarAvailableI, CalendarAvailableContent, CalendarGrid as CalendarGridI, CalendarGridContent, CalendarRows as CalendarRowsI, CalendarRowsContent, Text as TextI, TextContent, Weather as WeatherI, WeatherContent, Photo as PhotoI, PhotoContent, PhotoGallery as PhotoGalleryI, PhotoGalleryContent, Pricing as PricingI, PricingContent, PricingShort as PricingShortI, PricingShortContent, PricingEntry, PricingRange, PricingColumn, StaticRangeDate, StaticPricingRange, AmenitiesCore as AmenitiesCoreI, AmenitiesCoreContent, AccoCard as AccoCardI, AccoCardContent, ContactForm as ContactFormI, ContactFormContent, BookingRequest as BookingRequestI, BookingRequestContent, CardContent, AccoDescription as AccoDescriptionI, AccoDescriptionContent, Section as SectionI, I18nFacade, Block, PageProps, Nav as NavI, FormatSpec, FormatTemplateName, SiteConfig, LangConfig, CookieConfig, SiteFonts, SiteTranslation, FontSpec, Hero, } from './types.js';
27
+ export type { GridPhoto, LeafletMap as LeafletMapI, LeafletMapContent, Calendar as CalendarI, CalendarContent, CalendarAvailable as CalendarAvailableI, CalendarAvailableContent, CalendarGrid as CalendarGridI, CalendarGridContent, CalendarRows as CalendarRowsI, CalendarRowsContent, Text as TextI, TextContent, Weather as WeatherI, WeatherContent, Photo as PhotoI, PhotoContent, PhotoGallery as PhotoGalleryI, PhotoGalleryContent, Pricing as PricingI, PricingContent, PricingShort as PricingShortI, PricingShortContent, PricingEntry, PricingRange, PricingColumn, StaticRangeDate, StaticPricingRange, AmenitiesCore as AmenitiesCoreI, AmenitiesCoreContent, AccoCard as AccoCardI, AccoCardContent, ContactForm as ContactFormI, ContactFormContent, BookingRequest as BookingRequestI, BookingRequestContent, AccoDescription as AccoDescriptionI, AccoDescriptionContent, Section as SectionI, I18nFacade, Block, PageProps, Nav as NavI, FormatSpec, FormatTemplateName, SiteConfig, LangConfig, CookieConfig, SiteFonts, SiteTranslation, FontSpec, Hero, } from './types.js';
28
28
  export { PRICING_COLUMNS, BLOCK_KINDS, isAccoCard, isText, isPhoto, isGallery, isLeafletMap, isWeather, isAmenitiesCore, isCalendarAvailable, isCalendar, isCalendarGrid, isCalendarRows, isPricing, isPricingShort, isAccoDescription, isBookingRequest, isContactForm, } from './types.js';
29
29
  export { randomID, randomName, Avatar, Button, Icon, Spinner, TextInput, AccoCard, AccoDescription, AmenitiesCore, Calendar, CalendarAvailable, LeafletMap, Photo, PhotoGallery, Pricing, PricingShort, Section, Text, Weather, BookingRequest, ContactForm, CalendarRows, CalendarGrid, Notes, PageComponent, };
@@ -18,7 +18,7 @@
18
18
  import Button from '../basic/Button.svelte';
19
19
  import { browser } from '$app/environment';
20
20
  import Spinner from '../basic/Spinner.svelte';
21
- import { randomID } from '../names/gen.ts';
21
+ import { randomID } from '../names/gen.js';
22
22
 
23
23
  let {
24
24
  url,
@@ -17,7 +17,7 @@
17
17
  import { browser } from '$app/environment';
18
18
  import { getContext, setContext } from 'svelte';
19
19
  import Spinner from '../basic/Spinner.svelte';
20
- import { randomID } from '../names/gen.ts';
20
+ import { randomID } from '../names/gen.js';
21
21
 
22
22
  let {
23
23
  url,
package/dist/types.d.ts CHANGED
@@ -2,6 +2,7 @@ import { type Dinero, type DineroSnapshot } from 'dinero.js';
2
2
  import type { FirstMonth, OccuplanTranslations } from './occuplan/state.svelte.js';
3
3
  import type { DateTime, MonthNumbers, WeekdayNumbers } from 'luxon';
4
4
  import type { CookieType, Translation as CookieTranslation } from 'gdpr-cooco-banner';
5
+ import type { CalendarAvailableI } from './index.ts';
5
6
  export type WeekdayLabels = {
6
7
  [key in WeekdayNumbers]: string;
7
8
  };
@@ -223,13 +224,12 @@ export interface AccoCard {
223
224
  content: AccoCardContent;
224
225
  }
225
226
  export interface AccoCardContent {
226
- cardContent: CardContent;
227
227
  displayName: string;
228
- }
229
- export interface CardContent {
230
228
  coverPhoto: PhotoContent;
231
229
  slug?: string;
232
- blocks: Block[];
230
+ pricing: PricingShort;
231
+ avail: CalendarAvailable;
232
+ amenities: AmenitiesCore;
233
233
  }
234
234
  export interface AccoDescription {
235
235
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "accomadesc",
3
- "version": "0.2.9",
3
+ "version": "0.2.11",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build && npm run package",