@hybridly/vue 0.10.0-beta.5 → 0.10.0-beta.7

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/dist/index.d.mts CHANGED
@@ -456,6 +456,52 @@ interface NumericFilterRefinement extends BaseFilterRefinement {
456
456
  type: 'numeric';
457
457
  operator?: FilterOperator;
458
458
  }
459
+ /**
460
+ * Time suggestion for single date filters.
461
+ */
462
+ interface TimeSuggestion {
463
+ type: 'time';
464
+ label: string;
465
+ date: string;
466
+ }
467
+ /**
468
+ * Timeframe suggestion for date range filters.
469
+ */
470
+ interface TimeframeSuggestion {
471
+ type: 'timeframe';
472
+ label: string;
473
+ start: string;
474
+ end: string;
475
+ }
476
+ /**
477
+ * Date filter refinement.
478
+ */
479
+ interface DateFilterRefinement extends BaseFilterRefinement {
480
+ type: 'date';
481
+ operator?: FilterOperator;
482
+ metadata: BaseFilterRefinement['metadata'] & {
483
+ /**
484
+ * Whether this is a timeframe filter (with start and end columns).
485
+ */
486
+ is_timeframe?: boolean;
487
+ /**
488
+ * The start column for timeframe filters.
489
+ */
490
+ start_column?: string;
491
+ /**
492
+ * The end column for timeframe filters.
493
+ */
494
+ end_column?: string;
495
+ /**
496
+ * Suggested dates or timeframes for this filter.
497
+ */
498
+ suggestions?: Array<TimeSuggestion | TimeframeSuggestion>;
499
+ /**
500
+ * A description for this filter, suitable for display purposes.
501
+ */
502
+ description?: string;
503
+ };
504
+ }
459
505
  /**
460
506
  * Trashed filter refinement.
461
507
  */
@@ -473,7 +519,7 @@ interface CallbackFilterRefinement extends BaseFilterRefinement {
473
519
  /**
474
520
  * Represents a filter.
475
521
  */
476
- type FilterRefinement = TextFilterRefinement | SelectFilterRefinement | TernaryFilterRefinement | BooleanFilterRefinement | NumericFilterRefinement | TrashedFilterRefinement | CallbackFilterRefinement;
522
+ type FilterRefinement = TextFilterRefinement | SelectFilterRefinement | TernaryFilterRefinement | BooleanFilterRefinement | NumericFilterRefinement | DateFilterRefinement | TrashedFilterRefinement | CallbackFilterRefinement;
477
523
  interface SortRefinement {
478
524
  /**
479
525
  * Whether this sort is currently active.
@@ -559,6 +605,10 @@ interface BoundFilterRefinementMethods {
559
605
  * Searches this filter.
560
606
  */
561
607
  search: (value?: string | number, options?: AvailableHybridRequestOptions) => Promise<NavigationResponse | undefined>;
608
+ /**
609
+ * Whether this filter is a date filter.
610
+ */
611
+ isDateFilter: () => boolean;
562
612
  /**
563
613
  * Whether this filter is a select filter.
564
614
  */
@@ -588,6 +638,10 @@ interface BoundFilterRefinementMethods {
588
638
  * Checks whether the given filter is a text filter, and narrows its type.
589
639
  */
590
640
  declare function isTextFilter(filter: FilterRefinement | BoundFilterRefinement): filter is BoundTextFilterRefinement;
641
+ /**
642
+ * Checks whether the given filter is a date filter, and narrows its type.
643
+ */
644
+ declare function isDateFilter(filter: FilterRefinement | BoundFilterRefinement): filter is BoundDateFilterRefinement;
591
645
  /**
592
646
  * Checks whether the given filter is a select filter, and narrows its type.
593
647
  */
@@ -612,6 +666,10 @@ declare function isCallbackFilter(filter: FilterRefinement | BoundFilterRefineme
612
666
  * Bound text filter refinement with type-specific methods.
613
667
  */
614
668
  interface BoundTextFilterRefinement extends TextFilterRefinement, BoundFilterRefinementMethods {}
669
+ /**
670
+ * Bound date filter refinement with type-specific methods.
671
+ */
672
+ interface BoundDateFilterRefinement extends DateFilterRefinement, BoundFilterRefinementMethods {}
615
673
  /**
616
674
  * Bound select filter refinement with type-specific methods.
617
675
  */
@@ -994,4 +1052,4 @@ interface SetupArguments {
994
1052
  payload: Record<string, any>;
995
1053
  }
996
1054
  //#endregion
997
- export { Action, AvailableHybridRequestOptions, AvailableHybridRequestOptionsForFilters, BaseFilterRefinement, BindFilterOptions, BooleanFilterRefinement, BoundBooleanFilterRefinement, BoundCallbackFilterRefinement, BoundFilterRefinement, BoundSelectFilterRefinement, BoundSortRefinement, BoundTernaryFilterRefinement, BoundTextFilterRefinement, BoundTrashedFilterRefinement, BulkAction, BulkSelection, CallbackFilterRefinement, Column, DefaultFormOptions, FilterOperator, FilterRefinement, FormReturn, type InitializeOptions, InlineAction, InternalProperties, MaybeWithData, NumericFilterRefinement, PaginatorResult, RecordIdentifier, Refinements$1 as Refinements, RouterLink, SelectFilterRefinement, SortDirection, SortRefinement, TableDefaultOptions, TernaryFilterRefinement, TextFilterRefinement, ToggleSortOptions, TrashedFilterRefinement, UseRefinements, can, createPaginator, initializeHybridly, isBooleanFilter, isCallbackFilter, isSelectFilter, isTernaryFilter, isTextFilter, isTrashedFilter, registerHook, route, router, setProperty, useBackForward, useBulkSelect, useDialog, useForm, useHistoryState, useProperties, useProperty, useQueryParameter, useQueryParameters, useRefinements, useRoute, useTable };
1055
+ export { Action, AvailableHybridRequestOptions, AvailableHybridRequestOptionsForFilters, BaseFilterRefinement, BindFilterOptions, BooleanFilterRefinement, BoundBooleanFilterRefinement, BoundCallbackFilterRefinement, BoundDateFilterRefinement, BoundFilterRefinement, BoundSelectFilterRefinement, BoundSortRefinement, BoundTernaryFilterRefinement, BoundTextFilterRefinement, BoundTrashedFilterRefinement, BulkAction, BulkSelection, CallbackFilterRefinement, Column, DateFilterRefinement, DefaultFormOptions, FilterOperator, FilterRefinement, FormReturn, type InitializeOptions, InlineAction, InternalProperties, MaybeWithData, NumericFilterRefinement, PaginatorResult, RecordIdentifier, Refinements$1 as Refinements, RouterLink, SelectFilterRefinement, SortDirection, SortRefinement, TableDefaultOptions, TernaryFilterRefinement, TextFilterRefinement, TimeSuggestion, TimeframeSuggestion, ToggleSortOptions, TrashedFilterRefinement, UseRefinements, can, createPaginator, initializeHybridly, isBooleanFilter, isCallbackFilter, isDateFilter, isSelectFilter, isTernaryFilter, isTextFilter, isTrashedFilter, registerHook, route, router, setProperty, useBackForward, useBulkSelect, useDialog, useForm, useHistoryState, useProperties, useProperty, useQueryParameter, useQueryParameters, useRefinements, useRoute, useTable };
package/dist/index.mjs CHANGED
@@ -857,6 +857,9 @@ function useDialog() {
857
857
  function isTextFilter(filter) {
858
858
  return filter.type === "text";
859
859
  }
860
+ function isDateFilter(filter) {
861
+ return filter.type === "date";
862
+ }
860
863
  function isSelectFilter(filter) {
861
864
  return filter.type === "select";
862
865
  }
@@ -901,6 +904,7 @@ function useRefinements(input, defaultOptions = {}) {
901
904
  clear: (options) => clearFilter(filter.name, options),
902
905
  search: (query, options) => searchFilter(filter.name, query, options),
903
906
  isSelectFilter: () => isSelectFilter(filter),
907
+ isDateFilter: () => isDateFilter(filter),
904
908
  isSearchFilter: () => isTextFilter(filter),
905
909
  isTernaryFilter: () => isTernaryFilter(filter),
906
910
  isBooleanFilter: () => isBooleanFilter(filter),
@@ -1286,4 +1290,4 @@ function useTable(input, defaultOptions = {}) {
1286
1290
  ...refinements
1287
1291
  });
1288
1292
  }
1289
- export { RouterLink, can, createPaginator, initializeHybridly, isBooleanFilter, isCallbackFilter, isSelectFilter, isTernaryFilter, isTextFilter, isTrashedFilter, registerHook, route, router, setProperty, useBackForward, useBulkSelect, useDialog, useForm, useHistoryState, useProperties, useProperty, useQueryParameter, useQueryParameters, useRefinements, useRoute, useTable };
1293
+ export { RouterLink, can, createPaginator, initializeHybridly, isBooleanFilter, isCallbackFilter, isDateFilter, isSelectFilter, isTernaryFilter, isTextFilter, isTrashedFilter, registerHook, route, router, setProperty, useBackForward, useBulkSelect, useDialog, useForm, useHistoryState, useProperties, useProperty, useQueryParameter, useQueryParameters, useRefinements, useRoute, useTable };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hybridly/vue",
3
3
  "type": "module",
4
- "version": "0.10.0-beta.5",
4
+ "version": "0.10.0-beta.7",
5
5
  "description": "Vue adapter for Hybridly",
6
6
  "author": "Enzo Innocenzi <enzo@innocenzi.dev>",
7
7
  "license": "MIT",
@@ -46,8 +46,8 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@clickbar/dot-diver": "^1.0.7",
49
- "@hybridly/core": "0.10.0-beta.5",
50
- "@hybridly/utils": "0.10.0-beta.5",
49
+ "@hybridly/core": "0.10.0-beta.7",
50
+ "@hybridly/utils": "0.10.0-beta.7",
51
51
  "@vue/devtools-api": "^7.7.6",
52
52
  "defu": "^6.1.4",
53
53
  "lodash.isequal": "^4.5.0",