@foxy.io/elements 1.37.0-beta.2 → 1.37.0-beta.4

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.
Files changed (61) hide show
  1. package/dist/cdn/foxy-admin-subscription-form.js +1 -1
  2. package/dist/cdn/foxy-cart-form.js +2 -2
  3. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  4. package/dist/cdn/foxy-coupon-form.js +1 -1
  5. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  6. package/dist/cdn/foxy-customer-portal.js +1 -1
  7. package/dist/cdn/foxy-customer.js +1 -1
  8. package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
  9. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  10. package/dist/cdn/foxy-gift-card-form.js +1 -1
  11. package/dist/cdn/foxy-item-category-form.js +1 -1
  12. package/dist/cdn/foxy-item-form.js +1 -1
  13. package/dist/cdn/foxy-payment-method-card.js +1 -1
  14. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  15. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  16. package/dist/cdn/foxy-subscription-form.js +1 -1
  17. package/dist/cdn/foxy-tax-form.js +1 -1
  18. package/dist/cdn/foxy-template-set-form.js +1 -1
  19. package/dist/cdn/foxy-transaction.js +1 -1
  20. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  21. package/dist/cdn/foxy-webhook-form.js +1 -1
  22. package/dist/cdn/{shared-0782fee5.js → shared-2edce408.js} +1 -1
  23. package/dist/cdn/shared-79f84a95.js +1 -0
  24. package/dist/cdn/{shared-fda02728.js → shared-a42e4325.js} +1 -1
  25. package/dist/cdn/translations/admin-subscription-form/en.json +1 -1
  26. package/dist/cdn/translations/cart-form/en.json +5 -5
  27. package/dist/cdn/translations/customer/en.json +1 -1
  28. package/dist/cdn/translations/experimental-add-to-cart-builder/en.json +3 -3
  29. package/dist/cdn/translations/gift-card-code-form/en.json +2 -1
  30. package/dist/cdn/translations/gift-card-form/en.json +3 -2
  31. package/dist/cdn/translations/item-category-form/en.json +2 -2
  32. package/dist/cdn/translations/item-form/en.json +1 -1
  33. package/dist/cdn/translations/payment-method-card/en.json +2 -2
  34. package/dist/cdn/translations/transaction/en.json +1 -1
  35. package/dist/cdn/translations/update-payment-method-form/en.json +1 -1
  36. package/dist/cdn/translations/webhook-form/en.json +12 -12
  37. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +1 -1
  38. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +9 -7
  39. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  40. package/dist/elements/internal/InternalDateControl/InternalDateControl.js +3 -3
  41. package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +1 -1
  42. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +2 -1
  43. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +18 -5
  44. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
  45. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +4 -1
  46. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +17 -0
  47. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  48. package/dist/elements/public/GiftCardCodeForm/types.d.ts +1 -0
  49. package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
  50. package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +5 -0
  51. package/dist/elements/public/GiftCardForm/GiftCardForm.js +18 -8
  52. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  53. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +1 -1
  54. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
  55. package/dist/elements/public/WebhookForm/WebhookForm.js +5 -3
  56. package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
  57. package/dist/elements/public/WebhookForm/index.d.ts +0 -1
  58. package/dist/elements/public/WebhookForm/index.js +0 -1
  59. package/dist/elements/public/WebhookForm/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/dist/cdn/shared-a72df5aa.js +0 -1
@@ -1 +1 @@
1
- import"./shared-05ed8288.js";import{a as e}from"./shared-edb68eb7.js";import{x as t}from"./shared-fefaece7.js";import{c as a,h as r}from"./shared-ba5c42c7.js";import{_ as o}from"./shared-d1195c27.js";import{s as i}from"./shared-79d0699c.js";import{p as l}from"./shared-43e2c3f6.js";import{i as s}from"./shared-53e42a77.js";let n;function m(e){return new Array(7).fill(new Date).map(((t,a)=>{for(;t.getDay()!==a;)t.setDate(t.getDate()+1);return t.toLocaleDateString(e,{weekday:"short"})}))}function h(e){return new Array(7).fill(new Date).map(((t,a)=>{for(;t.getDay()!==a;)t.setDate(t.getDate()+1);return t.toLocaleDateString(e,{weekday:"long"})}))}t("vaadin-date-picker-text-field",a(n||(n=(e=>e)`:host([theme~=summary-item])::before{display:none}:host([theme~=summary-item]) .vaadin-text-field-container{display:grid;grid-template-columns:auto 1fr;grid-template-rows:repeat(3,min-content);gap:0 var(--lumo-space-m)}:host([theme~=summary-item]) [part=label]{font:normal var(--lumo-font-size-m) var(--lumo-font-family);color:var(--lumo-body-text-color)!important;grid-row:1;-webkit-text-fill-color:var(--lumo-body-text-color)!important}:host([theme~=summary-item]) [part=helper-text]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-secondary-text-color)!important;grid-row:2}:host([theme~=summary-item]) [part=helper-text]::before{display:none}:host([theme~=summary-item]) [part=error-message]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-error-text-color);grid-row:3}:host([theme~=summary-item]) [part=error-message],:host([theme~=summary-item]) [part=helper-text],:host([theme~=summary-item]) [part=label]{line-height:var(--lumo-line-height-xs);grid-column:1;padding:0}:host([theme~=summary-item]) [part=input-field]{grid-column:2;grid-row:1;padding:0;background:0 0;align-self:start;height:1em;--lumo-icon-size-m:1rem}:host([theme~=summary-item]) [part=input-field]::after,:host([theme~=summary-item][readonly]) [part=input-field] slot[name=suffix]{display:none}:host([theme~=summary-item]) [part=value]{line-height:var(--lumo-line-height-xs);text-align:right;min-height:auto;padding:0;margin-right:var(--lumo-space-xs);-webkit-mask-image:none}:host([theme~=summary-item][readonly]) [part=value]{margin-right:0}:host([theme~=summary-item]) [part=clear-button]{transform:scale(1.5)}:host([has-value]) slot[name=suffix]{display:none}`)));let u,d=e=>e;customElements.define("foxy-internal-date-control",class extends e{constructor(){super(...arguments),this.format=null,this.layout=null}static get properties(){return o(o({},super.properties),{},{format:{},layout:{}})}renderControl(){var e,t;let a;return a="0000-00-00"!==this._value&&this._value?"unix"===this.format?i(new Date(1e3*(null!==(e=this._value)&&void 0!==e?e:0))):"iso-long"===this.format?i(new Date(this._value)):this._value:"",r(u||(u=d` <vaadin-date-picker error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" theme="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" .i18n="${0}" clear-button-visible @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),s(this._errorMessage),this.placeholder,this.helperText,this.label,null!==(t=this.layout)&&void 0!==t?t:"standalone",this.disabled,this.readonly,this._checkValidity,a,this.__pickerI18n,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{var t,a,r,o;const i=e.currentTarget;"unix"===this.format?this._value=Math.floor((null!==(a=null===(t=l(i.value))||void 0===t?void 0:t.getTime())&&void 0!==a?a:0)/1e3):"iso-long"===this.format?this._value=null!==(o=null===(r=l(i.value))||void 0===r?void 0:r.toISOString())&&void 0!==o?o:null:this._value=i.value}))}get __pickerI18n(){return{monthNames:(e=this.lang||"en",new Array(12).fill(new Date).map(((t,a)=>(t.setMonth(a),t.toLocaleDateString(e,{month:"long"}))))),weekdays:h(this.lang||"en"),weekdaysShort:m(this.lang||"en"),firstDayOfWeek:0,week:this.t("week"),calendar:this.t("calendar"),clear:this.t("clear"),today:this.t("today"),cancel:this.t("cancel"),referenceDate:"",parseDate:null,formatTitle:(e,t)=>e+" "+t,formatDate:e=>this.t("display_value",{value:new Date(e.year,e.month,e.day)})};var e}});
1
+ import"./shared-05ed8288.js";import{a as e}from"./shared-edb68eb7.js";import{x as t}from"./shared-fefaece7.js";import{c as a,h as r}from"./shared-ba5c42c7.js";import{_ as o}from"./shared-d1195c27.js";import{s as i}from"./shared-79d0699c.js";import{p as l}from"./shared-43e2c3f6.js";import{i as s}from"./shared-53e42a77.js";let n;function m(e){return new Array(7).fill(new Date).map(((t,a)=>{for(;t.getDay()!==a;)t.setDate(t.getDate()+1);return t.toLocaleDateString(e,{weekday:"short"})}))}function h(e){return new Array(7).fill(new Date).map(((t,a)=>{for(;t.getDay()!==a;)t.setDate(t.getDate()+1);return t.toLocaleDateString(e,{weekday:"long"})}))}t("vaadin-date-picker-text-field",a(n||(n=(e=>e)`:host([theme~=summary-item])::before{display:none}:host([theme~=summary-item]) .vaadin-text-field-container{display:grid;grid-template-columns:auto 1fr;grid-template-rows:repeat(3,min-content);gap:0 var(--lumo-space-m)}:host([theme~=summary-item]) [part=label]{font:normal var(--lumo-font-size-m) var(--lumo-font-family);color:var(--lumo-body-text-color)!important;grid-row:1;-webkit-text-fill-color:var(--lumo-body-text-color)!important}:host([theme~=summary-item]) [part=helper-text]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-secondary-text-color)!important;grid-row:2}:host([theme~=summary-item]) [part=helper-text]::before{display:none}:host([theme~=summary-item]) [part=error-message]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-error-text-color);grid-row:3}:host([theme~=summary-item]) [part=error-message],:host([theme~=summary-item]) [part=helper-text],:host([theme~=summary-item]) [part=label]{line-height:var(--lumo-line-height-xs);grid-column:1;padding:0}:host([theme~=summary-item]) [part=input-field]{grid-column:2;grid-row:1;padding:0;background:0 0;align-self:start;height:1em;--lumo-icon-size-m:1rem}:host([theme~=summary-item]) [part=input-field]::after,:host([theme~=summary-item][readonly]) [part=input-field] slot[name=suffix]{display:none}:host([theme~=summary-item]) [part=value]{line-height:var(--lumo-line-height-xs);text-align:right;min-height:auto;padding:0;margin-right:var(--lumo-space-xs);-webkit-mask-image:none}:host([theme~=summary-item][readonly]) [part=value]{margin-right:0}:host([theme~=summary-item]) [part=clear-button]{transform:scale(1.5)}:host([has-value]) slot[name=suffix]{display:none}`)));let u,d=e=>e;customElements.define("foxy-internal-date-control",class extends e{constructor(){super(...arguments),this.format=null,this.layout=null}static get properties(){return o(o({},super.properties),{},{format:{},layout:{}})}renderControl(){var e,t,a;let o;return o="0000-00-00"!==this._value&&this._value?"unix"===this.format?i(new Date(1e3*(null!==(e=this._value)&&void 0!==e?e:0))):"iso-long"===this.format?i(new Date(this._value)):(null!==(t=this._value)&&void 0!==t?t:"").substring(0,10):"",r(u||(u=d` <vaadin-date-picker error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" theme="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" .i18n="${0}" clear-button-visible @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),s(this._errorMessage),this.placeholder,this.helperText,this.label,null!==(a=this.layout)&&void 0!==a?a:"standalone",this.disabled,this.readonly,this._checkValidity,o,this.__pickerI18n,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{var t,a,r,o;const i=e.currentTarget;"unix"===this.format?this._value=Math.floor((null!==(a=null===(t=l(i.value))||void 0===t?void 0:t.getTime())&&void 0!==a?a:0)/1e3):"iso-long"===this.format?this._value=null!==(o=null===(r=l(i.value))||void 0===r?void 0:r.toISOString())&&void 0!==o?o:null:this._value=i.value}))}get __pickerI18n(){return{monthNames:(e=this.lang||"en",new Array(12).fill(new Date).map(((t,a)=>(t.setMonth(a),t.toLocaleDateString(e,{month:"long"}))))),weekdays:h(this.lang||"en"),weekdaysShort:m(this.lang||"en"),firstDayOfWeek:0,week:this.t("week"),calendar:this.t("calendar"),clear:this.t("clear"),today:this.t("today"),cancel:this.t("cancel"),referenceDate:"",parseDate:null,formatTitle:(e,t)=>e+" "+t,formatDate:e=>this.t("display_value",{value:new Date(e.year,e.month,e.day)})};var e}});
@@ -390,7 +390,7 @@
390
390
  "search": "Search",
391
391
  "clear": "Clear",
392
392
  "pagination": {
393
- "search_button_text": "Search",
393
+ "search_button_text": "Filters",
394
394
  "first": "First",
395
395
  "last": "Last",
396
396
  "next": "Next",
@@ -34,7 +34,7 @@
34
34
  "label": "Template sets",
35
35
  "helper_text": "",
36
36
  "pagination": {
37
- "search_button_text": "Search",
37
+ "search_button_text": "Filters",
38
38
  "first": "First",
39
39
  "last": "Last",
40
40
  "next": "Next",
@@ -119,7 +119,7 @@
119
119
  "value": "Value"
120
120
  },
121
121
  "pagination": {
122
- "search_button_text": "Search",
122
+ "search_button_text": "Filters",
123
123
  "first": "First",
124
124
  "last": "Last",
125
125
  "next": "Next",
@@ -185,7 +185,7 @@
185
185
  "search": "Search",
186
186
  "clear": "Clear",
187
187
  "pagination": {
188
- "search_button_text": "Search",
188
+ "search_button_text": "Filters",
189
189
  "first": "First",
190
190
  "last": "Last",
191
191
  "next": "Next",
@@ -360,7 +360,7 @@
360
360
  "value": "Value"
361
361
  },
362
362
  "pagination": {
363
- "search_button_text": "Search",
363
+ "search_button_text": "Filters",
364
364
  "first": "First",
365
365
  "last": "Last",
366
366
  "next": "Next",
@@ -656,7 +656,7 @@
656
656
  "search": "Search",
657
657
  "clear": "Clear",
658
658
  "pagination": {
659
- "search_button_text": "Search",
659
+ "search_button_text": "Filters",
660
660
  "first": "First",
661
661
  "last": "Last",
662
662
  "next": "Next",
@@ -942,7 +942,7 @@
942
942
  "search": "Search",
943
943
  "clear": "Clear",
944
944
  "pagination": {
945
- "search_button_text": "Search",
945
+ "search_button_text": "Filters",
946
946
  "first": "First",
947
947
  "last": "Last",
948
948
  "next": "Next",
@@ -29,7 +29,7 @@
29
29
  "search": "Search",
30
30
  "clear": "Clear",
31
31
  "pagination": {
32
- "search_button_text": "Search",
32
+ "search_button_text": "Filters",
33
33
  "first": "First",
34
34
  "last": "Last",
35
35
  "next": "Next",
@@ -388,7 +388,7 @@
388
388
  "search": "Search",
389
389
  "clear": "Clear",
390
390
  "pagination": {
391
- "search_button_text": "Search",
391
+ "search_button_text": "Filters",
392
392
  "first": "First",
393
393
  "last": "Last",
394
394
  "next": "Next",
@@ -478,7 +478,7 @@
478
478
  "label": "Template sets",
479
479
  "helper_text": "",
480
480
  "pagination": {
481
- "search_button_text": "Search",
481
+ "search_button_text": "Filters",
482
482
  "first": "First",
483
483
  "last": "Last",
484
484
  "next": "Next",
@@ -53,7 +53,7 @@
53
53
  "search": "Search",
54
54
  "clear": "Clear",
55
55
  "pagination": {
56
- "search_button_text": "Search",
56
+ "search_button_text": "Filters",
57
57
  "first": "First",
58
58
  "last": "Last",
59
59
  "next": "Next",
@@ -129,6 +129,7 @@
129
129
  "cart-item": {
130
130
  "label": "Cart item",
131
131
  "helper_text": "",
132
+ "view": "View transaction",
132
133
  "card": {
133
134
  "daily": "Daily",
134
135
  "daily_plural": "Every {{count}} days",
@@ -420,7 +420,7 @@
420
420
  "search": "Search",
421
421
  "clear": "Clear",
422
422
  "pagination": {
423
- "search_button_text": "Search",
423
+ "search_button_text": "Filters",
424
424
  "first": "First",
425
425
  "last": "Last",
426
426
  "next": "Next",
@@ -496,6 +496,7 @@
496
496
  "cart-item": {
497
497
  "label": "Cart item",
498
498
  "helper_text": "",
499
+ "view": "View transaction",
499
500
  "card": {
500
501
  "daily": "Daily",
501
502
  "daily_plural": "Every {{count}} days",
@@ -569,7 +570,7 @@
569
570
  },
570
571
  "pagination": {
571
572
  "create_button_text": "Add code +",
572
- "search_button_text": "Search codes",
573
+ "search_button_text": "Filters",
573
574
  "card": {
574
575
  "delete_button_text": "Delete",
575
576
  "copy_button_text": "Copy code",
@@ -97,7 +97,7 @@
97
97
  "label": "Flat rate applies",
98
98
  "placeholder": "Select...",
99
99
  "option_per_order": "Per order",
100
- "option_per_shipment": "Per shipment",
100
+ "option_per_item": "Per item",
101
101
  "helper_text": "",
102
102
  "v8n_required": "Please select a value"
103
103
  },
@@ -205,7 +205,7 @@
205
205
  "label": "Email templates",
206
206
  "helper_text": "",
207
207
  "pagination": {
208
- "search_button_text": "Search",
208
+ "search_button_text": "Filters",
209
209
  "first": "First",
210
210
  "last": "Last",
211
211
  "next": "Next",
@@ -55,7 +55,7 @@
55
55
  "search": "Search",
56
56
  "clear": "Clear",
57
57
  "pagination": {
58
- "search_button_text": "Search",
58
+ "search_button_text": "Filters",
59
59
  "first": "First",
60
60
  "last": "Last",
61
61
  "next": "Next",
@@ -31,7 +31,7 @@
31
31
  "search": "Search",
32
32
  "clear": "Clear",
33
33
  "pagination": {
34
- "search_button_text": "Search",
34
+ "search_button_text": "Filters",
35
35
  "first": "First",
36
36
  "last": "Last",
37
37
  "next": "Next",
@@ -157,4 +157,4 @@
157
157
  "loading_empty": "No payment method",
158
158
  "loading_error": "Unknown error"
159
159
  }
160
- }
160
+ }
@@ -151,7 +151,7 @@
151
151
  "search": "Search",
152
152
  "clear": "Clear",
153
153
  "pagination": {
154
- "search_button_text": "Search",
154
+ "search_button_text": "Filters",
155
155
  "first": "First",
156
156
  "last": "Last",
157
157
  "next": "Next",
@@ -22,7 +22,7 @@
22
22
  "search": "Search",
23
23
  "clear": "Clear",
24
24
  "pagination": {
25
- "search_button_text": "Search",
25
+ "search_button_text": "Filters",
26
26
  "first": "First",
27
27
  "last": "Last",
28
28
  "next": "Next",
@@ -45,20 +45,20 @@
45
45
  "event_resource_subscription": "Subscription",
46
46
  "event_resource_transaction": "Transaction",
47
47
  "event_resource_customer": "Customer"
48
+ },
49
+ "url": {
50
+ "label": "Endpoint",
51
+ "placeholder": "Example: https://example.com/webhook",
52
+ "helper_text": "",
53
+ "v8n_too_long": "URL cannot exceed 1000 characters"
54
+ },
55
+ "query": {
56
+ "label": "Query",
57
+ "placeholder": "Example: zoom=items,items:options,customer",
58
+ "helper_text": "",
59
+ "v8n_too_long": "Query cannot exceed 1000 characters"
48
60
  }
49
61
  },
50
- "url": {
51
- "label": "Endpoint",
52
- "placeholder": "Example: https://example.com/webhook",
53
- "helper_text": "",
54
- "v8n_too_long": "URL cannot exceed 1000 characters"
55
- },
56
- "query": {
57
- "label": "Query",
58
- "placeholder": "Example: zoom=items,items:options,customer",
59
- "helper_text": "",
60
- "v8n_too_long": "Query cannot exceed 1000 characters"
61
- },
62
62
  "statuses": {
63
63
  "label": "Runs",
64
64
  "pagination": {
@@ -49,6 +49,7 @@ export declare class InternalAsyncListControl extends InternalEditableControl {
49
49
  hideCreateButton: boolean;
50
50
  /** If set, renders list items as <a> tags. */
51
51
  getPageHref: ((itemHref: string, item: unknown) => string | null) | null;
52
+ filter: string | null;
52
53
  private __deletionConfimationCallback;
53
54
  private __cachedCardRenderer;
54
55
  private __activeBulkAction;
@@ -58,7 +59,6 @@ export declare class InternalAsyncListControl extends InternalEditableControl {
58
59
  private __totalItems;
59
60
  private __selection;
60
61
  private __itemRenderer;
61
- private __filter;
62
62
  render(): TemplateResult;
63
63
  renderControl(): TemplateResult;
64
64
  private get __cardRenderer();
@@ -48,6 +48,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
48
48
  this.hideCreateButton = false;
49
49
  /** If set, renders list items as <a> tags. */
50
50
  this.getPageHref = null;
51
+ this.filter = null;
51
52
  this.__deletionConfimationCallback = null;
52
53
  this.__cachedCardRenderer = null;
53
54
  this.__activeBulkAction = null;
@@ -186,7 +187,6 @@ export class InternalAsyncListControl extends InternalEditableControl {
186
187
  </foxy-swipe-actions>
187
188
  `;
188
189
  };
189
- this.__filter = '';
190
190
  }
191
191
  static get properties() {
192
192
  return {
@@ -212,7 +212,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
212
212
  actions: { attribute: false },
213
213
  bulkActions: { attribute: false },
214
214
  filters: { type: Array },
215
- __filter: { attribute: false },
215
+ filter: {},
216
216
  __selection: { attribute: false },
217
217
  __totalItems: { attribute: false },
218
218
  __isSelecting: { attribute: false },
@@ -376,6 +376,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
376
376
  return this.renderRoot.querySelector('#form');
377
377
  }
378
378
  __renderActions() {
379
+ var _a;
379
380
  return [
380
381
  this.filters.length > 0 && !this.__isSelecting
381
382
  ? html `
@@ -384,7 +385,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
384
385
  .positionTarget=${this.renderRoot.querySelector('#filters')}
385
386
  .model=${{
386
387
  options: this.filters,
387
- value: this.__filter,
388
+ value: (_a = this.filter) !== null && _a !== void 0 ? _a : '',
388
389
  lang: this.lang,
389
390
  ns: this.ns,
390
391
  }}
@@ -392,7 +393,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
392
393
  @vaadin-overlay-close=${() => (this.__isFilterVisible = false)}
393
394
  @search=${(evt) => {
394
395
  var _a;
395
- this.__filter = (_a = evt.detail) !== null && _a !== void 0 ? _a : '';
396
+ this.filter = (_a = evt.detail) !== null && _a !== void 0 ? _a : '';
396
397
  }}
397
398
  >
398
399
  </foxy-internal-async-list-control-filter-overlay>
@@ -404,6 +405,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
404
405
  @click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}
405
406
  >
406
407
  <foxy-i18n infer="pagination" key="search_button_text"></foxy-i18n>
408
+ ${this.filter ? html `<span>(${this.filter.split('&').length})</span>` : ''}
407
409
  </vaadin-button>
408
410
  `
409
411
  : '',
@@ -503,19 +505,19 @@ export class InternalAsyncListControl extends InternalEditableControl {
503
505
  ].filter(v => !!v);
504
506
  }
505
507
  __renderContent() {
506
- var _a;
508
+ var _a, _b;
507
509
  const helperText = this.helperText;
508
510
  const isDetails = this.layout === 'details';
509
511
  const label = this.label;
510
512
  let first;
511
513
  try {
512
514
  const url = new URL((_a = this.first) !== null && _a !== void 0 ? _a : '');
513
- const filter = new URLSearchParams(this.__filter);
515
+ const filter = new URLSearchParams((_b = this.filter) !== null && _b !== void 0 ? _b : '');
514
516
  url.searchParams.set('limit', String(this.limit));
515
517
  filter.forEach((value, key) => url.searchParams.set(key, value));
516
518
  first = url.toString();
517
519
  }
518
- catch (_b) {
520
+ catch (_c) {
519
521
  first = undefined;
520
522
  }
521
523
  return html `
@@ -1 +1 @@
1
- {"version":3,"file":"InternalAsyncListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { CollectionPage, NucleonElement } from '../../public/index';\nimport type { BulkAction, SwipeAction } from './types';\nimport type { InternalSummaryControl } from '../InternalSummaryControl/InternalSummaryControl';\nimport type { InternalConfirmDialog } from '../InternalConfirmDialog';\nimport type { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport type { HALJSONResource } from '../../public/NucleonElement/types';\nimport type { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { UpdateEvent } from '../../public/NucleonElement/UpdateEvent';\nimport type { FormDialog } from '../../index';\nimport type { Option } from '../../public/QueryBuilder/types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { render } from 'lit-html';\nimport { html } from 'lit-element';\n\nexport class InternalAsyncListControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n keepDialogOpenOnDelete: { type: Boolean, attribute: 'keep-dialog-open-on-delete' },\n keepDialogOpenOnPost: { type: Boolean, attribute: 'keep-dialog-open-on-post' },\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n createPageHref: { attribute: 'create-page-href' },\n getPageHref: { attribute: false },\n related: { type: Array },\n layout: {},\n first: {},\n limit: { type: Number },\n form: {},\n formProps: { type: Object, attribute: 'form-props' },\n item: {},\n itemProps: { type: Object, attribute: 'item-props' },\n wide: { type: Boolean },\n open: { type: Boolean },\n hideWhenEmpty: { type: Boolean, attribute: 'hide-when-empty' },\n alert: { type: Boolean },\n actions: { attribute: false },\n bulkActions: { attribute: false },\n filters: { type: Array },\n __filter: { attribute: false },\n __selection: { attribute: false },\n __totalItems: { attribute: false },\n __isSelecting: { attribute: false },\n __notification: { attribute: false },\n __isFilterVisible: { attribute: false },\n __activeBulkAction: { attribute: false },\n };\n }\n\n /** If true, FormDialog won't automatically close after the associated form deletes the resource. */\n keepDialogOpenOnDelete = false;\n\n /** If true, FormDialog won't automatically close after the associated form creates a resource. */\n keepDialogOpenOnPost = false;\n\n /** If provided, renders Create button as a link to this page. */\n createPageHref: string | null = null;\n\n /** Bulk actions that appear when one or more items are selected. */\n bulkActions = [] as BulkAction[];\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** When set to `details`, makes the entire control collapsible. */\n layout: 'details' | null = null;\n\n /** Swipe actions. */\n actions = [] as SwipeAction[];\n\n /** Query parameters to apply to the `first` URL. */\n filters = [] as Option[];\n\n /** Limit query parameter to apply to the `first` URL. */\n limit = 20;\n\n /** URI of the first page of the hAPI collection to display. */\n first: string | null = null;\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = null;\n\n /** Props to pass through to the form rendered by `FormDialog`. */\n formProps: Record<string, unknown> = {};\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = null;\n\n /** Props to pass through to the `CollectionPage` rendering items. */\n itemProps: Record<string, unknown> = {};\n\n /** Same as the `wide` property of `FormDialog`. */\n wide = false;\n\n /** Visually hides the control when the collection is empty or loading. */\n hideWhenEmpty = false;\n\n /** Same as the `open` property of `InternalSummaryControl`. */\n open = false;\n\n /** Same as the `alert` property of `FormDialog`. */\n alert = false;\n\n /** Hides Delete Swipe Action if true. */\n hideDeleteButton = false;\n\n /** Hides Create button if true. */\n hideCreateButton = false;\n\n /** If set, renders list items as <a> tags. */\n getPageHref: ((itemHref: string, item: unknown) => string | null) | null = null;\n\n private __deletionConfimationCallback: (() => void) | null = null;\n\n private __cachedCardRenderer: {\n item: InternalAsyncListControl['item'];\n render: ItemRenderer;\n } | null = null;\n\n private __activeBulkAction: BulkAction | null = null;\n\n private __isFilterVisible = false;\n\n private __notification: { key: string; theme?: string } | null = null;\n\n private __isSelecting = false;\n\n private __totalItems = 0;\n\n private __selection: HALJSONResource[] = [];\n\n private __itemRenderer: ItemRenderer = ctx => {\n const item = this.__cardRenderer(ctx);\n const readonlyItem = html`<div class=\"bg-contrast-5\">${item}</div>`;\n\n if (!ctx.data) return readonlyItem;\n\n if (this.__isSelecting) {\n return html`\n <vaadin-checkbox\n class=${classMap({ 'block w-full': true, 'bg-contrast-5': this.layout === 'details' })}\n style=\"padding-left: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n data-async-list-control\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n ?checked=${this.__selection.find(v => v._links.self.href === ctx.data!._links.self.href)}\n @change=${(evt: CustomEvent) => {\n if ((evt.currentTarget as CheckboxElement).checked) {\n this.__selection = [...this.__selection, ctx.data!];\n } else {\n this.__selection = this.__selection.filter(\n v => v._links.self.href !== ctx.data!._links.self.href\n );\n }\n }}\n >\n ${this.__cardRenderer(ctx)}\n </vaadin-checkbox>\n `;\n }\n\n const href = this.getPageHref?.(ctx.href, ctx.data);\n if (typeof href !== 'string' && !this.form) return readonlyItem;\n\n const isDisabled = this.disabledSelector.matches('card', true);\n const card = this.__cardRenderer(ctx);\n let clickableItem: TemplateResult;\n\n const wrapperClass = classMap({\n 'rounded-t': this.layout !== 'details' && !ctx.previous,\n 'rounded-b': !ctx.next,\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-left w-full block bg-contrast-5 transition-colors': true,\n 'hover-bg-contrast-10': !isDisabled,\n });\n\n if (this.getPageHref) {\n if (isDisabled) {\n clickableItem = html`<div class=${wrapperClass}>${card}</div>`;\n } else {\n const href = this.getPageHref(ctx.href, ctx.data);\n clickableItem = html`<a class=${wrapperClass} href=${href}>${card}</a>`;\n }\n } else {\n const handleClick = (evt: Event) => {\n const clickEvent = new CustomEvent<string>('itemclick', {\n cancelable: true,\n composed: true,\n bubbles: true,\n detail: ctx.href,\n });\n\n if (this.dispatchEvent(clickEvent)) {\n const button = evt.currentTarget as HTMLButtonElement;\n const dialog = this.__dialog;\n\n dialog.header = 'header_update';\n dialog.href = ctx.href;\n dialog.show(button);\n }\n };\n\n clickableItem = html`\n <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>\n `;\n }\n\n if ((this.hideDeleteButton && !this.actions.length) || this.readonly) return clickableItem;\n\n return html`\n <foxy-swipe-actions class=\"block\">\n ${clickableItem}\n ${this.actions.map(action => {\n return html`\n <vaadin-button\n data-testclass=\"action\"\n theme=${action.theme}\n class=\"h-full rounded-none relative\"\n slot=\"action\"\n ?disabled=${this.disabled}\n @click=${() => action.onClick(ctx.data!)}\n >\n <foxy-i18n\n class=${classMap({\n 'transition-opacity': true,\n 'opacity-0': action.state !== 'idle',\n })}\n infer=\"\"\n key=${action.text}\n >\n </foxy-i18n>\n <div\n class=${classMap({\n 'absolute inset-0 flex items-center justify-center transition-opacity': true,\n 'opacity-0': action.state === 'idle',\n })}\n >\n <foxy-spinner layout=\"no-label\" infer=\"spinner\" state=${action.state}>\n </foxy-spinner>\n </div>\n </vaadin-button>\n `;\n })}\n ${this.hideDeleteButton\n ? ''\n : html`\n <vaadin-button\n theme=\"primary error\"\n class=\"h-full rounded-none\"\n slot=\"action\"\n @click=${(evt: CustomEvent) => {\n const button = evt.currentTarget as HTMLElement;\n const confirm = this.renderRoot.querySelector(\n '#confirm'\n ) as InternalConfirmDialog;\n\n confirm.show(button);\n\n this.__deletionConfimationCallback = () => {\n const cardButton = button.parentElement!.firstElementChild!;\n const card = cardButton.querySelector<NucleonElement<any>>('[href]');\n\n card?.delete();\n this.__deletionConfimationCallback = null;\n };\n }}\n >\n <foxy-i18n infer=\"\" key=\"delete_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </foxy-swipe-actions>\n `;\n };\n\n private __filter = '';\n\n render(): TemplateResult {\n const hidden = this.hideWhenEmpty && !this.__totalItems;\n return html`<div class=${classMap({ hidden })}>${super.render()}</div>`;\n }\n\n renderControl(): TemplateResult {\n const actions = this.__renderActions();\n const content = this.__renderContent();\n\n return html`\n ${this.form && !this.__isSelecting\n ? html`\n <foxy-form-dialog\n parent=${ifDefined(this.first ?? void 0)}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n ?keep-open-on-post=${this.keepDialogOpenOnPost}\n ?keep-open-on-delete=${this.keepDialogOpenOnDelete}\n .related=${this.related}\n .props=${this.formProps}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n `\n : ''}\n ${this.hideDeleteButton || this.readonly || this.__isSelecting\n ? ''\n : html`\n <foxy-internal-confirm-dialog\n message=\"delete_message\"\n confirm=\"delete_confirm\"\n cancel=\"delete_cancel\"\n header=\"delete_header\"\n theme=\"error\"\n infer=\"\"\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n ${this.layout === 'details'\n ? html`\n <foxy-internal-summary-control\n layout=\"details\"\n count=${ifDefined(this.open ? void 0 : `${this.__totalItems}`)}\n infer=\"\"\n ?open=${this.open}\n @toggle=${(evt: CustomEvent) => {\n const summary = evt.currentTarget as InternalSummaryControl;\n this.open = summary.open;\n if (!evt.composed && !evt.bubbles) this.dispatchEvent(new CustomEvent('toggle'));\n }}\n >\n ${actions.length\n ? html`\n <div class=\"flex gap-s\">\n <foxy-i18n\n infer=\"\"\n class=\"mr-auto text-tertiary\"\n key=\"total_items\"\n .options=${{ count: this.__totalItems }}\n >\n </foxy-i18n>\n ${actions}\n </div>\n `\n : ''}\n <div class=\"p-0 bg-transparent\">${content}</div>\n </foxy-internal-summary-control>\n `\n : html`\n <div class=\"flex gap-s items-center justify-between font-medium\">\n <span class=\"text-body mr-auto text-l\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n ${actions}\n </div>\n\n <div\n class=\"text-secondary text-s\"\n ?hidden=${!this.helperText || this.helperText === 'helper_text'}\n >\n ${this.helperText}\n </div>\n\n ${content}\n `}\n\n <div\n class=\"mt-s text-s leading-xs text-error\"\n ?hidden=${!this._errorMessage || this.disabled || this.readonly || this.__isSelecting}\n >\n ${this._errorMessage}\n </div>\n\n <vaadin-notification\n position=\"bottom-end\"\n duration=\"3000\"\n theme=${ifDefined(this.__notification?.theme)}\n .renderer=${(root: HTMLElement) => {\n if (!root.firstElementChild) root.innerHTML = '<span></span>';\n\n const theme = this.__notification?.theme;\n const layout = html`\n <foxy-i18n\n style=\"color: var(--lumo-${theme ? `${theme}-contrast` : 'body-text'}-color)\"\n lang=${this.lang}\n key=${this.__notification?.key}\n ns=\"${this.ns} pagination\"\n >\n </foxy-i18n>\n `;\n\n render(layout, root.firstElementChild!);\n }}\n >\n </vaadin-notification>\n `;\n }\n\n private get __cardRenderer() {\n const item = this.item;\n\n if (this.__cachedCardRenderer?.item !== item) {\n this.__cachedCardRenderer = {\n item: item,\n render:\n typeof item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`\n <${item}\n related=\\${JSON.stringify(ctx.related)}\n parent=\\${ctx.parent}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n infer=\"\"\n href=\\${ctx.href}\n ...=\\${ctx.spread(ctx.props)}\n >\n </${item}>\\``\n ) as ItemRenderer)\n : ctx => html`\n <div style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\">\n ${item?.(ctx)}\n </div>\n `,\n };\n }\n\n return this.__cachedCardRenderer.render;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private __renderActions() {\n return [\n this.filters.length > 0 && !this.__isSelecting\n ? html`\n <foxy-internal-async-list-control-filter-overlay\n .noVerticalOverlap=${true}\n .positionTarget=${this.renderRoot.querySelector('#filters')}\n .model=${{\n options: this.filters,\n value: this.__filter,\n lang: this.lang,\n ns: this.ns,\n }}\n ?opened=${this.__isFilterVisible}\n @vaadin-overlay-close=${() => (this.__isFilterVisible = false)}\n @search=${(evt: CustomEvent<string | undefined>) => {\n this.__filter = evt.detail ?? '';\n }}\n >\n </foxy-internal-async-list-control-filter-overlay>\n\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n id=\"filters\"\n ?disabled=${this.disabled}\n @click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}\n >\n <foxy-i18n infer=\"pagination\" key=\"search_button_text\"></foxy-i18n>\n </vaadin-button>\n `\n : '',\n\n this.bulkActions.length > 0 && this.first\n ? html`\n ${this.__selection.length > 0\n ? this.bulkActions.map(action => {\n const nPrefix = `${action.name}_bulk_action_notification`;\n const cPrefix = `${action.name}_bulk_action_caption`;\n const isActive = this.__activeBulkAction?.name === action.name;\n\n return html`\n <vaadin-button\n data-testclass=\"bulk-action\"\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n @click=${async () => {\n this.__activeBulkAction = action;\n\n try {\n await action.onClick(this.__selection);\n this.__selection = [];\n this.__isSelecting = false;\n this.__notification = { key: `${nPrefix}_done`, theme: 'success' };\n } catch {\n this.__notification = { key: `${nPrefix}_fail`, theme: 'error' };\n } finally {\n this.__activeBulkAction = null;\n this.renderRoot.querySelector('vaadin-notification')?.open();\n }\n }}\n >\n <foxy-i18n\n infer=\"pagination\"\n key=\"${cPrefix}_${isActive ? 'busy' : 'idle'}\"\n .options=${{ count: this.__selection.length }}\n >\n </foxy-i18n>\n </vaadin-button>\n `;\n })\n : ''}\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n @click=${() => {\n this.__isSelecting = !this.__isSelecting;\n this.__selection = [];\n }}\n >\n <foxy-i18n\n infer=\"pagination\"\n key=${this.__isSelecting ? 'cancel_button_text' : 'select_button_text'}\n >\n </foxy-i18n>\n </vaadin-button>\n `\n : '',\n\n (!this.form && !this.createPageHref) ||\n this.readonly ||\n this.hideCreateButton ||\n this.__isSelecting\n ? ''\n : this.createPageHref && !this.disabled\n ? html`\n <a\n class=\"rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.createPageHref}\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"create_button_text\"\n >\n </foxy-i18n>\n </a>\n `\n : html`\n <vaadin-button\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled}\n @click=${(evt: Event) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const dialog = this.__dialog;\n const button = evt.currentTarget as HTMLButtonElement;\n\n dialog.header = 'header_create';\n dialog.href = '';\n dialog.show(button);\n }}\n >\n <foxy-i18n infer=\"pagination\" key=\"create_button_text\"></foxy-i18n>\n </vaadin-button>\n `,\n ].filter(v => !!v);\n }\n\n private __renderContent() {\n const helperText = this.helperText;\n const isDetails = this.layout === 'details';\n const label = this.label;\n\n let first: string | undefined;\n\n try {\n const url = new URL(this.first ?? '');\n const filter = new URLSearchParams(this.__filter);\n\n url.searchParams.set('limit', String(this.limit));\n filter.forEach((value, key) => url.searchParams.set(key, value));\n first = url.toString();\n } catch {\n first = undefined;\n }\n\n return html`\n <foxy-pagination\n first=${ifDefined(first)}\n infer=\"pagination\"\n class=${classMap({ hidden: isDetails && this.__totalItems === 0 })}\n >\n <foxy-collection-page\n class=${classMap({\n 'grid grid-cols-1 overflow-hidden': true,\n 'rounded': !isDetails,\n 'mt-s':\n !isDetails &&\n ((!!label && label !== 'label') || (!!helperText && helperText !== 'helper_text')),\n })}\n style=\"gap: 1px\"\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer}\n @update=${(evt: UpdateEvent) => {\n const page = evt.currentTarget as CollectionPage<any>;\n this.__totalItems = parseInt(page.data?.total_items ?? 0);\n }}\n >\n </foxy-collection-page>\n </foxy-pagination>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalAsyncListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { CollectionPage, NucleonElement } from '../../public/index';\nimport type { BulkAction, SwipeAction } from './types';\nimport type { InternalSummaryControl } from '../InternalSummaryControl/InternalSummaryControl';\nimport type { InternalConfirmDialog } from '../InternalConfirmDialog';\nimport type { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport type { HALJSONResource } from '../../public/NucleonElement/types';\nimport type { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { UpdateEvent } from '../../public/NucleonElement/UpdateEvent';\nimport type { FormDialog } from '../../index';\nimport type { Option } from '../../public/QueryBuilder/types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { render } from 'lit-html';\nimport { html } from 'lit-element';\n\nexport class InternalAsyncListControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n keepDialogOpenOnDelete: { type: Boolean, attribute: 'keep-dialog-open-on-delete' },\n keepDialogOpenOnPost: { type: Boolean, attribute: 'keep-dialog-open-on-post' },\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n createPageHref: { attribute: 'create-page-href' },\n getPageHref: { attribute: false },\n related: { type: Array },\n layout: {},\n first: {},\n limit: { type: Number },\n form: {},\n formProps: { type: Object, attribute: 'form-props' },\n item: {},\n itemProps: { type: Object, attribute: 'item-props' },\n wide: { type: Boolean },\n open: { type: Boolean },\n hideWhenEmpty: { type: Boolean, attribute: 'hide-when-empty' },\n alert: { type: Boolean },\n actions: { attribute: false },\n bulkActions: { attribute: false },\n filters: { type: Array },\n filter: {},\n __selection: { attribute: false },\n __totalItems: { attribute: false },\n __isSelecting: { attribute: false },\n __notification: { attribute: false },\n __isFilterVisible: { attribute: false },\n __activeBulkAction: { attribute: false },\n };\n }\n\n /** If true, FormDialog won't automatically close after the associated form deletes the resource. */\n keepDialogOpenOnDelete = false;\n\n /** If true, FormDialog won't automatically close after the associated form creates a resource. */\n keepDialogOpenOnPost = false;\n\n /** If provided, renders Create button as a link to this page. */\n createPageHref: string | null = null;\n\n /** Bulk actions that appear when one or more items are selected. */\n bulkActions = [] as BulkAction[];\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** When set to `details`, makes the entire control collapsible. */\n layout: 'details' | null = null;\n\n /** Swipe actions. */\n actions = [] as SwipeAction[];\n\n /** Query parameters to apply to the `first` URL. */\n filters = [] as Option[];\n\n /** Limit query parameter to apply to the `first` URL. */\n limit = 20;\n\n /** URI of the first page of the hAPI collection to display. */\n first: string | null = null;\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = null;\n\n /** Props to pass through to the form rendered by `FormDialog`. */\n formProps: Record<string, unknown> = {};\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = null;\n\n /** Props to pass through to the `CollectionPage` rendering items. */\n itemProps: Record<string, unknown> = {};\n\n /** Same as the `wide` property of `FormDialog`. */\n wide = false;\n\n /** Visually hides the control when the collection is empty or loading. */\n hideWhenEmpty = false;\n\n /** Same as the `open` property of `InternalSummaryControl`. */\n open = false;\n\n /** Same as the `alert` property of `FormDialog`. */\n alert = false;\n\n /** Hides Delete Swipe Action if true. */\n hideDeleteButton = false;\n\n /** Hides Create button if true. */\n hideCreateButton = false;\n\n /** If set, renders list items as <a> tags. */\n getPageHref: ((itemHref: string, item: unknown) => string | null) | null = null;\n\n filter: string | null = null;\n\n private __deletionConfimationCallback: (() => void) | null = null;\n\n private __cachedCardRenderer: {\n item: InternalAsyncListControl['item'];\n render: ItemRenderer;\n } | null = null;\n\n private __activeBulkAction: BulkAction | null = null;\n\n private __isFilterVisible = false;\n\n private __notification: { key: string; theme?: string } | null = null;\n\n private __isSelecting = false;\n\n private __totalItems = 0;\n\n private __selection: HALJSONResource[] = [];\n\n private __itemRenderer: ItemRenderer = ctx => {\n const item = this.__cardRenderer(ctx);\n const readonlyItem = html`<div class=\"bg-contrast-5\">${item}</div>`;\n\n if (!ctx.data) return readonlyItem;\n\n if (this.__isSelecting) {\n return html`\n <vaadin-checkbox\n class=${classMap({ 'block w-full': true, 'bg-contrast-5': this.layout === 'details' })}\n style=\"padding-left: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n data-async-list-control\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n ?checked=${this.__selection.find(v => v._links.self.href === ctx.data!._links.self.href)}\n @change=${(evt: CustomEvent) => {\n if ((evt.currentTarget as CheckboxElement).checked) {\n this.__selection = [...this.__selection, ctx.data!];\n } else {\n this.__selection = this.__selection.filter(\n v => v._links.self.href !== ctx.data!._links.self.href\n );\n }\n }}\n >\n ${this.__cardRenderer(ctx)}\n </vaadin-checkbox>\n `;\n }\n\n const href = this.getPageHref?.(ctx.href, ctx.data);\n if (typeof href !== 'string' && !this.form) return readonlyItem;\n\n const isDisabled = this.disabledSelector.matches('card', true);\n const card = this.__cardRenderer(ctx);\n let clickableItem: TemplateResult;\n\n const wrapperClass = classMap({\n 'rounded-t': this.layout !== 'details' && !ctx.previous,\n 'rounded-b': !ctx.next,\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-left w-full block bg-contrast-5 transition-colors': true,\n 'hover-bg-contrast-10': !isDisabled,\n });\n\n if (this.getPageHref) {\n if (isDisabled) {\n clickableItem = html`<div class=${wrapperClass}>${card}</div>`;\n } else {\n const href = this.getPageHref(ctx.href, ctx.data);\n clickableItem = html`<a class=${wrapperClass} href=${href}>${card}</a>`;\n }\n } else {\n const handleClick = (evt: Event) => {\n const clickEvent = new CustomEvent<string>('itemclick', {\n cancelable: true,\n composed: true,\n bubbles: true,\n detail: ctx.href,\n });\n\n if (this.dispatchEvent(clickEvent)) {\n const button = evt.currentTarget as HTMLButtonElement;\n const dialog = this.__dialog;\n\n dialog.header = 'header_update';\n dialog.href = ctx.href;\n dialog.show(button);\n }\n };\n\n clickableItem = html`\n <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>\n `;\n }\n\n if ((this.hideDeleteButton && !this.actions.length) || this.readonly) return clickableItem;\n\n return html`\n <foxy-swipe-actions class=\"block\">\n ${clickableItem}\n ${this.actions.map(action => {\n return html`\n <vaadin-button\n data-testclass=\"action\"\n theme=${action.theme}\n class=\"h-full rounded-none relative\"\n slot=\"action\"\n ?disabled=${this.disabled}\n @click=${() => action.onClick(ctx.data!)}\n >\n <foxy-i18n\n class=${classMap({\n 'transition-opacity': true,\n 'opacity-0': action.state !== 'idle',\n })}\n infer=\"\"\n key=${action.text}\n >\n </foxy-i18n>\n <div\n class=${classMap({\n 'absolute inset-0 flex items-center justify-center transition-opacity': true,\n 'opacity-0': action.state === 'idle',\n })}\n >\n <foxy-spinner layout=\"no-label\" infer=\"spinner\" state=${action.state}>\n </foxy-spinner>\n </div>\n </vaadin-button>\n `;\n })}\n ${this.hideDeleteButton\n ? ''\n : html`\n <vaadin-button\n theme=\"primary error\"\n class=\"h-full rounded-none\"\n slot=\"action\"\n @click=${(evt: CustomEvent) => {\n const button = evt.currentTarget as HTMLElement;\n const confirm = this.renderRoot.querySelector(\n '#confirm'\n ) as InternalConfirmDialog;\n\n confirm.show(button);\n\n this.__deletionConfimationCallback = () => {\n const cardButton = button.parentElement!.firstElementChild!;\n const card = cardButton.querySelector<NucleonElement<any>>('[href]');\n\n card?.delete();\n this.__deletionConfimationCallback = null;\n };\n }}\n >\n <foxy-i18n infer=\"\" key=\"delete_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </foxy-swipe-actions>\n `;\n };\n\n render(): TemplateResult {\n const hidden = this.hideWhenEmpty && !this.__totalItems;\n return html`<div class=${classMap({ hidden })}>${super.render()}</div>`;\n }\n\n renderControl(): TemplateResult {\n const actions = this.__renderActions();\n const content = this.__renderContent();\n\n return html`\n ${this.form && !this.__isSelecting\n ? html`\n <foxy-form-dialog\n parent=${ifDefined(this.first ?? void 0)}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n ?keep-open-on-post=${this.keepDialogOpenOnPost}\n ?keep-open-on-delete=${this.keepDialogOpenOnDelete}\n .related=${this.related}\n .props=${this.formProps}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n `\n : ''}\n ${this.hideDeleteButton || this.readonly || this.__isSelecting\n ? ''\n : html`\n <foxy-internal-confirm-dialog\n message=\"delete_message\"\n confirm=\"delete_confirm\"\n cancel=\"delete_cancel\"\n header=\"delete_header\"\n theme=\"error\"\n infer=\"\"\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n ${this.layout === 'details'\n ? html`\n <foxy-internal-summary-control\n layout=\"details\"\n count=${ifDefined(this.open ? void 0 : `${this.__totalItems}`)}\n infer=\"\"\n ?open=${this.open}\n @toggle=${(evt: CustomEvent) => {\n const summary = evt.currentTarget as InternalSummaryControl;\n this.open = summary.open;\n if (!evt.composed && !evt.bubbles) this.dispatchEvent(new CustomEvent('toggle'));\n }}\n >\n ${actions.length\n ? html`\n <div class=\"flex gap-s\">\n <foxy-i18n\n infer=\"\"\n class=\"mr-auto text-tertiary\"\n key=\"total_items\"\n .options=${{ count: this.__totalItems }}\n >\n </foxy-i18n>\n ${actions}\n </div>\n `\n : ''}\n <div class=\"p-0 bg-transparent\">${content}</div>\n </foxy-internal-summary-control>\n `\n : html`\n <div class=\"flex gap-s items-center justify-between font-medium\">\n <span class=\"text-body mr-auto text-l\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n ${actions}\n </div>\n\n <div\n class=\"text-secondary text-s\"\n ?hidden=${!this.helperText || this.helperText === 'helper_text'}\n >\n ${this.helperText}\n </div>\n\n ${content}\n `}\n\n <div\n class=\"mt-s text-s leading-xs text-error\"\n ?hidden=${!this._errorMessage || this.disabled || this.readonly || this.__isSelecting}\n >\n ${this._errorMessage}\n </div>\n\n <vaadin-notification\n position=\"bottom-end\"\n duration=\"3000\"\n theme=${ifDefined(this.__notification?.theme)}\n .renderer=${(root: HTMLElement) => {\n if (!root.firstElementChild) root.innerHTML = '<span></span>';\n\n const theme = this.__notification?.theme;\n const layout = html`\n <foxy-i18n\n style=\"color: var(--lumo-${theme ? `${theme}-contrast` : 'body-text'}-color)\"\n lang=${this.lang}\n key=${this.__notification?.key}\n ns=\"${this.ns} pagination\"\n >\n </foxy-i18n>\n `;\n\n render(layout, root.firstElementChild!);\n }}\n >\n </vaadin-notification>\n `;\n }\n\n private get __cardRenderer() {\n const item = this.item;\n\n if (this.__cachedCardRenderer?.item !== item) {\n this.__cachedCardRenderer = {\n item: item,\n render:\n typeof item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`\n <${item}\n related=\\${JSON.stringify(ctx.related)}\n parent=\\${ctx.parent}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n infer=\"\"\n href=\\${ctx.href}\n ...=\\${ctx.spread(ctx.props)}\n >\n </${item}>\\``\n ) as ItemRenderer)\n : ctx => html`\n <div style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\">\n ${item?.(ctx)}\n </div>\n `,\n };\n }\n\n return this.__cachedCardRenderer.render;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private __renderActions() {\n return [\n this.filters.length > 0 && !this.__isSelecting\n ? html`\n <foxy-internal-async-list-control-filter-overlay\n .noVerticalOverlap=${true}\n .positionTarget=${this.renderRoot.querySelector('#filters')}\n .model=${{\n options: this.filters,\n value: this.filter ?? '',\n lang: this.lang,\n ns: this.ns,\n }}\n ?opened=${this.__isFilterVisible}\n @vaadin-overlay-close=${() => (this.__isFilterVisible = false)}\n @search=${(evt: CustomEvent<string | undefined>) => {\n this.filter = evt.detail ?? '';\n }}\n >\n </foxy-internal-async-list-control-filter-overlay>\n\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n id=\"filters\"\n ?disabled=${this.disabled}\n @click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}\n >\n <foxy-i18n infer=\"pagination\" key=\"search_button_text\"></foxy-i18n>\n ${this.filter ? html`<span>(${this.filter.split('&').length})</span>` : ''}\n </vaadin-button>\n `\n : '',\n\n this.bulkActions.length > 0 && this.first\n ? html`\n ${this.__selection.length > 0\n ? this.bulkActions.map(action => {\n const nPrefix = `${action.name}_bulk_action_notification`;\n const cPrefix = `${action.name}_bulk_action_caption`;\n const isActive = this.__activeBulkAction?.name === action.name;\n\n return html`\n <vaadin-button\n data-testclass=\"bulk-action\"\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n @click=${async () => {\n this.__activeBulkAction = action;\n\n try {\n await action.onClick(this.__selection);\n this.__selection = [];\n this.__isSelecting = false;\n this.__notification = { key: `${nPrefix}_done`, theme: 'success' };\n } catch {\n this.__notification = { key: `${nPrefix}_fail`, theme: 'error' };\n } finally {\n this.__activeBulkAction = null;\n this.renderRoot.querySelector('vaadin-notification')?.open();\n }\n }}\n >\n <foxy-i18n\n infer=\"pagination\"\n key=\"${cPrefix}_${isActive ? 'busy' : 'idle'}\"\n .options=${{ count: this.__selection.length }}\n >\n </foxy-i18n>\n </vaadin-button>\n `;\n })\n : ''}\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n @click=${() => {\n this.__isSelecting = !this.__isSelecting;\n this.__selection = [];\n }}\n >\n <foxy-i18n\n infer=\"pagination\"\n key=${this.__isSelecting ? 'cancel_button_text' : 'select_button_text'}\n >\n </foxy-i18n>\n </vaadin-button>\n `\n : '',\n\n (!this.form && !this.createPageHref) ||\n this.readonly ||\n this.hideCreateButton ||\n this.__isSelecting\n ? ''\n : this.createPageHref && !this.disabled\n ? html`\n <a\n class=\"rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.createPageHref}\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"create_button_text\"\n >\n </foxy-i18n>\n </a>\n `\n : html`\n <vaadin-button\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled}\n @click=${(evt: Event) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const dialog = this.__dialog;\n const button = evt.currentTarget as HTMLButtonElement;\n\n dialog.header = 'header_create';\n dialog.href = '';\n dialog.show(button);\n }}\n >\n <foxy-i18n infer=\"pagination\" key=\"create_button_text\"></foxy-i18n>\n </vaadin-button>\n `,\n ].filter(v => !!v);\n }\n\n private __renderContent() {\n const helperText = this.helperText;\n const isDetails = this.layout === 'details';\n const label = this.label;\n\n let first: string | undefined;\n\n try {\n const url = new URL(this.first ?? '');\n const filter = new URLSearchParams(this.filter ?? '');\n\n url.searchParams.set('limit', String(this.limit));\n filter.forEach((value, key) => url.searchParams.set(key, value));\n first = url.toString();\n } catch {\n first = undefined;\n }\n\n return html`\n <foxy-pagination\n first=${ifDefined(first)}\n infer=\"pagination\"\n class=${classMap({ hidden: isDetails && this.__totalItems === 0 })}\n >\n <foxy-collection-page\n class=${classMap({\n 'grid grid-cols-1 overflow-hidden': true,\n 'rounded': !isDetails,\n 'mt-s':\n !isDetails &&\n ((!!label && label !== 'label') || (!!helperText && helperText !== 'helper_text')),\n })}\n style=\"gap: 1px\"\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer}\n @update=${(evt: UpdateEvent) => {\n const page = evt.currentTarget as CollectionPage<any>;\n this.__totalItems = parseInt(page.data?.total_items ?? 0);\n }}\n >\n </foxy-collection-page>\n </foxy-pagination>\n `;\n }\n}\n"]}
@@ -28,7 +28,7 @@ export class InternalDateControl extends InternalEditableControl {
28
28
  };
29
29
  }
30
30
  renderControl() {
31
- var _a, _b;
31
+ var _a, _b, _c;
32
32
  let value;
33
33
  if (this._value === '0000-00-00' || !this._value) {
34
34
  value = '';
@@ -41,7 +41,7 @@ export class InternalDateControl extends InternalEditableControl {
41
41
  value = serializeDate(new Date(this._value));
42
42
  }
43
43
  else {
44
- value = this._value;
44
+ value = ((_b = this._value) !== null && _b !== void 0 ? _b : '').substring(0, 10);
45
45
  }
46
46
  }
47
47
  return html `
@@ -51,7 +51,7 @@ export class InternalDateControl extends InternalEditableControl {
51
51
  helper-text=${this.helperText}
52
52
  label=${this.label}
53
53
  class="w-full"
54
- theme=${(_b = this.layout) !== null && _b !== void 0 ? _b : 'standalone'}
54
+ theme=${(_c = this.layout) !== null && _c !== void 0 ? _c : 'standalone'}
55
55
  ?disabled=${this.disabled}
56
56
  ?readonly=${this.readonly}
57
57
  .checkValidity=${this._checkValidity}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { DatePickerElement } from '@vaadin/vaadin-date-picker';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { parseDate } from '../../../utils/parse-date';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nimport { getWeekdayShortNames } from './getWeekdayShortNames';\nimport { getWeekdayLongNames } from './getWeekdayLongNames';\nimport { getMonthNames } from './getMonthNames';\n\n/**\n * Internal control displaying a basic date picker box.\n *\n * @since 1.17.0\n * @element foxy-internal-date-control\n */\nexport class InternalDateControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n format: {},\n layout: {},\n };\n }\n\n /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */\n format: 'unix' | 'iso-long' | null = null;\n\n /** Use summary item layout inside `<foxy-internal-summary-control>`. */\n layout: 'summary-item' | 'standalone' | null = null;\n\n renderControl(): TemplateResult {\n let value: string;\n\n if (this._value === '0000-00-00' || !this._value) {\n value = '';\n } else {\n if (this.format === 'unix') {\n value = serializeDate(new Date(((this._value as number) ?? 0) * 1000));\n } else if (this.format === 'iso-long') {\n value = serializeDate(new Date(this._value as string));\n } else {\n value = this._value as string;\n }\n }\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n theme=${this.layout ?? 'standalone'}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${value}\n .i18n=${this.__pickerI18n}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as DatePickerElement;\n\n if (this.format === 'unix') {\n this._value = Math.floor((parseDate(field.value)?.getTime() ?? 0) / 1000);\n } else if (this.format === 'iso-long') {\n this._value = parseDate(field.value)?.toISOString() ?? null;\n } else {\n this._value = field.value;\n }\n }}\n >\n </vaadin-date-picker>\n `;\n }\n\n private get __pickerI18n() {\n return {\n monthNames: getMonthNames(this.lang || 'en'),\n weekdays: getWeekdayLongNames(this.lang || 'en'),\n weekdaysShort: getWeekdayShortNames(this.lang || 'en'),\n firstDayOfWeek: 0,\n week: this.t('week'),\n calendar: this.t('calendar'),\n clear: this.t('clear'),\n today: this.t('today'),\n cancel: this.t('cancel'),\n referenceDate: '',\n parseDate: null,\n formatTitle: (m: string, y: string) => m + ' ' + y,\n formatDate: (d: { day: number; month: number; year: number }) => {\n return this.t('display_value', { value: new Date(d.year, d.month, d.day) });\n },\n };\n }\n}\n"]}
1
+ {"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { DatePickerElement } from '@vaadin/vaadin-date-picker';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { parseDate } from '../../../utils/parse-date';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nimport { getWeekdayShortNames } from './getWeekdayShortNames';\nimport { getWeekdayLongNames } from './getWeekdayLongNames';\nimport { getMonthNames } from './getMonthNames';\n\n/**\n * Internal control displaying a basic date picker box.\n *\n * @since 1.17.0\n * @element foxy-internal-date-control\n */\nexport class InternalDateControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n format: {},\n layout: {},\n };\n }\n\n /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */\n format: 'unix' | 'iso-long' | null = null;\n\n /** Use summary item layout inside `<foxy-internal-summary-control>`. */\n layout: 'summary-item' | 'standalone' | null = null;\n\n renderControl(): TemplateResult {\n let value: string;\n\n if (this._value === '0000-00-00' || !this._value) {\n value = '';\n } else {\n if (this.format === 'unix') {\n value = serializeDate(new Date(((this._value as number) ?? 0) * 1000));\n } else if (this.format === 'iso-long') {\n value = serializeDate(new Date(this._value as string));\n } else {\n value = ((this._value as string | null) ?? '').substring(0, 10);\n }\n }\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n theme=${this.layout ?? 'standalone'}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${value}\n .i18n=${this.__pickerI18n}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as DatePickerElement;\n\n if (this.format === 'unix') {\n this._value = Math.floor((parseDate(field.value)?.getTime() ?? 0) / 1000);\n } else if (this.format === 'iso-long') {\n this._value = parseDate(field.value)?.toISOString() ?? null;\n } else {\n this._value = field.value;\n }\n }}\n >\n </vaadin-date-picker>\n `;\n }\n\n private get __pickerI18n() {\n return {\n monthNames: getMonthNames(this.lang || 'en'),\n weekdays: getWeekdayLongNames(this.lang || 'en'),\n weekdaysShort: getWeekdayShortNames(this.lang || 'en'),\n firstDayOfWeek: 0,\n week: this.t('week'),\n calendar: this.t('calendar'),\n clear: this.t('clear'),\n today: this.t('today'),\n cancel: this.t('cancel'),\n referenceDate: '',\n parseDate: null,\n formatTitle: (m: string, y: string) => m + ' ' + y,\n formatDate: (d: { day: number; month: number; year: number }) => {\n return this.t('display_value', { value: new Date(d.year, d.month, d.day) });\n },\n };\n }\n}\n"]}
@@ -9,7 +9,7 @@ export declare class InternalResourcePickerControl extends InternalEditableContr
9
9
  getDisplayValueOptions: DisplayValueOptionsCb;
10
10
  showCopyIdButton: boolean;
11
11
  virtualHost: string;
12
- getItemUrl: ((href: string) => string) | null;
12
+ getItemUrl: ((href: string, data: unknown | null) => string) | null;
13
13
  formProps: Record<string, unknown>;
14
14
  filters: Option[];
15
15
  layout: 'summary-item' | 'standalone' | null;
@@ -25,5 +25,6 @@ export declare class InternalResourcePickerControl extends InternalEditableContr
25
25
  private __handleFetchEvent;
26
26
  private __handleSelect;
27
27
  private __handleEmpty;
28
+ private get __valueLoader();
28
29
  }
29
30
  export {};