@ukic/canary-web-components 2.0.0-canary.38 → 2.0.0-canary.39

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/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-date-picker.cjs.entry.js +110 -57
  3. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-navigation-group.cjs.entry.js +9 -0
  5. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js +605 -0
  8. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js.map +1 -0
  9. package/dist/collection/components/ic-data-table/ic-data-table.stories.js +414 -0
  10. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -0
  11. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  12. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.js +98 -0
  13. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.js.map +1 -0
  14. package/dist/collection/components/ic-date-input/ic-date-input.stories.js +341 -0
  15. package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -0
  16. package/dist/collection/components/ic-date-picker/ic-date-picker.css +10 -3
  17. package/dist/collection/components/ic-date-picker/ic-date-picker.js +152 -57
  18. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  19. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +167 -0
  20. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -0
  21. package/dist/collection/components/ic-date-picker/story-data.js +34 -3
  22. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  23. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +260 -0
  24. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js.map +1 -0
  25. package/dist/collection/components/ic-select-with-multi/ic-select-multi.stories.js +144 -0
  26. package/dist/collection/components/ic-select-with-multi/ic-select-multi.stories.js.map +1 -0
  27. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js +456 -0
  28. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js.map +1 -0
  29. package/dist/components/ic-date-picker.js +112 -57
  30. package/dist/components/ic-date-picker.js.map +1 -1
  31. package/dist/components/ic-navigation-group.js +11 -2
  32. package/dist/components/ic-navigation-group.js.map +1 -1
  33. package/dist/core/core.esm.js +1 -1
  34. package/dist/core/core.esm.js.map +1 -1
  35. package/dist/core/p-04fe848d.entry.js +2 -0
  36. package/dist/core/p-04fe848d.entry.js.map +1 -0
  37. package/dist/core/p-fac387e8.entry.js +2 -0
  38. package/dist/core/p-fac387e8.entry.js.map +1 -0
  39. package/dist/esm/core.js +1 -1
  40. package/dist/esm/ic-date-picker.entry.js +110 -57
  41. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  42. package/dist/esm/ic-navigation-group.entry.js +10 -1
  43. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  44. package/dist/esm/loader.js +1 -1
  45. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.stories.d.ts +82 -0
  46. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +239 -0
  47. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.d.ts +47 -0
  48. package/dist/types/components/ic-date-input/ic-date-input.stories.d.ts +124 -0
  49. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +18 -1
  50. package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +153 -0
  51. package/dist/types/components/ic-date-picker/story-data.d.ts +2 -0
  52. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.stories.d.ts +106 -0
  53. package/dist/types/components/ic-select-with-multi/ic-select-multi.stories.d.ts +106 -0
  54. package/dist/types/components/ic-tree-view/ic-tree-view.stories.d.ts +99 -0
  55. package/dist/types/components.d.ts +13 -0
  56. package/hydrate/index.js +121 -58
  57. package/package.json +12 -12
  58. package/dist/core/p-4084bce2.entry.js +0 -2
  59. package/dist/core/p-4084bce2.entry.js.map +0 -1
  60. package/dist/core/p-71bbb583.entry.js +0 -2
  61. package/dist/core/p-71bbb583.entry.js.map +0 -1
@@ -122,7 +122,7 @@ const YearPicker = ({ decadeView, size, focussedYear, yearInView, onSelectYear,
122
122
  h("path", { d: "M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z", fill: "currentColor" }))))));
123
123
  };
124
124
 
125
- const icDatePickerCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;--month-year-picker-button-width:5rem;--month-button-width:5.5rem;--input-field-width:var(--input-width, 19.125rem)}:host(.large){--month-button-width:6.3125rem;--input-field-width:var(--input-width, 21.125rem)}:host(.small){--month-button-width:6.25rem;--input-field-width:var(--input-width, 17.125rem)}:host .date-input-container{position:relative}ic-date-input{--input-width:var(--input-field-width)}:host .calendar-container{min-width:19rem;max-width:23.5rem;width:var(--input-width);display:flex;flex-direction:column;gap:var(--ic-space-xs);position:absolute;border:var(--ic-border-default);border-radius:var(--ic-border-radius);align-items:center;background-color:var(--ic-architectural-white);z-index:var(--ic-z-index-date-picker);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);margin-top:var(--ic-space-xxxs);padding:var(--ic-space-xs);animation:fade-in-calendar var(--ic-transition-duration-slow)}:host(.small) .calendar-container{min-width:17rem;max-width:21.5rem}:host(.large) .calendar-container{min-width:21rem;max-width:25.5rem}:host .calendar-container.above{bottom:calc(var(--ic-space-xxl) - var(--ic-space-xxs))}:host .month-year-nav-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch}:host .month-year-nav-container.hidden{display:none}:host .month-year-nav{display:flex;justify-content:space-between;align-items:center;flex:1 0 0}:host .month-picker,:host .year-picker{flex-wrap:wrap;display:inline-flex;align-items:center;width:17.5rem;-moz-column-gap:var(--ic-space-xs);column-gap:var(--ic-space-xs);row-gap:var(--ic-space-xxs)}:host(.small) .month-picker,:host(.small) .year-picker{width:13.125rem}:host(.large) .month-picker,:host(.large) .year-picker{width:20rem}:host .month-picker-button,:host .year-picker-button{width:5rem;--min-width:5rem}:host .month-button,:host .year-button{width:var(--month-button-width)}:host .month-button.focussed,:host .year-button.focussed{z-index:1}:host .month-button::part(button),:host .year-button::part(button){min-width:var(--month-button-width)}:host .prev-decade .year-button svg{margin-right:calc(-1 * var(--ic-space-xl));padding-top:var(--ic-space-sm)}:host .prev-decade .year-button::part(button){padding-left:0;padding-right:var(--ic-space-lg)}:host(.small) .prev-decade .year-button::part(button){padding-left:0;padding-right:calc(var(--ic-space-lg) + var(--ic-space-xxs))}:host .next-decade .year-button svg{margin-left:calc(-1 * var(--ic-space-xl));padding-top:var(--ic-space-sm)}:host .next-decade .year-button::part(button){padding-right:0;padding-left:var(--ic-space-lg)}:host(.small) .next-decade .year-button::part(button),:host(.large) .next-decade .year-button::part(button){padding-left:var(--ic-space-xl)}:host .bottom-buttons{padding-top:var(--ic-space-xs);display:flex;justify-content:space-between;align-items:center;align-self:stretch;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.small) .bottom-buttons{padding-top:var(--ic-space-xxs)}:host .bottom-buttons.no-today{align-items:flex-end;flex-direction:column}:host .bottom-buttons.hidden{display:none}:host .calendar{display:flex;flex-direction:column;align-items:flex-start;width:15.75rem;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.large) .calendar{width:19.25rem}:host(.small) .calendar{padding-bottom:var(--ic-space-xxs);width:14rem}:host .hidden{display:none}:host .weekdays{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--ic-space-xs);align-self:stretch}:host .calendar-days-container{display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:var(--ic-space-xs);padding:var(--ic-space-xxs) 0}:host(.small) .calendar-days-container{padding:var(--ic-space-xxxs) 0}:host(.large) .calendar-days-container{padding:var(--ic-space-xs) 0}:host .calendar-day-header{display:flex;width:2rem;padding:var(--ic-space-xxs) 0;justify-content:center;align-items:center}:host(.small) .calendar-day-header,:host(.large) .calendar-day-header{padding:var(--ic-space-xxs)}:host .calendar-day-header ic-typography{color:var(--ic-color-tertiary-text);text-align:center}:host .day-button-container{display:flex;justify-content:center;align-items:center;width:2.25rem;height:2.25rem}:host(.small) .day-button-container{width:2rem;height:2rem}:host(.large) .day-button-container{width:2.5rem;height:2.5rem}:host .day-button{display:flex;position:relative;justify-content:center;align-items:center;border:0;border-radius:2rem;background-color:var(--ic-architectural-white);width:2rem;height:2rem;cursor:pointer;transition:var(--ic-easing-transition-fast);z-index:0}:host .day-button.disabled{cursor:default}:host(.large) .day-button{width:2.25rem;height:2.25rem}:host(.small) .day-button{width:1.75rem;height:1.75rem}:host .day-button ic-typography{width:1.75rem;color:var(--ic-color-primary-text)}:host .day-button.outside-range ic-typography{color:var(--ic-architectural-400)}:host .day-button.outside-month ic-typography{font-weight:var(--ic-font-weight-regular) !important}:host .day-button.outside-month:not(.outside-range):not(.selected) ic-typography{color:var(--ic-color-primary-text)}:host .day-button:hover:not(.disabled){background-color:var(--ic-action-dark-bg-hover)}:host .day-button:active:not(.disabled){background-color:var(--ic-action-dark-bg-active)}@media (prefers-reduced-motion: no-preference){:host .day-button:hover:not(.disabled):not(.focussed),:host .day-button:active:not(.disabled):not(.focussed){transition:background-color var(--ic-transition-duration-slow) ease-in-out}}:host .day-button.selected:not(.hidden){background-color:var(--ic-action-default)}:host .day-button.selected ic-typography{color:var(--ic-color-white-text)}:host .day-button.selected:not(.hidden):hover{background-color:var(--ic-action-default-hover)}:host .day-button.selected:not(.hidden):active{background-color:var(--ic-action-default-active)}:host .day-button.focussed{z-index:1}:host .day-button:focus{outline:none}:host .day-button.focussed:focus{box-shadow:var(--ic-border-focus)}:host .day-button.today:not(.hidden)::after{content:\"\";position:absolute;width:0.875rem;height:0.125rem;bottom:0.4rem;border-radius:var(--ic-border-radius);background-color:var(--ic-action-default)}:host(.small) .day-button.today::after{bottom:0.35rem}:host(.large) .day-button.today::after{width:1rem}:host .day-button.today.selected::after{background-color:var(--ic-architectural-white)}:host #select-month-hint,:host #select-year-hint{display:none}.sr-only{position:absolute;left:-9999px}@media (prefers-reduced-motion: reduce){:host .calendar-container,:host .calendar,:host .bottom-buttons{animation:none}}@keyframes fade-in-buttons{0%{opacity:0}50%{opacity:0}100%{opacity:1}}@keyframes fade-in-calendar{0%{display:flex;max-height:0}100%{display:flex;max-height:600px}}@media (forced-colors: active){:host .day-button.today:not(.hidden)::after{background-color:highlight}:host .day-button.selected:not(.hidden){background-color:highlight}:host .day-button.focussed:focus{border:var(--ic-hc-border)}:host .month-button.selected::part(button),:host .year-button.selected::part(button){background-color:highlight}}";
125
+ const icDatePickerCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;--month-year-picker-button-width:5rem;--month-button-width:5.5rem;--input-field-width:var(--input-width, 19.125rem)}:host(.large){--month-button-width:6.3125rem;--input-field-width:var(--input-width, 21.125rem)}:host(.small){--month-button-width:6.25rem;--input-field-width:var(--input-width, 17.125rem)}:host .date-input-container{position:relative}ic-date-input{--input-width:var(--input-field-width)}:host .calendar-container{min-width:19rem;max-width:23.5rem;width:var(--input-width);display:flex;flex-direction:column;gap:var(--ic-space-xs);position:absolute;align-items:center;background-color:var(--ic-architectural-white);z-index:var(--ic-z-index-date-picker);box-sizing:border-box;margin-top:var(--ic-space-xxxs);padding:var(--ic-space-xs);animation:fade-in-calendar var(--ic-transition-duration-slow)}:host .calendar-container.show-date-input{border:var(--ic-border-default);border-radius:var(--ic-border-radius);box-shadow:var(--ic-elevation-overlay)}:host .calendar-container.hide-date-input{position:static}:host(.small) .calendar-container{min-width:17rem;max-width:21.5rem}:host(.large) .calendar-container{min-width:21rem;max-width:25.5rem}:host .calendar-container.above{bottom:calc(var(--ic-space-xxl) - var(--ic-space-xxs))}:host .month-year-nav-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch}:host .month-year-nav-container.hidden{display:none}:host .month-year-nav{display:flex;justify-content:space-between;align-items:center;flex:1 0 0}:host .month-picker,:host .year-picker{flex-wrap:wrap;display:inline-flex;align-items:center;width:17.5rem;-moz-column-gap:var(--ic-space-xs);column-gap:var(--ic-space-xs);row-gap:var(--ic-space-xxs)}:host(.small) .month-picker,:host(.small) .year-picker{width:13.125rem}:host(.large) .month-picker,:host(.large) .year-picker{width:20rem}:host .month-picker-button,:host .year-picker-button{width:5rem;--min-width:5rem}:host .month-button,:host .year-button{width:var(--month-button-width)}:host .month-button.focussed,:host .year-button.focussed{z-index:1}:host .month-button::part(button),:host .year-button::part(button){min-width:var(--month-button-width)}:host .prev-decade .year-button svg{margin-right:calc(-1 * var(--ic-space-xl));padding-top:var(--ic-space-sm)}:host .prev-decade .year-button::part(button){padding-left:0;padding-right:var(--ic-space-lg)}:host(.small) .prev-decade .year-button::part(button){padding-left:0;padding-right:calc(var(--ic-space-lg) + var(--ic-space-xxs))}:host .next-decade .year-button svg{margin-left:calc(-1 * var(--ic-space-xl));padding-top:var(--ic-space-sm)}:host .next-decade .year-button::part(button){padding-right:0;padding-left:var(--ic-space-lg)}:host(.small) .next-decade .year-button::part(button),:host(.large) .next-decade .year-button::part(button){padding-left:var(--ic-space-xl)}:host .bottom-buttons{padding-top:var(--ic-space-xs);display:flex;justify-content:space-between;align-items:center;align-self:stretch;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.small) .bottom-buttons{padding-top:var(--ic-space-xxs)}:host .bottom-buttons.no-today{align-items:flex-end;flex-direction:column}:host .bottom-buttons.hidden{display:none}:host .calendar{display:flex;flex-direction:column;align-items:flex-start;width:15.75rem;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.large) .calendar{width:19.25rem}:host(.small) .calendar{padding-bottom:var(--ic-space-xxs);width:14rem}:host .hidden{display:none}:host .weekdays{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--ic-space-xs);align-self:stretch}:host .calendar-days-container{display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:var(--ic-space-xs);padding:var(--ic-space-xxs) 0}:host(.small) .calendar-days-container{padding:var(--ic-space-xxxs) 0}:host(.large) .calendar-days-container{padding:var(--ic-space-xs) 0}:host .calendar-day-header{display:flex;width:2rem;padding:var(--ic-space-xxs) 0;justify-content:center;align-items:center}:host(.small) .calendar-day-header,:host(.large) .calendar-day-header{padding:var(--ic-space-xxs)}:host .calendar-day-header ic-typography{color:var(--ic-color-tertiary-text);text-align:center}:host .day-button-container{display:flex;justify-content:center;align-items:center;width:2.25rem;height:2.25rem}:host(.small) .day-button-container{width:2rem;height:2rem}:host(.large) .day-button-container{width:2.5rem;height:2.5rem}:host .day-button{display:flex;position:relative;justify-content:center;align-items:center;border:0;border-radius:2rem;background-color:var(--ic-architectural-white);width:2rem;height:2rem;cursor:pointer;transition:var(--ic-easing-transition-fast);z-index:0}:host .day-button.disabled{cursor:default}:host(.large) .day-button{width:2.25rem;height:2.25rem}:host(.small) .day-button{width:1.75rem;height:1.75rem}:host .day-button ic-typography{width:1.75rem;color:var(--ic-color-primary-text)}:host .day-button.outside-range ic-typography{color:var(--ic-architectural-400)}:host .day-button.outside-month ic-typography{font-weight:var(--ic-font-weight-regular) !important}:host .day-button.outside-month:not(.outside-range):not(.selected) ic-typography{color:var(--ic-color-primary-text)}:host .day-button:hover:not(.disabled){background-color:var(--ic-action-dark-bg-hover)}:host .day-button:active:not(.disabled){background-color:var(--ic-action-dark-bg-active)}@media (prefers-reduced-motion: no-preference){:host .day-button:hover:not(.disabled):not(.focussed),:host .day-button:active:not(.disabled):not(.focussed){transition:background-color var(--ic-transition-duration-slow) ease-in-out}}:host .day-button.selected:not(.hidden){background-color:var(--ic-action-default)}:host .day-button.selected ic-typography{color:var(--ic-color-white-text)}:host .day-button.selected:not(.hidden):hover{background-color:var(--ic-action-default-hover)}:host .day-button.selected:not(.hidden):active{background-color:var(--ic-action-default-active)}:host .day-button.focussed{z-index:1}:host .day-button:focus{outline:none}:host .day-button.focussed:focus{box-shadow:var(--ic-border-focus)}:host .day-button.today:not(.hidden)::after{content:\"\";position:absolute;width:0.875rem;height:0.125rem;bottom:0.4rem;border-radius:var(--ic-border-radius);background-color:var(--ic-action-default)}:host(.small) .day-button.today::after{bottom:0.35rem}:host(.large) .day-button.today::after{width:1rem}:host .day-button.today.selected::after{background-color:var(--ic-architectural-white)}:host #select-month-hint,:host #select-year-hint{display:none}.sr-only{position:absolute;left:-9999px}@media (prefers-reduced-motion: reduce){:host .calendar-container,:host .calendar,:host .bottom-buttons{animation:none}}@keyframes fade-in-buttons{0%{opacity:0}50%{opacity:0}100%{opacity:1}}@keyframes fade-in-calendar{0%{display:flex;max-height:0}100%{display:flex;max-height:600px}}@media (forced-colors: active){:host .day-button.today:not(.hidden)::after{background-color:highlight}:host .day-button.selected:not(.hidden){background-color:highlight}:host .day-button.focussed:focus{border:var(--ic-hc-border)}:host .month-button.selected::part(button),:host .year-button.selected::part(button){background-color:highlight}}";
126
126
 
127
127
  const DEFAULT_DATE_FORMAT = "DD/MM/YYYY";
128
128
  const DEFAULT_DISABLE_DATES_FROM_NOW_MSG = "Dates in the future are not allowed. Please select a date in the past.";
@@ -138,6 +138,7 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
138
138
  this.__registerHost();
139
139
  this.__attachShadow();
140
140
  this.icChange = createEvent(this, "icChange", 7);
141
+ this.icSelectedDateChange = createEvent(this, "icSelectedDateChange", 7);
141
142
  this.clearButtonEl = null;
142
143
  this.daysOfWeek = [];
143
144
  this.dayButtonFocussed = false;
@@ -163,12 +164,30 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
163
164
  this.decadeStart = decadeArr[1];
164
165
  this.decadeEnd = decadeArr[10];
165
166
  };
167
+ this.notifyScreenReaderSelectedDate = () => {
168
+ const dayNames = stringEnumToArray(IcDayNames);
169
+ const months = stringEnumToArray(IcDateInputMonths);
170
+ this.selectedDateInfoEl.textContent = this.selectedDate
171
+ ? `Selected date: ${dayNames[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${months[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`
172
+ : "Selected date cleared";
173
+ };
166
174
  this.setSelectedDate = (d, emit = true) => {
167
175
  if (d === null || !dateMatches(d, this.selectedDate)) {
168
176
  this.selectedDate = d;
169
177
  this.value = d;
170
178
  if (emit) {
171
- this.inputEl.triggerIcChange(d);
179
+ if (this.inputEl) {
180
+ this.inputEl.triggerIcChange(d);
181
+ }
182
+ else {
183
+ if (this.selectedDate) {
184
+ this.setFocussedDate(this.selectedDate);
185
+ }
186
+ this.icSelectedDateChange.emit({ value: d });
187
+ if (!this.showDateInput && this.selectedDateInfoEl) {
188
+ this.notifyScreenReaderSelectedDate();
189
+ }
190
+ }
172
191
  }
173
192
  }
174
193
  };
@@ -183,13 +202,17 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
183
202
  event.stopImmediatePropagation();
184
203
  };
185
204
  this.handleDocumentClick = () => {
186
- this.calendarOpen = false;
205
+ if (this.showDateInput) {
206
+ this.calendarOpen = false;
207
+ }
187
208
  };
188
209
  this.keyDownHandler = (event) => {
189
210
  if (event.key === "Escape") {
190
211
  if (this.calendarOpen) {
191
212
  this.closeButtonClickHandler();
192
- this.inputEl.setCalendarFocus();
213
+ if (this.inputEl) {
214
+ this.inputEl.setCalendarFocus();
215
+ }
193
216
  event.stopImmediatePropagation();
194
217
  }
195
218
  }
@@ -199,7 +222,9 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
199
222
  }
200
223
  };
201
224
  this.closeButtonClickHandler = () => {
202
- this.calendarOpen = false;
225
+ if (this.showDateInput) {
226
+ this.calendarOpen = false;
227
+ }
203
228
  };
204
229
  this.focusFirstElement = () => {
205
230
  this.monthButtonEl.setFocus();
@@ -409,8 +434,12 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
409
434
  };
410
435
  this.handleSelectDay = (day) => {
411
436
  this.setSelectedDate(day);
412
- this.calendarOpen = false;
413
- this.inputEl.setCalendarFocus();
437
+ if (this.showDateInput) {
438
+ this.calendarOpen = false;
439
+ if (this.inputEl) {
440
+ this.inputEl.setCalendarFocus();
441
+ }
442
+ }
414
443
  };
415
444
  this.handleSelectMonth = (month) => {
416
445
  this.moveMonths(month - this.monthInView);
@@ -823,6 +852,60 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
823
852
  }
824
853
  return inputProps;
825
854
  };
855
+ this.renderHiddenInput = () => !this.showDateInput ? (h("span", { id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { ref: (el) => (this.selectedDateInfoEl = el), role: "status" }))) : ("");
856
+ this.renderCalendar = () => {
857
+ const { monthNames, size, focussedMonth, focussedYear, monthInView, yearInView, monthPickerVisible, yearPickerVisible, orderedDaysOfWeek, decadeView, minDate, maxDate, showPickerClearButton, showPickerTodayButton, dialogDescription, } = this;
858
+ let monthButtonText = "";
859
+ if (monthPickerVisible) {
860
+ monthButtonText = `Use the arrow keys to change the selected month. To return to day picker view, press Enter or Space to select a month, or press Escape.`;
861
+ }
862
+ else {
863
+ monthButtonText = `Press Enter or Space to open month picker view or use the arrow keys to change month.`;
864
+ }
865
+ let yearButtonText = "";
866
+ if (yearPickerVisible) {
867
+ yearButtonText = `Use the arrow keys to change the selected year. To return to day picker view, press Enter or Space to select a year, or press Escape.`;
868
+ }
869
+ else {
870
+ yearButtonText = `Press Enter or Space to open year picker view or use the arrow keys to change the selected year.`;
871
+ }
872
+ const dialogLabel = "choose date";
873
+ const monthLabel = monthNames && monthNames[monthInView]
874
+ ? monthNames[monthInView]
875
+ : "Open month picker";
876
+ const yearLabel = this.yearInView ? this.yearInView : "Open year picker";
877
+ let minDay = minDate;
878
+ if (this.disablePast) {
879
+ const yesterday = new Date(minDate);
880
+ yesterday.setDate(minDate.getDate() - 1);
881
+ minDay = yesterday;
882
+ }
883
+ return (h("div", null, h("span", { id: "dialog-description", class: "sr-only" }, dialogDescription), h("div", { role: "dialog", "aria-modal": "true", "aria-label": dialogLabel, "aria-describedBy": "dialog-description", class: {
884
+ "calendar-container": true,
885
+ "show-date-input": this.showDateInput,
886
+ "hide-date-input": !this.showDateInput,
887
+ above: this.showPickerAbove,
888
+ }, onMouseDown: this.handleCalendarMouseDown, onClick: this.handleCalendarClick }, h("span", { ref: (el) => (this.liveRegionEl = el), id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("div", { class: {
889
+ "month-year-nav-container": true,
890
+ } }, h("div", { class: "month-year-nav" }, this.previousMonthButton(), h("span", { id: "select-month-hint", "aria-hidden": "true" }, monthButtonText), h("ic-button", { ref: (el) => (this.monthButtonEl = el), size: size, class: "month-picker-button", "aria-haspopup": "menu", "aria-expanded": monthPickerVisible ? "true" : "false", "full-width": "true", variant: "tertiary", "aria-label": monthLabel, "aria-describedby": "select-month-hint", onKeyDown: this.monthButtonKeyDownHandler, onClick: this.monthButtonClickHandler }, monthNames[monthInView]), this.nextMonthButton()), h("div", { class: "month-year-nav" }, this.previousYearButton(), h("span", { id: "select-year-hint", "aria-hidden": "true" }, yearButtonText), h("ic-button", { ref: (el) => (this.yearButtonEl = el), size: size, class: "year-picker-button", "aria-haspopup": "menu", "aria-expanded": yearPickerVisible ? "true" : "false", "full-width": "true", variant: "tertiary", "aria-label": yearLabel, "aria-describedby": "select-year-hint", onKeyDown: this.yearButtonKeyDownHandler, onClick: this.yearButtonClickHandler }, this.yearInView), this.nextYearButton())), !(monthPickerVisible || yearPickerVisible) && (h("div", { class: {
891
+ calendar: true,
892
+ hidden: monthPickerVisible || yearPickerVisible,
893
+ }, onKeyDown: this.handleCalendarKeyDown }, h("div", { class: "weekdays", "aria-hidden": "true" }, orderedDaysOfWeek.map((dayName) => {
894
+ const header = size === "small" ? dayName.charAt(0) : dayName;
895
+ return (h("div", { class: "calendar-day-header" }, h("ic-typography", { variant: "caption" }, header)));
896
+ })), h("div", { class: "calendar-days-container" }, this.currMonthView.map((day) => (h(DayButton, { day: day, disableDay: this.disableDays.includes(Number(day.getDay())), today: dateMatches(day, this.today), selected: dateMatches(day, this.selectedDate), focussed: dateMatches(day, this.focussedDate), inRange: dateInRange(day, minDay, maxDate), monthInView: monthInView, onSelectDay: this.handleSelectDay, focussedDayRef: this.setFocussedDayEl, onFocusDay: this.onDayButtonFocusHandler, onBlurDay: this.onDayButtonBlurHandler, showDaysOutsideMonth: this.showDaysOutsideMonth })))))), h("div", { class: {
897
+ "month-picker-container": true,
898
+ hidden: !monthPickerVisible,
899
+ } }, monthPickerVisible && (h(MonthPicker, { size: size, onSelectMonth: this.handleSelectMonth, monthInView: monthInView, focussedMonth: focussedMonth, onKeyDown: this.monthPickerKeyDownHandler, focussedMonthRef: this.setFocussedMonthEl, minDate: minDate, maxDate: maxDate, yearInView: yearInView }))), h("div", { class: {
900
+ "year-picker-container": true,
901
+ hidden: !yearPickerVisible,
902
+ } }, yearPickerVisible && (h(YearPicker, { decadeView: decadeView, size: size, focussedYear: focussedYear, onSelectYear: this.handleSelectYear, onKeyDown: this.yearPickerKeyDownHandler, onFocusYear: this.onYearButtonFocusHandler, onBlurYear: this.onYearButtonBlurHandler, yearInView: yearInView, minDate: minDate, maxDate: maxDate, focussedYearRef: this.setFocussedYearEl }))), h("div", { class: {
903
+ "bottom-buttons": true,
904
+ "no-today": !showPickerTodayButton,
905
+ } }, showPickerTodayButton && (h("ic-button", { id: "today-button", variant: "tertiary", ref: (el) => (this.todayButtonEl = el), size: size, "aria-label": "Navigate to current date", onClick: this.todayButtonClickHandler, onKeyDown: this.todayButtonKeyDownHandler, disabled: this.isCurrentMonth() }, "Go to today")), showPickerClearButton && (h("ic-button", { id: "clear-button", "aria-label": "clear selected date", ref: (el) => (this.clearButtonEl = el), variant: "tertiary", size: size, onClick: this.clearButtonClickHandler, onKeyDown: this.clearButtonKeyDownHandler, disabled: this.value === "" ||
906
+ this.value === null ||
907
+ this.value === undefined }, "Clear")))), this.renderHiddenInput()));
908
+ };
826
909
  this.calendarOpen = false;
827
910
  this.currMonthView = [];
828
911
  this.currYearPickerView = [];
@@ -860,6 +943,7 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
860
943
  this.name = undefined;
861
944
  this.openAtDate = "";
862
945
  this.required = false;
946
+ this.showDateInput = true;
863
947
  this.showDaysOutsideMonth = true;
864
948
  this.showPickerClearButton = true;
865
949
  this.showPickerTodayButton = true;
@@ -894,6 +978,11 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
894
978
  this.minDate = createDate(this.min, this.dateFormat);
895
979
  }
896
980
  }
981
+ watchShowDateInputHandler() {
982
+ if (!this.showDateInput) {
983
+ this.calendarOpen = true;
984
+ }
985
+ }
897
986
  watchStartOfWeekHandler() {
898
987
  this.orderedDaysOfWeek = this.daysOfWeek
899
988
  .slice(this.startOfWeek)
@@ -985,13 +1074,23 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
985
1074
  this.watchMaxHandler();
986
1075
  this.watchMinHandler();
987
1076
  removeDisabledFalse(this.disabled, this.el);
1077
+ this.selectedDateInfoId = `${this.inputId}-selected-date-info`;
988
1078
  }
989
1079
  componentWillRender() {
990
1080
  this.dateInputProps = this.setDateInputProps();
1081
+ if (!this.showDateInput) {
1082
+ this.calendarOpen = true;
1083
+ }
991
1084
  }
992
1085
  componentWillUpdate() {
993
1086
  this.dateInputProps = this.setDateInputProps();
994
1087
  }
1088
+ componentDidLoad() {
1089
+ if (!this.showDateInput && this.value) {
1090
+ this.setSelectedDate(new Date(this.value));
1091
+ this.setFocussedDate(this.selectedDate);
1092
+ }
1093
+ }
995
1094
  localCalendarButtonClickHandler(ev) {
996
1095
  this.myCalendarButtonClicked = true;
997
1096
  if (!this.calendarOpen) {
@@ -1001,61 +1100,14 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
1001
1100
  }
1002
1101
  calendarButtonClickHandler() {
1003
1102
  //closes this picker if calendar button in another clicked
1004
- if (!this.myCalendarButtonClicked) {
1103
+ if (!this.myCalendarButtonClicked && this.showDateInput) {
1005
1104
  this.calendarOpen = false;
1006
1105
  }
1007
1106
  this.myCalendarButtonClicked = false;
1008
1107
  }
1009
1108
  render() {
1010
- const { calendarOpen, dateInputProps, monthNames, size, focussedMonth, focussedYear, monthInView, yearInView, monthPickerVisible, yearPickerVisible, orderedDaysOfWeek, decadeView, minDate, maxDate, showPickerClearButton, showPickerTodayButton, dialogDescription, } = this;
1011
- let monthButtonText = "";
1012
- if (monthPickerVisible) {
1013
- monthButtonText = `Use the arrow keys to change the selected month. To return to day picker view, press Enter or Space to select a month, or press Escape.`;
1014
- }
1015
- else {
1016
- monthButtonText = `Press Enter or Space to open month picker view or use the arrow keys to change month.`;
1017
- }
1018
- let yearButtonText = "";
1019
- if (yearPickerVisible) {
1020
- yearButtonText = `Use the arrow keys to change the selected year. To return to day picker view, press Enter or Space to select a year, or press Escape.`;
1021
- }
1022
- else {
1023
- yearButtonText = `Press Enter or Space to open year picker view or use the arrow keys to change the selected year.`;
1024
- }
1025
- const dialogLabel = "choose date";
1026
- const monthLabel = monthNames && monthNames[monthInView]
1027
- ? monthNames[monthInView]
1028
- : "Open month picker";
1029
- const yearLabel = this.yearInView ? this.yearInView : "Open year picker";
1030
- let minDay = minDate;
1031
- if (this.disablePast) {
1032
- const yesterday = new Date(minDate);
1033
- yesterday.setDate(minDate.getDate() - 1);
1034
- minDay = yesterday;
1035
- }
1036
- return (h(Host, { onKeyDown: this.keyDownHandler, class: size }, h("div", { class: "date-input-container" }, h("ic-date-input", Object.assign({ ref: (el) => (this.inputEl = el) }, dateInputProps))), calendarOpen && (h("div", null, h("span", { id: "dialog-description", class: "sr-only" }, dialogDescription), h("div", { role: "dialog", "aria-modal": "true", "aria-label": dialogLabel, "aria-describedBy": "dialog-description", class: {
1037
- "calendar-container": true,
1038
- above: this.showPickerAbove,
1039
- }, onMouseDown: this.handleCalendarMouseDown, onClick: this.handleCalendarClick }, h("span", { ref: (el) => (this.liveRegionEl = el), id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("div", { class: {
1040
- "month-year-nav-container": true,
1041
- } }, h("div", { class: "month-year-nav" }, this.previousMonthButton(), h("span", { id: "select-month-hint", "aria-hidden": "true" }, monthButtonText), h("ic-button", { ref: (el) => (this.monthButtonEl = el), size: size, class: "month-picker-button", "aria-haspopup": "menu", "aria-expanded": monthPickerVisible ? "true" : "false", "full-width": "true", variant: "tertiary", "aria-label": monthLabel, "aria-describedby": "select-month-hint", onKeyDown: this.monthButtonKeyDownHandler, onClick: this.monthButtonClickHandler }, monthNames[monthInView]), this.nextMonthButton()), h("div", { class: "month-year-nav" }, this.previousYearButton(), h("span", { id: "select-year-hint", "aria-hidden": "true" }, yearButtonText), h("ic-button", { ref: (el) => (this.yearButtonEl = el), size: size, class: "year-picker-button", "aria-haspopup": "menu", "aria-expanded": yearPickerVisible ? "true" : "false", "full-width": "true", variant: "tertiary", "aria-label": yearLabel, "aria-describedby": "select-year-hint", onKeyDown: this.yearButtonKeyDownHandler, onClick: this.yearButtonClickHandler }, this.yearInView), this.nextYearButton())), !(monthPickerVisible || yearPickerVisible) && (h("div", { class: {
1042
- calendar: true,
1043
- hidden: monthPickerVisible || yearPickerVisible,
1044
- }, onKeyDown: this.handleCalendarKeyDown }, h("div", { class: "weekdays", "aria-hidden": "true" }, orderedDaysOfWeek.map((dayName) => {
1045
- const header = size === "small" ? dayName.charAt(0) : dayName;
1046
- return (h("div", { class: "calendar-day-header" }, h("ic-typography", { variant: "caption" }, header)));
1047
- })), h("div", { class: "calendar-days-container" }, this.currMonthView.map((day) => (h(DayButton, { day: day, disableDay: this.disableDays.includes(Number(day.getDay())), today: dateMatches(day, this.today), selected: dateMatches(day, this.selectedDate), focussed: dateMatches(day, this.focussedDate), inRange: dateInRange(day, minDay, maxDate), monthInView: monthInView, onSelectDay: this.handleSelectDay, focussedDayRef: this.setFocussedDayEl, onFocusDay: this.onDayButtonFocusHandler, onBlurDay: this.onDayButtonBlurHandler, showDaysOutsideMonth: this.showDaysOutsideMonth })))))), h("div", { class: {
1048
- "month-picker-container": true,
1049
- hidden: !monthPickerVisible,
1050
- } }, monthPickerVisible && (h(MonthPicker, { size: size, onSelectMonth: this.handleSelectMonth, monthInView: monthInView, focussedMonth: focussedMonth, onKeyDown: this.monthPickerKeyDownHandler, focussedMonthRef: this.setFocussedMonthEl, minDate: minDate, maxDate: maxDate, yearInView: yearInView }))), h("div", { class: {
1051
- "year-picker-container": true,
1052
- hidden: !yearPickerVisible,
1053
- } }, yearPickerVisible && (h(YearPicker, { decadeView: decadeView, size: size, focussedYear: focussedYear, onSelectYear: this.handleSelectYear, onKeyDown: this.yearPickerKeyDownHandler, onFocusYear: this.onYearButtonFocusHandler, onBlurYear: this.onYearButtonBlurHandler, yearInView: yearInView, minDate: minDate, maxDate: maxDate, focussedYearRef: this.setFocussedYearEl }))), h("div", { class: {
1054
- "bottom-buttons": true,
1055
- "no-today": !showPickerTodayButton,
1056
- } }, showPickerTodayButton && (h("ic-button", { id: "today-button", variant: "tertiary", ref: (el) => (this.todayButtonEl = el), size: size, "aria-label": "Navigate to current date", onClick: this.todayButtonClickHandler, onKeyDown: this.todayButtonKeyDownHandler, disabled: this.isCurrentMonth() }, "Go to today")), showPickerClearButton && (h("ic-button", { id: "clear-button", "aria-label": "clear selected date", ref: (el) => (this.clearButtonEl = el), variant: "tertiary", size: size, onClick: this.clearButtonClickHandler, onKeyDown: this.clearButtonKeyDownHandler, disabled: this.value === "" ||
1057
- this.value === null ||
1058
- this.value === undefined }, "Clear"))))))));
1109
+ const { calendarOpen, dateInputProps, keyDownHandler, renderCalendar, showDateInput, size, } = this;
1110
+ return (h(Host, { onKeyDown: keyDownHandler, class: size }, showDateInput && (h("div", { class: "date-input-container" }, h("ic-date-input", Object.assign({ ref: (el) => (this.inputEl = el) }, dateInputProps)))), calendarOpen && renderCalendar()));
1059
1111
  }
1060
1112
  static get delegatesFocus() { return true; }
1061
1113
  get el() { return this; }
@@ -1065,6 +1117,7 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
1065
1117
  "disablePast": ["watchDisablePastHandler"],
1066
1118
  "max": ["watchMaxHandler"],
1067
1119
  "min": ["watchMinHandler"],
1120
+ "showDateInput": ["watchShowDateInputHandler"],
1068
1121
  "startOfWeek": ["watchStartOfWeekHandler"],
1069
1122
  "calendarOpen": ["watchOpenHandler"],
1070
1123
  "focussedDate": ["watchFocussedDateHandler"],
@@ -1095,6 +1148,7 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
1095
1148
  "name": [1],
1096
1149
  "openAtDate": [1, "open-at-date"],
1097
1150
  "required": [4],
1151
+ "showDateInput": [4, "show-date-input"],
1098
1152
  "showDaysOutsideMonth": [4, "show-days-outside-month"],
1099
1153
  "showPickerClearButton": [4, "show-picker-clear-button"],
1100
1154
  "showPickerTodayButton": [4, "show-picker-today-button"],
@@ -1127,6 +1181,7 @@ const DatePicker = /*@__PURE__*/ proxyCustomElement(class DatePicker extends HTM
1127
1181
  "disablePast": ["watchDisablePastHandler"],
1128
1182
  "max": ["watchMaxHandler"],
1129
1183
  "min": ["watchMinHandler"],
1184
+ "showDateInput": ["watchShowDateInputHandler"],
1130
1185
  "startOfWeek": ["watchStartOfWeekHandler"],
1131
1186
  "calendarOpen": ["watchOpenHandler"],
1132
1187
  "focussedDate": ["watchFocussedDateHandler"],