@politiet/sheriff-web-components 2.10.0 → 2.11.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 (163) hide show
  1. package/custom-elements.json +271 -116
  2. package/dist/frameworks/preact.d.ts +4 -1
  3. package/dist/frameworks/preact.d.ts.map +1 -1
  4. package/dist/frameworks/react.d.ts +13 -10
  5. package/dist/frameworks/react.d.ts.map +1 -1
  6. package/dist/frameworks/solidjs.d.ts +1 -0
  7. package/dist/frameworks/solidjs.d.ts.map +1 -1
  8. package/dist/frameworks/svelte.d.ts +1 -0
  9. package/dist/frameworks/svelte.d.ts.map +1 -1
  10. package/dist/frameworks/vue.d.ts +1 -0
  11. package/dist/frameworks/vue.d.ts.map +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/mixins/sds-form-control-mixin.d.ts +5 -6
  17. package/dist/mixins/sds-form-control-mixin.d.ts.map +1 -1
  18. package/dist/mixins/sds-form-control-mixin.js +6 -0
  19. package/dist/mixins/sds-form-control-mixin.js.map +1 -1
  20. package/dist/react-wrappers/SDSInternalHeaderWrapper.d.ts +3 -0
  21. package/dist/react-wrappers/SDSInternalHeaderWrapper.d.ts.map +1 -0
  22. package/dist/react-wrappers/SDSInternalHeaderWrapper.js +10 -0
  23. package/dist/react-wrappers/SDSInternalHeaderWrapper.js.map +1 -0
  24. package/dist/react-wrappers/index.d.ts +1 -0
  25. package/dist/react-wrappers/index.d.ts.map +1 -1
  26. package/dist/react-wrappers/index.js +1 -0
  27. package/dist/react-wrappers/index.js.map +1 -1
  28. package/dist/sds-alert/sds-alert.component.d.ts +2 -2
  29. package/dist/sds-alert/sds-alert.component.d.ts.map +1 -1
  30. package/dist/sds-alert/sds-alert.component.js +3 -2
  31. package/dist/sds-alert/sds-alert.component.js.map +1 -1
  32. package/dist/sds-button/sds-button.component.d.ts +3 -2
  33. package/dist/sds-button/sds-button.component.d.ts.map +1 -1
  34. package/dist/sds-button/sds-button.component.js +4 -3
  35. package/dist/sds-button/sds-button.component.js.map +1 -1
  36. package/dist/sds-card/sds-card.d.ts +2 -2
  37. package/dist/sds-card/sds-card.d.ts.map +1 -1
  38. package/dist/sds-card/sds-card.js +3 -2
  39. package/dist/sds-card/sds-card.js.map +1 -1
  40. package/dist/sds-checkbox/sds-checkbox.d.ts +3 -2
  41. package/dist/sds-checkbox/sds-checkbox.d.ts.map +1 -1
  42. package/dist/sds-checkbox/sds-checkbox.js +3 -2
  43. package/dist/sds-checkbox/sds-checkbox.js.map +1 -1
  44. package/dist/sds-checkbox-group/sds-checkbox-group.d.ts +2 -2
  45. package/dist/sds-checkbox-group/sds-checkbox-group.d.ts.map +1 -1
  46. package/dist/sds-checkbox-group/sds-checkbox-group.js +3 -2
  47. package/dist/sds-checkbox-group/sds-checkbox-group.js.map +1 -1
  48. package/dist/sds-chip/sds-chip.d.ts +2 -4
  49. package/dist/sds-chip/sds-chip.d.ts.map +1 -1
  50. package/dist/sds-chip/sds-chip.js +3 -6
  51. package/dist/sds-chip/sds-chip.js.map +1 -1
  52. package/dist/sds-details/sds-details.d.ts +2 -2
  53. package/dist/sds-details/sds-details.d.ts.map +1 -1
  54. package/dist/sds-details/sds-details.js +3 -2
  55. package/dist/sds-details/sds-details.js.map +1 -1
  56. package/dist/sds-details-group/sds-details-group.d.ts +2 -2
  57. package/dist/sds-details-group/sds-details-group.d.ts.map +1 -1
  58. package/dist/sds-details-group/sds-details-group.js +3 -2
  59. package/dist/sds-details-group/sds-details-group.js.map +1 -1
  60. package/dist/sds-details-group/sds-details-group.styles.d.ts.map +1 -1
  61. package/dist/sds-details-group/sds-details-group.styles.js +10 -0
  62. package/dist/sds-details-group/sds-details-group.styles.js.map +1 -1
  63. package/dist/sds-dialog/sds-dialog.component.d.ts +3 -2
  64. package/dist/sds-dialog/sds-dialog.component.d.ts.map +1 -1
  65. package/dist/sds-dialog/sds-dialog.component.js +3 -2
  66. package/dist/sds-dialog/sds-dialog.component.js.map +1 -1
  67. package/dist/sds-heading/sds-heading.component.d.ts +2 -2
  68. package/dist/sds-heading/sds-heading.component.d.ts.map +1 -1
  69. package/dist/sds-heading/sds-heading.component.js +3 -2
  70. package/dist/sds-heading/sds-heading.component.js.map +1 -1
  71. package/dist/sds-icon/sds-icon.component.d.ts +2 -2
  72. package/dist/sds-icon/sds-icon.component.d.ts.map +1 -1
  73. package/dist/sds-icon/sds-icon.component.js +3 -2
  74. package/dist/sds-icon/sds-icon.component.js.map +1 -1
  75. package/dist/sds-internal-header/sds-internal-header.component.d.ts +14 -0
  76. package/dist/sds-internal-header/sds-internal-header.component.d.ts.map +1 -0
  77. package/dist/sds-internal-header/sds-internal-header.component.js +54 -0
  78. package/dist/sds-internal-header/sds-internal-header.component.js.map +1 -0
  79. package/dist/sds-internal-header/sds-internal-header.d.ts +10 -0
  80. package/dist/sds-internal-header/sds-internal-header.d.ts.map +1 -0
  81. package/dist/sds-internal-header/sds-internal-header.js +15 -0
  82. package/dist/sds-internal-header/sds-internal-header.js.map +1 -0
  83. package/dist/sds-internal-header/sds-internal-header.styles.d.ts +2 -0
  84. package/dist/sds-internal-header/sds-internal-header.styles.d.ts.map +1 -0
  85. package/dist/sds-internal-header/sds-internal-header.styles.js +122 -0
  86. package/dist/sds-internal-header/sds-internal-header.styles.js.map +1 -0
  87. package/dist/sds-loader/sds-loader.d.ts +2 -2
  88. package/dist/sds-loader/sds-loader.d.ts.map +1 -1
  89. package/dist/sds-loader/sds-loader.js +3 -2
  90. package/dist/sds-loader/sds-loader.js.map +1 -1
  91. package/dist/sds-notification/sds-notification.d.ts +3 -2
  92. package/dist/sds-notification/sds-notification.d.ts.map +1 -1
  93. package/dist/sds-notification/sds-notification.js +3 -2
  94. package/dist/sds-notification/sds-notification.js.map +1 -1
  95. package/dist/sds-popover/sds-popover.d.ts +4 -3
  96. package/dist/sds-popover/sds-popover.d.ts.map +1 -1
  97. package/dist/sds-popover/sds-popover.js +3 -2
  98. package/dist/sds-popover/sds-popover.js.map +1 -1
  99. package/dist/sds-process/sds-process.d.ts +2 -2
  100. package/dist/sds-process/sds-process.d.ts.map +1 -1
  101. package/dist/sds-process/sds-process.js +3 -2
  102. package/dist/sds-process/sds-process.js.map +1 -1
  103. package/dist/sds-process-step/sds-process-step.d.ts +2 -2
  104. package/dist/sds-process-step/sds-process-step.d.ts.map +1 -1
  105. package/dist/sds-process-step/sds-process-step.js +3 -2
  106. package/dist/sds-process-step/sds-process-step.js.map +1 -1
  107. package/dist/sds-radio/sds-radio.d.ts +3 -2
  108. package/dist/sds-radio/sds-radio.d.ts.map +1 -1
  109. package/dist/sds-radio/sds-radio.js +3 -2
  110. package/dist/sds-radio/sds-radio.js.map +1 -1
  111. package/dist/sds-radio-group/sds-radio-group.d.ts +2 -2
  112. package/dist/sds-radio-group/sds-radio-group.d.ts.map +1 -1
  113. package/dist/sds-radio-group/sds-radio-group.js +3 -2
  114. package/dist/sds-radio-group/sds-radio-group.js.map +1 -1
  115. package/dist/sds-select/sds-select.component.d.ts +2 -2
  116. package/dist/sds-select/sds-select.component.d.ts.map +1 -1
  117. package/dist/sds-select/sds-select.component.js +3 -2
  118. package/dist/sds-select/sds-select.component.js.map +1 -1
  119. package/dist/sds-stepper/sds-stepper.d.ts +2 -2
  120. package/dist/sds-stepper/sds-stepper.d.ts.map +1 -1
  121. package/dist/sds-stepper/sds-stepper.js +3 -2
  122. package/dist/sds-stepper/sds-stepper.js.map +1 -1
  123. package/dist/sds-stepper-step/sds-stepper-step.d.ts +2 -2
  124. package/dist/sds-stepper-step/sds-stepper-step.d.ts.map +1 -1
  125. package/dist/sds-stepper-step/sds-stepper-step.js +4 -3
  126. package/dist/sds-stepper-step/sds-stepper-step.js.map +1 -1
  127. package/dist/sds-switch/sds-switch.d.ts +2 -2
  128. package/dist/sds-switch/sds-switch.d.ts.map +1 -1
  129. package/dist/sds-switch/sds-switch.js +3 -2
  130. package/dist/sds-switch/sds-switch.js.map +1 -1
  131. package/dist/sds-tag/sds-tag.d.ts +2 -2
  132. package/dist/sds-tag/sds-tag.d.ts.map +1 -1
  133. package/dist/sds-tag/sds-tag.js +3 -2
  134. package/dist/sds-tag/sds-tag.js.map +1 -1
  135. package/dist/sds-text/sds-text.component.d.ts +2 -2
  136. package/dist/sds-text/sds-text.component.d.ts.map +1 -1
  137. package/dist/sds-text/sds-text.component.js +3 -2
  138. package/dist/sds-text/sds-text.component.js.map +1 -1
  139. package/dist/sds-textarea/sds-textarea.d.ts +2 -2
  140. package/dist/sds-textarea/sds-textarea.d.ts.map +1 -1
  141. package/dist/sds-textarea/sds-textarea.js +3 -2
  142. package/dist/sds-textarea/sds-textarea.js.map +1 -1
  143. package/dist/sds-textfield/sds-textfield.component.d.ts +2 -2
  144. package/dist/sds-textfield/sds-textfield.component.d.ts.map +1 -1
  145. package/dist/sds-textfield/sds-textfield.component.js +3 -2
  146. package/dist/sds-textfield/sds-textfield.component.js.map +1 -1
  147. package/dist/sds-tooltip/sds-tooltip.d.ts +4 -3
  148. package/dist/sds-tooltip/sds-tooltip.d.ts.map +1 -1
  149. package/dist/sds-tooltip/sds-tooltip.js +3 -2
  150. package/dist/sds-tooltip/sds-tooltip.js.map +1 -1
  151. package/dist/sds-tooltip/sds-tooltip.styles.js +8 -8
  152. package/dist/sds-tooltip/sds-tooltip.styles.js.map +1 -1
  153. package/dist/sheriff-web-components.js +291 -145
  154. package/dist/utils/sds-element.d.ts +5 -0
  155. package/dist/utils/sds-element.d.ts.map +1 -0
  156. package/dist/utils/sds-element.js +9 -0
  157. package/dist/utils/sds-element.js.map +1 -0
  158. package/dist/version.d.ts +2 -0
  159. package/dist/version.d.ts.map +1 -0
  160. package/dist/version.js +3 -0
  161. package/dist/version.js.map +1 -0
  162. package/package.json +8 -3
  163. package/web-types.json +582 -18
@@ -1 +1 @@
1
- {"version":3,"file":"sds-textfield.component.js","sourceRoot":"","sources":["../../src/sds-textfield/sds-textfield.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { SDSEventDispatcherMixin, SDSDelegateInteractionMixin, SDSFormControlMixin } from '../mixins';\nimport type { SDSFormControlAttributes } from '../mixins/sds-form-control-mixin';\nimport { styles } from './sds-textfield.styles';\nimport { SDS_SIZES } from '../types';\n\ntype InputType =\n\t| 'hidden'\n\t| 'text'\n\t| 'search'\n\t| 'tel'\n\t| 'url'\n\t| 'email'\n\t| 'password'\n\t| 'datetime'\n\t| 'date'\n\t| 'month'\n\t| 'week'\n\t| 'time'\n\t| 'datetime-local'\n\t| 'number'\n\t| 'range'\n\t| 'color'\n\t| 'checkbox'\n\t| 'radio'\n\t| 'file'\n\t| 'submit'\n\t| 'image'\n\t| 'reset'\n\t| 'button';\n\ntype InputSize = Extract<SDS_SIZES, 'lg' | 'md' | 'sm'>;\nexport type AutocompleteTypes =\n\t| 'off'\n\t| 'on'\n\t| 'name'\n\t| 'honorific-prefix'\n\t| 'given-name'\n\t| 'additional-name'\n\t| 'family-name'\n\t| 'honorific-suffix'\n\t| 'nickname'\n\t| 'email'\n\t| 'username'\n\t| 'new-password'\n\t| 'current-password'\n\t| 'one-time-code'\n\t| 'organization-title'\n\t| 'organization'\n\t| 'street-address'\n\t| 'address-line1'\n\t| 'address-line2'\n\t| 'address-line3'\n\t| 'address-level4'\n\t| 'address-level3'\n\t| 'address-level2'\n\t| 'address-level1'\n\t| 'country'\n\t| 'country-name'\n\t| 'postal-code'\n\t| 'cc-name'\n\t| 'cc-given-name'\n\t| 'cc-additional-name'\n\t| 'cc-family-name'\n\t| 'cc-number'\n\t| 'cc-exp'\n\t| 'cc-exp-month'\n\t| 'cc-exp-year'\n\t| 'cc-csc'\n\t| 'cc-type'\n\t| 'transaction-currency'\n\t| 'transaction-amount'\n\t| 'language'\n\t| 'bday'\n\t| 'bday-day'\n\t| 'bday-month'\n\t| 'bday-year'\n\t| 'sex'\n\t| 'tel'\n\t| 'tel-country-code'\n\t| 'tel-national'\n\t| 'tel-area-code'\n\t| 'tel-local'\n\t| 'tel-extension'\n\t| 'impp'\n\t| 'url'\n\t| 'photo';\n\nexport interface SDSTextFieldProps extends SDSFormControlAttributes {\n\tautocomplete?: AutocompleteTypes;\n\t'error-message'?: string;\n\t'help-text'?: string;\n\tlabel?: string;\n\tmaxlength?: number;\n\tminlength?: number;\n\tmin?: number | string;\n\tmax?: number | string;\n\tpattern?: string;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tsize?: InputSize;\n\ttype?: InputType;\n\tvalue?: string;\n}\n\nexport class SDSTextFieldComponent extends SDSDelegateInteractionMixin(SDSEventDispatcherMixin(SDSFormControlMixin(LitElement))) {\n\t// Styling\n\tstatic override styles = [styles];\n\n\t@property({ type: String, reflect: true }) type: SDSTextFieldProps['type'] = 'text';\n\t@property({ type: String }) value?: SDSTextFieldProps['value'];\n\t@property({ type: String, reflect: true }) label?: SDSTextFieldProps['label'];\n\t@property({ type: String, reflect: true }) placeholder?: SDSTextFieldProps['placeholder'];\n\t@property({ type: String, attribute: 'help-text', reflect: true }) helpText?: SDSTextFieldProps['help-text'];\n\t@property({ type: String, attribute: 'error-message', reflect: true }) errorMessage?: SDSTextFieldProps['error-message'];\n\t@property({ type: String, reflect: true }) autocomplete?: SDSTextFieldProps['autocomplete'];\n\t@property({ type: Boolean, reflect: true }) required: SDSTextFieldProps['required'] = false;\n\t@property({ type: String, reflect: true }) pattern?: SDSTextFieldProps['pattern'];\n\t@property({ type: Number, reflect: true }) minlength?: SDSTextFieldProps['minlength'];\n\t@property({ type: Number, reflect: true }) maxlength?: SDSTextFieldProps['maxlength'];\n\t@property({ type: String, reflect: true }) min?: SDSTextFieldProps['min'];\n\t@property({ type: String, reflect: true }) max?: SDSTextFieldProps['max'];\n\t@property({ type: String, reflect: true }) size: SDSTextFieldProps['size'] = 'md';\n\n\t// State\n\t@state() private hasIcon = false;\n\t/** Tracks whether the `label` slot has assigned content. */\n\t@state() private _hasSlottedLabel = false;\n\n\t@query('#sds-textfield') control!: HTMLInputElement;\n\n\tprivate _defaultValue: string | null = null;\n\n\toverride connectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis._defaultValue = this.value ?? null;\n\t\tthis.internals.setFormValue(this._defaultValue);\n\t}\n\n\toverride updated(changedProperties: Map<string | number | symbol, unknown>) {\n\t\tsuper.updated(changedProperties);\n\n\t\tif (changedProperties.has('value')) {\n\t\t\tthis.internals.setFormValue(this.value ?? '');\n\n\t\t\tif (this.control) {\n\t\t\t\tthis.control.value = this.value ?? '';\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate readonly handleSlotChange = (e: Event) => {\n\t\tconst slot = e.target as HTMLSlotElement;\n\t\tthis.hasIcon = slot.assignedNodes({ flatten: true }).length > 0;\n\t};\n\n\tprivate readonly _handleLabelSlotChange = (e: Event) => {\n\t\tthis._hasSlottedLabel = (e.target as HTMLSlotElement).assignedNodes().length > 0;\n\t};\n\n\toverride updateValidity() {\n\t\tif (!this.control) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.control.checkValidity()) {\n\t\t\tthis.internals.setValidity({});\n\t\t} else {\n\t\t\tthis.internals.setValidity({ customError: true }, this.control.validationMessage, this.control);\n\t\t}\n\t}\n\n\tprivate readonly _handleInputChange = (event: InputEvent) => {\n\t\tevent.stopImmediatePropagation();\n\t\tif (this.disabled || !(event.target instanceof HTMLInputElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.value = event.target.value;\n\t\tthis.internals.setFormValue(this.value === '' ? null : this.value);\n\t\tthis.updateValidity();\n\t\tthis.dispatchSheriffEvent(event.type);\n\t};\n\n\tprivate readonly _handleSelect = (event: Event) => {\n\t\tevent.stopImmediatePropagation();\n\t\tif (!this.disabled) {\n\t\t\tthis.dispatchSheriffEvent('select');\n\t\t}\n\t};\n\n\tprivate readonly _handleFocus = (event: FocusEvent) => {\n\t\tevent.stopImmediatePropagation();\n\t\tthis.dispatchSheriffEvent('focus');\n\t};\n\n\tprivate readonly _handleBlur = (event: FocusEvent) => {\n\t\tevent.stopImmediatePropagation();\n\t\tthis.updateValidity();\n\t\tthis.dispatchSheriffEvent('blur');\n\t};\n\n\tprivate readonly _handleKeyDown = (event: KeyboardEvent) => {\n\t\tevent.stopImmediatePropagation();\n\n\t\tconst shouldContinue = this.dispatchKeyboardEvent('keydown', event);\n\t\tif (!shouldContinue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.key !== 'Enter') {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const element of Array.from(this.form?.elements ?? [])) {\n\t\t\tif (element instanceof HTMLButtonElement || element instanceof HTMLInputElement) {\n\t\t\t\tif (element.type !== 'submit') {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (element.disabled) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\telement.click();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tthis.form?.requestSubmit();\n\t};\n\n\tformResetCallback() {\n\t\tthis.internals.setFormValue(this._defaultValue);\n\n\t\tconst newValue = this._defaultValue ?? '';\n\t\tthis.control.value = newValue;\n\t\tthis.value = newValue;\n\t\tthis.updateValidity();\n\t}\n\n\tselect(): void {\n\t\tif (!this.disabled) this.control.select();\n\t}\n\n\tget selectionStart(): number | null {\n\t\treturn this.control ? this.control.selectionStart : null;\n\t}\n\n\tset selectionStart(value: number | null) {\n\t\tif (this.control && value !== null) {\n\t\t\tthis.control.selectionStart = value;\n\t\t}\n\t}\n\n\tget selectionEnd(): number | null {\n\t\treturn this.control ? this.control.selectionEnd : null;\n\t}\n\tset selectionEnd(value: number | null) {\n\t\tif (this.control && value !== null) {\n\t\t\tthis.control.selectionEnd = value;\n\t\t}\n\t}\n\n\tsetSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none'): void {\n\t\tif (this.control) {\n\t\t\tthis.control.setSelectionRange(start, end, direction);\n\t\t}\n\t}\n\n\tcheckValidity(): boolean {\n\t\treturn this.control.checkValidity();\n\t}\n\n\treportValidity(): boolean {\n\t\treturn this.control.reportValidity();\n\t}\n\n\tsetCustomValidity(message: string): void {\n\t\tthis.control.setCustomValidity(message);\n\t\tthis.updateValidity();\n\t}\n\n\toverride render() {\n\t\tconst textfieldClasses = {\n\t\t\t'sds-textfield': true,\n\t\t\t'sds-textfield--error': Boolean(this.errorMessage),\n\t\t\t'sds-textfield--has-icon': this.hasIcon,\n\t\t};\n\n\t\tconst describedBy = [this.errorMessage ? 'error-message' : null, this.helpText ? 'help-text' : null].filter(Boolean).join(' ') || undefined;\n\n\t\tconst showLabel = this._hasSlottedLabel || Boolean(this.label);\n\n\t\treturn html`\n\t\t\t<div class=\"${classMap(textfieldClasses)}\">\n\t\t\t\t<label for=\"sds-textfield\" class=\"sds-textfield__label\" ?hidden=\"${!showLabel}\">\n\t\t\t\t\t${this.readOnly ? html`<sds-icon name=\"lock-material-filled\" size=\"m\"></sds-icon>` : nothing}\n\t\t\t\t\t<slot name=\"label\" @slotchange=\"${this._handleLabelSlotChange}\">${this.label}</slot>\n\t\t\t\t</label>\n\t\t\t\t${this.helpText ? html`<p id=\"help-text\" class=\"sds-textfield__help-text\">${this.helpText}</p>` : nothing}\n\t\t\t\t<div class=\"sds-textfield__input-container\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tpart=\"input\"\n\t\t\t\t\t\tclass=\"sds-textfield__input\"\n\t\t\t\t\t\ttype=\"${ifDefined(this.type)}\"\n\t\t\t\t\t\tid=\"sds-textfield\"\n\t\t\t\t\t\t?disabled=\"${this.disabled}\"\n\t\t\t\t\t\t?readonly=\"${this.readOnly}\"\n\t\t\t\t\t\tplaceholder=\"${ifDefined(this.placeholder)}\"\n\t\t\t\t\t\t.value=\"${this.value ?? ''}\"\n\t\t\t\t\t\tname=\"${ifDefined(this.name)}\"\n\t\t\t\t\t\tautocomplete=\"${ifDefined(this.autocomplete as any)}\"\n\t\t\t\t\t\t?required=\"${this.required}\"\n\t\t\t\t\t\tpattern=\"${ifDefined(this.pattern)}\"\n\t\t\t\t\t\tmin=\"${ifDefined(this.min)}\"\n\t\t\t\t\t\tminlength=\"${ifDefined(this.minlength)}\"\n\t\t\t\t\t\tmax=\"${ifDefined(this.max)}\"\n\t\t\t\t\t\tmaxlength=\"${ifDefined(this.maxlength)}\"\n\t\t\t\t\t\taria-describedby=\"${ifDefined(describedBy)}\"\n\t\t\t\t\t\taria-invalid=\"${this.errorMessage ? 'true' : 'false'}\"\n\t\t\t\t\t\t@input=\"${this._handleInputChange}\"\n\t\t\t\t\t\t@change=\"${this._handleInputChange}\"\n\t\t\t\t\t\t@select=\"${this._handleSelect}\"\n\t\t\t\t\t\t@focus=\"${this._handleFocus}\"\n\t\t\t\t\t\t@blur=\"${this._handleBlur}\"\n\t\t\t\t\t\t@keydown=\"${this._handleKeyDown}\"\n\t\t\t\t\t/>\n\t\t\t\t\t<slot name=\"after\" @slotchange=\"${this.handleSlotChange}\" aria-hidden=\"true\"></slot>\n\t\t\t\t</div>\n\t\t\t\t${this.errorMessage ? html`<sds-alert id=\"error-message\" variant=\"secondary\" data-palette=\"danger\"><p slot=\"message\">${this.errorMessage}</p></sds-alert>` : nothing}\n\t\t\t</div>\n\t\t`;\n\t}\n}\n"]}
1
+ {"version":3,"file":"sds-textfield.component.js","sourceRoot":"","sources":["../../src/sds-textfield/sds-textfield.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing } from 'lit';\nimport { SDSElement } from '../utils/sds-element';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { SDSEventDispatcherMixin, SDSDelegateInteractionMixin, SDSFormControlMixin } from '../mixins';\nimport type { SDSFormControlAttributes } from '../mixins/sds-form-control-mixin';\nimport { styles } from './sds-textfield.styles';\nimport { SDS_SIZES } from '../types';\n\ntype InputType =\n\t| 'hidden'\n\t| 'text'\n\t| 'search'\n\t| 'tel'\n\t| 'url'\n\t| 'email'\n\t| 'password'\n\t| 'datetime'\n\t| 'date'\n\t| 'month'\n\t| 'week'\n\t| 'time'\n\t| 'datetime-local'\n\t| 'number'\n\t| 'range'\n\t| 'color'\n\t| 'checkbox'\n\t| 'radio'\n\t| 'file'\n\t| 'submit'\n\t| 'image'\n\t| 'reset'\n\t| 'button';\n\ntype InputSize = Extract<SDS_SIZES, 'lg' | 'md' | 'sm'>;\nexport type AutocompleteTypes =\n\t| 'off'\n\t| 'on'\n\t| 'name'\n\t| 'honorific-prefix'\n\t| 'given-name'\n\t| 'additional-name'\n\t| 'family-name'\n\t| 'honorific-suffix'\n\t| 'nickname'\n\t| 'email'\n\t| 'username'\n\t| 'new-password'\n\t| 'current-password'\n\t| 'one-time-code'\n\t| 'organization-title'\n\t| 'organization'\n\t| 'street-address'\n\t| 'address-line1'\n\t| 'address-line2'\n\t| 'address-line3'\n\t| 'address-level4'\n\t| 'address-level3'\n\t| 'address-level2'\n\t| 'address-level1'\n\t| 'country'\n\t| 'country-name'\n\t| 'postal-code'\n\t| 'cc-name'\n\t| 'cc-given-name'\n\t| 'cc-additional-name'\n\t| 'cc-family-name'\n\t| 'cc-number'\n\t| 'cc-exp'\n\t| 'cc-exp-month'\n\t| 'cc-exp-year'\n\t| 'cc-csc'\n\t| 'cc-type'\n\t| 'transaction-currency'\n\t| 'transaction-amount'\n\t| 'language'\n\t| 'bday'\n\t| 'bday-day'\n\t| 'bday-month'\n\t| 'bday-year'\n\t| 'sex'\n\t| 'tel'\n\t| 'tel-country-code'\n\t| 'tel-national'\n\t| 'tel-area-code'\n\t| 'tel-local'\n\t| 'tel-extension'\n\t| 'impp'\n\t| 'url'\n\t| 'photo';\n\nexport interface SDSTextFieldProps extends SDSFormControlAttributes {\n\tautocomplete?: AutocompleteTypes;\n\t'error-message'?: string;\n\t'help-text'?: string;\n\tlabel?: string;\n\tmaxlength?: number;\n\tminlength?: number;\n\tmin?: number | string;\n\tmax?: number | string;\n\tpattern?: string;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tsize?: InputSize;\n\ttype?: InputType;\n\tvalue?: string;\n}\n\nexport class SDSTextFieldComponent extends SDSDelegateInteractionMixin(SDSEventDispatcherMixin(SDSFormControlMixin(SDSElement))) {\n\t// Styling\n\tstatic override styles = [styles];\n\n\t@property({ type: String, reflect: true }) type: SDSTextFieldProps['type'] = 'text';\n\t@property({ type: String }) value?: SDSTextFieldProps['value'];\n\t@property({ type: String, reflect: true }) label?: SDSTextFieldProps['label'];\n\t@property({ type: String, reflect: true }) placeholder?: SDSTextFieldProps['placeholder'];\n\t@property({ type: String, attribute: 'help-text', reflect: true }) helpText?: SDSTextFieldProps['help-text'];\n\t@property({ type: String, attribute: 'error-message', reflect: true }) errorMessage?: SDSTextFieldProps['error-message'];\n\t@property({ type: String, reflect: true }) autocomplete?: SDSTextFieldProps['autocomplete'];\n\t@property({ type: Boolean, reflect: true }) required: SDSTextFieldProps['required'] = false;\n\t@property({ type: String, reflect: true }) pattern?: SDSTextFieldProps['pattern'];\n\t@property({ type: Number, reflect: true }) minlength?: SDSTextFieldProps['minlength'];\n\t@property({ type: Number, reflect: true }) maxlength?: SDSTextFieldProps['maxlength'];\n\t@property({ type: String, reflect: true }) min?: SDSTextFieldProps['min'];\n\t@property({ type: String, reflect: true }) max?: SDSTextFieldProps['max'];\n\t@property({ type: String, reflect: true }) size: SDSTextFieldProps['size'] = 'md';\n\n\t// State\n\t@state() private hasIcon = false;\n\t/** Tracks whether the `label` slot has assigned content. */\n\t@state() private _hasSlottedLabel = false;\n\n\t@query('#sds-textfield') control!: HTMLInputElement;\n\n\tprivate _defaultValue: string | null = null;\n\n\toverride connectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis._defaultValue = this.value ?? null;\n\t\tthis.internals.setFormValue(this._defaultValue);\n\t}\n\n\toverride updated(changedProperties: Map<string | number | symbol, unknown>) {\n\t\tsuper.updated(changedProperties);\n\n\t\tif (changedProperties.has('value')) {\n\t\t\tthis.internals.setFormValue(this.value ?? '');\n\n\t\t\tif (this.control) {\n\t\t\t\tthis.control.value = this.value ?? '';\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate readonly handleSlotChange = (e: Event) => {\n\t\tconst slot = e.target as HTMLSlotElement;\n\t\tthis.hasIcon = slot.assignedNodes({ flatten: true }).length > 0;\n\t};\n\n\tprivate readonly _handleLabelSlotChange = (e: Event) => {\n\t\tthis._hasSlottedLabel = (e.target as HTMLSlotElement).assignedNodes().length > 0;\n\t};\n\n\toverride updateValidity() {\n\t\tif (!this.control) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.control.checkValidity()) {\n\t\t\tthis.internals.setValidity({});\n\t\t} else {\n\t\t\tthis.internals.setValidity({ customError: true }, this.control.validationMessage, this.control);\n\t\t}\n\t}\n\n\tprivate readonly _handleInputChange = (event: InputEvent) => {\n\t\tevent.stopImmediatePropagation();\n\t\tif (this.disabled || !(event.target instanceof HTMLInputElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.value = event.target.value;\n\t\tthis.internals.setFormValue(this.value === '' ? null : this.value);\n\t\tthis.updateValidity();\n\t\tthis.dispatchSheriffEvent(event.type);\n\t};\n\n\tprivate readonly _handleSelect = (event: Event) => {\n\t\tevent.stopImmediatePropagation();\n\t\tif (!this.disabled) {\n\t\t\tthis.dispatchSheriffEvent('select');\n\t\t}\n\t};\n\n\tprivate readonly _handleFocus = (event: FocusEvent) => {\n\t\tevent.stopImmediatePropagation();\n\t\tthis.dispatchSheriffEvent('focus');\n\t};\n\n\tprivate readonly _handleBlur = (event: FocusEvent) => {\n\t\tevent.stopImmediatePropagation();\n\t\tthis.updateValidity();\n\t\tthis.dispatchSheriffEvent('blur');\n\t};\n\n\tprivate readonly _handleKeyDown = (event: KeyboardEvent) => {\n\t\tevent.stopImmediatePropagation();\n\n\t\tconst shouldContinue = this.dispatchKeyboardEvent('keydown', event);\n\t\tif (!shouldContinue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.key !== 'Enter') {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const element of Array.from(this.form?.elements ?? [])) {\n\t\t\tif (element instanceof HTMLButtonElement || element instanceof HTMLInputElement) {\n\t\t\t\tif (element.type !== 'submit') {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (element.disabled) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\telement.click();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tthis.form?.requestSubmit();\n\t};\n\n\tformResetCallback() {\n\t\tthis.internals.setFormValue(this._defaultValue);\n\n\t\tconst newValue = this._defaultValue ?? '';\n\t\tthis.control.value = newValue;\n\t\tthis.value = newValue;\n\t\tthis.updateValidity();\n\t}\n\n\tselect(): void {\n\t\tif (!this.disabled) this.control.select();\n\t}\n\n\tget selectionStart(): number | null {\n\t\treturn this.control ? this.control.selectionStart : null;\n\t}\n\n\tset selectionStart(value: number | null) {\n\t\tif (this.control && value !== null) {\n\t\t\tthis.control.selectionStart = value;\n\t\t}\n\t}\n\n\tget selectionEnd(): number | null {\n\t\treturn this.control ? this.control.selectionEnd : null;\n\t}\n\tset selectionEnd(value: number | null) {\n\t\tif (this.control && value !== null) {\n\t\t\tthis.control.selectionEnd = value;\n\t\t}\n\t}\n\n\tsetSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none'): void {\n\t\tif (this.control) {\n\t\t\tthis.control.setSelectionRange(start, end, direction);\n\t\t}\n\t}\n\n\tcheckValidity(): boolean {\n\t\treturn this.control.checkValidity();\n\t}\n\n\treportValidity(): boolean {\n\t\treturn this.control.reportValidity();\n\t}\n\n\tsetCustomValidity(message: string): void {\n\t\tthis.control.setCustomValidity(message);\n\t\tthis.updateValidity();\n\t}\n\n\toverride render() {\n\t\tconst textfieldClasses = {\n\t\t\t'sds-textfield': true,\n\t\t\t'sds-textfield--error': Boolean(this.errorMessage),\n\t\t\t'sds-textfield--has-icon': this.hasIcon,\n\t\t};\n\n\t\tconst describedBy = [this.errorMessage ? 'error-message' : null, this.helpText ? 'help-text' : null].filter(Boolean).join(' ') || undefined;\n\n\t\tconst showLabel = this._hasSlottedLabel || Boolean(this.label);\n\n\t\treturn html`\n\t\t\t<div class=\"${classMap(textfieldClasses)}\">\n\t\t\t\t<label for=\"sds-textfield\" class=\"sds-textfield__label\" ?hidden=\"${!showLabel}\">\n\t\t\t\t\t${this.readOnly ? html`<sds-icon name=\"lock-material-filled\" size=\"m\"></sds-icon>` : nothing}\n\t\t\t\t\t<slot name=\"label\" @slotchange=\"${this._handleLabelSlotChange}\">${this.label}</slot>\n\t\t\t\t</label>\n\t\t\t\t${this.helpText ? html`<p id=\"help-text\" class=\"sds-textfield__help-text\">${this.helpText}</p>` : nothing}\n\t\t\t\t<div class=\"sds-textfield__input-container\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tpart=\"input\"\n\t\t\t\t\t\tclass=\"sds-textfield__input\"\n\t\t\t\t\t\ttype=\"${ifDefined(this.type)}\"\n\t\t\t\t\t\tid=\"sds-textfield\"\n\t\t\t\t\t\t?disabled=\"${this.disabled}\"\n\t\t\t\t\t\t?readonly=\"${this.readOnly}\"\n\t\t\t\t\t\tplaceholder=\"${ifDefined(this.placeholder)}\"\n\t\t\t\t\t\t.value=\"${this.value ?? ''}\"\n\t\t\t\t\t\tname=\"${ifDefined(this.name)}\"\n\t\t\t\t\t\tautocomplete=\"${ifDefined(this.autocomplete as any)}\"\n\t\t\t\t\t\t?required=\"${this.required}\"\n\t\t\t\t\t\tpattern=\"${ifDefined(this.pattern)}\"\n\t\t\t\t\t\tmin=\"${ifDefined(this.min)}\"\n\t\t\t\t\t\tminlength=\"${ifDefined(this.minlength)}\"\n\t\t\t\t\t\tmax=\"${ifDefined(this.max)}\"\n\t\t\t\t\t\tmaxlength=\"${ifDefined(this.maxlength)}\"\n\t\t\t\t\t\taria-describedby=\"${ifDefined(describedBy)}\"\n\t\t\t\t\t\taria-invalid=\"${this.errorMessage ? 'true' : 'false'}\"\n\t\t\t\t\t\t@input=\"${this._handleInputChange}\"\n\t\t\t\t\t\t@change=\"${this._handleInputChange}\"\n\t\t\t\t\t\t@select=\"${this._handleSelect}\"\n\t\t\t\t\t\t@focus=\"${this._handleFocus}\"\n\t\t\t\t\t\t@blur=\"${this._handleBlur}\"\n\t\t\t\t\t\t@keydown=\"${this._handleKeyDown}\"\n\t\t\t\t\t/>\n\t\t\t\t\t<slot name=\"after\" @slotchange=\"${this.handleSlotChange}\" aria-hidden=\"true\"></slot>\n\t\t\t\t</div>\n\t\t\t\t${this.errorMessage ? html`<sds-alert id=\"error-message\" variant=\"secondary\" data-palette=\"danger\"><p slot=\"message\">${this.errorMessage}</p></sds-alert>` : nothing}\n\t\t\t</div>\n\t\t`;\n\t}\n}\n"]}
@@ -1,11 +1,12 @@
1
- import { LitElement } from 'lit';
1
+ import { SDSElement } from '../utils/sds-element';
2
2
  import '../shared/positioning.js';
3
- type SDSTooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
3
+ type SDSTooltipPlacementSide = 'top' | 'bottom' | 'left' | 'right';
4
+ type SDSTooltipPlacement = SDSTooltipPlacementSide | `${SDSTooltipPlacementSide}-start` | `${SDSTooltipPlacementSide}-end` | 'none';
4
5
  export interface SDSTooltipProps {
5
6
  id: string;
6
7
  placement?: SDSTooltipPlacement;
7
8
  }
8
- declare const SDSTooltip_base: import("../mixins/types").Constructable<import("../mixins/sds-event-dispatcher-mixin").SDSEventDispatcherMixinInterface> & typeof LitElement;
9
+ declare const SDSTooltip_base: import("../mixins/types").Constructable<import("../mixins/sds-event-dispatcher-mixin").SDSEventDispatcherMixinInterface> & typeof SDSElement;
9
10
  export declare class SDSTooltip extends SDSTooltip_base {
10
11
  static styles: import("lit").CSSResult[];
11
12
  placement: SDSTooltipPlacement;
@@ -1 +1 @@
1
- {"version":3,"file":"sds-tooltip.d.ts","sourceRoot":"","sources":["../../src/sds-tooltip/sds-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAIvC,OAAO,0BAA0B,CAAC;AAGlC,KAAK,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAChC;;AAED,qBACa,UAAW,SAAQ,eAAmC;IAClE,OAAgB,MAAM,4BAAY;IAGlC,SAAS,EAAE,mBAAmB,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,aAAa,CAA0B;IAEtC,iBAAiB;IAajB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC,oBAAoB;IAYpB,MAAM;IAIf,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,gBAAgB,CAEtB;IACF,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,SAAS,CAIf;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,aAAa,EAAE,UAAU,CAAC;KAC1B;CACD"}
1
+ {"version":3,"file":"sds-tooltip.d.ts","sourceRoot":"","sources":["../../src/sds-tooltip/sds-tooltip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,0BAA0B,CAAC;AAGlC,KAAK,uBAAuB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AACnE,KAAK,mBAAmB,GAAG,uBAAuB,GAAG,GAAG,uBAAuB,QAAQ,GAAG,GAAG,uBAAuB,MAAM,GAAG,MAAM,CAAC;AAEpI,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAChC;;AAED,qBACa,UAAW,SAAQ,eAAmC;IAClE,OAAgB,MAAM,4BAAY;IAGlC,SAAS,EAAE,mBAAmB,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,aAAa,CAA0B;IAEtC,iBAAiB;IAajB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC,oBAAoB;IAYpB,MAAM;IAIf,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,gBAAgB,CAEtB;IACF,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,SAAS,CAIf;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,aAAa,EAAE,UAAU,CAAC;KAC1B;CACD"}
@@ -4,13 +4,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { LitElement, html } from 'lit';
7
+ import { html } from 'lit';
8
+ import { SDSElement } from '../utils/sds-element';
8
9
  import { property } from 'lit/decorators.js';
9
10
  import { guardedCustomElement } from '../utils/guarded-custom-element';
10
11
  import { styles } from './sds-tooltip.styles';
11
12
  import '../shared/positioning.js';
12
13
  import { SDSEventDispatcherMixin } from '../mixins/sds-event-dispatcher-mixin';
13
- let SDSTooltip = class SDSTooltip extends SDSEventDispatcherMixin(LitElement) {
14
+ let SDSTooltip = class SDSTooltip extends SDSEventDispatcherMixin(SDSElement) {
14
15
  constructor() {
15
16
  super(...arguments);
16
17
  this.placement = 'top';
@@ -1 +1 @@
1
- {"version":3,"file":"sds-tooltip.js","sourceRoot":"","sources":["../../src/sds-tooltip/sds-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { guardedCustomElement } from '../utils/guarded-custom-element';\nimport { styles } from './sds-tooltip.styles';\nimport '../shared/positioning.js';\nimport { SDSEventDispatcherMixin } from '../mixins/sds-event-dispatcher-mixin';\n\ntype SDSTooltipPlacement = 'top' | 'bottom' | 'left' | 'right';\n\nexport interface SDSTooltipProps {\n\tid: string;\n\tplacement?: SDSTooltipPlacement;\n}\n\n@guardedCustomElement('sds-tooltip')\nexport class SDSTooltip extends SDSEventDispatcherMixin(LitElement) {\n\tstatic override styles = [styles];\n\n\t@property({ type: String, reflect: true })\n\tplacement: SDSTooltipPlacement = 'top';\n\n\tprivate triggers: HTMLElement[] = [];\n\tprivate cleanups: (() => void)[] = [];\n\tprivate hoverTimeout: ReturnType<typeof setTimeout> | undefined;\n\tprivate activeTrigger: HTMLElement | undefined;\n\n\toverride connectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.setAttribute('role', 'tooltip');\n\t\tthis.setAttribute('popover', 'manual');\n\t\t// Avoid screen readers entering the tooltip\n\t\t// Rather set the tooltip's text as an aria-label on the trigger element\n\t\tthis.setAttribute('aria-hidden', 'true');\n\t\tthis.dataset.placement = this.placement;\n\t\tthis.bindTriggers();\n\t\t// Defer to allow triggers to complete their first render\n\t\trequestAnimationFrame(() => this.syncTriggerLabels());\n\t}\n\n\toverride updated(changed: Map<string, unknown>) {\n\t\tif (changed.has('placement')) {\n\t\t\tthis.dataset.placement = this.placement;\n\t\t}\n\t}\n\n\toverride disconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\t\tclearTimeout(this.hoverTimeout);\n\t\tdocument.removeEventListener('keydown', this.onKeyDown);\n\t\tfor (const cleanup of this.cleanups) {\n\t\t\tcleanup();\n\t\t}\n\t\tthis.cleanups = [];\n\t\tthis.triggers = [];\n\t\tthis.activeTrigger = undefined;\n\t}\n\n\toverride render() {\n\t\treturn html`<slot @slotchange=${this.syncTriggerLabels}></slot>`;\n\t}\n\n\tprivate syncTriggerLabels() {\n\t\tconst text = this.textContent?.trim() ?? '';\n\t\tif (!text) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.triggers.map((trigger) => {\n\t\t\tconst element = trigger.shadowRoot?.querySelector<HTMLElement>('button, a') ?? trigger;\n\t\t\tthis.cleanups.push(() => element.removeAttribute('aria-label'));\n\t\t\telement.setAttribute('aria-label', text);\n\t\t});\n\t}\n\n\tprivate bindTriggers() {\n\t\tif (!this.id) return;\n\n\t\tthis.triggers = [...document.querySelectorAll<HTMLElement>('[aria-describedby]')].filter((trigger) => {\n\t\t\tconst describedBy = trigger.getAttribute('aria-describedby');\n\t\t\t// `aria-describedby` is a space-separated ID list, e.g. \"field-help tooltip-id\".\n\t\t\t// `/\\s+/` splits on one or more whitespace characters so we can match this tooltip's id.\n\t\t\treturn describedBy?.split(/\\s+/).includes(this.id) ?? false;\n\t\t});\n\n\t\tfor (const trigger of this.triggers) {\n\t\t\tconst onMouseEnter = () => this.show(trigger);\n\t\t\tconst onMouseLeave = () => this.scheduleHide();\n\t\t\tconst onFocusIn = () => this.show(trigger);\n\t\t\tconst onFocusOut = () => this.hide();\n\n\t\t\ttrigger.addEventListener('mouseenter', onMouseEnter);\n\t\t\ttrigger.addEventListener('mouseleave', onMouseLeave);\n\t\t\ttrigger.addEventListener('focusin', onFocusIn);\n\t\t\ttrigger.addEventListener('focusout', onFocusOut);\n\n\t\t\tthis.cleanups.push(() => {\n\t\t\t\ttrigger.removeEventListener('mouseenter', onMouseEnter);\n\t\t\t\ttrigger.removeEventListener('mouseleave', onMouseLeave);\n\t\t\t\ttrigger.removeEventListener('focusin', onFocusIn);\n\t\t\t\ttrigger.removeEventListener('focusout', onFocusOut);\n\t\t\t});\n\t\t}\n\n\t\t// Hovering the tooltip itself keeps it open (MDN pattern)\n\t\tthis.addEventListener('mouseenter', this.onSelfMouseEnter);\n\t\tthis.addEventListener('mouseleave', this.onSelfMouseLeave);\n\t\tthis.cleanups.push(() => {\n\t\t\tthis.removeEventListener('mouseenter', this.onSelfMouseEnter);\n\t\t\tthis.removeEventListener('mouseleave', this.onSelfMouseLeave);\n\t\t});\n\t}\n\n\tprivate onSelfMouseEnter = () => {\n\t\tclearTimeout(this.hoverTimeout);\n\t};\n\tprivate onSelfMouseLeave = () => this.hide();\n\n\tprivate show(trigger: HTMLElement) {\n\t\tclearTimeout(this.hoverTimeout);\n\n\t\tif (!this.matches(':popover-open')) {\n\t\t\tthis.showPopover();\n\t\t}\n\n\t\tif (this.activeTrigger !== trigger) {\n\t\t\tthis.activeTrigger = trigger;\n\t\t\tthis.dispatchSheriffEvent('toggle', trigger);\n\t\t}\n\n\t\tdocument.addEventListener('keydown', this.onKeyDown);\n\t}\n\n\tprivate hide() {\n\t\tclearTimeout(this.hoverTimeout);\n\n\t\ttry {\n\t\t\tthis.hidePopover();\n\t\t} catch {\n\t\t\t// Already hidden\n\t\t}\n\n\t\tthis.activeTrigger = undefined;\n\t\tdocument.removeEventListener('keydown', this.onKeyDown);\n\t}\n\n\tprivate scheduleHide() {\n\t\tclearTimeout(this.hoverTimeout);\n\t\t// Grace period to let cursor travel from trigger to tooltip\n\t\tthis.hoverTimeout = setTimeout(() => this.hide(), 200);\n\t}\n\n\tprivate onKeyDown = (e: KeyboardEvent) => {\n\t\tif (e.key === 'Escape') {\n\t\t\tthis.hide();\n\t\t}\n\t};\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sds-tooltip': SDSTooltip;\n\t}\n}\n"]}
1
+ {"version":3,"file":"sds-tooltip.js","sourceRoot":"","sources":["../../src/sds-tooltip/sds-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { SDSElement } from '../utils/sds-element';\nimport { property } from 'lit/decorators.js';\nimport { guardedCustomElement } from '../utils/guarded-custom-element';\nimport { styles } from './sds-tooltip.styles';\nimport '../shared/positioning.js';\nimport { SDSEventDispatcherMixin } from '../mixins/sds-event-dispatcher-mixin';\n\ntype SDSTooltipPlacementSide = 'top' | 'bottom' | 'left' | 'right';\ntype SDSTooltipPlacement = SDSTooltipPlacementSide | `${SDSTooltipPlacementSide}-start` | `${SDSTooltipPlacementSide}-end` | 'none';\n\nexport interface SDSTooltipProps {\n\tid: string;\n\tplacement?: SDSTooltipPlacement;\n}\n\n@guardedCustomElement('sds-tooltip')\nexport class SDSTooltip extends SDSEventDispatcherMixin(SDSElement) {\n\tstatic override styles = [styles];\n\n\t@property({ type: String, reflect: true })\n\tplacement: SDSTooltipPlacement = 'top';\n\n\tprivate triggers: HTMLElement[] = [];\n\tprivate cleanups: (() => void)[] = [];\n\tprivate hoverTimeout: ReturnType<typeof setTimeout> | undefined;\n\tprivate activeTrigger: HTMLElement | undefined;\n\n\toverride connectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.setAttribute('role', 'tooltip');\n\t\tthis.setAttribute('popover', 'manual');\n\t\t// Avoid screen readers entering the tooltip\n\t\t// Rather set the tooltip's text as an aria-label on the trigger element\n\t\tthis.setAttribute('aria-hidden', 'true');\n\t\tthis.dataset.placement = this.placement;\n\t\tthis.bindTriggers();\n\t\t// Defer to allow triggers to complete their first render\n\t\trequestAnimationFrame(() => this.syncTriggerLabels());\n\t}\n\n\toverride updated(changed: Map<string, unknown>) {\n\t\tif (changed.has('placement')) {\n\t\t\tthis.dataset.placement = this.placement;\n\t\t}\n\t}\n\n\toverride disconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\t\tclearTimeout(this.hoverTimeout);\n\t\tdocument.removeEventListener('keydown', this.onKeyDown);\n\t\tfor (const cleanup of this.cleanups) {\n\t\t\tcleanup();\n\t\t}\n\t\tthis.cleanups = [];\n\t\tthis.triggers = [];\n\t\tthis.activeTrigger = undefined;\n\t}\n\n\toverride render() {\n\t\treturn html`<slot @slotchange=${this.syncTriggerLabels}></slot>`;\n\t}\n\n\tprivate syncTriggerLabels() {\n\t\tconst text = this.textContent?.trim() ?? '';\n\t\tif (!text) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.triggers.map((trigger) => {\n\t\t\tconst element = trigger.shadowRoot?.querySelector<HTMLElement>('button, a') ?? trigger;\n\t\t\tthis.cleanups.push(() => element.removeAttribute('aria-label'));\n\t\t\telement.setAttribute('aria-label', text);\n\t\t});\n\t}\n\n\tprivate bindTriggers() {\n\t\tif (!this.id) return;\n\n\t\tthis.triggers = [...document.querySelectorAll<HTMLElement>('[aria-describedby]')].filter((trigger) => {\n\t\t\tconst describedBy = trigger.getAttribute('aria-describedby');\n\t\t\t// `aria-describedby` is a space-separated ID list, e.g. \"field-help tooltip-id\".\n\t\t\t// `/\\s+/` splits on one or more whitespace characters so we can match this tooltip's id.\n\t\t\treturn describedBy?.split(/\\s+/).includes(this.id) ?? false;\n\t\t});\n\n\t\tfor (const trigger of this.triggers) {\n\t\t\tconst onMouseEnter = () => this.show(trigger);\n\t\t\tconst onMouseLeave = () => this.scheduleHide();\n\t\t\tconst onFocusIn = () => this.show(trigger);\n\t\t\tconst onFocusOut = () => this.hide();\n\n\t\t\ttrigger.addEventListener('mouseenter', onMouseEnter);\n\t\t\ttrigger.addEventListener('mouseleave', onMouseLeave);\n\t\t\ttrigger.addEventListener('focusin', onFocusIn);\n\t\t\ttrigger.addEventListener('focusout', onFocusOut);\n\n\t\t\tthis.cleanups.push(() => {\n\t\t\t\ttrigger.removeEventListener('mouseenter', onMouseEnter);\n\t\t\t\ttrigger.removeEventListener('mouseleave', onMouseLeave);\n\t\t\t\ttrigger.removeEventListener('focusin', onFocusIn);\n\t\t\t\ttrigger.removeEventListener('focusout', onFocusOut);\n\t\t\t});\n\t\t}\n\n\t\t// Hovering the tooltip itself keeps it open (MDN pattern)\n\t\tthis.addEventListener('mouseenter', this.onSelfMouseEnter);\n\t\tthis.addEventListener('mouseleave', this.onSelfMouseLeave);\n\t\tthis.cleanups.push(() => {\n\t\t\tthis.removeEventListener('mouseenter', this.onSelfMouseEnter);\n\t\t\tthis.removeEventListener('mouseleave', this.onSelfMouseLeave);\n\t\t});\n\t}\n\n\tprivate onSelfMouseEnter = () => {\n\t\tclearTimeout(this.hoverTimeout);\n\t};\n\tprivate onSelfMouseLeave = () => this.hide();\n\n\tprivate show(trigger: HTMLElement) {\n\t\tclearTimeout(this.hoverTimeout);\n\n\t\tif (!this.matches(':popover-open')) {\n\t\t\tthis.showPopover();\n\t\t}\n\n\t\tif (this.activeTrigger !== trigger) {\n\t\t\tthis.activeTrigger = trigger;\n\t\t\tthis.dispatchSheriffEvent('toggle', trigger);\n\t\t}\n\n\t\tdocument.addEventListener('keydown', this.onKeyDown);\n\t}\n\n\tprivate hide() {\n\t\tclearTimeout(this.hoverTimeout);\n\n\t\ttry {\n\t\t\tthis.hidePopover();\n\t\t} catch {\n\t\t\t// Already hidden\n\t\t}\n\n\t\tthis.activeTrigger = undefined;\n\t\tdocument.removeEventListener('keydown', this.onKeyDown);\n\t}\n\n\tprivate scheduleHide() {\n\t\tclearTimeout(this.hoverTimeout);\n\t\t// Grace period to let cursor travel from trigger to tooltip\n\t\tthis.hoverTimeout = setTimeout(() => this.hide(), 200);\n\t}\n\n\tprivate onKeyDown = (e: KeyboardEvent) => {\n\t\tif (e.key === 'Escape') {\n\t\t\tthis.hide();\n\t\t}\n\t};\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sds-tooltip': SDSTooltip;\n\t}\n}\n"]}
@@ -41,28 +41,28 @@ export const styles = css `
41
41
  rotate: -45deg;
42
42
  }
43
43
 
44
- :host([data-floating='top'])::after,
45
- :host([data-floating='bottom'])::after {
44
+ :host([data-floating|='top'])::after,
45
+ :host([data-floating|='bottom'])::after {
46
46
  height: var(--dsc-tooltip-arrow-size);
47
47
  left: 0;
48
48
  width: 100%;
49
49
  }
50
- :host([data-floating='top'])::after {
50
+ :host([data-floating|='top'])::after {
51
51
  top: 100%;
52
52
  }
53
- :host([data-floating='bottom'])::after {
53
+ :host([data-floating|='bottom'])::after {
54
54
  top: calc(var(--dsc-tooltip-arrow-size) * -1);
55
55
  }
56
- :host([data-floating='left'])::after,
57
- :host([data-floating='right'])::after {
56
+ :host([data-floating|='left'])::after,
57
+ :host([data-floating|='right'])::after {
58
58
  height: 100%;
59
59
  top: 0;
60
60
  width: var(--dsc-tooltip-arrow-size);
61
61
  }
62
- :host([data-floating='right'])::after {
62
+ :host([data-floating|='right'])::after {
63
63
  left: calc(var(--dsc-tooltip-arrow-size) * -1);
64
64
  }
65
- :host([data-floating='left'])::after {
65
+ :host([data-floating|='left'])::after {
66
66
  left: 100%;
67
67
  }
68
68
 
@@ -1 +1 @@
1
- {"version":3,"file":"sds-tooltip.styles.js","sourceRoot":"","sources":["../../src/sds-tooltip/sds-tooltip.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;GACtB,SAAS,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFvB,CAAC","sourcesContent":["import { css, unsafeCSS } from 'lit';\nimport stylesheet from './assets/tooltip-styles';\n\nexport const styles = css`\n\t${unsafeCSS(stylesheet)}\n\n\t:host {\n\t\t--dsc-tooltip-background: var(--sds-tooltip-background, var(--sds-color-neutral-text-default));\n\t\t--dsc-tooltip-color: var(--sds-tooltip-text-color, var(--sds-color-neutral-background-default));\n\t\t--dsc-tooltip-border-radius: var(--sds-tooltip-border-radius, var(--sds-radius-sm));\n\t\t--dsc-tooltip-padding: var(--sds-tooltip-padding, var(--sds-spacing-4xs) var(--sds-spacing-3xs));\n\t\t--dsc-tooltip-arrow-size: var(--sds-tooltip-arrow-size, 8px);\n\n\t\t--_sds-tooltip-max-width: var(--sds-tooltip-max-width, 30ch);\n\t\t--_sds-tooltip-font-size: var(--sds-tooltip-font-size, var(--sds-components-font-size-content-sm, 0.875rem));\n\t\t--_sds-tooltip-line-height: var(--sds-tooltip-line-height, var(--sds-components-line-height-squeezed-sm, 1.125rem));\n\n\t\tslot {\n\t\t\tmax-width: var(--_sds-tooltip-max-width);\n\t\t\tfont-size: var(--_sds-tooltip-font-size);\n\t\t\tline-height: var(--_sds-tooltip-line-height);\n\t\t}\n\t}\n\n\t/* Note: Designsystem's tooltip.css uses nested CSS selectors that do not work in the shadow DOM.\n\t These rules ensure that arrow positioning works for our tooltip.\n\t Do not remove unless the CSS selectors from Designsystem work out of the box. */\n\t:host([data-floating|='top'])::before {\n\t\trotate: 45deg;\n\t\ttop: 100%;\n\t}\n\t:host([data-floating|='right'])::before {\n\t\tleft: 0;\n\t\trotate: 135deg;\n\t}\n\t:host([data-floating|='bottom'])::before {\n\t\trotate: -135deg;\n\t\ttop: 0;\n\t}\n\t:host([data-floating|='left'])::before {\n\t\tleft: 100%;\n\t\trotate: -45deg;\n\t}\n\n\t:host([data-floating='top'])::after,\n\t:host([data-floating='bottom'])::after {\n\t\theight: var(--dsc-tooltip-arrow-size);\n\t\tleft: 0;\n\t\twidth: 100%;\n\t}\n\t:host([data-floating='top'])::after {\n\t\ttop: 100%;\n\t}\n\t:host([data-floating='bottom'])::after {\n\t\ttop: calc(var(--dsc-tooltip-arrow-size) * -1);\n\t}\n\t:host([data-floating='left'])::after,\n\t:host([data-floating='right'])::after {\n\t\theight: 100%;\n\t\ttop: 0;\n\t\twidth: var(--dsc-tooltip-arrow-size);\n\t}\n\t:host([data-floating='right'])::after {\n\t\tleft: calc(var(--dsc-tooltip-arrow-size) * -1);\n\t}\n\t:host([data-floating='left'])::after {\n\t\tleft: 100%;\n\t}\n\n\t@keyframes ds-fade-in {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\t:host {\n\t\t\tanimation: none;\n\t\t}\n\t}\n\n\t@media (forced-colors: active) {\n\t\t:host {\n\t\t\tborder: 1px solid CanvasText;\n\t\t}\n\t}\n`;\n"]}
1
+ {"version":3,"file":"sds-tooltip.styles.js","sourceRoot":"","sources":["../../src/sds-tooltip/sds-tooltip.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;GACtB,SAAS,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFvB,CAAC","sourcesContent":["import { css, unsafeCSS } from 'lit';\nimport stylesheet from './assets/tooltip-styles';\n\nexport const styles = css`\n\t${unsafeCSS(stylesheet)}\n\n\t:host {\n\t\t--dsc-tooltip-background: var(--sds-tooltip-background, var(--sds-color-neutral-text-default));\n\t\t--dsc-tooltip-color: var(--sds-tooltip-text-color, var(--sds-color-neutral-background-default));\n\t\t--dsc-tooltip-border-radius: var(--sds-tooltip-border-radius, var(--sds-radius-sm));\n\t\t--dsc-tooltip-padding: var(--sds-tooltip-padding, var(--sds-spacing-4xs) var(--sds-spacing-3xs));\n\t\t--dsc-tooltip-arrow-size: var(--sds-tooltip-arrow-size, 8px);\n\n\t\t--_sds-tooltip-max-width: var(--sds-tooltip-max-width, 30ch);\n\t\t--_sds-tooltip-font-size: var(--sds-tooltip-font-size, var(--sds-components-font-size-content-sm, 0.875rem));\n\t\t--_sds-tooltip-line-height: var(--sds-tooltip-line-height, var(--sds-components-line-height-squeezed-sm, 1.125rem));\n\n\t\tslot {\n\t\t\tmax-width: var(--_sds-tooltip-max-width);\n\t\t\tfont-size: var(--_sds-tooltip-font-size);\n\t\t\tline-height: var(--_sds-tooltip-line-height);\n\t\t}\n\t}\n\n\t/* Note: Designsystem's tooltip.css uses nested CSS selectors that do not work in the shadow DOM.\n\t These rules ensure that arrow positioning works for our tooltip.\n\t Do not remove unless the CSS selectors from Designsystem work out of the box. */\n\t:host([data-floating|='top'])::before {\n\t\trotate: 45deg;\n\t\ttop: 100%;\n\t}\n\t:host([data-floating|='right'])::before {\n\t\tleft: 0;\n\t\trotate: 135deg;\n\t}\n\t:host([data-floating|='bottom'])::before {\n\t\trotate: -135deg;\n\t\ttop: 0;\n\t}\n\t:host([data-floating|='left'])::before {\n\t\tleft: 100%;\n\t\trotate: -45deg;\n\t}\n\n\t:host([data-floating|='top'])::after,\n\t:host([data-floating|='bottom'])::after {\n\t\theight: var(--dsc-tooltip-arrow-size);\n\t\tleft: 0;\n\t\twidth: 100%;\n\t}\n\t:host([data-floating|='top'])::after {\n\t\ttop: 100%;\n\t}\n\t:host([data-floating|='bottom'])::after {\n\t\ttop: calc(var(--dsc-tooltip-arrow-size) * -1);\n\t}\n\t:host([data-floating|='left'])::after,\n\t:host([data-floating|='right'])::after {\n\t\theight: 100%;\n\t\ttop: 0;\n\t\twidth: var(--dsc-tooltip-arrow-size);\n\t}\n\t:host([data-floating|='right'])::after {\n\t\tleft: calc(var(--dsc-tooltip-arrow-size) * -1);\n\t}\n\t:host([data-floating|='left'])::after {\n\t\tleft: 100%;\n\t}\n\n\t@keyframes ds-fade-in {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\t:host {\n\t\t\tanimation: none;\n\t\t}\n\t}\n\n\t@media (forced-colors: active) {\n\t\t:host {\n\t\t\tborder: 1px solid CanvasText;\n\t\t}\n\t}\n`;\n"]}