@event-calendar/core 5.1.1 → 5.1.2

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.
package/README.md CHANGED
@@ -246,8 +246,8 @@ This bundle contains a version of the calendar that includes all plugins and is
246
246
 
247
247
  The first step is to include the following lines of code in the `<head>` section of your page:
248
248
  ```html
249
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.1.1/dist/event-calendar.min.css">
250
- <script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.1.1/dist/event-calendar.min.js"></script>
249
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.1.2/dist/event-calendar.min.css">
250
+ <script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.1.2/dist/event-calendar.min.js"></script>
251
251
  ```
252
252
 
253
253
  <details>
@@ -2490,6 +2490,18 @@ The mounted [View](#view-object) object
2490
2490
 
2491
2491
  You can specify options that apply only to specific views. To do so provide separate options objects within the `views` option, keyed by the name of the view.
2492
2492
 
2493
+ If you want to create a custom view, you can use the `type` property to inherit options from a standard view.
2494
+
2495
+ ```js
2496
+ views: {
2497
+ resourceTimelineThreeDays: {
2498
+ type: 'resourceTimelineDay',
2499
+ duration: {days: 3}
2500
+ }
2501
+ }
2502
+ ```
2503
+
2504
+
2493
2505
  ### weekNumberContent
2494
2506
  - Type `Content` or `function`
2495
2507
  - Default `undefined`
package/dist/index.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * EventCalendar v5.1.1
2
+ * EventCalendar v5.1.2
3
3
  * https://github.com/vkurko/calendar
4
4
  */
5
5
  .ec {
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * EventCalendar v5.1.1
2
+ * EventCalendar v5.1.2
3
3
  * https://github.com/vkurko/calendar
4
4
  */
5
5
  import { untrack, getAbortSignal, tick, getContext, setContext, onMount, mount, unmount } from "svelte";
@@ -845,8 +845,8 @@ function optionsState(mainState, plugins, userOptions) {
845
845
  let parsers = createParsers(plugins);
846
846
  defOptions = parseOptions(defOptions, parsers);
847
847
  userOptions = parseOptions(userOptions, parsers);
848
- let defViewOptions = extractOption(defOptions, "views") ?? {};
849
- let userViewOptions = extractOption(userOptions, "views") ?? {};
848
+ let defViewsOptions = extractOption(defOptions, "views") ?? {};
849
+ let userViewsOptions = extractOption(userOptions, "views") ?? {};
850
850
  let options = new SvelteMap();
851
851
  setOptions(options, defOptions);
852
852
  let setters = {};
@@ -855,10 +855,11 @@ function optionsState(mainState, plugins, userOptions) {
855
855
  if (userOptions.view) {
856
856
  options.set("view", userOptions.view);
857
857
  }
858
- let views = /* @__PURE__ */ new Set([...keys(defViewOptions), ...keys(userViewOptions)]);
858
+ let views = /* @__PURE__ */ new Set([...keys(defViewsOptions), ...keys(userViewsOptions)]);
859
859
  for (let view2 of views) {
860
- let defOpts = mergeOpts(defOptions, defViewOptions[view2] ?? {});
861
- let opts = mergeOpts(defOpts, userOptions, userViewOptions[view2] ?? {});
860
+ let userViewOptions = userViewsOptions[view2] ?? {};
861
+ let defOpts = mergeOpts(defOptions, defViewsOptions[view2] ?? defViewsOptions[userViewOptions.type] ?? {});
862
+ let opts = mergeOpts(defOpts, userOptions, userViewOptions);
862
863
  let component = extractOption(opts, "component");
863
864
  delete opts.view;
864
865
  for (let key of keys(opts)) {
@@ -1768,17 +1769,27 @@ function Calendar($$anchor, $$props) {
1768
1769
  var node = $.child(div);
1769
1770
  Toolbar(node, {});
1770
1771
  var node_1 = $.sibling(node, 2);
1771
- $.component(node_1, () => $.get(View2), ($$anchor2, View_12) => {
1772
- View_12($$anchor2, {});
1773
- });
1774
- var node_2 = $.sibling(node_1, 2);
1775
- $.each(node_2, 17, () => $.get(auxComponents), $.index, ($$anchor2, AuxComponent) => {
1776
- var fragment = $.comment();
1777
- var node_3 = $.first_child(fragment);
1778
- $.component(node_3, () => $.get(AuxComponent), ($$anchor3, AuxComponent_1) => {
1772
+ {
1773
+ var consequent = ($$anchor2) => {
1774
+ var fragment = $.comment();
1775
+ var node_2 = $.first_child(fragment);
1776
+ $.component(node_2, () => $.get(View2), ($$anchor3, View_12) => {
1777
+ View_12($$anchor3, {});
1778
+ });
1779
+ $.append($$anchor2, fragment);
1780
+ };
1781
+ $.if(node_1, ($$render) => {
1782
+ if ($.get(View2)) $$render(consequent);
1783
+ });
1784
+ }
1785
+ var node_3 = $.sibling(node_1, 2);
1786
+ $.each(node_3, 17, () => $.get(auxComponents), $.index, ($$anchor2, AuxComponent) => {
1787
+ var fragment_1 = $.comment();
1788
+ var node_4 = $.first_child(fragment_1);
1789
+ $.component(node_4, () => $.get(AuxComponent), ($$anchor3, AuxComponent_1) => {
1779
1790
  AuxComponent_1($$anchor3, {});
1780
1791
  });
1781
- $.append($$anchor2, fragment);
1792
+ $.append($$anchor2, fragment_1);
1782
1793
  });
1783
1794
  $.reset(div);
1784
1795
  $.template_effect(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@event-calendar/core",
3
- "version": "5.1.1",
3
+ "version": "5.1.2",
4
4
  "title": "Event Calendar Core package",
5
5
  "description": "Full-sized drag & drop event calendar with resource & timeline views",
6
6
  "keywords": [
@@ -131,7 +131,9 @@
131
131
  role="{features.includes('list') ? 'list' : 'table'}"
132
132
  >
133
133
  <Toolbar/>
134
- <View/>
134
+ {#if View} <!-- temporary fix for https://github.com/sveltejs/kit/issues/15109 -->
135
+ <View/>
136
+ {/if}
135
137
  {#each auxComponents as AuxComponent}
136
138
  <AuxComponent/>
137
139
  {/each}
@@ -139,8 +139,8 @@ export function optionsState(mainState, plugins, userOptions) {
139
139
  userOptions = parseOptions(userOptions, parsers);
140
140
 
141
141
  // Extract view-specific options
142
- let defViewOptions = extractOption(defOptions, 'views') ?? {};
143
- let userViewOptions = extractOption(userOptions, 'views') ?? {};
142
+ let defViewsOptions = extractOption(defOptions, 'views') ?? {};
143
+ let userViewsOptions = extractOption(userOptions, 'views') ?? {};
144
144
 
145
145
  // Create options state
146
146
  let options = new SvelteMap();
@@ -155,10 +155,11 @@ export function optionsState(mainState, plugins, userOptions) {
155
155
  options.set('view', userOptions.view);
156
156
  }
157
157
  // Set options for each view
158
- let views = new Set([...keys(defViewOptions), ...keys(userViewOptions)]);
158
+ let views = new Set([...keys(defViewsOptions), ...keys(userViewsOptions)]);
159
159
  for (let view of views) {
160
- let defOpts = mergeOpts(defOptions, defViewOptions[view] ?? {});
161
- let opts = mergeOpts(defOpts, userOptions, userViewOptions[view] ?? {});
160
+ let userViewOptions = userViewsOptions[view] ?? {};
161
+ let defOpts = mergeOpts(defOptions, defViewsOptions[view] ?? defViewsOptions[userViewOptions.type] ?? {});
162
+ let opts = mergeOpts(defOpts, userOptions, userViewOptions);
162
163
  let component = extractOption(opts, 'component');
163
164
  // View has been set
164
165
  delete opts.view;