kemet-ui 3.0.0 → 3.0.1

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 (135) hide show
  1. package/custom-elements.json +657 -715
  2. package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +2 -2
  3. package/dist/components/kemet-accordion/kemet-accordion-panel.js +1 -1
  4. package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +1 -1
  5. package/dist/components/kemet-accordion/kemet-accordion.d.ts +3 -3
  6. package/dist/components/kemet-accordion/kemet-accordion.js +2 -1
  7. package/dist/components/kemet-accordion/kemet-accordion.js.map +1 -1
  8. package/dist/components/kemet-alert/kemet-alert.d.ts +2 -2
  9. package/dist/components/kemet-alert/kemet-alert.js.map +1 -1
  10. package/dist/components/kemet-badge/kemet-badge.js.map +1 -1
  11. package/dist/components/kemet-button/kemet-button.d.ts +2 -2
  12. package/dist/components/kemet-button/kemet-button.js +1 -1
  13. package/dist/components/kemet-button/kemet-button.js.map +1 -1
  14. package/dist/components/kemet-card/kemet-card.d.ts +1 -1
  15. package/dist/components/kemet-card/kemet-card.js +1 -1
  16. package/dist/components/kemet-card/kemet-card.js.map +1 -1
  17. package/dist/components/kemet-carousel/kemet-carousel-current.d.ts +1 -1
  18. package/dist/components/kemet-carousel/kemet-carousel-current.js.map +1 -1
  19. package/dist/components/kemet-carousel/kemet-carousel-last.d.ts +1 -1
  20. package/dist/components/kemet-carousel/kemet-carousel-last.js +1 -1
  21. package/dist/components/kemet-carousel/kemet-carousel-last.js.map +1 -1
  22. package/dist/components/kemet-carousel/kemet-carousel.d.ts +18 -14
  23. package/dist/components/kemet-carousel/kemet-carousel.js +32 -13
  24. package/dist/components/kemet-carousel/kemet-carousel.js.map +1 -1
  25. package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +4 -4
  26. package/dist/components/kemet-checkbox/kemet-checkbox.js +4 -4
  27. package/dist/components/kemet-checkbox/kemet-checkbox.js.map +1 -1
  28. package/dist/components/kemet-combo/kemet-combo.d.ts +8 -8
  29. package/dist/components/kemet-combo/kemet-combo.js +13 -17
  30. package/dist/components/kemet-combo/kemet-combo.js.map +1 -1
  31. package/dist/components/kemet-count/kemet-count.d.ts +1 -1
  32. package/dist/components/kemet-count/kemet-count.js +1 -1
  33. package/dist/components/kemet-count/kemet-count.js.map +1 -1
  34. package/dist/components/kemet-draggable/kemet-draggable.d.ts +3 -3
  35. package/dist/components/kemet-draggable/kemet-draggable.js +6 -5
  36. package/dist/components/kemet-draggable/kemet-draggable.js.map +1 -1
  37. package/dist/components/kemet-drawer/kemet-drawer.d.ts +2 -2
  38. package/dist/components/kemet-drawer/kemet-drawer.js +2 -2
  39. package/dist/components/kemet-drawer/kemet-drawer.js.map +1 -1
  40. package/dist/components/kemet-drawer/styles.js +1 -0
  41. package/dist/components/kemet-drawer/styles.js.map +1 -1
  42. package/dist/components/kemet-fab/kemet-fab.d.ts +1 -1
  43. package/dist/components/kemet-fab/kemet-fab.js +1 -1
  44. package/dist/components/kemet-fab/kemet-fab.js.map +1 -1
  45. package/dist/components/kemet-field/kemet-field.d.ts +7 -7
  46. package/dist/components/kemet-field/kemet-field.js +9 -14
  47. package/dist/components/kemet-field/kemet-field.js.map +1 -1
  48. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +1 -1
  49. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js +2 -3
  50. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js.map +1 -1
  51. package/dist/components/kemet-flipcard/kemet-flipcard.d.ts +2 -2
  52. package/dist/components/kemet-flipcard/kemet-flipcard.js +3 -5
  53. package/dist/components/kemet-flipcard/kemet-flipcard.js.map +1 -1
  54. package/dist/components/kemet-input/kemet-input.d.ts +3 -22
  55. package/dist/components/kemet-input/kemet-input.js +3 -23
  56. package/dist/components/kemet-input/kemet-input.js.map +1 -1
  57. package/dist/components/kemet-modal/kemet-modal.d.ts +4 -4
  58. package/dist/components/kemet-modal/kemet-modal.js +3 -3
  59. package/dist/components/kemet-modal/kemet-modal.js.map +1 -1
  60. package/dist/components/kemet-password/kemet-password.d.ts +14 -8
  61. package/dist/components/kemet-password/kemet-password.js +4 -33
  62. package/dist/components/kemet-password/kemet-password.js.map +1 -1
  63. package/dist/components/kemet-popper/kemet-popper-close.d.ts +1 -1
  64. package/dist/components/kemet-popper/kemet-popper-close.js +2 -3
  65. package/dist/components/kemet-popper/kemet-popper-close.js.map +1 -1
  66. package/dist/components/kemet-popper/kemet-popper.d.ts +18 -7
  67. package/dist/components/kemet-popper/kemet-popper.js +21 -25
  68. package/dist/components/kemet-popper/kemet-popper.js.map +1 -1
  69. package/dist/components/kemet-radio/kemet-radios.d.ts +5 -4
  70. package/dist/components/kemet-radio/kemet-radios.js +10 -4
  71. package/dist/components/kemet-radio/kemet-radios.js.map +1 -1
  72. package/dist/components/kemet-rotator/kemet-rotator.d.ts +1 -1
  73. package/dist/components/kemet-rotator/kemet-rotator.js +1 -2
  74. package/dist/components/kemet-rotator/kemet-rotator.js.map +1 -1
  75. package/dist/components/kemet-scroll-link/kemet-scroll-link.d.ts +2 -2
  76. package/dist/components/kemet-scroll-link/kemet-scroll-link.js +11 -10
  77. package/dist/components/kemet-scroll-link/kemet-scroll-link.js.map +1 -1
  78. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +2 -2
  79. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +2 -7
  80. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +1 -1
  81. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +5 -4
  82. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +1 -1
  83. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +1 -1
  84. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +1 -1
  85. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +1 -1
  86. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +1 -1
  87. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +3 -2
  88. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +2 -7
  89. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +1 -1
  90. package/dist/components/kemet-select/kemet-option.d.ts +1 -1
  91. package/dist/components/kemet-select/kemet-option.js +1 -1
  92. package/dist/components/kemet-select/kemet-option.js.map +1 -1
  93. package/dist/components/kemet-select/kemet-select.d.ts +19 -10
  94. package/dist/components/kemet-select/kemet-select.js +3 -44
  95. package/dist/components/kemet-select/kemet-select.js.map +1 -1
  96. package/dist/components/kemet-sortable/kemet-sortable.d.ts +5 -5
  97. package/dist/components/kemet-sortable/kemet-sortable.js +5 -5
  98. package/dist/components/kemet-sortable/kemet-sortable.js.map +1 -1
  99. package/dist/components/kemet-svgs/kemet-svgs.d.ts +1 -1
  100. package/dist/components/kemet-svgs/kemet-svgs.js +1 -1
  101. package/dist/components/kemet-svgs/kemet-svgs.js.map +1 -1
  102. package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +1 -0
  103. package/dist/components/kemet-tabs/kemet-tab-panel.js +3 -0
  104. package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
  105. package/dist/components/kemet-tabs/kemet-tab.d.ts +1 -0
  106. package/dist/components/kemet-tabs/kemet-tab.js +4 -1
  107. package/dist/components/kemet-tabs/kemet-tab.js.map +1 -1
  108. package/dist/components/kemet-tabs/kemet-tabs.d.ts +23 -14
  109. package/dist/components/kemet-tabs/kemet-tabs.js +3 -47
  110. package/dist/components/kemet-tabs/kemet-tabs.js.map +1 -1
  111. package/dist/components/kemet-textarea/kemet-textarea.js.map +1 -1
  112. package/dist/components/kemet-toggle/kemet-toggle.d.ts +3 -3
  113. package/dist/components/kemet-toggle/kemet-toggle.js +3 -3
  114. package/dist/components/kemet-toggle/kemet-toggle.js.map +1 -1
  115. package/dist/components/kemet-tooltip/kemet-tooltip.d.ts +2 -2
  116. package/dist/components/kemet-tooltip/kemet-tooltip.js +13 -12
  117. package/dist/components/kemet-tooltip/kemet-tooltip.js.map +1 -1
  118. package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +2 -2
  119. package/dist/components/kemet-tracker/kemet-tracker-step.js +2 -2
  120. package/dist/components/kemet-tracker/kemet-tracker-step.js.map +1 -1
  121. package/dist/components/kemet-tracker/kemet-tracker.d.ts +2 -1
  122. package/dist/components/kemet-tracker/kemet-tracker.js.map +1 -1
  123. package/dist/components/kemet-upload/kemet-upload-file.js +1 -2
  124. package/dist/components/kemet-upload/kemet-upload-file.js.map +1 -1
  125. package/dist/components/kemet-upload/kemet-upload.d.ts +3 -3
  126. package/dist/components/kemet-upload/kemet-upload.js +3 -8
  127. package/dist/components/kemet-upload/kemet-upload.js.map +1 -1
  128. package/dist/kemet-components.bundle.js +98 -86
  129. package/dist/kemet-components.bundle.js.map +1 -1
  130. package/dist/kemet-components.cjs +8680 -8803
  131. package/dist/kemet-components.js +8680 -8803
  132. package/dist/styles/kemet.core.css +1 -561
  133. package/dist/styles/kemet.core.css.map +1 -1
  134. package/dist/tsconfig.tsbuildinfo +1 -1
  135. package/package.json +5 -3
@@ -22,7 +22,7 @@ const preventDefaults = (event) => {
22
22
  * @prop {string} heading - Descriptive text for the upload area
23
23
  * @prop {boolean} mobile - Displays the component in a mobile context
24
24
  * @prop {string} breakpoint - Controls the point at which the component is considered mobile
25
- * @prop {boolean} noDragDrop - If true if drag and drop support is not detected
25
+ * @prop {boolean} noDragDrop - Is true if drag and drop support is not detected
26
26
  * @prop {number} maxSize - The maximum file size for uploads
27
27
  * @prop {string} buttonLabel - The browse files button text
28
28
  *
@@ -73,7 +73,7 @@ let KemetUpload = class KemetUpload extends LitElement {
73
73
  id=${this.slug}
74
74
  ?multiple=${this.multiple}
75
75
  accept=${ifDefined(this.accept) ? this.accept : null}
76
- @change=${event => this.handleChange(event)}
76
+ @change=${(event) => this.handleChange(event)}
77
77
  />
78
78
  <h3 class="heading" part="heading">${this.heading}</h3>
79
79
  <label class="button" part="button" for=${this.slug}>${this.buttonLabel}</label>
@@ -102,12 +102,7 @@ let KemetUpload = class KemetUpload extends LitElement {
102
102
  this.mobile = mediaQuery.matches;
103
103
  }
104
104
  hasDragDrop() {
105
- if ('draggable' in document.createElement('span')) {
106
- this.noDragDrop = false;
107
- }
108
- else {
109
- this.noDragDrop = true;
110
- }
105
+ this.noDragDrop = !('draggable' in document.createElement('span'));
111
106
  }
112
107
  };
113
108
  KemetUpload.styles = [stylesUpload];
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-upload.js","sourceRoot":"","sources":["../../../src/components/kemet-upload/kemet-upload.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesUpload } from './styles';\n\nconst preventDefaults = (event) => {\n event.preventDefault();\n event.stopPropagation();\n};\n\n/**\n * @since 1.3.0\n * @status stable\n *\n * @tagname kemet-upload\n * @summary An interface for uploading files.\n *\n * @prop {string} slug - A unique identifier for the component\n * @prop {string} accept - Determines what file types are accepted\n * @prop {boolean} multiple - Allows for multiple files\n * @prop {boolean} over - Automatically is true when a file is being dragged over the upload area\n * @prop {string} heading - Descriptive text for the upload area\n * @prop {boolean} mobile - Displays the component in a mobile context\n * @prop {string} breakpoint - Controls the point at which the component is considered mobile\n * @prop {boolean} noDragDrop - If true if drag and drop support is not detected\n * @prop {number} maxSize - The maximum file size for uploads\n * @prop {string} buttonLabel - The browse files button text\n *\n * @event kemet-upload-change - Fires when files have been added\n *\n * @csspart upload - The area where files are dropped.\n * @csspart heading - The description in the upload area.\n * @csspart button - The button in the upload area.\n * @csspart files - The area where uploaded files are listed.\n *\n * @cssproperty --kemet-upload-color - The default text color.\n * @cssproperty --kemet-upload-height - The height.\n * @cssproperty --kemet-upload-border - The border.\n * @cssproperty --kemet-upload-background-color - The background color.\n *\n */\n\n@customElement('kemet-upload')\nexport default class KemetUpload extends LitElement {\n static styles = [stylesUpload];\n\n @property({ type: String })\n slug: string = 'upload';\n\n @property({ type: String })\n accept: string;\n\n @property({ type: Boolean })\n multiple: boolean;\n\n @property({ type: Boolean, reflect: true })\n over: boolean;\n\n @property({ type: String })\n heading: string = 'Drag & Drop Files';\n\n @property({ type: Boolean, reflect: true })\n mobile: boolean;\n\n @property({ type: String, reflect: true })\n breakpoint: string = '600px';\n\n @property({ type: Boolean, reflect: true, attribute: 'no-drag-drop' })\n noDragDrop: boolean;\n\n @property({ type: Number, attribute: 'max-size' })\n maxSize: number;\n\n @property({ type: String, attribute: 'button-label' })\n buttonLabel: string = 'Browse Files';\n\n @state()\n fileInputElement: HTMLInputElement;\n\n @state()\n upload: HTMLElement;\n\n firstUpdated() {\n this.fileInputElement = this.shadowRoot.querySelector('[type=\"file\"]');\n this.upload = this.shadowRoot.querySelector('.upload');\n\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.upload.addEventListener(eventName, event => preventDefaults(event), false);\n });\n\n ['dragenter', 'dragover'].forEach((eventName) => {\n this.upload.addEventListener(eventName, () => { this.over = true; }, false);\n });\n\n ['dragleave', 'drop'].forEach((eventName) => {\n this.upload.addEventListener(eventName, () => { this.over = false; }, false);\n });\n\n this.isMobile();\n this.hasDragDrop();\n\n window.addEventListener('resize', () => { this.isMobile(); });\n this.upload.addEventListener('drop', event => this.handleDrop(event), false);\n }\n\n render() {\n return html`\n <div class=\"upload\" part=\"upload\">\n <kemet-icon icon=\"cloud-arrow-up\" size=\"128\"></kemet-icon>\n <input\n type=\"file\"\n id=${this.slug}\n ?multiple=${this.multiple}\n accept=${ifDefined(this.accept) ? this.accept : null}\n @change=${event => this.handleChange(event)}\n />\n <h3 class=\"heading\" part=\"heading\">${this.heading}</h3>\n <label class=\"button\" part=\"button\" for=${this.slug}>${this.buttonLabel}</label>\n </div>\n <div class=\"files\" part=\"files\">\n <slot></slot>\n </div>\n `;\n }\n\n handleChange(event) {\n emitEvent(this, 'kemet-upload-change', {\n event,\n files: this.fileInputElement.files,\n fileElement: this.fileInputElement,\n });\n }\n\n handleDrop(event) {\n emitEvent(this, 'kemet-upload-change', {\n event,\n files: event?.dataTransfer.files || [],\n fileElement: this.fileInputElement,\n });\n }\n\n isMobile() {\n const mediaQuery = window.matchMedia(`(max-width: ${this.breakpoint})`);\n this.mobile = mediaQuery.matches;\n }\n\n hasDragDrop() {\n if ('draggable' in document.createElement('span')) {\n this.noDragDrop = false;\n } else {\n this.noDragDrop = true;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-upload': KemetUpload\n }\n}\n"]}
1
+ {"version":3,"file":"kemet-upload.js","sourceRoot":"","sources":["../../../src/components/kemet-upload/kemet-upload.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesUpload } from './styles';\n\nconst preventDefaults = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n};\n\n/**\n * @since 1.3.0\n * @status stable\n *\n * @tagname kemet-upload\n * @summary An interface for uploading files.\n *\n * @prop {string} slug - A unique identifier for the component\n * @prop {string} accept - Determines what file types are accepted\n * @prop {boolean} multiple - Allows for multiple files\n * @prop {boolean} over - Automatically is true when a file is being dragged over the upload area\n * @prop {string} heading - Descriptive text for the upload area\n * @prop {boolean} mobile - Displays the component in a mobile context\n * @prop {string} breakpoint - Controls the point at which the component is considered mobile\n * @prop {boolean} noDragDrop - Is true if drag and drop support is not detected\n * @prop {number} maxSize - The maximum file size for uploads\n * @prop {string} buttonLabel - The browse files button text\n *\n * @event kemet-upload-change - Fires when files have been added\n *\n * @csspart upload - The area where files are dropped.\n * @csspart heading - The description in the upload area.\n * @csspart button - The button in the upload area.\n * @csspart files - The area where uploaded files are listed.\n *\n * @cssproperty --kemet-upload-color - The default text color.\n * @cssproperty --kemet-upload-height - The height.\n * @cssproperty --kemet-upload-border - The border.\n * @cssproperty --kemet-upload-background-color - The background color.\n *\n */\n\n@customElement('kemet-upload')\nexport default class KemetUpload extends LitElement {\n static styles = [stylesUpload];\n\n @property({ type: String })\n slug: string = 'upload';\n\n @property({ type: String })\n accept: string;\n\n @property({ type: Boolean })\n multiple: boolean;\n\n @property({ type: Boolean, reflect: true })\n over: boolean;\n\n @property({ type: String })\n heading: string = 'Drag & Drop Files';\n\n @property({ type: Boolean, reflect: true })\n mobile: boolean;\n\n @property({ type: String, reflect: true })\n breakpoint: string = '600px';\n\n @property({ type: Boolean, reflect: true, attribute: 'no-drag-drop' })\n noDragDrop: boolean;\n\n @property({ type: Number, attribute: 'max-size' })\n maxSize: number;\n\n @property({ type: String, attribute: 'button-label' })\n buttonLabel: string = 'Browse Files';\n\n @state()\n fileInputElement: HTMLInputElement;\n\n @state()\n upload: HTMLElement;\n\n firstUpdated() {\n this.fileInputElement = this.shadowRoot.querySelector('[type=\"file\"]');\n this.upload = this.shadowRoot.querySelector('.upload');\n\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.upload.addEventListener(eventName, event => preventDefaults(event), false);\n });\n\n ['dragenter', 'dragover'].forEach((eventName) => {\n this.upload.addEventListener(eventName, () => { this.over = true; }, false);\n });\n\n ['dragleave', 'drop'].forEach((eventName) => {\n this.upload.addEventListener(eventName, () => { this.over = false; }, false);\n });\n\n this.isMobile();\n this.hasDragDrop();\n\n window.addEventListener('resize', () => { this.isMobile(); });\n this.upload.addEventListener('drop', event => this.handleDrop(event), false);\n }\n\n render() {\n return html`\n <div class=\"upload\" part=\"upload\">\n <kemet-icon icon=\"cloud-arrow-up\" size=\"128\"></kemet-icon>\n <input\n type=\"file\"\n id=${this.slug}\n ?multiple=${this.multiple}\n accept=${ifDefined(this.accept) ? this.accept : null}\n @change=${(event: Event) => this.handleChange(event)}\n />\n <h3 class=\"heading\" part=\"heading\">${this.heading}</h3>\n <label class=\"button\" part=\"button\" for=${this.slug}>${this.buttonLabel}</label>\n </div>\n <div class=\"files\" part=\"files\">\n <slot></slot>\n </div>\n `;\n }\n\n handleChange(event: Event) {\n emitEvent(this, 'kemet-upload-change', {\n event,\n files: this.fileInputElement.files,\n fileElement: this.fileInputElement,\n });\n }\n\n handleDrop(event: DragEvent) {\n emitEvent(this, 'kemet-upload-change', {\n event,\n files: event?.dataTransfer.files || [],\n fileElement: this.fileInputElement,\n });\n }\n\n isMobile() {\n const mediaQuery = window.matchMedia(`(max-width: ${this.breakpoint})`);\n this.mobile = mediaQuery.matches;\n }\n\n hasDragDrop() {\n this.noDragDrop = !('draggable' in document.createElement('span'));\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-upload': KemetUpload\n }\n}\n"]}