diff --git a/.gitignore b/.gitignore index 85f5acaa6b..663581ce33 100644 --- a/.gitignore +++ b/.gitignore @@ -5,11 +5,11 @@ app/components/**/*.css.json app/components/**/*.css.map app/components/**/*.d.ts app/lib/primer/css/*.css.json -lib/primer/forms/**/*.js -lib/primer/forms/**/*.css -lib/primer/forms/**/*.css.json -lib/primer/forms/**/*.css.map -lib/primer/forms/**/*.d.ts +app/lib/primer/forms/**/*.js +app/lib/primer/forms/**/*.css +app/lib/primer/forms/**/*.css.json +app/lib/primer/forms/**/*.css.map +app/lib/primer/forms/**/*.d.ts app/assets/ # Generated by demo npm post-install diff --git a/lib/primer/forms.rb b/app/lib/primer/forms.rb similarity index 100% rename from lib/primer/forms.rb rename to app/lib/primer/forms.rb diff --git a/app/lib/primer/forms/primer_multi_input.d.ts b/app/lib/primer/forms/primer_multi_input.d.ts deleted file mode 100644 index 7554a1091b..0000000000 --- a/app/lib/primer/forms/primer_multi_input.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export declare class PrimerMultiInputElement extends HTMLElement { - fields: HTMLInputElement[]; - activateField(name: string): void; - private findField; -} -declare global { - interface Window { - PrimerMultiInputElement: typeof PrimerMultiInputElement; - } -} diff --git a/app/lib/primer/forms/primer_text_field.d.ts b/app/lib/primer/forms/primer_text_field.d.ts deleted file mode 100644 index 3e81f1e4c9..0000000000 --- a/app/lib/primer/forms/primer_text_field.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import '@github/auto-check-element'; -import type { AutoCheckErrorEvent, AutoCheckSuccessEvent } from '@github/auto-check-element'; -declare global { - interface HTMLElementEventMap { - 'auto-check-success': AutoCheckSuccessEvent; - 'auto-check-error': AutoCheckErrorEvent; - } -} -export declare class PrimerTextFieldElement extends HTMLElement { - #private; - inputElement: HTMLInputElement; - validationElement: HTMLElement; - validationMessageElement: HTMLElement; - validationSuccessIcon: HTMLElement; - validationErrorIcon: HTMLElement; - leadingVisual: HTMLElement; - leadingSpinner: HTMLElement; - connectedCallback(): void; - disconnectedCallback(): void; - clearContents(): void; - clearError(): void; - setValidationMessage(message: string): void; - toggleValidationStyling(isError: boolean): void; - setSuccess(message: string): void; - setError(message: string): void; - showLeadingSpinner(): void; - hideLeadingSpinner(): void; -} diff --git a/app/lib/primer/forms/primer_text_field.js b/app/lib/primer/forms/primer_text_field.js deleted file mode 100644 index 03d3e71a18..0000000000 --- a/app/lib/primer/forms/primer_text_field.js +++ /dev/null @@ -1,119 +0,0 @@ -/* eslint-disable custom-elements/expose-class-on-global */ -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -}; -var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -}; -var _PrimerTextFieldElement_abortController; -import '@github/auto-check-element'; -import { controller, target } from '@github/catalyst'; -let PrimerTextFieldElement = class PrimerTextFieldElement extends HTMLElement { - constructor() { - super(...arguments); - _PrimerTextFieldElement_abortController.set(this, void 0); - } - connectedCallback() { - __classPrivateFieldGet(this, _PrimerTextFieldElement_abortController, "f")?.abort(); - const { signal } = (__classPrivateFieldSet(this, _PrimerTextFieldElement_abortController, new AbortController(), "f")); - this.addEventListener('auto-check-success', async (event) => { - const message = await event.detail.response.text(); - if (message && message.length > 0) { - this.setSuccess(message); - } - else { - this.clearError(); - } - }, { signal }); - this.addEventListener('auto-check-error', async (event) => { - const errorMessage = await event.detail.response.text(); - this.setError(errorMessage); - }, { signal }); - } - disconnectedCallback() { - __classPrivateFieldGet(this, _PrimerTextFieldElement_abortController, "f")?.abort(); - } - clearContents() { - this.inputElement.value = ''; - this.inputElement.focus(); - this.inputElement.dispatchEvent(new Event('input', { bubbles: true, cancelable: false })); - } - clearError() { - this.inputElement.removeAttribute('invalid'); - this.validationElement.hidden = true; - this.validationMessageElement.replaceChildren(); - } - setValidationMessage(message) { - const template = document.createElement('template'); - // eslint-disable-next-line github/no-inner-html - template.innerHTML = message; - const fragment = document.importNode(template.content, true); - this.validationMessageElement.replaceChildren(fragment); - } - toggleValidationStyling(isError) { - if (isError) { - this.validationElement.classList.remove('FormControl-inlineValidation--success'); - } - else { - this.validationElement.classList.add('FormControl-inlineValidation--success'); - } - this.validationSuccessIcon.hidden = isError; - this.validationErrorIcon.hidden = !isError; - this.inputElement.setAttribute('invalid', isError ? 'true' : 'false'); - } - setSuccess(message) { - this.toggleValidationStyling(false); - this.setValidationMessage(message); - this.validationElement.hidden = false; - } - setError(message) { - this.toggleValidationStyling(true); - this.setValidationMessage(message); - this.validationElement.hidden = false; - } - showLeadingSpinner() { - this.leadingSpinner?.removeAttribute('hidden'); - this.leadingVisual?.setAttribute('hidden', ''); - } - hideLeadingSpinner() { - this.leadingSpinner?.setAttribute('hidden', ''); - this.leadingVisual?.removeAttribute('hidden'); - } -}; -_PrimerTextFieldElement_abortController = new WeakMap(); -__decorate([ - target -], PrimerTextFieldElement.prototype, "inputElement", void 0); -__decorate([ - target -], PrimerTextFieldElement.prototype, "validationElement", void 0); -__decorate([ - target -], PrimerTextFieldElement.prototype, "validationMessageElement", void 0); -__decorate([ - target -], PrimerTextFieldElement.prototype, "validationSuccessIcon", void 0); -__decorate([ - target -], PrimerTextFieldElement.prototype, "validationErrorIcon", void 0); -__decorate([ - target -], PrimerTextFieldElement.prototype, "leadingVisual", void 0); -__decorate([ - target -], PrimerTextFieldElement.prototype, "leadingSpinner", void 0); -PrimerTextFieldElement = __decorate([ - controller -], PrimerTextFieldElement); -export { PrimerTextFieldElement }; diff --git a/app/lib/primer/forms/toggle_switch_input.d.ts b/app/lib/primer/forms/toggle_switch_input.d.ts deleted file mode 100644 index 5dea4b0213..0000000000 --- a/app/lib/primer/forms/toggle_switch_input.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare class ToggleSwitchInputElement extends HTMLElement { - validationElement: HTMLElement; - validationMessageElement: HTMLElement; - connectedCallback(): void; -} diff --git a/package.json b/package.json index 9b83053c98..dd444c1d2b 100644 --- a/package.json +++ b/package.json @@ -27,9 +27,7 @@ "app/components/primer/**/*.css.json", "app/components/primer/**/*.d.ts", "app/lib/primer/forms/**/*.js", - "app/lib/primer/forms/**/*.d.ts", - "lib/primer/forms/**/*.js", - "lib/primer/forms/**/*.d.ts" + "app/lib/primer/forms/**/*.d.ts" ], "scripts": { "clean": "git clean -fdX -- app/",