smoothly 0.1.121 → 0.2.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 (52) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/smoothly-accordion_51.cjs.entry.js +127 -65
  3. package/dist/cjs/smoothly.cjs.js +1 -1
  4. package/dist/collection/components/app/style.css +12 -12
  5. package/dist/collection/components/button/style.css +1 -2
  6. package/dist/collection/components/calendar/style.css +2 -3
  7. package/dist/collection/components/input/index.js +68 -8
  8. package/dist/collection/components/input-date/index.js +1 -1
  9. package/dist/collection/components/input-date/style.css +2 -3
  10. package/dist/collection/components/input-date-range/index.js +2 -2
  11. package/dist/collection/components/input-demo/index.js +2 -1
  12. package/dist/collection/components/item/style.css +2 -3
  13. package/dist/collection/components/menu-options/index.js +64 -3
  14. package/dist/collection/components/option/index.js +35 -1
  15. package/dist/collection/components/option/style.css +6 -0
  16. package/dist/collection/components/picker/index.js +149 -11
  17. package/dist/collection/components/select-demo/index.js +9 -1
  18. package/dist/collection/components/select-demo/style.css +1 -1
  19. package/dist/collection/components/selector/style.css +0 -2
  20. package/dist/collection/components/tab/style.css +3 -4
  21. package/dist/collection/components/tab-switch/index.js +1 -0
  22. package/dist/collection/components/tab-switch/style.css +1 -1
  23. package/dist/collection/components/table/cell/style.css +3 -1
  24. package/dist/collection/components/table/demo/index.js +38 -32
  25. package/dist/collection/components/table/expandable/cell/index.js +8 -9
  26. package/dist/collection/components/table/expandable/cell/style.css +38 -1
  27. package/dist/collection/components/table/expandable/row/index.js +84 -21
  28. package/dist/collection/components/table/expandable/row/style.css +35 -4
  29. package/dist/collection/components/table/header/index.js +22 -2
  30. package/dist/collection/components/table/header/style.css +5 -3
  31. package/dist/collection/components/table/index.js +33 -1
  32. package/dist/collection/components/table/row/index.js +20 -84
  33. package/dist/collection/components/table/row/style.css +2 -8
  34. package/dist/collection/components/table/style.css +8 -3
  35. package/dist/custom-elements/index.js +136 -74
  36. package/dist/esm/loader.js +1 -1
  37. package/dist/esm/smoothly-accordion_51.entry.js +127 -65
  38. package/dist/esm/smoothly.js +1 -1
  39. package/dist/smoothly/p-a302008c.entry.js +1 -0
  40. package/dist/smoothly/smoothly.esm.js +1 -1
  41. package/dist/types/components/input/index.d.ts +10 -3
  42. package/dist/types/components/menu-options/index.d.ts +5 -0
  43. package/dist/types/components/option/index.d.ts +5 -0
  44. package/dist/types/components/picker/index.d.ts +14 -3
  45. package/dist/types/components/table/expandable/cell/index.d.ts +2 -2
  46. package/dist/types/components/table/expandable/row/index.d.ts +9 -4
  47. package/dist/types/components/table/header/index.d.ts +1 -0
  48. package/dist/types/components/table/index.d.ts +3 -0
  49. package/dist/types/components/table/row/index.d.ts +3 -9
  50. package/dist/types/components.d.ts +31 -7
  51. package/package.json +2 -2
  52. package/dist/smoothly/p-f4529a2d.entry.js +0 -1
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["smoothly-google-font",[[2,"smoothly-google-font",{"value":[1]}]]],["smoothly-radio-group",[[4,"smoothly-radio-group",{"orientation":[513]}]]],["smoothly-reorder",[[0,"smoothly-reorder"]]],["smoothly-trigger-sink",[[6,"smoothly-trigger-sink",{"context":[16],"destination":[1],"filter":[1]},[[0,"trigger","TriggerListener"]]]]],["smoothly-trigger-source",[[6,"smoothly-trigger-source",{"listen":[1]}]]],["smoothly-accordion_51",[[0,"smoothly-app-demo",{"baseUrl":[1,"base-url"]}],[0,"smoothly-input-demo"],[2,"smoothly-select-demo",null,[[0,"selectionChanged","handleSelectionChanged"]]],[0,"smoothly-display-demo"],[2,"smoothly-table-demo"],[4,"smoothly-app",{"color":[1]}],[0,"smoothly-dialog-demo"],[2,"smoothly-icon-demo"],[6,"smoothly-button",{"color":[513],"expand":[513],"fill":[513],"disabled":[516],"type":[513],"link":[1],"download":[4]}],[4,"smoothly-room",{"label":[1],"icon":[1],"path":[1],"to":[1]}],[2,"smoothly-input-date-range",{"value":[1025],"start":[1025],"end":[1025],"max":[1025],"min":[1025],"open":[1028],"showLabel":[516,"show-label"]},[[0,"startChanged","onStartChanged"],[0,"endChanged","onEndChanged"],[0,"dateRangeSet","onDateRangeSet"]]],[6,"smoothly-notifier",{"notices":[32]},[[0,"notice","onNotice"],[0,"remove","onRemove"]]],[1,"smoothly-picker",{"maxMenuHeight":[1,"max-menu-height"],"maxHeight":[1,"max-height"],"emptyMenuLabel":[1025,"empty-menu-label"],"multiple":[516],"optionStyle":[8,"option-style"],"options":[16],"labelSetting":[513,"label-setting"],"label":[513],"selections":[1040],"selectNoneName":[1025,"select-none-name"],"selectionName":[1025,"selection-name"],"isOpen":[32]},[[0,"optionSelect","optionSelectHander"]]],[6,"smoothly-dialog",{"color":[513],"open":[1540],"closable":[516],"header":[513]},[[0,"trigger","TriggerListener"]]],[2,"smoothly-backtotop",{"opacity":[1],"bottom":[1],"right":[1],"visible":[32]}],[2,"smoothly-checkbox",{"selectAll":[4,"select-all"],"size":[1],"intermediate":[1540],"selected":[1540],"disabled":[1540],"t":[32]}],[6,"smoothly-submit",{"processing":[1540],"color":[513],"expand":[513],"fill":[513],"disabled":[516],"prevent":[4],"submit":[64]},[[0,"click","handleSubmit"]]],[0,"smoothly-urlencoded",{"data":[1]}],[6,"smoothly-accordion",{"value":[1025]},[[0,"smoothlyOpen","handleOpenClose"],[0,"smoothlyClose","handleOpenClose"],[0,"smoothlyAccordionItemDidLoad","onAccordionItemDidLoad"],[0,"smoothlyAccordionItemDidUnload","onAccordionItemDidUnload"]]],[6,"smoothly-accordion-item",{"name":[1],"brand":[1],"open":[1540]}],[2,"smoothly-display-amount",{"amount":[8],"currency":[1]}],[2,"smoothly-frame",{"url":[1],"name":[1],"origin":[1],"send":[64]}],[6,"smoothly-popup",{"visible":[1540],"direction":[1537],"cssVariables":[32]}],[6,"smoothly-quiet",{"color":[1]}],[6,"smoothly-radio",{"name":[1],"value":[1],"checked":[1540],"tabIndex":[2,"tab-index"]}],[6,"smoothly-select",{"identifier":[1],"background":[513],"value":[1025]}],[2,"smoothly-skeleton",{"widths":[16],"width":[1],"color":[1],"period":[2],"distance":[1],"align":[513]}],[2,"smoothly-svg",{"url":[513],"size":[513],"color":[1]}],[6,"smoothly-tab",{"label":[1],"open":[1540]},[[0,"click","onClick"]]],[6,"smoothly-tab-switch",{"selectedElement":[32]},[[0,"expansionOpen","openChanged"]]],[6,"smoothly-table"],[6,"smoothly-table-cell"],[6,"smoothly-table-expandable-cell",{"align":[1],"open":[1540],"beginOpen":[32]},[[0,"click","onClick"]]],[6,"smoothly-table-expandable-row",null,[[0,"expansionLoaded","onExpansionLoaded"],[0,"expansionOpen","onDetailsLoaded"]]],[6,"smoothly-table-header"],[6,"smoothly-table-row",{"align":[1],"open":[1540],"beginOpen":[32]},[[0,"click","onClick"]]],[6,"smoothly-input-date",{"value":[1025],"open":[1028],"max":[1025],"min":[1025],"disabled":[1028]},[[0,"dateSet","dateSetHandler"]]],[2,"smoothly-notification",{"notice":[16],"tick":[32]},[[0,"trigger","onTrigger"]]],[1,"smoothly-menu-options",{"emptyMenuLabel":[1025,"empty-menu-label"],"maxMenuHeight":[1,"max-menu-height"],"order":[4],"optionStyle":[8,"option-style"],"options":[1040],"resetHighlightOnOptionsChange":[1028,"reset-highlight-on-options-change"],"filteredOptions":[32],"highlightIndex":[32],"moveHighlight":[64],"setHighlight":[64],"getHighlighted":[64],"filterOptions":[64]},[[0,"optionHover","optionHoverHandler"]]],[2,"smoothly-display",{"type":[1],"value":[8],"currency":[1],"country":[1]}],[2,"smoothly-display-date-time",{"datetime":[1]}],[0,"smoothly-tuple",{"tuple":[16]}],[1,"smoothly-option",{"aliases":[513],"dataHighlight":[1540,"data-highlight"],"name":[1537],"value":[1537],"divider":[1540]}],[2,"smoothly-spinner",{"active":[516],"size":[513]}],[2,"smoothly-calendar",{"month":[1025],"value":[1025],"start":[1025],"end":[1025],"max":[1025],"min":[1025],"doubleInput":[516,"double-input"],"firstSelected":[32]}],[6,"smoothly-input",{"name":[513],"value":[1032],"type":[513],"required":[1540],"minLength":[1026,"min-length"],"showLabel":[516,"show-label"],"maxLength":[1026,"max-length"],"autocomplete":[1028],"pattern":[1040],"placeholder":[1025],"disabled":[1028],"currency":[513],"getFormData":[64],"setKeepFocusOnReRender":[64],"setSelectionRange":[64]}],[2,"smoothly-input-month",{"value":[1025]}],[6,"smoothly-selector",{"opened":[32],"selectedElement":[32],"missing":[32],"filter":[32]},[[0,"click","onClick"],[0,"itemSelected","onItemSelected"],[0,"keydown","onKeyDown"]]],[6,"smoothly-item",{"value":[8],"selected":[1540],"filter":[64]},[[0,"click","onClick"]]],[6,"smoothly-trigger",{"color":[513],"expand":[513],"fill":[513],"disabled":[516],"type":[513],"name":[1],"value":[8]},[[0,"click","onClick"]]],[2,"smoothly-icon",{"color":[513],"fill":[513],"name":[1],"size":[513],"toolTip":[1,"tool-tip"],"document":[32]}]]]], options);
13
+ return bootstrapLazy([["smoothly-google-font",[[2,"smoothly-google-font",{"value":[1]}]]],["smoothly-radio-group",[[4,"smoothly-radio-group",{"orientation":[513]}]]],["smoothly-reorder",[[0,"smoothly-reorder"]]],["smoothly-trigger-sink",[[6,"smoothly-trigger-sink",{"context":[16],"destination":[1],"filter":[1]},[[0,"trigger","TriggerListener"]]]]],["smoothly-trigger-source",[[6,"smoothly-trigger-source",{"listen":[1]}]]],["smoothly-accordion_51",[[0,"smoothly-app-demo",{"baseUrl":[1,"base-url"]}],[0,"smoothly-input-demo"],[2,"smoothly-select-demo",null,[[0,"selectionChanged","handleSelectionChanged"]]],[0,"smoothly-display-demo"],[2,"smoothly-table-demo"],[4,"smoothly-app",{"color":[1]}],[0,"smoothly-dialog-demo"],[2,"smoothly-icon-demo"],[6,"smoothly-button",{"color":[513],"expand":[513],"fill":[513],"disabled":[516],"type":[513],"link":[1],"download":[4]}],[4,"smoothly-room",{"label":[1],"icon":[1],"path":[1],"to":[1]}],[2,"smoothly-input-date-range",{"value":[1025],"start":[1025],"end":[1025],"max":[1025],"min":[1025],"open":[1028],"showLabel":[516,"show-label"]},[[0,"startChanged","onStartChanged"],[0,"endChanged","onEndChanged"],[0,"dateRangeSet","onDateRangeSet"]]],[6,"smoothly-notifier",{"notices":[32]},[[0,"notice","onNotice"],[0,"remove","onRemove"]]],[1,"smoothly-picker",{"maxMenuHeight":[1,"max-menu-height"],"maxHeight":[1,"max-height"],"emptyMenuLabel":[1025,"empty-menu-label"],"multiple":[516],"mutable":[4],"optionStyle":[8,"option-style"],"options":[16],"labelSetting":[513,"label-setting"],"label":[513],"selections":[1040],"selectNoneName":[1025,"select-none-name"],"selectAllName":[1025,"select-all-name"],"selectionName":[1025,"selection-name"],"newOptionLabel":[1025,"new-option-label"],"valueValidator":[16],"isOpen":[32],"empty":[32]},[[0,"optionSelect","optionSelectHandler"],[0,"optionAdd","optionAddHandler"],[0,"menuEmpty","emptyHandler"]]],[6,"smoothly-dialog",{"color":[513],"open":[1540],"closable":[516],"header":[513]},[[0,"trigger","TriggerListener"]]],[6,"smoothly-table-expandable-row",{"align":[1],"open":[1540]},[[0,"click","onClick"]]],[2,"smoothly-backtotop",{"opacity":[1],"bottom":[1],"right":[1],"visible":[32]}],[2,"smoothly-checkbox",{"selectAll":[4,"select-all"],"size":[1],"intermediate":[1540],"selected":[1540],"disabled":[1540],"t":[32]}],[6,"smoothly-submit",{"processing":[1540],"color":[513],"expand":[513],"fill":[513],"disabled":[516],"prevent":[4],"submit":[64]},[[0,"click","handleSubmit"]]],[6,"smoothly-table-expandable-cell",{"align":[1],"open":[1540]},[[0,"click","onClick"]]],[0,"smoothly-urlencoded",{"data":[1]}],[6,"smoothly-accordion",{"value":[1025]},[[0,"smoothlyOpen","handleOpenClose"],[0,"smoothlyClose","handleOpenClose"],[0,"smoothlyAccordionItemDidLoad","onAccordionItemDidLoad"],[0,"smoothlyAccordionItemDidUnload","onAccordionItemDidUnload"]]],[6,"smoothly-accordion-item",{"name":[1],"brand":[1],"open":[1540]}],[2,"smoothly-display",{"type":[1],"value":[8],"currency":[1],"country":[1]}],[2,"smoothly-display-amount",{"amount":[8],"currency":[1]}],[2,"smoothly-frame",{"url":[1],"name":[1],"origin":[1],"send":[64]}],[6,"smoothly-popup",{"visible":[1540],"direction":[1537],"cssVariables":[32]}],[6,"smoothly-quiet",{"color":[1]}],[6,"smoothly-radio",{"name":[1],"value":[1],"checked":[1540],"tabIndex":[2,"tab-index"]}],[6,"smoothly-select",{"identifier":[1],"background":[513],"value":[1025]}],[2,"smoothly-skeleton",{"widths":[16],"width":[1],"color":[1],"period":[2],"distance":[1],"align":[513]}],[2,"smoothly-svg",{"url":[513],"size":[513],"color":[1]}],[6,"smoothly-table",null,[[0,"expansionLoad","handleEvents"],[0,"expansionOpen","handleEvents"]]],[6,"smoothly-table-header",{"name":[1]}],[6,"smoothly-table-row",null,[[0,"expansionLoad","onExpansionLoad"],[0,"expansionOpen","onExpansionOpen"]]],[6,"smoothly-input-date",{"value":[1025],"open":[1028],"max":[1025],"min":[1025],"disabled":[1028]},[[0,"dateSet","dateSetHandler"]]],[1,"smoothly-menu-options",{"emptyMenuLabel":[1025,"empty-menu-label"],"newOptionLabel":[1,"new-option-label"],"maxMenuHeight":[1,"max-menu-height"],"order":[4],"optionStyle":[8,"option-style"],"options":[1040],"resetHighlightOnOptionsChange":[1028,"reset-highlight-on-options-change"],"mutable":[4],"filteredOptions":[32],"highlightIndex":[32],"keyword":[32],"moveHighlight":[64],"setHighlight":[64],"getHighlighted":[64],"filterOptions":[64]},[[0,"optionHover","optionHoverHandler"]]],[2,"smoothly-notification",{"notice":[16],"tick":[32]},[[0,"trigger","onTrigger"]]],[2,"smoothly-display-date-time",{"datetime":[1]}],[6,"smoothly-tab",{"label":[1],"open":[1540]},[[0,"click","onClick"]]],[6,"smoothly-tab-switch",{"selectedElement":[32]},[[0,"expansionOpen","openChanged"]]],[6,"smoothly-table-cell"],[0,"smoothly-tuple",{"tuple":[16]}],[1,"smoothly-option",{"aliases":[513],"dataHighlight":[1540,"data-highlight"],"name":[1537],"value":[1537],"divider":[1540],"new":[4]}],[2,"smoothly-spinner",{"active":[516],"size":[513]}],[2,"smoothly-calendar",{"month":[1025],"value":[1025],"start":[1025],"end":[1025],"max":[1025],"min":[1025],"doubleInput":[516,"double-input"],"firstSelected":[32]}],[6,"smoothly-input",{"name":[513],"value":[1032],"type":[513],"required":[1540],"minLength":[1026,"min-length"],"showLabel":[516,"show-label"],"maxLength":[1026,"max-length"],"autocomplete":[1028],"pattern":[1040],"placeholder":[1025],"disabled":[1028],"readonly":[1028],"currency":[513],"initialValue":[32],"getFormData":[64],"setKeepFocusOnReRender":[64],"setSelectionRange":[64]}],[2,"smoothly-input-month",{"value":[1025]}],[6,"smoothly-selector",{"opened":[32],"selectedElement":[32],"missing":[32],"filter":[32]},[[0,"click","onClick"],[0,"itemSelected","onItemSelected"],[0,"keydown","onKeyDown"]]],[6,"smoothly-item",{"value":[8],"selected":[1540],"filter":[64]},[[0,"click","onClick"]]],[6,"smoothly-trigger",{"color":[513],"expand":[513],"fill":[513],"disabled":[516],"type":[513],"name":[1],"value":[8]},[[0,"click","onClick"]]],[2,"smoothly-icon",{"color":[513],"fill":[513],"name":[1],"size":[513],"toolTip":[1,"tool-tip"],"document":[32]}]]]], options);
14
14
  });
15
15
  };
16
16
 
@@ -161,7 +161,7 @@ const SmoothlyBacktotop = class {
161
161
  };
162
162
  SmoothlyBacktotop.style = styleCss$E;
163
163
 
164
- const styleCss$D = "[type=link].sc-smoothly-button-h{display:inline}.sc-smoothly-button-h:not([type=link]){display:block}.sc-smoothly-button-h{margin:1em;border-style:solid;border-width:1px;border-radius:3px}[hidden].sc-smoothly-button-h{display:none}[disabled].sc-smoothly-button-h{opacity:0.5}a.sc-smoothly-button,button.sc-smoothly-button{border-color:transparent;background-color:transparent;padding:0.2em 0.3em;font-size:110%;font-weight:400}.sc-smoothly-button-h:not([disabled]):hover,.sc-smoothly-button-h:not([disabled]):focus,.sc-smoothly-button-h:not([disabled]):active{border-color:var(--smoothly-button-border)}[type=button].sc-smoothly-button-h>a.sc-smoothly-button{display:block;text-align:center;text-decoration:inherit}[type=button].sc-smoothly-button-h>a.sc-smoothly-button{width:calc(100% - 0.6em)}.sc-smoothly-button-h>button.sc-smoothly-button{width:100%}[expand=fill].sc-smoothly-button-h{width:100%;border-left:none;border-right:none}";
164
+ const styleCss$D = "[type=link].sc-smoothly-button-h{display:inline}.sc-smoothly-button-h:not([type=link]){display:block}.sc-smoothly-button-h{margin:1em;border-style:solid;border-width:1px;border-radius:3px}[hidden].sc-smoothly-button-h{display:none}[disabled].sc-smoothly-button-h{opacity:0.5}a.sc-smoothly-button,button.sc-smoothly-button{display:block;border-color:transparent;background-color:transparent;padding:0.2em 0.3em;font-size:110%;font-weight:400}.sc-smoothly-button-h:not([disabled]):hover,.sc-smoothly-button-h:not([disabled]):focus,.sc-smoothly-button-h:not([disabled]):active{border-color:var(--smoothly-button-border)}[type=button].sc-smoothly-button-h>a.sc-smoothly-button{display:block;text-align:center;text-decoration:inherit}[type=button].sc-smoothly-button-h>a.sc-smoothly-button{width:calc(100% - 0.6em)}.sc-smoothly-button-h>button.sc-smoothly-button{width:100%}[expand=fill].sc-smoothly-button-h{width:100%;border-left:none;border-right:none}";
165
165
 
166
166
  const SmoothlyButton = class {
167
167
  constructor(hostRef) {
@@ -45886,7 +45886,9 @@ const styleCss$t = ".sc-smoothly-input-h{display:block;position:relative;font-we
45886
45886
  const SmoothlyInput = class {
45887
45887
  constructor(hostRef) {
45888
45888
  registerInstance(this, hostRef);
45889
- this.smoothlyChanged = createEvent(this, "smoothlyChanged", 7);
45889
+ this.smoothlyBlur = createEvent(this, "smoothlyBlur", 7);
45890
+ this.smoothlyChange = createEvent(this, "smoothlyChange", 7);
45891
+ this.smoothlyInput = createEvent(this, "smoothlyInput", 7);
45890
45892
  this.keepFocusOnReRender = false;
45891
45893
  this.type = "text";
45892
45894
  this.required = false;
@@ -45895,6 +45897,7 @@ const SmoothlyInput = class {
45895
45897
  this.maxLength = Number.POSITIVE_INFINITY;
45896
45898
  this.autocomplete = true;
45897
45899
  this.disabled = false;
45900
+ this.readonly = false;
45898
45901
  }
45899
45902
  get formatter() {
45900
45903
  let result;
@@ -45920,7 +45923,7 @@ const SmoothlyInput = class {
45920
45923
  if (value != before) {
45921
45924
  if (typeof value == "string")
45922
45925
  value = value.trim();
45923
- this.smoothlyChanged.emit({ name: this.name, value });
45926
+ this.smoothlyInput.emit({ name: this.name, value });
45924
45927
  }
45925
45928
  }
45926
45929
  onCurrency() {
@@ -45970,8 +45973,14 @@ const SmoothlyInput = class {
45970
45973
  const after = this.formatter.format(dist.StateEditor.copy(this.formatter.unformat(dist.StateEditor.copy(Object.assign({}, this.state)))));
45971
45974
  this.updateBackend(after, this.inputElement);
45972
45975
  }
45973
- onBlur(event) { }
45976
+ onBlur(event) {
45977
+ this.smoothlyBlur.emit();
45978
+ if (this.initialValue != this.value)
45979
+ this.smoothlyChange.emit({ name: this.name, value: this.value });
45980
+ this.initialValue = undefined;
45981
+ }
45974
45982
  onFocus(event) {
45983
+ this.initialValue = this.value;
45975
45984
  const after = this.formatter.format(dist.StateEditor.copy(this.formatter.unformat(dist.StateEditor.copy(Object.assign({}, this.state)))));
45976
45985
  if (event.target)
45977
45986
  this.updateBackend(after, event.target);
@@ -46047,8 +46056,10 @@ const SmoothlyInput = class {
46047
46056
  return value;
46048
46057
  }
46049
46058
  processKey(event, backend) {
46050
- const after = dist.Action.apply(this.formatter, this.state, event);
46051
- this.updateBackend(after, backend);
46059
+ if (!this.readonly) {
46060
+ const after = dist.Action.apply(this.formatter, this.state, event);
46061
+ this.updateBackend(after, backend);
46062
+ }
46052
46063
  }
46053
46064
  updateBackend(after, backend) {
46054
46065
  if (after.value != backend.value)
@@ -46063,7 +46074,7 @@ const SmoothlyInput = class {
46063
46074
  }
46064
46075
  render() {
46065
46076
  var _a, _b, _c, _d, _e, _f, _g;
46066
- return (h(Host, { class: { "has-value": ((_a = this.state) === null || _a === void 0 ? void 0 : _a.value) != undefined && ((_b = this.state) === null || _b === void 0 ? void 0 : _b.value) != "" }, onclick: () => { var _a; return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.focus(); } }, h("div", null, h("input", { name: this.name, type: (_c = this.state) === null || _c === void 0 ? void 0 : _c.type, placeholder: this.placeholder, required: this.required, autocomplete: this.autocomplete ? (_d = this.state) === null || _d === void 0 ? void 0 : _d.autocomplete : "off", disabled: this.disabled, pattern: ((_e = this.state) === null || _e === void 0 ? void 0 : _e.pattern) && ((_f = this.state) === null || _f === void 0 ? void 0 : _f.pattern.source), value: (_g = this.state) === null || _g === void 0 ? void 0 : _g.value, onInput: (e) => this.onInput(e), onFocus: e => this.onFocus(e), onClick: e => this.onClick(e), onBlur: e => this.onBlur(e), onKeyDown: e => this.onKeyDown(e), ref: (el) => (this.inputElement = el), onPaste: e => this.onPaste(e) }), h("label", { htmlFor: this.name }, h("slot", null)), h("smoothly-icon", { name: "alert-circle", color: "danger", fill: "clear", size: "small" }))));
46077
+ return (h(Host, { class: { "has-value": ((_a = this.state) === null || _a === void 0 ? void 0 : _a.value) != undefined && ((_b = this.state) === null || _b === void 0 ? void 0 : _b.value) != "" }, onclick: () => { var _a; return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.focus(); } }, h("div", null, h("input", { name: this.name, type: (_c = this.state) === null || _c === void 0 ? void 0 : _c.type, placeholder: this.placeholder, required: this.required, autocomplete: this.autocomplete ? (_d = this.state) === null || _d === void 0 ? void 0 : _d.autocomplete : "off", disabled: this.disabled, readOnly: this.readonly, pattern: ((_e = this.state) === null || _e === void 0 ? void 0 : _e.pattern) && ((_f = this.state) === null || _f === void 0 ? void 0 : _f.pattern.source), value: (_g = this.state) === null || _g === void 0 ? void 0 : _g.value, onInput: (e) => this.onInput(e), onFocus: e => this.onFocus(e), onClick: e => this.onClick(e), onBlur: e => this.onBlur(e), onKeyDown: e => this.onKeyDown(e), ref: (el) => (this.inputElement = el), onPaste: e => this.onPaste(e) }), h("label", { htmlFor: this.name }, h("slot", null)), h("smoothly-icon", { name: "alert-circle", color: "danger", fill: "clear", size: "small" }))));
46067
46078
  }
46068
46079
  static get watchers() { return {
46069
46080
  "value": ["valueWatcher"],
@@ -46076,7 +46087,7 @@ function getLocale() {
46076
46087
  }
46077
46088
  SmoothlyInput.style = styleCss$t;
46078
46089
 
46079
- const styleCss$s = ".sc-smoothly-input-date-h{position:relative}nav.sc-smoothly-input-date{position:absolute;z-index:10;top:3.5em;background-color:rgb(var(--smoothly-default-shade));max-width:22em}.sc-smoothly-input-date-h>div.sc-smoothly-input-date{position:fixed;top:0px;left:0px;right:0px;bottom:0px;width:100vw;height:100vh;z-index:2}.sc-smoothly-input-date-h>nav.sc-smoothly-input-date>.arrow.sc-smoothly-input-date{position:absolute;z-index:9;transform:translate(2em, -.55em) rotate(45deg);width:1em;height:1em;background-color:rgb(var(--smoothly-default-shade))}";
46090
+ const styleCss$s = ".sc-smoothly-input-date-h{position:relative}nav.sc-smoothly-input-date{position:absolute;z-index:10;top:3.5em;background-color:rgb(var(--smoothly-default-shade));max-width:22em}.sc-smoothly-input-date-h>div.sc-smoothly-input-date{position:fixed;top:0px;left:0px;right:0px;bottom:0px;width:100vw;height:100vh;z-index:2}.sc-smoothly-input-date-h>nav.sc-smoothly-input-date>.arrow.sc-smoothly-input-date{position:absolute;z-index:9;transform:translate(2em, -0.55em) rotate(45deg);width:1em;height:1em;background-color:rgb(var(--smoothly-default-shade))}";
46080
46091
 
46081
46092
  const InputDate = class {
46082
46093
  constructor(hostRef) {
@@ -46093,7 +46104,7 @@ const InputDate = class {
46093
46104
  render() {
46094
46105
  var _a;
46095
46106
  return [
46096
- h("smoothly-input", { onClick: () => (this.open = !this.open), disabled: this.disabled, type: "date", value: this.value, onSmoothlyChanged: e => (this.value = e.detail.value) }, h("slot", null)),
46107
+ h("smoothly-input", { onClick: () => (this.open = !this.open), disabled: this.disabled, type: "date", value: this.value, onSmoothlyInput: e => (this.value = e.detail.value) }, h("slot", null)),
46097
46108
  this.open && !this.disabled
46098
46109
  ? [
46099
46110
  h("div", { onClick: () => (this.open = false) }),
@@ -46138,7 +46149,7 @@ const InputDateRange = class {
46138
46149
  render() {
46139
46150
  var _a;
46140
46151
  return [
46141
- h("section", { onClick: () => (this.open = !this.open) }, h("smoothly-input", { type: "date", value: this.start, showLabel: this.showLabel, onSmoothlyChanged: e => (this.start = e.detail.value) }, "from"), h("span", null, "\u2013"), h("smoothly-input", { type: "date", showLabel: this.showLabel, value: this.end, onSmoothlyChanged: e => (this.end = e.detail.value) }, "to")),
46152
+ h("section", { onClick: () => (this.open = !this.open) }, h("smoothly-input", { type: "date", value: this.start, showLabel: this.showLabel, onSmoothlyInput: e => (this.start = e.detail.value) }, "from"), h("span", null, "\u2013"), h("smoothly-input", { type: "date", showLabel: this.showLabel, value: this.end, onSmoothlyInput: e => (this.end = e.detail.value) }, "to")),
46142
46153
  this.open ? h("div", { onClick: () => (this.open = false) }) : [],
46143
46154
  this.open ? (h("nav", null, h("div", { class: "arrow" }), h("smoothly-calendar", { doubleInput: true, value: (_a = this.value) !== null && _a !== void 0 ? _a : dist$2.Date.now(), onValueChanged: event => {
46144
46155
  this.value = event.detail;
@@ -46158,7 +46169,7 @@ const SmoothlyInputDemo = class {
46158
46169
  }
46159
46170
  render() {
46160
46171
  return [
46161
- h("form", { action: "done", style: { position: "relative" } }, h("header", null, h("h5", null, "Address")), h("main", null, h("smoothly-input", { type: "text", name: "name" }, "Name"), h("smoothly-input", { type: "date", name: "date" }, "Date"), h("smoothly-input", { type: "date-time", name: "date-time" }, "Date-Time"), h("smoothly-input", { type: "divisor", name: "divisor" }, "Divisor"), h("smoothly-input", { type: "text", name: "street", value: "street" }, "Street"), h("smoothly-input", { type: "card-number", name: "card" }, "Card #"), h("smoothly-input", { type: "card-expires", name: "card", style: { width: "calc(60% - 2px)" } }, "Expires"), h("smoothly-input", { type: "card-csc", name: "card", style: { width: "calc(40% - 1px)", borderLeft: "none" } }, "CVV/CVC"), h("smoothly-radio", { name: "option", value: "1" }, "option 1"), h("smoothly-radio", { name: "option", value: "2", checked: true }, "option 2"), h("smoothly-radio", { name: "option", value: "3" }, "option 3"), h("smoothly-accordion", null, h("smoothly-accordion-item", { name: "A", open: true }, h("smoothly-radio", { name: "a", value: "1" }, "a 1"), h("smoothly-radio", { name: "a", value: "2", checked: true }, "a 2"), h("smoothly-radio", { name: "a", value: "3" }, "a 3")), h("smoothly-accordion-item", { name: "B" }, h("smoothly-radio", { name: "b", value: "1" }, "b 1"), h("smoothly-radio", { name: "b", value: "2" }, "b 2"), h("smoothly-radio", { name: "b", value: "3" }, "b 3"))), h("smoothly-display-amount", { currency: "SEK", amount: "1289.5" }), h("smoothly-display-date-time", { datetime: "2019-01-31T20:01:34" }), h("smoothly-checkbox", { selectAll: true, intermediate: true }), h("smoothly-checkbox", null), h("smoothly-checkbox", { disabled: true }), h("smoothly-address-display", { value: '{ "countryCode": "SE", "street": "Korkstigen 2", "zipCode": "654 31", "city": "Fejksala" }' }), h("smoothly-address", { editable: false, value: '{ "countryCode": "SE", "street": "Stigv\u00E4gen 34", "zipCode": "123 45", "city": "Hobbiton" }' }), h("smoothly-addresses", { allowed: "billing delivery visit", editable: true, value: '{ "billing": { "countryCode": "SE", "street": "Rundslingan 3", "zipCode": "987 65", "city": "Klotby" }, "visit": { "countryCode": "SE", "street": "G\u00E5ngbanan 34", "zipCode": "543 21", "city": "Trasktr\u00E4sk" } }' }), h("smoothly-input", { type: "postal-code", name: "zip", style: { width: "calc(60% - 2px)" } }, "ZipCode"), h("smoothly-input", { type: "text", name: "testing" }, "Texttest"), h("smoothly-input", { type: "password", name: "password" }, "Password"), h("smoothly-input", { type: "email", name: "email" }, "Email"), h("smoothly-input", { type: "price", currency: "SEK", name: "price" }, "Price"), h("smoothly-input", { type: "percent", name: "percent" }, "Percent"), h("smoothly-input", { type: "phone", name: "phone" }, "Phone"), h("smoothly-input-date", null, "Date")), h("footer", null, h("smoothly-submit", { expand: "block", onSubmit: (e) => alert(e), color: "success" }, "Submit"), h("smoothly-trigger", { expand: "block", color: "success", onClick: (e) => console.log(e.detail) }, "Trigger"))),
46172
+ h("form", { action: "done", style: { position: "relative" } }, h("header", null, h("h5", null, "Address")), h("main", null, h("smoothly-input", { type: "text", name: "name", readonly: true, value: "Readonly", onSmoothlyBlur: () => console.log("smoothly blur") }, "Readonly"), h("smoothly-input", { type: "text", name: "name", onSmoothlyChange: e => console.log("smoothly change event") }, "Name"), h("smoothly-input", { type: "date", name: "date" }, "Date"), h("smoothly-input", { type: "date-time", name: "date-time" }, "Date-Time"), h("smoothly-input", { type: "divisor", name: "divisor" }, "Divisor"), h("smoothly-input", { type: "text", name: "street", value: "street" }, "Street"), h("smoothly-input", { type: "card-number", name: "card" }, "Card #"), h("smoothly-input", { type: "card-expires", name: "card", style: { width: "calc(60% - 2px)" } }, "Expires"), h("smoothly-input", { type: "card-csc", name: "card", style: { width: "calc(40% - 1px)", borderLeft: "none" } }, "CVV/CVC"), h("smoothly-radio", { name: "option", value: "1" }, "option 1"), h("smoothly-radio", { name: "option", value: "2", checked: true }, "option 2"), h("smoothly-radio", { name: "option", value: "3" }, "option 3"), h("smoothly-accordion", null, h("smoothly-accordion-item", { name: "A", open: true }, h("smoothly-radio", { name: "a", value: "1" }, "a 1"), h("smoothly-radio", { name: "a", value: "2", checked: true }, "a 2"), h("smoothly-radio", { name: "a", value: "3" }, "a 3")), h("smoothly-accordion-item", { name: "B" }, h("smoothly-radio", { name: "b", value: "1" }, "b 1"), h("smoothly-radio", { name: "b", value: "2" }, "b 2"), h("smoothly-radio", { name: "b", value: "3" }, "b 3"))), h("smoothly-display-amount", { currency: "SEK", amount: "1289.5" }), h("smoothly-display-date-time", { datetime: "2019-01-31T20:01:34" }), h("smoothly-checkbox", { selectAll: true, intermediate: true }), h("smoothly-checkbox", null), h("smoothly-checkbox", { disabled: true }), h("smoothly-address-display", { value: '{ "countryCode": "SE", "street": "Korkstigen 2", "zipCode": "654 31", "city": "Fejksala" }' }), h("smoothly-address", { editable: false, value: '{ "countryCode": "SE", "street": "Stigv\u00E4gen 34", "zipCode": "123 45", "city": "Hobbiton" }' }), h("smoothly-addresses", { allowed: "billing delivery visit", editable: true, value: '{ "billing": { "countryCode": "SE", "street": "Rundslingan 3", "zipCode": "987 65", "city": "Klotby" }, "visit": { "countryCode": "SE", "street": "G\u00E5ngbanan 34", "zipCode": "543 21", "city": "Trasktr\u00E4sk" } }' }), h("smoothly-input", { type: "postal-code", name: "zip", style: { width: "calc(60% - 2px)" } }, "ZipCode"), h("smoothly-input", { type: "text", name: "testing" }, "Texttest"), h("smoothly-input", { type: "password", name: "password" }, "Password"), h("smoothly-input", { type: "email", name: "email" }, "Email"), h("smoothly-input", { type: "price", currency: "SEK", name: "price" }, "Price"), h("smoothly-input", { type: "percent", name: "percent" }, "Percent"), h("smoothly-input", { type: "phone", name: "phone" }, "Phone"), h("smoothly-input-date", null, "Date")), h("footer", null, h("smoothly-submit", { expand: "block", onSubmit: (e) => alert(e), color: "success" }, "Submit"), h("smoothly-trigger", { expand: "block", color: "success", onClick: (e) => console.log(e.detail) }, "Trigger"))),
46162
46173
  h("smoothly-backtotop", null),
46163
46174
  ];
46164
46175
  }
@@ -46195,7 +46206,7 @@ const MonthSelector = class {
46195
46206
  };
46196
46207
  MonthSelector.style = styleCss$q;
46197
46208
 
46198
- const styleCss$p = "[selected].sc-smoothly-item-h{background-color:rgb(var(--smoothly-primary-shade));color:rgb(var(--smoothly-primary-contrast))}.sc-smoothly-item-h{padding:.5em;cursor:pointer;background-color:rgb(var(--smoothly-default-shade));color:rgb(var(--smoothly-default-contrast));border:rgb(var(--smoothly-default-shade) solid 1px)}.sc-smoothly-item-h:hover{background-color:rgb(var(--smoothly-primary-color));color:rgb(var(--smoothly-primary-contrast))}";
46209
+ const styleCss$p = "[selected].sc-smoothly-item-h{background-color:rgb(var(--smoothly-primary-shade));color:rgb(var(--smoothly-primary-contrast))}.sc-smoothly-item-h{padding:0.5em;cursor:pointer;background-color:rgb(var(--smoothly-default-shade));color:rgb(var(--smoothly-default-contrast));border:rgb(var(--smoothly-default-shade) solid 1px)}.sc-smoothly-item-h:hover{background-color:rgb(var(--smoothly-primary-color));color:rgb(var(--smoothly-primary-contrast))}";
46199
46210
 
46200
46211
  const Item = class {
46201
46212
  constructor(hostRef) {
@@ -46236,12 +46247,15 @@ const styleCss$o = ":host{max-height:18.75rem;width:85%;max-height:var(--max-men
46236
46247
  const SmoothlyMenuOptions = class {
46237
46248
  constructor(hostRef) {
46238
46249
  registerInstance(this, hostRef);
46250
+ this.menuEmpty = createEvent(this, "menuEmpty", 7);
46239
46251
  this.filteredOptions = [];
46240
46252
  this.highlightIndex = 0;
46241
46253
  this.emptyMenuLabel = "No Options";
46254
+ this.newOptionLabel = "Add:";
46242
46255
  this.order = false;
46243
46256
  this.options = [];
46244
46257
  this.resetHighlightOnOptionsChange = true;
46258
+ this.mutable = false;
46245
46259
  }
46246
46260
  optionsChangeHandler(newOptions) {
46247
46261
  this.highlightIndex = this.resetHighlightOnOptionsChange ? 0 : this.highlightIndex;
@@ -46280,6 +46294,7 @@ const SmoothlyMenuOptions = class {
46280
46294
  return result;
46281
46295
  }
46282
46296
  async filterOptions(keyword, excludeValues = []) {
46297
+ this.keyword = keyword;
46283
46298
  const keywordLowercase = keyword.toLowerCase();
46284
46299
  this.filteredOptions = [];
46285
46300
  for (const option of this.options) {
@@ -46287,6 +46302,7 @@ const SmoothlyMenuOptions = class {
46287
46302
  const isVisible = names.toLowerCase().includes(keywordLowercase) && !excludeValues.includes(option.value);
46288
46303
  isVisible && this.filteredOptions.push(option);
46289
46304
  }
46305
+ this.menuEmpty.emit(!this.filteredOptions.length);
46290
46306
  this.order && this.sortOptions(keyword);
46291
46307
  }
46292
46308
  sortOptions(keyword) {
@@ -46323,7 +46339,7 @@ const SmoothlyMenuOptions = class {
46323
46339
  }
46324
46340
  }
46325
46341
  render() {
46326
- return (h(Host, { style: { "--max-menu-height": this.maxMenuHeight } }, this.filteredOptions.length > 0 ? (this.filteredOptions.map((option, index) => (h("smoothly-option", { style: this.optionStyle, ref: el => index == 0 && (this.firstOptionsElement = el !== null && el !== void 0 ? el : this.firstOptionsElement), value: option.value, name: option.name, divider: option.divider, "data-highlight": this.highlightIndex == index }, option.left ? h("div", { slot: "left" }, option.left) : undefined, option.right ? h("div", { slot: "right" }, option.right) : undefined)))) : (h("div", null, this.emptyMenuLabel))));
46342
+ return (h(Host, { style: { "--max-menu-height": this.maxMenuHeight } }, this.filteredOptions.length > 0 ? (this.filteredOptions.map((option, index) => (h("smoothly-option", { style: this.optionStyle, ref: el => index == 0 && (this.firstOptionsElement = el !== null && el !== void 0 ? el : this.firstOptionsElement), value: option.value, name: option.name, divider: option.divider, "data-highlight": this.highlightIndex == index }, option.left ? h("div", { slot: "left" }, option.left) : undefined, option.right ? h("div", { slot: "right" }, option.right) : undefined)))) : this.mutable ? (h("smoothly-option", { style: this.optionStyle, ref: el => (this.firstOptionsElement = el !== null && el !== void 0 ? el : this.firstOptionsElement), value: this.keyword, name: this.keyword, "data-highlight": 0, new: true }, h("div", { slot: "left" }, h("smoothly-icon", { name: "square-outline", size: "small" }), " ", this.newOptionLabel))) : (h("div", null, this.emptyMenuLabel))));
46327
46343
  }
46328
46344
  get element() { return getElement(this); }
46329
46345
  static get watchers() { return {
@@ -46414,13 +46430,14 @@ const Notifier = class {
46414
46430
  };
46415
46431
  Notifier.style = styleCss$m;
46416
46432
 
46417
- const styleCss$l = ":host{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:0.7em 1em;margin-left:1px;margin-right:1px;background-color:transparent;position:relative}:host([data-highlight]){background-color:rgb(var(--smoothly-default-shade))}:host>div.middle{padding-left:0.5em;flex-shrink:1;width:100%}:host([divider]){margin-bottom:0.5em}::slotted([slot=right]){font-style:italic;white-space:nowrap}:host([divider])::after{position:absolute;height:1px;width:100%;left:0;bottom:-0.25em;content:\"\";background-color:rgba(var(--smoothly-dark-color))}";
46433
+ const styleCss$l = ":host{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:0.7em 1em;margin-left:1px;margin-right:1px;background-color:transparent;position:relative}:host([data-highlight]){background-color:rgb(var(--smoothly-default-shade))}:host>div.middle{padding-left:0.5em;flex-shrink:1;width:100%}:host([divider]){margin-bottom:0.5em}::slotted([slot=right]){font-style:italic;white-space:nowrap}:host([divider])::after{position:absolute;height:1px;width:100%;left:0;bottom:-0.25em;content:\"\";background-color:rgba(var(--smoothly-dark-color))}::slotted([slot=left]){display:flex;align-items:center;gap:1ch}";
46418
46434
 
46419
46435
  const SmoothlyOption = class {
46420
46436
  constructor(hostRef) {
46421
46437
  registerInstance(this, hostRef);
46422
46438
  this.optionHover = createEvent(this, "optionHover", 7);
46423
46439
  this.optionSelect = createEvent(this, "optionSelect", 7);
46440
+ this.optionAdd = createEvent(this, "optionAdd", 7);
46424
46441
  this.dataHighlight = false;
46425
46442
  this.divider = false;
46426
46443
  }
@@ -46429,7 +46446,9 @@ const SmoothlyOption = class {
46429
46446
  }
46430
46447
  onSelect(event) {
46431
46448
  if (this.value)
46432
- this.optionSelect.emit({ name: this.name, value: this.value });
46449
+ this.new
46450
+ ? this.optionAdd.emit({ name: this.name, value: this.value })
46451
+ : this.optionSelect.emit({ name: this.name, value: this.value });
46433
46452
  else
46434
46453
  throw `smoothly-option ${this.element.innerHTML} lacks value-property and can therefore not be selected`;
46435
46454
  }
@@ -46446,15 +46465,20 @@ const SmoothlyPicker = class {
46446
46465
  constructor(hostRef) {
46447
46466
  registerInstance(this, hostRef);
46448
46467
  this.menuClose = createEvent(this, "menuClose", 7);
46468
+ this.notice = createEvent(this, "notice", 7);
46449
46469
  this.keepFocusOnReRender = false;
46450
46470
  this.emptyMenuLabel = "No Options";
46451
46471
  this.multiple = false;
46472
+ this.mutable = false;
46452
46473
  this.options = [];
46453
46474
  this.selections = [];
46454
46475
  this.selectNoneName = "Select None";
46476
+ this.selectAllName = "Select All";
46455
46477
  this.selectionName = "items selected";
46478
+ this.newOptionLabel = "Add:";
46479
+ this.valueValidator = _ => [true, undefined];
46456
46480
  }
46457
- isOpenChangeHander() {
46481
+ isOpenChangeHandler() {
46458
46482
  if (this.isOpen == false) {
46459
46483
  this.menuClose.emit(this.selections);
46460
46484
  }
@@ -46466,10 +46490,26 @@ const SmoothlyPicker = class {
46466
46490
  this.keepFocusOnReRender = false;
46467
46491
  }
46468
46492
  }
46469
- optionSelectHander(event) {
46493
+ optionSelectHandler(event) {
46470
46494
  this.toggle(event.detail);
46471
46495
  event.stopPropagation();
46472
46496
  }
46497
+ optionAddHandler(event) {
46498
+ if (this.mutable) {
46499
+ const [status, notice] = this.valueValidator(event.detail.value);
46500
+ if (status) {
46501
+ const option = Object.assign({}, event.detail);
46502
+ this.options = [...this.options, option];
46503
+ this.select(option);
46504
+ }
46505
+ notice && this.notice.emit(notice);
46506
+ }
46507
+ event.stopPropagation();
46508
+ }
46509
+ emptyHandler(event) {
46510
+ this.empty = event.detail;
46511
+ event.stopPropagation();
46512
+ }
46473
46513
  toggle(option) {
46474
46514
  option.value == "select-none"
46475
46515
  ? this.toggleAll()
@@ -46504,9 +46544,19 @@ const SmoothlyPicker = class {
46504
46544
  }
46505
46545
  toggleHighlighted() {
46506
46546
  var _a;
46507
- (_a = this.menuElement) === null || _a === void 0 ? void 0 : _a.getHighlighted().then((result) => {
46508
- result && this.toggle(result);
46509
- });
46547
+ if (this.mutable && this.empty) {
46548
+ const [status, notice] = this.valueValidator(this.inputElement.value);
46549
+ if (status) {
46550
+ const option = { name: this.inputElement.value, value: this.inputElement.value };
46551
+ this.options = [...this.options, option];
46552
+ this.select(option);
46553
+ }
46554
+ notice && this.notice.emit(notice);
46555
+ }
46556
+ else
46557
+ (_a = this.menuElement) === null || _a === void 0 ? void 0 : _a.getHighlighted().then((result) => {
46558
+ result && this.toggle(result);
46559
+ });
46510
46560
  }
46511
46561
  highlightDefault() {
46512
46562
  var _a;
@@ -46568,7 +46618,7 @@ const SmoothlyPicker = class {
46568
46618
  ? [
46569
46619
  {
46570
46620
  value: "select-none",
46571
- name: this.selectNoneName,
46621
+ name: this.selections.length == this.options.length ? this.selectNoneName : this.selectAllName,
46572
46622
  left: this.getCheckHtml(this.selections.length == ((_c = this.options) === null || _c === void 0 ? void 0 : _c.length)),
46573
46623
  divider: true,
46574
46624
  },
@@ -46578,12 +46628,12 @@ const SmoothlyPicker = class {
46578
46628
  ];
46579
46629
  return (h(Host, { style: cssVariables, "has-selection": this.selections.length > 0, "is-open": this.isOpen ? "" : undefined, onMouseDown: (e) => e.preventDefault(), onClick: () => this.onClick() }, h("div", null, h("smoothly-icon", { class: "search", name: "search-outline", size: "tiny" }), h("label", null, this.label), h("input", { type: "text", ref: (el) => (this.inputElement = el ? el : this.inputElement), onFocus: () => this.highlightDefault(), onBlur: () => this.onBlur(), placeholder: this.selections.length > 3
46580
46630
  ? this.selections.length.toString() + " " + this.selectionName
46581
- : this.selections.map(selection => selection.name).join(", "), onKeyDown: e => this.onKeyDown(e), onInput: (e) => this.onInput(e) }), h("smoothly-icon", { class: "down", name: "chevron-down", size: "tiny" }), h("smoothly-icon", { class: "up", name: "chevron-up", size: "tiny" })), h("smoothly-menu-options", { style: { width: "100%" }, optionStyle: Object.assign({}, this.optionStyle), order: false, emptyMenuLabel: this.emptyMenuLabel, "max-menu-height": this.maxMenuHeight, ref: (el) => (this.menuElement = el !== null && el !== void 0 ? el : this.menuElement), onClick: e => e.stopPropagation(), resetHighlightOnOptionsChange: false, options: options })));
46631
+ : this.selections.map(selection => selection.name).join(", "), onKeyDown: e => this.onKeyDown(e), onInput: (e) => this.onInput(e) }), h("smoothly-icon", { class: "down", name: "chevron-down", size: "tiny" }), h("smoothly-icon", { class: "up", name: "chevron-up", size: "tiny" })), h("smoothly-menu-options", { style: { width: "100%" }, optionStyle: Object.assign({}, this.optionStyle), order: false, emptyMenuLabel: this.emptyMenuLabel, newOptionLabel: this.newOptionLabel, "max-menu-height": this.maxMenuHeight, mutable: this.mutable, ref: (el) => (this.menuElement = el !== null && el !== void 0 ? el : this.menuElement), onClick: e => e.stopPropagation(), resetHighlightOnOptionsChange: false, options: options })));
46582
46632
  }
46583
46633
  get element() { return getElement(this); }
46584
46634
  static get watchers() { return {
46585
- "selections": ["isOpenChangeHander"],
46586
- "isOpen": ["isOpenChangeHander"]
46635
+ "selections": ["isOpenChangeHandler"],
46636
+ "isOpen": ["isOpenChangeHandler"]
46587
46637
  }; }
46588
46638
  };
46589
46639
  SmoothlyPicker.style = styleCss$k;
@@ -46731,7 +46781,7 @@ const SmoothlySelectDemo = class {
46731
46781
  { name: "Scary Kraken", value: "kraken" },
46732
46782
  ] }),
46733
46783
  h("br", null),
46734
- h("smoothly-picker", { label: "", "empty-menu-label": "Sorry, we're out of options.", "max-height": "58px", multiple: true, options: [
46784
+ h("smoothly-picker", { label: "Multiple", "empty-menu-label": "Sorry, we're out of options.", "max-height": "58px", multiple: true, options: [
46735
46785
  { name: "Big Dog", value: "dog", aliases: ["WOFF"] },
46736
46786
  { name: "Cat Stevens", value: "cat", aliases: ["moew"] },
46737
46787
  { name: "Noble Pig", value: "pig" },
@@ -46745,6 +46795,13 @@ const SmoothlySelectDemo = class {
46745
46795
  { name: "Scary Kraken", value: "kraken" },
46746
46796
  ] }),
46747
46797
  h("br", null),
46798
+ h("smoothly-picker", { label: "Multiple mutable", "max-height": "58px", multiple: true, mutable: true, newOptionLabel: "Invite:", options: [
46799
+ { name: "john@example.com", value: "john@example.com" },
46800
+ { name: "jane@example.com", value: "jane@example.com" },
46801
+ { name: "james@example.com", value: "james@example.com" },
46802
+ { name: "jessie@example.com", value: "jessie@example.com" },
46803
+ ], valueValidator: (email) => email.match(/^\w+@\w+/) ? [true, undefined] : [false, Notice.failed("Incorrectly formatted email")] }),
46804
+ h("br", null),
46748
46805
  h("smoothly-picker", { label: "Single select", multiple: false, "max-menu-height": "200px", options: [
46749
46806
  { name: "Dog", value: "dog", aliases: ["WOFF"], right: "Woof 🐶" },
46750
46807
  { name: "Cat", value: "cat", aliases: ["moew"] },
@@ -47037,6 +47094,7 @@ const SmoothlyTabSwitch = class {
47037
47094
  registerInstance(this, hostRef);
47038
47095
  }
47039
47096
  openChanged(event) {
47097
+ event.stopPropagation();
47040
47098
  this.selectedElement = event.target;
47041
47099
  this.selectedElement.open = true;
47042
47100
  this.element.after(event.detail);
@@ -47055,11 +47113,15 @@ const SmoothlyTabSwitch = class {
47055
47113
  };
47056
47114
  SmoothlyTabSwitch.style = styleCss$8;
47057
47115
 
47058
- const styleCss$7 = ".sc-smoothly-table-h{display:table;text-align:left;border-collapse:collapse;border:3px solid rgb(var(--smoothly-dark-color), 0.5);width:100%;box-sizing:border-box;background-color:rgb(var(--smoothly-default-color))}";
47116
+ const styleCss$7 = ".sc-smoothly-table-h{display:table;text-align:left;border:1px solid rgb(var(--smoothly-dark-color));width:80%;box-sizing:border-box;background-color:rgb(var(--smoothly-default-color));margin:1rem 9.5%;padding-bottom:0.5rem}.slot-detail.sc-smoothly-table>div.sc-smoothly-table{padding:10rem 0;margin-left:10rem}";
47059
47117
 
47060
47118
  const Table = class {
47061
47119
  constructor(hostRef) {
47062
47120
  registerInstance(this, hostRef);
47121
+ this.loadMore = createEvent(this, "loadMore", 7);
47122
+ }
47123
+ handleEvents(event) {
47124
+ event.stopPropagation();
47063
47125
  }
47064
47126
  render() {
47065
47127
  return [h("slot", null)];
@@ -47068,7 +47130,7 @@ const Table = class {
47068
47130
  };
47069
47131
  Table.style = styleCss$7;
47070
47132
 
47071
- const styleCss$6 = ".sc-smoothly-table-cell-h{display:table-cell;padding:0.5em}";
47133
+ const styleCss$6 = ".sc-smoothly-table-cell-h{display:table-cell;vertical-align:middle;line-height:1.5rem;padding:0.2rem 0 0.2rem 1rem}";
47072
47134
 
47073
47135
  const TableCell = class {
47074
47136
  constructor(hostRef) {
@@ -47088,20 +47150,20 @@ const TableDemo = class {
47088
47150
  }
47089
47151
  render() {
47090
47152
  return [
47091
- h("smoothly-table", null, h("smoothly-table-row", null, h("smoothly-table-header", null, "Header A"), h("smoothly-table-header", null, "Header B"), h("smoothly-table-header", null, "Header C")), h("smoothly-table-expandable-row", null, h("smoothly-table-expandable-cell", null, "Value 1A", h("div", { slot: "detail" }, "1A details")), h("smoothly-table-expandable-cell", null, h("smoothly-display", { type: "price", value: 20, currency: "EUR" }), h("div", { slot: "detail" }, "Budget details.")), h("smoothly-table-expandable-cell", null, h("smoothly-display", { type: "price", value: 18, currency: "EUR" }), h("div", { slot: "detail" }, "Cost details."))), h("smoothly-table-expandable-row", null, h("smoothly-table-expandable-cell", null, "Value 1A", h("div", { slot: "detail" }, "2A details")), h("smoothly-table-expandable-cell", null, h("smoothly-display", { type: "price", value: 30, currency: "EUR" }), h("div", { slot: "detail" }, "Budget details.")), h("smoothly-table-expandable-cell", null, h("smoothly-display", { type: "price", value: 38, currency: "EUR" }), h("div", { slot: "detail" }, "Cost details.")))),
47092
- h("smoothly-table", null, h("smoothly-table-row", null, h("smoothly-table-header", null, "Header D"), h("smoothly-table-header", null, "Header E"), h("smoothly-table-header", null, "Header F")), h("smoothly-table-row", null, h("smoothly-table-cell", null, "Value 1A"), h("smoothly-table-cell", null, h("smoothly-display", { type: "price", value: 20, currency: "EUR" })), h("smoothly-table-cell", null, h("smoothly-display", { type: "price", value: 18, currency: "EUR" })), h("div", { slot: "detail" }, "Cost details.")), h("smoothly-table-row", null, h("smoothly-table-cell", null, "Value 1A"), h("smoothly-table-cell", null, h("smoothly-display", { type: "price", value: 20, currency: "EUR" })), h("smoothly-table-cell", null, h("smoothly-display", { type: "price", value: 18, currency: "EUR" })), h("div", { slot: "detail" }, "Cost details."))),
47153
+ h("smoothly-table", null, h("smoothly-table-row", null, h("smoothly-table-header", null, "Header A"), h("smoothly-table-header", null, "Header B"), h("smoothly-table-header", null, "Header C"), h("smoothly-table-header", null, "Header D"), h("smoothly-table-header", null)), h("smoothly-table-row", null, h("smoothly-table-expandable-cell", null, "normal row (exp.cell)", h("div", { slot: "detail" }, "expandable cell 1 content")), h("smoothly-table-expandable-cell", null, "expandable cell", h("div", { slot: "detail" }, "expandable cell 2 content")), h("smoothly-table-expandable-cell", null, "expandable cell", h("div", { slot: "detail" }, "expandable cell 3 content")), h("smoothly-table-expandable-cell", null, "expandable cell", h("div", { slot: "detail" }, "expandable cell 4 content"))), h("smoothly-table-row", null, h("smoothly-table-cell", null, "normal row (nor.cell)\""), h("smoothly-table-cell", null, "normal cell"), h("smoothly-table-expandable-cell", null, "expandable cell", h("div", { slot: "detail" }, "expandable cell details.")), h("smoothly-table-expandable-cell", null, "expandable cell", h("div", { slot: "detail" }, "expandable cell details."))), h("smoothly-table-expandable-row", null, h("smoothly-table-cell", null, "expandable row (nor.cell)"), h("smoothly-table-cell", null, "Normal cell"), h("smoothly-table-cell", null, "normal cell"), h("smoothly-table-cell", null, "Normal cell"), h("div", { slot: "detail" }, "expandable row content"))),
47154
+ h("smoothly-table", null, h("smoothly-table-row", null, h("smoothly-table-header", null, "Header A"), h("smoothly-table-header", null)), h("smoothly-table-expandable-row", null, "A Content", h("div", { slot: "detail" }, h("smoothly-tab-switch", null, h("smoothly-tab", { label: "1", open: true }, h("smoothly-table", null, h("smoothly-table-row", null, h("smoothly-table-header", null, "Header B"), h("smoothly-table-header", null)), h("smoothly-table-expandable-row", null, h("smoothly-table-cell", null, "B Content")))))))),
47093
47155
  ];
47094
47156
  }
47095
47157
  };
47096
47158
  TableDemo.style = styleCss$5;
47097
47159
 
47098
- const styleCss$4 = ".sc-smoothly-table-expandable-cell-h{display:table-cell;padding:0.5em}.hide.sc-smoothly-table-expandable-cell{display:none}";
47160
+ const styleCss$4 = ".sc-smoothly-table-expandable-cell-h{display:table-cell;vertical-align:middle;line-height:1.5em;cursor:pointer;padding:0.2em 0 0.2em;border-style:solid solid none solid;border-width:2px;border-color:rgb(var(--smoothly-default-color))}.hide.sc-smoothly-table-expandable-cell{display:none}[open].sc-smoothly-table-expandable-cell-h{position:relative;z-index:3;background-color:rgb(var(--smoothly-default-color));border-style:solid solid none solid;border-width:2px;border-color:rgb(var(--smoothly-dark-color))}.slot-detail.sc-smoothly-table-expandable-cell{position:relative;background-color:rgb(var(--smoothly-default-color));width:104%;left:-2%;border-left-style:solid;border-left-color:rgb(var(--smoothly-tertiary-color));box-shadow:0px 0px 5px 4px rgb(var(--smoothly-dark-color), 0.5);box-sizing:border-box;padding:0.5rem 2%}.sc-smoothly-table-expandable-cell-h smoothly-icon.sc-smoothly-table-expandable-cell{width:0.6rem;height:1rem;float:left;padding-left:0.2rem;padding-right:0.2rem;padding-bottom:0.5rem;transition:transform 0.2s}[open].sc-smoothly-table-expandable-cell-h smoothly-icon.sc-smoothly-table-expandable-cell{transform:rotate(90deg)}";
47099
47161
 
47100
47162
  const TableExpandableCell = class {
47101
47163
  constructor(hostRef) {
47102
47164
  registerInstance(this, hostRef);
47103
47165
  this.expansionOpen = createEvent(this, "expansionOpen", 7);
47104
- this.expansionLoaded = createEvent(this, "expansionLoaded", 7);
47166
+ this.expansionLoad = createEvent(this, "expansionLoad", 7);
47105
47167
  this.align = "left";
47106
47168
  }
47107
47169
  openChanged(value) {
@@ -47115,7 +47177,7 @@ const TableExpandableCell = class {
47115
47177
  this.open = !this.open;
47116
47178
  }
47117
47179
  componentDidLoad() {
47118
- this.expansionLoaded.emit();
47180
+ this.expansionLoad.emit();
47119
47181
  }
47120
47182
  componentDidRender() {
47121
47183
  if (this.beginOpen) {
@@ -47124,7 +47186,7 @@ const TableExpandableCell = class {
47124
47186
  }
47125
47187
  }
47126
47188
  render() {
47127
- return (h(Host, { style: { textAlign: this.align } }, h("slot", null), h("tr", { ref: e => (this.expansionElement = e) }, h("td", { colSpan: 500, class: !this.open ? "hide" : "" }, h("slot", { name: "detail" })))));
47189
+ return (h(Host, { style: { textAlign: this.align } }, h("slot", null), h("smoothly-icon", { name: "chevron-forward", size: "tiny" }), h("tr", { ref: e => (this.expansionElement = e) }, h("td", { colSpan: 999, class: !this.open ? "hide" : "" }, h("div", { class: "slot-detail" }, h("slot", { name: "detail" }))))));
47128
47190
  }
47129
47191
  get element() { return getElement(this); }
47130
47192
  static get watchers() { return {
@@ -47133,71 +47195,71 @@ const TableExpandableCell = class {
47133
47195
  };
47134
47196
  TableExpandableCell.style = styleCss$4;
47135
47197
 
47136
- const styleCss$3 = ".sc-smoothly-table-expandable-row-h{display:table-row;border:1px solid rgb(var(--smoothly-default-color));cursor:pointer}.sc-smoothly-table-expandable-row-h:nth-child(even){background-color:rgb(var(--smoothly-default-tint))}.sc-smoothly-table-expandable-row-h:hover{background-color:rgb(var(--smoothly-default-color))}";
47198
+ const styleCss$3 = ".sc-smoothly-table-expandable-row-h{display:table-row;border:1px solid rgb(var(--smoothly-default-color));cursor:pointer;box-sizing:border-box}.hide.sc-smoothly-table-expandable-row{display:none}.slot-detail.sc-smoothly-table-expandable-row{position:relative;background-color:rgb(var(--smoothly-default-color));width:104%;left:-2%;border-left-style:solid;border-left-color:rgb(var(--smoothly-tertiary-color));box-shadow:0px 0px 5px 2px rgb(var(--smoothly-dark-color), 0.5);box-sizing:border-box;padding:0.5rem 2%}.sc-smoothly-table-expandable-row-h smoothly-icon.sc-smoothly-table-expandable-row{width:0.6rem;height:1rem;float:left;padding-left:0.2rem;padding-right:0.2rem;padding-bottom:0.5rem;transition:transform 0.2s}[open].sc-smoothly-table-expandable-row-h smoothly-icon.sc-smoothly-table-expandable-row{transform:rotate(90deg)}[open].sc-smoothly-table-expandable-row-h smoothly-table-cell.sc-smoothly-table-expandable-row{padding-bottom:0.5rem}[open].sc-smoothly-table-expandable-row-h{position:relative;z-index:3;background-color:rgb(var(--smoothly-default-color));border-style:solid;border-width:5px;box-shadow:inset 2px 0px 0px 0px rgb(var(--smoothly-dark-color)), inset 0px 2px 0px 0px rgb(var(--smoothly-dark-color)), inset -2px 0px 0px 0px rgb(var(--smoothly-dark-color)), inset 0px 0px 0px 2px rgb(var(--smoothly-default-color))}";
47137
47199
 
47138
47200
  const TableExpandableRow = class {
47139
47201
  constructor(hostRef) {
47140
47202
  registerInstance(this, hostRef);
47141
- this.expansions = [];
47203
+ this.expansionOpen = createEvent(this, "expansionOpen", 7);
47204
+ this.align = "left";
47142
47205
  }
47143
- onExpansionLoaded(event) {
47144
- this.expansions.push(event.target);
47206
+ openChanged(value) {
47207
+ if (this.expansionElement)
47208
+ this.element.after(this.expansionElement);
47145
47209
  }
47146
- onDetailsLoaded(event) {
47147
- this.expansions.forEach(cell => {
47148
- if (cell != event.target)
47149
- cell.open = false;
47150
- });
47151
- if (event.detail)
47152
- this.element.after(event.detail);
47210
+ onClick(e) {
47211
+ this.open = !this.open;
47212
+ e.stopPropagation();
47213
+ }
47214
+ componentDidRender() {
47215
+ this.expansionOpen.emit(this.expansionElement);
47216
+ if (this.expansionElement && this.open)
47217
+ this.element.after(this.expansionElement);
47153
47218
  }
47154
47219
  render() {
47155
- return (h(Host, null, h("slot", null)));
47220
+ return (h(Host, { style: { textAlign: this.align } }, h("slot", null), h("smoothly-table-cell", null, h("smoothly-icon", { name: "chevron-forward", size: "tiny" })), h("tr", { ref: e => (this.expansionElement = e) }, h("td", { colSpan: 999, class: !this.open ? "hide" : "" }, h("div", { class: "slot-detail" }, h("slot", { name: "detail" }))))));
47156
47221
  }
47157
47222
  get element() { return getElement(this); }
47223
+ static get watchers() { return {
47224
+ "open": ["openChanged"]
47225
+ }; }
47158
47226
  };
47159
47227
  TableExpandableRow.style = styleCss$3;
47160
47228
 
47161
- const styleCss$2 = ".sc-smoothly-table-header-h{display:table-cell;padding:0.75rem 0.5rem;background-color:rgb(var(--smoothly-default-color));border:1px solid rgb(var(--smoothly-dark-color), 0.5);line-height:2.5rem}";
47229
+ const styleCss$2 = ".sc-smoothly-table-header-h{display:table-cell;line-height:2.5rem;background-color:rgb(var(--smoothly-color-shade));border-bottom:1px solid rgb(var(--smoothly-dark-color));padding-left:1rem;font-weight:bold;margin-bottom:5rem}";
47162
47230
 
47163
47231
  const TableHeader = class {
47164
47232
  constructor(hostRef) {
47165
47233
  registerInstance(this, hostRef);
47166
47234
  }
47167
47235
  render() {
47168
- return h("slot", null);
47236
+ return (h(Host, null, h("slot", null)));
47169
47237
  }
47170
47238
  };
47171
47239
  TableHeader.style = styleCss$2;
47172
47240
 
47173
- const styleCss$1 = ".sc-smoothly-table-row-h{display:table-row;border:1px solid rgb(var(--smoothly-dark-color), 0.5);cursor:pointer}.sc-smoothly-table-row-h:nth-child(even){background-color:rgb(var(--smoothly-default-color))}.sc-smoothly-table-row-h:hover{background-color:rgb(var(--smoothly-default-color))}.hide.sc-smoothly-table-row{display:none}";
47241
+ const styleCss$1 = ".sc-smoothly-table-row-h{display:table-row;border:1px solid rgb(var(--smoothly-dark-color), 0.5);cursor:default}.hide.sc-smoothly-table-row{display:none}";
47174
47242
 
47175
47243
  const TableRow = class {
47176
47244
  constructor(hostRef) {
47177
47245
  registerInstance(this, hostRef);
47178
- this.expansionOpen = createEvent(this, "expansionOpen", 7);
47179
- this.align = "left";
47180
- }
47181
- openChanged(value) {
47182
- if (this.expansionElement)
47183
- this.element.after(this.expansionElement);
47246
+ this.expansions = [];
47184
47247
  }
47185
- onClick(e) {
47186
- this.open = !this.open;
47187
- e.stopPropagation();
47248
+ onExpansionLoad(event) {
47249
+ this.expansions.push(event.target);
47188
47250
  }
47189
- componentDidRender() {
47190
- this.expansionOpen.emit(this.expansionElement);
47191
- if (this.expansionElement && this.open)
47192
- this.element.after(this.expansionElement);
47251
+ onExpansionOpen(event) {
47252
+ this.expansions.forEach(cell => {
47253
+ if (cell != event.target)
47254
+ cell.open = false;
47255
+ });
47256
+ if (event.detail)
47257
+ this.element.after(event.detail);
47193
47258
  }
47194
47259
  render() {
47195
- return (h(Host, { style: { textAlign: this.align } }, h("slot", null), h("tr", { ref: e => (this.expansionElement = e) }, h("td", { colSpan: 500, class: !this.open ? "hide" : "" }, h("slot", { name: "detail" })))));
47260
+ return h("slot", null);
47196
47261
  }
47197
47262
  get element() { return getElement(this); }
47198
- static get watchers() { return {
47199
- "open": ["openChanged"]
47200
- }; }
47201
47263
  };
47202
47264
  TableRow.style = styleCss$1;
47203
47265