@bagaar/velvet-thunder 0.0.1 → 0.0.2
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.
- package/CHANGELOG.md +9 -0
- package/declarations/components/velvet-alert.d.ts.map +1 -1
- package/declarations/components/velvet-checkbox.d.ts.map +1 -1
- package/declarations/components/velvet-dropdown/content.d.ts.map +1 -1
- package/declarations/components/velvet-dropdown.d.ts +2 -2
- package/declarations/components/velvet-dropdown.d.ts.map +1 -1
- package/declarations/components/velvet-icon/chevron-down.d.ts.map +1 -1
- package/declarations/components/velvet-icon/circle-check-solid.d.ts.map +1 -1
- package/declarations/components/velvet-icon/circle-exclamation-solid.d.ts.map +1 -1
- package/declarations/components/velvet-icon/circle-info-solid.d.ts.map +1 -1
- package/declarations/components/velvet-icon/user.d.ts.map +1 -1
- package/declarations/components/velvet-icon/x-mark.d.ts.map +1 -1
- package/declarations/components/velvet-progress.d.ts.map +1 -1
- package/declarations/components/velvet-spinner.d.ts.map +1 -1
- package/declarations/components/velvet-tag.d.ts.map +1 -1
- package/declarations/components/velvet-tooltip/content.d.ts.map +1 -1
- package/declarations/components/velvet-tooltip.d.ts +2 -2
- package/declarations/modifiers/velvet-auto-animate.d.ts +1 -1
- package/dist/-private/helpers/cn.js.map +1 -1
- package/dist/components/velvet-alert.js +3 -3
- package/dist/components/velvet-alert.js.map +1 -1
- package/dist/components/velvet-avatar.js +3 -3
- package/dist/components/velvet-avatar.js.map +1 -1
- package/dist/components/velvet-button.js +8 -8
- package/dist/components/velvet-button.js.map +1 -1
- package/dist/components/velvet-checkbox-group.js +3 -3
- package/dist/components/velvet-checkbox-group.js.map +1 -1
- package/dist/components/velvet-checkbox.js +27 -27
- package/dist/components/velvet-checkbox.js.map +1 -1
- package/dist/components/velvet-disclosure.js +3 -3
- package/dist/components/velvet-disclosure.js.map +1 -1
- package/dist/components/velvet-dropdown/content.js.map +1 -1
- package/dist/components/velvet-dropdown.js +41 -38
- package/dist/components/velvet-dropdown.js.map +1 -1
- package/dist/components/velvet-icon/chevron-down.js.map +1 -1
- package/dist/components/velvet-icon/circle-check-solid.js.map +1 -1
- package/dist/components/velvet-icon/circle-exclamation-solid.js.map +1 -1
- package/dist/components/velvet-icon/circle-info-solid.js.map +1 -1
- package/dist/components/velvet-icon/user.js.map +1 -1
- package/dist/components/velvet-icon/x-mark.js.map +1 -1
- package/dist/components/velvet-icon-button.js +8 -8
- package/dist/components/velvet-icon-button.js.map +1 -1
- package/dist/components/velvet-icon-link.js +7 -7
- package/dist/components/velvet-icon-link.js.map +1 -1
- package/dist/components/velvet-input.js +12 -12
- package/dist/components/velvet-input.js.map +1 -1
- package/dist/components/velvet-link.js +7 -7
- package/dist/components/velvet-link.js.map +1 -1
- package/dist/components/velvet-progress.js +8 -8
- package/dist/components/velvet-progress.js.map +1 -1
- package/dist/components/velvet-radio-group.js +3 -3
- package/dist/components/velvet-radio-group.js.map +1 -1
- package/dist/components/velvet-radio.js +18 -18
- package/dist/components/velvet-radio.js.map +1 -1
- package/dist/components/velvet-select/option.js +2 -2
- package/dist/components/velvet-select/option.js.map +1 -1
- package/dist/components/velvet-select.js +12 -12
- package/dist/components/velvet-select.js.map +1 -1
- package/dist/components/velvet-spinner.js +2 -2
- package/dist/components/velvet-spinner.js.map +1 -1
- package/dist/components/velvet-switch.js +7 -7
- package/dist/components/velvet-switch.js.map +1 -1
- package/dist/components/velvet-tag.js +2 -2
- package/dist/components/velvet-tag.js.map +1 -1
- package/dist/components/velvet-textarea.js +12 -12
- package/dist/components/velvet-textarea.js.map +1 -1
- package/dist/components/velvet-tooltip/content.js.map +1 -1
- package/dist/components/velvet-tooltip.js +33 -33
- package/dist/components/velvet-tooltip.js.map +1 -1
- package/dist/modifiers/velvet-auto-animate.js.map +1 -1
- package/dist/test-support/index.js.map +1 -1
- package/package.json +9 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option.js","sources":["../../../src/components/velvet-select/option.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { guidFor } from '@ember/object/internals';\nimport Component from '@glimmer/component';\nexport interface VelvetSelectOptionSignature {\n Args: {\n /// The value of the option.\n /// @default [undefined]\n value: unknown;\n privateOnCreate: (id: string, value: unknown) => void;\n privateOnDestroy: (id: string) => void;\n privateSelected: unknown;\n };\n Blocks: {\n /// The label of the option.\n default: [];\n };\n Element: HTMLOptionElement;\n}\nexport default class VelvetSelectOption extends Component<VelvetSelectOptionSignature> {\n uniqueId = guidFor(this);\n get isSelected() {\n return this.args.value === this.args.privateSelected;\n }\n constructor(
|
|
1
|
+
{"version":3,"file":"option.js","sources":["../../../src/components/velvet-select/option.gts"],"sourcesContent":["import { template as template_3f6fdee5ce3c4a0bb544e73178be1995 } from \"@ember/template-compiler\";\nimport { guidFor } from '@ember/object/internals';\nimport Component from '@glimmer/component';\nexport interface VelvetSelectOptionSignature {\n Args: {\n /// The value of the option.\n /// @default [undefined]\n value: unknown;\n privateOnCreate: (id: string, value: unknown) => void;\n privateOnDestroy: (id: string) => void;\n privateSelected: unknown;\n };\n Blocks: {\n /// The label of the option.\n default: [];\n };\n Element: HTMLOptionElement;\n}\nexport default class VelvetSelectOption extends Component<VelvetSelectOptionSignature> {\n uniqueId = guidFor(this);\n get isSelected() {\n return this.args.value === this.args.privateSelected;\n }\n constructor(owner: unknown, args: VelvetSelectOptionSignature['Args']){\n super(owner, args);\n this.args.privateOnCreate(this.uniqueId, this.args.value);\n }\n willDestroy() {\n super.willDestroy();\n this.args.privateOnDestroy(this.uniqueId);\n }\n static{\n template_3f6fdee5ce3c4a0bb544e73178be1995(`\n <option selected={{this.isSelected}} value={{this.uniqueId}} ...attributes>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{! @glint-expect-error }}\n {{@value}}\n {{/if}}\n </option>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3NyYy9jb21wb25lbnRzL3ZlbHZldC1zZWxlY3Qvb3B0aW9uLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBndWlkRm9yIH0gZnJvbSAnQGVtYmVyL29iamVjdC9pbnRlcm5hbHMnO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlbHZldFNlbGVjdE9wdGlvblNpZ25hdHVyZSB7XG4gIEFyZ3M6IHtcbiAgICAvLy8gVGhlIHZhbHVlIG9mIHRoZSBvcHRpb24uXG4gICAgLy8vIEBkZWZhdWx0IFt1bmRlZmluZWRdXG4gICAgdmFsdWU6IHVua25vd247XG5cbiAgICBwcml2YXRlT25DcmVhdGU6IChpZDogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikgPT4gdm9pZDtcbiAgICBwcml2YXRlT25EZXN0cm95OiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgICBwcml2YXRlU2VsZWN0ZWQ6IHVua25vd247XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIC8vLyBUaGUgbGFiZWwgb2YgdGhlIG9wdGlvbi5cbiAgICBkZWZhdWx0OiBbXTtcbiAgfTtcbiAgRWxlbWVudDogSFRNTE9wdGlvbkVsZW1lbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbHZldFNlbGVjdE9wdGlvbiBleHRlbmRzIENvbXBvbmVudDxWZWx2ZXRTZWxlY3RPcHRpb25TaWduYXR1cmU-IHtcbiAgdW5pcXVlSWQgPSBndWlkRm9yKHRoaXMpO1xuXG4gIGdldCBpc1NlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmFyZ3MudmFsdWUgPT09IHRoaXMuYXJncy5wcml2YXRlU2VsZWN0ZWQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihvd25lcjogdW5rbm93biwgYXJnczogVmVsdmV0U2VsZWN0T3B0aW9uU2lnbmF0dXJlWydBcmdzJ10pIHtcbiAgICBzdXBlcihvd25lciwgYXJncyk7XG5cbiAgICB0aGlzLmFyZ3MucHJpdmF0ZU9uQ3JlYXRlKHRoaXMudW5pcXVlSWQsIHRoaXMuYXJncy52YWx1ZSk7XG4gIH1cblxuICB3aWxsRGVzdHJveSgpIHtcbiAgICBzdXBlci53aWxsRGVzdHJveSgpO1xuXG4gICAgdGhpcy5hcmdzLnByaXZhdGVPbkRlc3Ryb3kodGhpcy51bmlxdWVJZCk7XG4gIH1cblxuICA8dGVtcGxhdGU-XG4gICAgPG9wdGlvbiBzZWxlY3RlZD17e3RoaXMuaXNTZWxlY3RlZH19IHZhbHVlPXt7dGhpcy51bmlxdWVJZH19IC4uLmF0dHJpYnV0ZXM-XG4gICAgICB7eyNpZiAoaGFzLWJsb2NrKX19XG4gICAgICAgIHt7eWllbGR9fVxuICAgICAge3tlbHNlfX1cbiAgICAgICAge3shIEBnbGludC1leHBlY3QtZXJyb3IgfX1cbiAgICAgICAge3tAdmFsdWV9fVxuICAgICAge3svaWZ9fVxuICAgIDwvb3B0aW9uPlxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLE9BQU8sUUFBUSwwQkFBMEI7QUFDbEQsT0FBTyxlQUFlLHFCQUFxQjtBQUUzQyxpQkFBaUI7SUFDZjtRQUNFLDRCQUE0QjtRQUM1Qix3QkFBd0I7UUFDeEIsT0FBTyxPQUFPO1FBRWQsa0JBQWtCLElBQUksTUFBTSxFQUFFLE9BQU8sT0FBTyxLQUFLLElBQUk7UUFDckQsbUJBQW1CLElBQUksTUFBTSxLQUFLLElBQUk7UUFDdEMsaUJBQWlCLE9BQU87O0lBRTFCO1FBQ0UsNEJBQTRCO1FBQzVCOztJQUVGLFNBQVM7O0FBR1gsZUFBZSxNQUFNLDJCQUEyQixVQUFVO0lBQ3hELFdBQVcsUUFBUSxJQUFJLEVBQUU7SUFFekIsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7SUFDdEQ7SUFFQSxZQUFZLE9BQU8sT0FBTyxFQUFFLE1BQU0sNEJBQTRCLE9BQU8sQ0FBRTtRQUNyRSxLQUFLLENBQUMsT0FBTztRQUViLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO0lBQzFEO0lBRUEsY0FBYztRQUNaLEtBQUssQ0FBQztRQUVOLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVE7SUFDMUM7SUFFQSxNQUFBO1FBQUEsMENBQVUsQ0FBQTs7Ozs7Ozs7O0VBU1YsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBVEE7QUFVWiJ9"],"names":["VelvetSelectOption","Component","uniqueId","guidFor","isSelected","args","value","privateSelected","constructor","owner","privateOnCreate","willDestroy","privateOnDestroy","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAoBe,MAAMA,kBAAA,SAA2BC,SAAA,CAAU;EACxDC,QAAA,GAAWC,OAAA,CAAQ,IAAI,CAAA;AAEvB,EAAA,IAAIC,aAAa;IACf,OAAO,IAAI,CAACC,IAAI,CAACC,KAAK,KAAK,IAAI,CAACD,IAAI,CAACE,eAAe;AACtD;EAEAC,WAAYC,CAAAA,KAAc,EAAEJ,IAAyC,EAAE;IACrE,KAAK,CAACI,KAAA,EAAOJ,IAAA,CAAA;AAEb,IAAA,IAAI,CAACA,IAAI,CAACK,eAAe,CAAC,IAAI,CAACR,QAAQ,EAAE,IAAI,CAACG,IAAI,CAACC,KAAK,CAAA;AAC1D;AAEAK,EAAAA,WAAAA,GAAc;AACZ,IAAA,KAAK,CAACA,WAAA,EAAA;AAEN,IAAA,IAAI,CAACN,IAAI,CAACO,gBAAgB,CAAC,IAAI,CAACV,QAAQ,CAAA;AAC1C;AAEA,EAAA;IAAAW,oBAAA,CAAAC,kBAAA,CASA,+OAAA,EAAA;MAAAC,UAAA,EAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hash, concat } from '@ember/helper';
|
|
2
2
|
import { on } from '@ember/modifier';
|
|
3
3
|
import Component from '@glimmer/component';
|
|
4
4
|
import { or } from 'ember-truth-helpers';
|
|
@@ -15,24 +15,25 @@ class VelvetSelect extends Component {
|
|
|
15
15
|
get shouldRenderPlaceholder() {
|
|
16
16
|
return Boolean(this.args.placeholder) && this.hasSelection === false;
|
|
17
17
|
}
|
|
18
|
-
changeHandler =
|
|
18
|
+
changeHandler = event => {
|
|
19
19
|
const {
|
|
20
|
-
isDisabled
|
|
21
|
-
onChange
|
|
20
|
+
isDisabled,
|
|
21
|
+
onChange
|
|
22
22
|
} = this.args;
|
|
23
|
-
if (typeof
|
|
23
|
+
if (typeof onChange !== 'function' || isDisabled === true) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
onChange(this.options.get(event.target.value), event);
|
|
27
27
|
};
|
|
28
|
-
addOption = (
|
|
29
|
-
this.options.set(
|
|
28
|
+
addOption = (id, value) => {
|
|
29
|
+
this.options.set(id, value);
|
|
30
30
|
};
|
|
31
|
-
removeOption =
|
|
32
|
-
this.options.delete(
|
|
31
|
+
removeOption = id => {
|
|
32
|
+
this.options.delete(id);
|
|
33
33
|
};
|
|
34
34
|
static {
|
|
35
35
|
setComponentTemplate(precompileTemplate("\n <select class={{cn \"velvet-select\" (concat \"velvet-select-\" (or @size \"md\")) (concat \"velvet-select-\" (or @variant \"primary\")) (if @isInvalid \"velvet-select-invalid\") (if @isPill \"velvet-select-pill\") (if @isDisabled \"velvet-select-disabled\") (if this.shouldRenderPlaceholder \"velvet-select-placeholder\") \"form-select\"}} disabled={{@isDisabled}} {{on \"change\" this.changeHandler}} ...attributes>\n {{#if this.shouldRenderPlaceholder}}\n <option disabled selected={{true}}>\n {{@placeholder}}\n </option>\n {{/if}}\n {{yield (hash Option=(component VelvetSelectOption privateOnCreate=this.addOption privateOnDestroy=this.removeOption privateSelected=@selected))}}\n </select>\n ", {
|
|
36
|
+
strictMode: true,
|
|
36
37
|
scope: () => ({
|
|
37
38
|
cn,
|
|
38
39
|
concat,
|
|
@@ -40,8 +41,7 @@ class VelvetSelect extends Component {
|
|
|
40
41
|
on,
|
|
41
42
|
hash,
|
|
42
43
|
VelvetSelectOption
|
|
43
|
-
})
|
|
44
|
-
strictMode: true
|
|
44
|
+
})
|
|
45
45
|
}), this);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"velvet-select.js","sources":["../../src/components/velvet-select.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat, hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport type { WithBoundArgs } from '@glint/template';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nimport VelvetSelectOption from './velvet-select/option.gts';\nexport interface VelvetSelectSignature {\n Args: {\n /// Indicate if the select is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// Indicate if the select is invalid.\n /// @default [false]\n isInvalid?: boolean;\n /// Indicate if the select is pill shaped.\n /// @default [false]\n isPill?: boolean;\n /// Handle the select's `change` event.\n /// @default [undefined]\n onChange?: (selected: unknown, event: Event) => void;\n /// The placeholder of the select.\n /// @default [\"\"]\n placeholder?: string;\n /// The selected option of the select.\n /// @default [undefined]\n selected?: unknown;\n /// The size of the select.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n /// The appearance of the select.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Blocks: {\n /// The options of the select.\n default: [{\n Option: WithBoundArgs<typeof VelvetSelectOption, 'privateOnCreate' | 'privateOnDestroy' | 'privateSelected'>;\n }];\n };\n Element: HTMLSelectElement;\n}\nexport default class VelvetSelect extends Component<VelvetSelectSignature> {\n options = new Map();\n get hasSelection() {\n return this.args.selected !== undefined && this.args.selected !== null;\n }\n get shouldRenderPlaceholder() {\n return Boolean(this.args.placeholder) && this.hasSelection === false;\n }\n changeHandler = (event1: Event)=>{\n const { isDisabled: isDisabled1, onChange: onChange1 } = this.args;\n if (typeof onChange1 !== 'function' || isDisabled1 === true) {\n return;\n }\n onChange1(this.options.get((event1.target as HTMLSelectElement).value), event1);\n };\n addOption = (id1: string, value1: unknown)=>{\n this.options.set(id1, value1);\n };\n removeOption = (id1: string)=>{\n this.options.delete(id1);\n };\n static{\n template(`\n <select\n class={{cn\n \"velvet-select\"\n (concat \"velvet-select-\" (or @size \"md\"))\n (concat \"velvet-select-\" (or @variant \"primary\"))\n (if @isInvalid \"velvet-select-invalid\")\n (if @isPill \"velvet-select-pill\")\n (if @isDisabled \"velvet-select-disabled\")\n (if this.shouldRenderPlaceholder \"velvet-select-placeholder\")\n \"form-select\"\n }}\n disabled={{@isDisabled}}\n {{on \"change\" this.changeHandler}}\n ...attributes\n >\n {{#if this.shouldRenderPlaceholder}}\n <option disabled selected={{true}}>\n {{@placeholder}}\n </option>\n {{/if}}\n {{yield\n (hash\n Option=(component\n VelvetSelectOption\n privateOnCreate=this.addOption\n privateOnDestroy=this.removeOption\n privateSelected=@selected\n )\n )\n }}\n </select>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ndmRwL2NvZGUvdmVsdmV0LXRodW5kZXIvdmVsdmV0LXRodW5kZXIvc3JjL2NvbXBvbmVudHMvdmVsdmV0LXNlbGVjdC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uY2F0LCBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5pbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IFdpdGhCb3VuZEFyZ3MgfSBmcm9tICdAZ2xpbnQvdGVtcGxhdGUnO1xuaW1wb3J0IHsgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycy9jbi50cyc7XG5pbXBvcnQgVmVsdmV0U2VsZWN0T3B0aW9uIGZyb20gJy4vdmVsdmV0LXNlbGVjdC9vcHRpb24uZ3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBWZWx2ZXRTZWxlY3RTaWduYXR1cmUge1xuICBBcmdzOiB7XG4gICAgLy8vIEluZGljYXRlIGlmIHRoZSBzZWxlY3QgaXMgZGlzYWJsZWQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcblxuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgc2VsZWN0IGlzIGludmFsaWQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc0ludmFsaWQ_OiBib29sZWFuO1xuXG4gICAgLy8vIEluZGljYXRlIGlmIHRoZSBzZWxlY3QgaXMgcGlsbCBzaGFwZWQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc1BpbGw_OiBib29sZWFuO1xuXG4gICAgLy8vIEhhbmRsZSB0aGUgc2VsZWN0J3MgYGNoYW5nZWAgZXZlbnQuXG4gICAgLy8vIEBkZWZhdWx0IFt1bmRlZmluZWRdXG4gICAgb25DaGFuZ2U_OiAoc2VsZWN0ZWQ6IHVua25vd24sIGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcblxuICAgIC8vLyBUaGUgcGxhY2Vob2xkZXIgb2YgdGhlIHNlbGVjdC5cbiAgICAvLy8gQGRlZmF1bHQgW1wiXCJdXG4gICAgcGxhY2Vob2xkZXI_OiBzdHJpbmc7XG5cbiAgICAvLy8gVGhlIHNlbGVjdGVkIG9wdGlvbiBvZiB0aGUgc2VsZWN0LlxuICAgIC8vLyBAZGVmYXVsdCBbdW5kZWZpbmVkXVxuICAgIHNlbGVjdGVkPzogdW5rbm93bjtcblxuICAgIC8vLyBUaGUgc2l6ZSBvZiB0aGUgc2VsZWN0LlxuICAgIC8vLyBAZGVmYXVsdCBbXCJtZFwiXVxuICAgIHNpemU_OiAnc20nIHwgJ21kJyB8ICdsZyc7XG5cbiAgICAvLy8gVGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHNlbGVjdC5cbiAgICAvLy8gQGRlZmF1bHQgW1wicHJpbWFyeVwiXVxuICAgIHZhcmlhbnQ_OiBzdHJpbmcgfCAncHJpbWFyeSc7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIC8vLyBUaGUgb3B0aW9ucyBvZiB0aGUgc2VsZWN0LlxuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAgT3B0aW9uOiBXaXRoQm91bmRBcmdzPFxuICAgICAgICAgIHR5cGVvZiBWZWx2ZXRTZWxlY3RPcHRpb24sXG4gICAgICAgICAgJ3ByaXZhdGVPbkNyZWF0ZScgfCAncHJpdmF0ZU9uRGVzdHJveScgfCAncHJpdmF0ZVNlbGVjdGVkJ1xuICAgICAgICA-O1xuICAgICAgfSxcbiAgICBdO1xuICB9O1xuICBFbGVtZW50OiBIVE1MU2VsZWN0RWxlbWVudDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsdmV0U2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50PFZlbHZldFNlbGVjdFNpZ25hdHVyZT4ge1xuICBvcHRpb25zID0gbmV3IE1hcCgpO1xuXG4gIGdldCBoYXNTZWxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJncy5zZWxlY3RlZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYXJncy5zZWxlY3RlZCAhPT0gbnVsbDtcbiAgfVxuXG4gIGdldCBzaG91bGRSZW5kZXJQbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmFyZ3MucGxhY2Vob2xkZXIpICYmIHRoaXMuaGFzU2VsZWN0aW9uID09PSBmYWxzZTtcbiAgfVxuXG4gIGNoYW5nZUhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBpc0Rpc2FibGVkLCBvbkNoYW5nZSB9ID0gdGhpcy5hcmdzO1xuXG4gICAgaWYgKHR5cGVvZiBvbkNoYW5nZSAhPT0gJ2Z1bmN0aW9uJyB8fCBpc0Rpc2FibGVkID09PSB0cnVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb25DaGFuZ2UoXG4gICAgICB0aGlzLm9wdGlvbnMuZ2V0KChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpLnZhbHVlKSxcbiAgICAgIGV2ZW50LFxuICAgICk7XG4gIH07XG5cbiAgYWRkT3B0aW9uID0gKGlkOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKSA9PiB7XG4gICAgdGhpcy5vcHRpb25zLnNldChpZCwgdmFsdWUpO1xuICB9O1xuXG4gIHJlbW92ZU9wdGlvbiA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgdGhpcy5vcHRpb25zLmRlbGV0ZShpZCk7XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxzZWxlY3RcbiAgICAgIGNsYXNzPXt7Y25cbiAgICAgICAgXCJ2ZWx2ZXQtc2VsZWN0XCJcbiAgICAgICAgKGNvbmNhdCBcInZlbHZldC1zZWxlY3QtXCIgKG9yIEBzaXplIFwibWRcIikpXG4gICAgICAgIChjb25jYXQgXCJ2ZWx2ZXQtc2VsZWN0LVwiIChvciBAdmFyaWFudCBcInByaW1hcnlcIikpXG4gICAgICAgIChpZiBAaXNJbnZhbGlkIFwidmVsdmV0LXNlbGVjdC1pbnZhbGlkXCIpXG4gICAgICAgIChpZiBAaXNQaWxsIFwidmVsdmV0LXNlbGVjdC1waWxsXCIpXG4gICAgICAgIChpZiBAaXNEaXNhYmxlZCBcInZlbHZldC1zZWxlY3QtZGlzYWJsZWRcIilcbiAgICAgICAgKGlmIHRoaXMuc2hvdWxkUmVuZGVyUGxhY2Vob2xkZXIgXCJ2ZWx2ZXQtc2VsZWN0LXBsYWNlaG9sZGVyXCIpXG4gICAgICAgIFwiZm9ybS1zZWxlY3RcIlxuICAgICAgfX1cbiAgICAgIGRpc2FibGVkPXt7QGlzRGlzYWJsZWR9fVxuICAgICAge3tvbiBcImNoYW5nZVwiIHRoaXMuY2hhbmdlSGFuZGxlcn19XG4gICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgPlxuICAgICAge3sjaWYgdGhpcy5zaG91bGRSZW5kZXJQbGFjZWhvbGRlcn19XG4gICAgICAgIDxvcHRpb24gZGlzYWJsZWQgc2VsZWN0ZWQ9e3t0cnVlfX0-XG4gICAgICAgICAge3tAcGxhY2Vob2xkZXJ9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgIHt7L2lmfX1cbiAgICAgIHt7eWllbGRcbiAgICAgICAgKGhhc2hcbiAgICAgICAgICBPcHRpb249KGNvbXBvbmVudFxuICAgICAgICAgICAgVmVsdmV0U2VsZWN0T3B0aW9uXG4gICAgICAgICAgICBwcml2YXRlT25DcmVhdGU9dGhpcy5hZGRPcHRpb25cbiAgICAgICAgICAgIHByaXZhdGVPbkRlc3Ryb3k9dGhpcy5yZW1vdmVPcHRpb25cbiAgICAgICAgICAgIHByaXZhdGVTZWxlY3RlZD1Ac2VsZWN0ZWRcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIH19XG4gICAgPC9zZWxlY3Q-XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsTUFBTSxFQUFFLElBQUksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBQ3JDLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsY0FBYyxhQUFhLFFBQVEsa0JBQWtCO0FBQ3JELFNBQVMsRUFBRSxRQUFRLHNCQUFzQjtBQUN6QyxTQUFTLEVBQUUsUUFBUSw0QkFBNEI7QUFDL0MsT0FBTyx3QkFBd0IsNkJBQTZCO0FBRTVELGlCQUFpQjtJQUNmO1FBQ0UsdUNBQXVDO1FBQ3ZDLG9CQUFvQjtRQUNwQixhQUFhLE9BQU87UUFFcEIsc0NBQXNDO1FBQ3RDLG9CQUFvQjtRQUNwQixZQUFZLE9BQU87UUFFbkIsMENBQTBDO1FBQzFDLG9CQUFvQjtRQUNwQixTQUFTLE9BQU87UUFFaEIsdUNBQXVDO1FBQ3ZDLHdCQUF3QjtRQUN4QixZQUFZLFVBQVUsT0FBTyxFQUFFLE9BQU8sVUFBVSxJQUFJO1FBRXBELGtDQUFrQztRQUNsQyxpQkFBaUI7UUFDakIsY0FBYyxNQUFNO1FBRXBCLHNDQUFzQztRQUN0Qyx3QkFBd0I7UUFDeEIsV0FBVyxPQUFPO1FBRWxCLDJCQUEyQjtRQUMzQixtQkFBbUI7UUFDbkIsT0FBTyxPQUFPLE9BQU87UUFFckIsaUNBQWlDO1FBQ2pDLHdCQUF3QjtRQUN4QixVQUFVLE1BQU0sR0FBRzs7SUFFckI7UUFDRSw4QkFBOEI7UUFDOUI7Z0JBRUksUUFBUSxxQkFDQyxvQkFDUCxvQkFBb0IscUJBQXFCOzs7SUFLakQsU0FBUzs7QUFHWCxlQUFlLE1BQU0scUJBQXFCLFVBQVU7SUFDbEQsVUFBVSxJQUFJLE1BQU07SUFFcEIsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSztJQUNwRTtJQUVBLElBQUksMEJBQTBCO1FBQzVCLE9BQU8sUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsWUFBWSxLQUFLO0lBQ2pFO0lBRUEsZ0JBQWdCLENBQUMsUUFBTztRQUN0QixNQUFNLEVBQUUsWUFBQSxXQUFVLEVBQUUsVUFBQSxTQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSTtRQUUxQyxJQUFJLE9BQU8sY0FBYSxjQUFjLGdCQUFlLE1BQU07WUFDekQ7UUFDRjtRQUVBLFVBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFNLE1BQU0sSUFBSSxpQkFBaUIsRUFBRSxLQUFLLEdBQzFEO0lBRUosRUFBRTtJQUVGLFlBQVksQ0FBQyxLQUFJLE1BQU0sRUFBRSxRQUFPLE9BQU87UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSTtJQUN2QixFQUFFO0lBRUYsZUFBZSxDQUFDLEtBQUksTUFBTTtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN0QixFQUFFO0lBRUYsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQ1YsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBaENBO0FBaUNaIn0"],"names":["VelvetSelect","Component","options","Map","hasSelection","args","selected","undefined","shouldRenderPlaceholder","Boolean","placeholder","changeHandler","event1","isDisabled","isDisabled1","onChange","onChange1","get","target","value","addOption","id1","value1","set","removeOption","delete","setComponentTemplate","precompileTemplate","scope","cn","concat","or","on","hash","VelvetSelectOption","strictMode"],"mappings":";;;;;;;;;AAwDe,MAAMA,YAAA,SAAqBC,SAAA,CAAU;EAClDC,OAAA,GAAU,IAAIC,GAAA,EAAA,CAAA;AAEd,EAAA,IAAIC,eAAe;AACjB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACC,QAAQ,KAAKC,SAAA,IAAa,IAAI,CAACF,IAAI,CAACC,QAAQ,KAAK,IAAA,CAAA;AACpE,GAAA;AAEA,EAAA,IAAIE,0BAA0B;IAC5B,OAAOC,OAAA,CAAQ,IAAI,CAACJ,IAAI,CAACK,WAAW,CAAK,IAAA,IAAI,CAACN,YAAY,KAAK,KAAA,CAAA;AACjE,GAAA;AAEAO,EAAAA,aAAA,GAAiBC,MAAO,IAAA;IACtB,MAAM;AAAEC,MAAAA,UAAA,EAAAC,WAAU;AAAEC,MAAAA,QAAA,EAAAC,SAAAA;KAAU,GAAG,IAAI,CAACX,IAAI,CAAA;AAE1C,IAAA,IAAI,OAAOW,SAAA,KAAa,UAAcF,IAAAA,WAAA,KAAe,IAAM,EAAA;AACzD,MAAA,OAAA;AACF,KAAA;AAEAE,IAAAA,SAAA,CACE,IAAI,CAACd,OAAO,CAACe,GAAG,CAAEL,MAAA,CAAMM,MAAM,CAAuBC,KAAK,GAC1DP,MAAA,CAAA,CAAA;AAEJ,GAAA,CAAA;AAEAQ,EAAAA,SAAA,GAAYA,CAACC,GAAU,EAAEC,MAAc,KAAA;AACrC,IAAA,IAAI,CAACpB,OAAO,CAACqB,GAAG,CAACF,GAAA,EAAIC,MAAA,CAAA,CAAA;AACvB,GAAA,CAAA;AAEAE,EAAAA,YAAA,GAAgBH,GAAU,IAAA;AACxB,IAAA,IAAI,CAACnB,OAAO,CAACuB,MAAM,CAACJ,GAAA,CAAA,CAAA;AACtB,GAAA,CAAA;AAEA,EAAA;IAAAK,oBAAA,CAAAC,kBAAA,CAgCA,6uBAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,EAAA;QAAAC,IAAA;AAAAC,QAAAA,kBAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"velvet-select.js","sources":["../../src/components/velvet-select.gts"],"sourcesContent":["import { template as template_b3bb6ba5d5cf49be90b340ea568e2652 } from \"@ember/template-compiler\";\nimport { concat, hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport type { WithBoundArgs } from '@glint/template';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nimport VelvetSelectOption from './velvet-select/option.gts';\nexport interface VelvetSelectSignature {\n Args: {\n /// Indicate if the select is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// Indicate if the select is invalid.\n /// @default [false]\n isInvalid?: boolean;\n /// Indicate if the select is pill shaped.\n /// @default [false]\n isPill?: boolean;\n /// Handle the select's `change` event.\n /// @default [undefined]\n onChange?: (selected: unknown, event: Event) => void;\n /// The placeholder of the select.\n /// @default [\"\"]\n placeholder?: string;\n /// The selected option of the select.\n /// @default [undefined]\n selected?: unknown;\n /// The size of the select.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n /// The appearance of the select.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Blocks: {\n /// The options of the select.\n default: [{\n Option: WithBoundArgs<typeof VelvetSelectOption, 'privateOnCreate' | 'privateOnDestroy' | 'privateSelected'>;\n }];\n };\n Element: HTMLSelectElement;\n}\nexport default class VelvetSelect extends Component<VelvetSelectSignature> {\n options = new Map();\n get hasSelection() {\n return this.args.selected !== undefined && this.args.selected !== null;\n }\n get shouldRenderPlaceholder() {\n return Boolean(this.args.placeholder) && this.hasSelection === false;\n }\n changeHandler = (event: Event)=>{\n const { isDisabled, onChange } = this.args;\n if (typeof onChange !== 'function' || isDisabled === true) {\n return;\n }\n onChange(this.options.get((event.target as HTMLSelectElement).value), event);\n };\n addOption = (id: string, value: unknown)=>{\n this.options.set(id, value);\n };\n removeOption = (id: string)=>{\n this.options.delete(id);\n };\n static{\n template_b3bb6ba5d5cf49be90b340ea568e2652(`\n <select\n class={{cn\n \"velvet-select\"\n (concat \"velvet-select-\" (or @size \"md\"))\n (concat \"velvet-select-\" (or @variant \"primary\"))\n (if @isInvalid \"velvet-select-invalid\")\n (if @isPill \"velvet-select-pill\")\n (if @isDisabled \"velvet-select-disabled\")\n (if this.shouldRenderPlaceholder \"velvet-select-placeholder\")\n \"form-select\"\n }}\n disabled={{@isDisabled}}\n {{on \"change\" this.changeHandler}}\n ...attributes\n >\n {{#if this.shouldRenderPlaceholder}}\n <option disabled selected={{true}}>\n {{@placeholder}}\n </option>\n {{/if}}\n {{yield\n (hash\n Option=(component\n VelvetSelectOption\n privateOnCreate=this.addOption\n privateOnDestroy=this.removeOption\n privateSelected=@selected\n )\n )\n }}\n </select>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3NyYy9jb21wb25lbnRzL3ZlbHZldC1zZWxlY3QuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmNhdCwgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgb24gfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUgeyBXaXRoQm91bmRBcmdzIH0gZnJvbSAnQGdsaW50L3RlbXBsYXRlJztcbmltcG9ydCB7IG9yIH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMvY24udHMnO1xuaW1wb3J0IFZlbHZldFNlbGVjdE9wdGlvbiBmcm9tICcuL3ZlbHZldC1zZWxlY3Qvb3B0aW9uLmd0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVsdmV0U2VsZWN0U2lnbmF0dXJlIHtcbiAgQXJnczoge1xuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgc2VsZWN0IGlzIGRpc2FibGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgICAvLy8gSW5kaWNhdGUgaWYgdGhlIHNlbGVjdCBpcyBpbnZhbGlkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNJbnZhbGlkPzogYm9vbGVhbjtcblxuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgc2VsZWN0IGlzIHBpbGwgc2hhcGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNQaWxsPzogYm9vbGVhbjtcblxuICAgIC8vLyBIYW5kbGUgdGhlIHNlbGVjdCdzIGBjaGFuZ2VgIGV2ZW50LlxuICAgIC8vLyBAZGVmYXVsdCBbdW5kZWZpbmVkXVxuICAgIG9uQ2hhbmdlPzogKHNlbGVjdGVkOiB1bmtub3duLCBldmVudDogRXZlbnQpID0-IHZvaWQ7XG5cbiAgICAvLy8gVGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBzZWxlY3QuXG4gICAgLy8vIEBkZWZhdWx0IFtcIlwiXVxuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gICAgLy8vIFRoZSBzZWxlY3RlZCBvcHRpb24gb2YgdGhlIHNlbGVjdC5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICBzZWxlY3RlZD86IHVua25vd247XG5cbiAgICAvLy8gVGhlIHNpemUgb2YgdGhlIHNlbGVjdC5cbiAgICAvLy8gQGRlZmF1bHQgW1wibWRcIl1cbiAgICBzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xuXG4gICAgLy8vIFRoZSBhcHBlYXJhbmNlIG9mIHRoZSBzZWxlY3QuXG4gICAgLy8vIEBkZWZhdWx0IFtcInByaW1hcnlcIl1cbiAgICB2YXJpYW50Pzogc3RyaW5nIHwgJ3ByaW1hcnknO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICAvLy8gVGhlIG9wdGlvbnMgb2YgdGhlIHNlbGVjdC5cbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIE9wdGlvbjogV2l0aEJvdW5kQXJnczxcbiAgICAgICAgICB0eXBlb2YgVmVsdmV0U2VsZWN0T3B0aW9uLFxuICAgICAgICAgICdwcml2YXRlT25DcmVhdGUnIHwgJ3ByaXZhdGVPbkRlc3Ryb3knIHwgJ3ByaXZhdGVTZWxlY3RlZCdcbiAgICAgICAgPjtcbiAgICAgIH0sXG4gICAgXTtcbiAgfTtcbiAgRWxlbWVudDogSFRNTFNlbGVjdEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbHZldFNlbGVjdCBleHRlbmRzIENvbXBvbmVudDxWZWx2ZXRTZWxlY3RTaWduYXR1cmU-IHtcbiAgb3B0aW9ucyA9IG5ldyBNYXAoKTtcblxuICBnZXQgaGFzU2VsZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmFyZ3Muc2VsZWN0ZWQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmFyZ3Muc2VsZWN0ZWQgIT09IG51bGw7XG4gIH1cblxuICBnZXQgc2hvdWxkUmVuZGVyUGxhY2Vob2xkZXIoKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5hcmdzLnBsYWNlaG9sZGVyKSAmJiB0aGlzLmhhc1NlbGVjdGlvbiA9PT0gZmFsc2U7XG4gIH1cblxuICBjaGFuZ2VIYW5kbGVyID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIGNvbnN0IHsgaXNEaXNhYmxlZCwgb25DaGFuZ2UgfSA9IHRoaXMuYXJncztcblxuICAgIGlmICh0eXBlb2Ygb25DaGFuZ2UgIT09ICdmdW5jdGlvbicgfHwgaXNEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlKFxuICAgICAgdGhpcy5vcHRpb25zLmdldCgoZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50KS52YWx1ZSksXG4gICAgICBldmVudCxcbiAgICApO1xuICB9O1xuXG4gIGFkZE9wdGlvbiA9IChpZDogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikgPT4ge1xuICAgIHRoaXMub3B0aW9ucy5zZXQoaWQsIHZhbHVlKTtcbiAgfTtcblxuICByZW1vdmVPcHRpb24gPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIHRoaXMub3B0aW9ucy5kZWxldGUoaWQpO1xuICB9O1xuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8c2VsZWN0XG4gICAgICBjbGFzcz17e2NuXG4gICAgICAgIFwidmVsdmV0LXNlbGVjdFwiXG4gICAgICAgIChjb25jYXQgXCJ2ZWx2ZXQtc2VsZWN0LVwiIChvciBAc2l6ZSBcIm1kXCIpKVxuICAgICAgICAoY29uY2F0IFwidmVsdmV0LXNlbGVjdC1cIiAob3IgQHZhcmlhbnQgXCJwcmltYXJ5XCIpKVxuICAgICAgICAoaWYgQGlzSW52YWxpZCBcInZlbHZldC1zZWxlY3QtaW52YWxpZFwiKVxuICAgICAgICAoaWYgQGlzUGlsbCBcInZlbHZldC1zZWxlY3QtcGlsbFwiKVxuICAgICAgICAoaWYgQGlzRGlzYWJsZWQgXCJ2ZWx2ZXQtc2VsZWN0LWRpc2FibGVkXCIpXG4gICAgICAgIChpZiB0aGlzLnNob3VsZFJlbmRlclBsYWNlaG9sZGVyIFwidmVsdmV0LXNlbGVjdC1wbGFjZWhvbGRlclwiKVxuICAgICAgICBcImZvcm0tc2VsZWN0XCJcbiAgICAgIH19XG4gICAgICBkaXNhYmxlZD17e0Bpc0Rpc2FibGVkfX1cbiAgICAgIHt7b24gXCJjaGFuZ2VcIiB0aGlzLmNoYW5nZUhhbmRsZXJ9fVxuICAgICAgLi4uYXR0cmlidXRlc1xuICAgID5cbiAgICAgIHt7I2lmIHRoaXMuc2hvdWxkUmVuZGVyUGxhY2Vob2xkZXJ9fVxuICAgICAgICA8b3B0aW9uIGRpc2FibGVkIHNlbGVjdGVkPXt7dHJ1ZX19PlxuICAgICAgICAgIHt7QHBsYWNlaG9sZGVyfX1cbiAgICAgICAgPC9vcHRpb24-XG4gICAgICB7ey9pZn19XG4gICAgICB7e3lpZWxkXG4gICAgICAgIChoYXNoXG4gICAgICAgICAgT3B0aW9uPShjb21wb25lbnRcbiAgICAgICAgICAgIFZlbHZldFNlbGVjdE9wdGlvblxuICAgICAgICAgICAgcHJpdmF0ZU9uQ3JlYXRlPXRoaXMuYWRkT3B0aW9uXG4gICAgICAgICAgICBwcml2YXRlT25EZXN0cm95PXRoaXMucmVtb3ZlT3B0aW9uXG4gICAgICAgICAgICBwcml2YXRlU2VsZWN0ZWQ9QHNlbGVjdGVkXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICB9fVxuICAgIDwvc2VsZWN0PlxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLE1BQU0sRUFBRSxJQUFJLFFBQVEsZ0JBQWdCO0FBQzdDLFNBQVMsRUFBRSxRQUFRLGtCQUFrQjtBQUNyQyxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLGNBQWMsYUFBYSxRQUFRLGtCQUFrQjtBQUNyRCxTQUFTLEVBQUUsUUFBUSxzQkFBc0I7QUFDekMsU0FBUyxFQUFFLFFBQVEsNEJBQTRCO0FBQy9DLE9BQU8sd0JBQXdCLDZCQUE2QjtBQUU1RCxpQkFBaUI7SUFDZjtRQUNFLHVDQUF1QztRQUN2QyxvQkFBb0I7UUFDcEIsYUFBYSxPQUFPO1FBRXBCLHNDQUFzQztRQUN0QyxvQkFBb0I7UUFDcEIsWUFBWSxPQUFPO1FBRW5CLDBDQUEwQztRQUMxQyxvQkFBb0I7UUFDcEIsU0FBUyxPQUFPO1FBRWhCLHVDQUF1QztRQUN2Qyx3QkFBd0I7UUFDeEIsWUFBWSxVQUFVLE9BQU8sRUFBRSxPQUFPLFVBQVUsSUFBSTtRQUVwRCxrQ0FBa0M7UUFDbEMsaUJBQWlCO1FBQ2pCLGNBQWMsTUFBTTtRQUVwQixzQ0FBc0M7UUFDdEMsd0JBQXdCO1FBQ3hCLFdBQVcsT0FBTztRQUVsQiwyQkFBMkI7UUFDM0IsbUJBQW1CO1FBQ25CLE9BQU8sT0FBTyxPQUFPO1FBRXJCLGlDQUFpQztRQUNqQyx3QkFBd0I7UUFDeEIsVUFBVSxNQUFNLEdBQUc7O0lBRXJCO1FBQ0UsOEJBQThCO1FBQzlCO2dCQUVJLFFBQVEscUJBQ0Msb0JBQ1Asb0JBQW9CLHFCQUFxQjs7O0lBS2pELFNBQVM7O0FBR1gsZUFBZSxNQUFNLHFCQUFxQixVQUFVO0lBQ2xELFVBQVUsSUFBSSxNQUFNO0lBRXBCLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUs7SUFDcEU7SUFFQSxJQUFJLDBCQUEwQjtRQUM1QixPQUFPLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFlBQVksS0FBSztJQUNqRTtJQUVBLGdCQUFnQixDQUFDLE9BQU87UUFDdEIsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSTtRQUUxQyxJQUFJLE9BQU8sYUFBYSxjQUFjLGVBQWUsTUFBTTtZQUN6RDtRQUNGO1FBRUEsU0FDRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sTUFBTSxJQUFJLGlCQUFpQixFQUFFLEtBQUssR0FDMUQ7SUFFSixFQUFFO0lBRUYsWUFBWSxDQUFDLElBQUksTUFBTSxFQUFFLE9BQU8sT0FBTztRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJO0lBQ3ZCLEVBQUU7SUFFRixlQUFlLENBQUMsSUFBSSxNQUFNO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3RCLEVBQUU7SUFFRixNQUFBO1FBQUEsMENBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQ1YsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBaENBO0FBaUNaIn0"],"names":["VelvetSelect","Component","options","Map","hasSelection","args","selected","undefined","shouldRenderPlaceholder","Boolean","placeholder","changeHandler","event","isDisabled","onChange","get","target","value","addOption","id","set","removeOption","delete","setComponentTemplate","precompileTemplate","strictMode","scope","cn","concat","or","on","hash","VelvetSelectOption"],"mappings":";;;;;;;;;AAwDe,MAAMA,YAAA,SAAqBC,SAAA,CAAU;EAClDC,OAAA,GAAU,IAAIC,GAAA,EAAA;AAEd,EAAA,IAAIC,eAAe;AACjB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACC,QAAQ,KAAKC,SAAA,IAAa,IAAI,CAACF,IAAI,CAACC,QAAQ,KAAK,IAAA;AACpE;AAEA,EAAA,IAAIE,0BAA0B;IAC5B,OAAOC,OAAA,CAAQ,IAAI,CAACJ,IAAI,CAACK,WAAW,CAAK,IAAA,IAAI,CAACN,YAAY,KAAK,KAAA;AACjE;AAEAO,EAAAA,aAAA,GAAiBC,KAAO,IAAA;IACtB,MAAM;MAAEC,UAAU;AAAEC,MAAAA;KAAU,GAAG,IAAI,CAACT,IAAI;AAE1C,IAAA,IAAI,OAAOS,QAAA,KAAa,UAAcD,IAAAA,UAAA,KAAe,IAAM,EAAA;AACzD,MAAA;AACF;AAEAC,IAAAA,QAAA,CACE,IAAI,CAACZ,OAAO,CAACa,GAAG,CAAEH,KAAA,CAAMI,MAAM,CAAuBC,KAAK,GAC1DL,KAAA,CAAA;AAEJ,GAAA;AAEAM,EAAAA,SAAA,GAAYA,CAACC,EAAU,EAAEF,KAAc,KAAA;AACrC,IAAA,IAAI,CAACf,OAAO,CAACkB,GAAG,CAACD,EAAA,EAAIF,KAAA,CAAA;AACvB,GAAA;AAEAI,EAAAA,YAAA,GAAgBF,EAAU,IAAA;AACxB,IAAA,IAAI,CAACjB,OAAO,CAACoB,MAAM,CAACH,EAAA,CAAA;AACtB,GAAA;AAEA,EAAA;IAAAI,oBAAA,CAAAC,kBAAA,CAgCA,6uBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,EAAA;QAAAC,IAAA;AAAAC,QAAAA;AAAA,OAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -6,12 +6,12 @@ import { setComponentTemplate } from '@ember/component';
|
|
|
6
6
|
import templateOnly from '@ember/component/template-only';
|
|
7
7
|
|
|
8
8
|
const VelvetSpinner = setComponentTemplate(precompileTemplate("\n <svg class={{cn \"velvet-spinner\" (concat \"velvet-spinner-\" (or @size \"md\"))}} fill=\"none\" role=\"status\" stroke=\"currentColor\" stroke-width=\"10\" viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" ...attributes>\n <circle class=\"velvet-spinner-track\" cx=\"40\" cy=\"40\" r=\"35\"></circle>\n <circle class=\"velvet-spinner-line\" cx=\"40\" cy=\"40\" r=\"35\" stroke-dasharray=\"40, 160\" stroke-linecap=\"round\"></circle>\n </svg>\n", {
|
|
9
|
+
strictMode: true,
|
|
9
10
|
scope: () => ({
|
|
10
11
|
cn,
|
|
11
12
|
concat,
|
|
12
13
|
or
|
|
13
|
-
})
|
|
14
|
-
strictMode: true
|
|
14
|
+
})
|
|
15
15
|
}), templateOnly());
|
|
16
16
|
|
|
17
17
|
export { VelvetSpinner as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"velvet-spinner.js","sources":["../../src/components/velvet-spinner.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport type { TOC } from '@ember/component/template-only';\nimport { concat } from '@ember/helper';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetSpinnerSignature {\n Args: {\n /// The size of the spinner.\n /// @default [\"md\"]\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n };\n Element: SVGElement;\n}\nconst VelvetSpinner: TOC<VelvetSpinnerSignature> =
|
|
1
|
+
{"version":3,"file":"velvet-spinner.js","sources":["../../src/components/velvet-spinner.gts"],"sourcesContent":["import { template as template_80997cd298bc4683a0b9e315a9706bc6 } from \"@ember/template-compiler\";\nimport type { TOC } from '@ember/component/template-only';\nimport { concat } from '@ember/helper';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetSpinnerSignature {\n Args: {\n /// The size of the spinner.\n /// @default [\"md\"]\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n };\n Element: SVGElement;\n}\nconst VelvetSpinner: TOC<VelvetSpinnerSignature> = template_80997cd298bc4683a0b9e315a9706bc6(`\n <svg\n class={{cn\n \"velvet-spinner\"\n (concat \"velvet-spinner-\" (or @size \"md\"))\n }}\n fill=\"none\"\n role=\"status\"\n stroke=\"currentColor\"\n stroke-width=\"10\"\n viewBox=\"0 0 80 80\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ...attributes\n >\n <circle class=\"velvet-spinner-track\" cx=\"40\" cy=\"40\" r=\"35\"></circle>\n <circle\n class=\"velvet-spinner-line\"\n cx=\"40\"\n cy=\"40\"\n r=\"35\"\n stroke-dasharray=\"40, 160\"\n stroke-linecap=\"round\"\n ></circle>\n </svg>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default VelvetSpinner;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3NyYy9jb21wb25lbnRzL3ZlbHZldC1zcGlubmVyLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5pbXBvcnQgeyBjb25jYXQgfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9yIH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMvY24udHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlbHZldFNwaW5uZXJTaWduYXR1cmUge1xuICBBcmdzOiB7XG4gICAgLy8vIFRoZSBzaXplIG9mIHRoZSBzcGlubmVyLlxuICAgIC8vLyBAZGVmYXVsdCBbXCJtZFwiXVxuICAgIHNpemU_OiAneHMnIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcbiAgfTtcbiAgRWxlbWVudDogU1ZHRWxlbWVudDtcbn1cblxuY29uc3QgVmVsdmV0U3Bpbm5lcjogVE9DPFZlbHZldFNwaW5uZXJTaWduYXR1cmU-ID0gPHRlbXBsYXRlPlxuICA8c3ZnXG4gICAgY2xhc3M9e3tjblxuICAgICAgXCJ2ZWx2ZXQtc3Bpbm5lclwiXG4gICAgICAoY29uY2F0IFwidmVsdmV0LXNwaW5uZXItXCIgKG9yIEBzaXplIFwibWRcIikpXG4gICAgfX1cbiAgICBmaWxsPVwibm9uZVwiXG4gICAgcm9sZT1cInN0YXR1c1wiXG4gICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICBzdHJva2Utd2lkdGg9XCIxMFwiXG4gICAgdmlld0JveD1cIjAgMCA4MCA4MFwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgLi4uYXR0cmlidXRlc1xuICA-XG4gICAgPGNpcmNsZSBjbGFzcz1cInZlbHZldC1zcGlubmVyLXRyYWNrXCIgY3g9XCI0MFwiIGN5PVwiNDBcIiByPVwiMzVcIj48L2NpcmNsZT5cbiAgICA8Y2lyY2xlXG4gICAgICBjbGFzcz1cInZlbHZldC1zcGlubmVyLWxpbmVcIlxuICAgICAgY3g9XCI0MFwiXG4gICAgICBjeT1cIjQwXCJcbiAgICAgIHI9XCIzNVwiXG4gICAgICBzdHJva2UtZGFzaGFycmF5PVwiNDAsIDE2MFwiXG4gICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICA-PC9jaXJjbGU-XG4gIDwvc3ZnPlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IFZlbHZldFNwaW5uZXI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUMxRCxTQUFTLE1BQU0sUUFBUSxnQkFBZ0I7QUFDdkMsU0FBUyxFQUFFLFFBQVEsc0JBQXNCO0FBQ3pDLFNBQVMsRUFBRSxRQUFRLDRCQUE0QjtBQUUvQyxpQkFBaUI7SUFDZjtRQUNFLDRCQUE0QjtRQUM1QixtQkFBbUI7UUFDbkIsT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPOztJQUVyQyxTQUFTOztBQUdYLE1BQU0sZUFBZSxJQUFJLDBCQUEwQiwwQ0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QjdELENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQTtBQUVWLGVBQWUsY0FBYyJ9"],"names":["VelvetSpinner","setComponentTemplate","precompileTemplate","strictMode","scope","cn","concat","or","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAwBnD,odAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;IAAAC,MAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -7,25 +7,25 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
7
7
|
import { setComponentTemplate } from '@ember/component';
|
|
8
8
|
|
|
9
9
|
class VelvetSwitch extends Component {
|
|
10
|
-
changeHandler =
|
|
10
|
+
changeHandler = event => {
|
|
11
11
|
const {
|
|
12
|
-
isDisabled
|
|
13
|
-
onChange
|
|
12
|
+
isDisabled,
|
|
13
|
+
onChange
|
|
14
14
|
} = this.args;
|
|
15
|
-
if (typeof
|
|
15
|
+
if (typeof onChange !== 'function' || isDisabled === true) {
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
onChange(event.target.checked, event);
|
|
19
19
|
};
|
|
20
20
|
static {
|
|
21
21
|
setComponentTemplate(precompileTemplate("\n <label class={{cn \"velvet-switch\" (concat \"velvet-switch-\" (or @size \"md\")) (concat \"velvet-switch-\" (or @alignment \"left\")) (if @isDisabled \"velvet-switch-disabled\")}}>\n <input checked={{@isChecked}} class=\"velvet-switch-input\" disabled={{@isDisabled}} type=\"checkbox\" {{on \"change\" this.changeHandler}} ...attributes />\n <div class=\"velvet-switch-track\">\n <div class=\"velvet-switch-handle\"></div>\n </div>\n {{yield}}\n </label>\n ", {
|
|
22
|
+
strictMode: true,
|
|
22
23
|
scope: () => ({
|
|
23
24
|
cn,
|
|
24
25
|
concat,
|
|
25
26
|
or,
|
|
26
27
|
on
|
|
27
|
-
})
|
|
28
|
-
strictMode: true
|
|
28
|
+
})
|
|
29
29
|
}), this);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"velvet-switch.js","sources":["../../src/components/velvet-switch.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetSwitchSignature {\n Args: {\n /// Alignment of the switch.\n /// @default [\"left\"]\n alignment?: 'left' | 'right';\n /// Indicate if the switch is checked.\n /// @default [false]\n isChecked?: boolean;\n /// Indicate if the switch is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// Handle the switch's `change` event.\n /// @default [undefined]\n onChange?: (isChecked: boolean, event: Event) => void;\n /// The size of the switch.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n };\n Blocks: {\n /// The label of the switch.\n default: [];\n };\n Element: HTMLInputElement;\n}\nexport default class VelvetSwitch extends Component<VelvetSwitchSignature> {\n changeHandler = (
|
|
1
|
+
{"version":3,"file":"velvet-switch.js","sources":["../../src/components/velvet-switch.gts"],"sourcesContent":["import { template as template_25381b6c89544efbbaf9b253ea3ed8aa } from \"@ember/template-compiler\";\nimport { concat } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetSwitchSignature {\n Args: {\n /// Alignment of the switch.\n /// @default [\"left\"]\n alignment?: 'left' | 'right';\n /// Indicate if the switch is checked.\n /// @default [false]\n isChecked?: boolean;\n /// Indicate if the switch is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// Handle the switch's `change` event.\n /// @default [undefined]\n onChange?: (isChecked: boolean, event: Event) => void;\n /// The size of the switch.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n };\n Blocks: {\n /// The label of the switch.\n default: [];\n };\n Element: HTMLInputElement;\n}\nexport default class VelvetSwitch extends Component<VelvetSwitchSignature> {\n changeHandler = (event: Event)=>{\n const { isDisabled, onChange } = this.args;\n if (typeof onChange !== 'function' || isDisabled === true) {\n return;\n }\n onChange((event.target as HTMLInputElement).checked, event);\n };\n static{\n template_25381b6c89544efbbaf9b253ea3ed8aa(`\n <label\n class={{cn\n \"velvet-switch\"\n (concat \"velvet-switch-\" (or @size \"md\"))\n (concat \"velvet-switch-\" (or @alignment \"left\"))\n (if @isDisabled \"velvet-switch-disabled\")\n }}\n >\n <input\n checked={{@isChecked}}\n class=\"velvet-switch-input\"\n disabled={{@isDisabled}}\n type=\"checkbox\"\n {{on \"change\" this.changeHandler}}\n ...attributes\n />\n <div class=\"velvet-switch-track\">\n <div class=\"velvet-switch-handle\"></div>\n </div>\n {{yield}}\n </label>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3NyYy9jb21wb25lbnRzL3ZlbHZldC1zd2l0Y2guZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmNhdCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgb24gfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycy9jbi50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVsdmV0U3dpdGNoU2lnbmF0dXJlIHtcbiAgQXJnczoge1xuICAgIC8vLyBBbGlnbm1lbnQgb2YgdGhlIHN3aXRjaC5cbiAgICAvLy8gQGRlZmF1bHQgW1wibGVmdFwiXVxuICAgIGFsaWdubWVudD86ICdsZWZ0JyB8ICdyaWdodCc7XG5cbiAgICAvLy8gSW5kaWNhdGUgaWYgdGhlIHN3aXRjaCBpcyBjaGVja2VkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNDaGVja2VkPzogYm9vbGVhbjtcblxuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgc3dpdGNoIGlzIGRpc2FibGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgICAvLy8gSGFuZGxlIHRoZSBzd2l0Y2gncyBgY2hhbmdlYCBldmVudC5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICBvbkNoYW5nZT86IChpc0NoZWNrZWQ6IGJvb2xlYW4sIGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcblxuICAgIC8vLyBUaGUgc2l6ZSBvZiB0aGUgc3dpdGNoLlxuICAgIC8vLyBAZGVmYXVsdCBbXCJtZFwiXVxuICAgIHNpemU_OiAnc20nIHwgJ21kJyB8ICdsZyc7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIC8vLyBUaGUgbGFiZWwgb2YgdGhlIHN3aXRjaC5cbiAgICBkZWZhdWx0OiBbXTtcbiAgfTtcbiAgRWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsdmV0U3dpdGNoIGV4dGVuZHMgQ29tcG9uZW50PFZlbHZldFN3aXRjaFNpZ25hdHVyZT4ge1xuICBjaGFuZ2VIYW5kbGVyID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIGNvbnN0IHsgaXNEaXNhYmxlZCwgb25DaGFuZ2UgfSA9IHRoaXMuYXJncztcblxuICAgIGlmICh0eXBlb2Ygb25DaGFuZ2UgIT09ICdmdW5jdGlvbicgfHwgaXNEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZCwgZXZlbnQpO1xuICB9O1xuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPXt7Y25cbiAgICAgICAgXCJ2ZWx2ZXQtc3dpdGNoXCJcbiAgICAgICAgKGNvbmNhdCBcInZlbHZldC1zd2l0Y2gtXCIgKG9yIEBzaXplIFwibWRcIikpXG4gICAgICAgIChjb25jYXQgXCJ2ZWx2ZXQtc3dpdGNoLVwiIChvciBAYWxpZ25tZW50IFwibGVmdFwiKSlcbiAgICAgICAgKGlmIEBpc0Rpc2FibGVkIFwidmVsdmV0LXN3aXRjaC1kaXNhYmxlZFwiKVxuICAgICAgfX1cbiAgICA-XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2hlY2tlZD17e0Bpc0NoZWNrZWR9fVxuICAgICAgICBjbGFzcz1cInZlbHZldC1zd2l0Y2gtaW5wdXRcIlxuICAgICAgICBkaXNhYmxlZD17e0Bpc0Rpc2FibGVkfX1cbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAge3tvbiBcImNoYW5nZVwiIHRoaXMuY2hhbmdlSGFuZGxlcn19XG4gICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgIC8-XG4gICAgICA8ZGl2IGNsYXNzPVwidmVsdmV0LXN3aXRjaC10cmFja1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmVsdmV0LXN3aXRjaC1oYW5kbGVcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3t5aWVsZH19XG4gICAgPC9sYWJlbD5cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxNQUFNLFFBQVEsZ0JBQWdCO0FBQ3ZDLFNBQVMsRUFBRSxRQUFRLGtCQUFrQjtBQUNyQyxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsRUFBRSxRQUFRLHNCQUFzQjtBQUN6QyxTQUFTLEVBQUUsUUFBUSw0QkFBNEI7QUFFL0MsaUJBQWlCO0lBQ2Y7UUFDRSw0QkFBNEI7UUFDNUIscUJBQXFCO1FBQ3JCLFlBQVksU0FBUztRQUVyQixzQ0FBc0M7UUFDdEMsb0JBQW9CO1FBQ3BCLFlBQVksT0FBTztRQUVuQix1Q0FBdUM7UUFDdkMsb0JBQW9CO1FBQ3BCLGFBQWEsT0FBTztRQUVwQix1Q0FBdUM7UUFDdkMsd0JBQXdCO1FBQ3hCLFlBQVksV0FBVyxPQUFPLEVBQUUsT0FBTyxVQUFVLElBQUk7UUFFckQsMkJBQTJCO1FBQzNCLG1CQUFtQjtRQUNuQixPQUFPLE9BQU8sT0FBTzs7SUFFdkI7UUFDRSw0QkFBNEI7UUFDNUI7O0lBRUYsU0FBUzs7QUFHWCxlQUFlLE1BQU0scUJBQXFCLFVBQVU7SUFDbEQsZ0JBQWdCLENBQUMsT0FBTztRQUN0QixNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBRTFDLElBQUksT0FBTyxhQUFhLGNBQWMsZUFBZSxNQUFNO1lBQ3pEO1FBQ0Y7UUFFQSxTQUFTLENBQUMsTUFBTSxNQUFNLElBQUksZ0JBQWdCLEVBQUUsT0FBTyxFQUFFO0lBQ3ZELEVBQUU7SUFFRixNQUFBO1FBQUEsMENBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXNCVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0F0QkE7QUF1QloifQ"],"names":["VelvetSwitch","Component","changeHandler","event","isDisabled","onChange","args","target","checked","setComponentTemplate","precompileTemplate","strictMode","scope","cn","concat","or","on"],"mappings":";;;;;;;;AAmCe,MAAMA,YAAA,SAAqBC,SAAA,CAAU;AAClDC,EAAAA,aAAA,GAAiBC,KAAO,IAAA;IACtB,MAAM;MAAEC,UAAU;AAAEC,MAAAA;KAAU,GAAG,IAAI,CAACC,IAAI;AAE1C,IAAA,IAAI,OAAOD,QAAA,KAAa,UAAcD,IAAAA,UAAA,KAAe,IAAM,EAAA;AACzD,MAAA;AACF;AAEAC,IAAAA,QAAA,CAAUF,KAAA,CAAMI,MAAM,CAAsBC,OAAO,EAAEL,KAAA,CAAA;AACvD,GAAA;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAsBA,ifAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;AAAAC,QAAAA;AAAA,OAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -6,12 +6,12 @@ import { setComponentTemplate } from '@ember/component';
|
|
|
6
6
|
import templateOnly from '@ember/component/template-only';
|
|
7
7
|
|
|
8
8
|
const VelvetTag = setComponentTemplate(precompileTemplate("\n <div class={{cn \"velvet-tag\" (concat \"velvet-tag-\" (or @size \"md\")) (concat \"velvet-tag-\" (or @variant \"primary\")) (if @isPill \"velvet-tag-pill\")}} ...attributes>\n {{yield}}\n </div>\n", {
|
|
9
|
+
strictMode: true,
|
|
9
10
|
scope: () => ({
|
|
10
11
|
cn,
|
|
11
12
|
concat,
|
|
12
13
|
or
|
|
13
|
-
})
|
|
14
|
-
strictMode: true
|
|
14
|
+
})
|
|
15
15
|
}), templateOnly());
|
|
16
16
|
|
|
17
17
|
export { VelvetTag as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"velvet-tag.js","sources":["../../src/components/velvet-tag.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport type { TOC } from '@ember/component/template-only';\nimport { concat } from '@ember/helper';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetTagSignature {\n Args: {\n /// Indicate if the tag is pill shaped.\n /// @default [false]\n isPill?: boolean;\n /// The size of the tag.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n /// The appearance of the tag.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Blocks: {\n /// The label of the tag.\n default: [];\n };\n Element: HTMLDivElement;\n}\nconst VelvetTag: TOC<VelvetTagSignature> =
|
|
1
|
+
{"version":3,"file":"velvet-tag.js","sources":["../../src/components/velvet-tag.gts"],"sourcesContent":["import { template as template_02dceaba80cb4edc80a2abc0f0d6120b } from \"@ember/template-compiler\";\nimport type { TOC } from '@ember/component/template-only';\nimport { concat } from '@ember/helper';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetTagSignature {\n Args: {\n /// Indicate if the tag is pill shaped.\n /// @default [false]\n isPill?: boolean;\n /// The size of the tag.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n /// The appearance of the tag.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Blocks: {\n /// The label of the tag.\n default: [];\n };\n Element: HTMLDivElement;\n}\nconst VelvetTag: TOC<VelvetTagSignature> = template_02dceaba80cb4edc80a2abc0f0d6120b(`\n <div\n class={{cn\n \"velvet-tag\"\n (concat \"velvet-tag-\" (or @size \"md\"))\n (concat \"velvet-tag-\" (or @variant \"primary\"))\n (if @isPill \"velvet-tag-pill\")\n }}\n ...attributes\n >\n {{yield}}\n </div>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default VelvetTag;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3NyYy9jb21wb25lbnRzL3ZlbHZldC10YWcuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycy9jbi50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVsdmV0VGFnU2lnbmF0dXJlIHtcbiAgQXJnczoge1xuICAgIC8vLyBJbmRpY2F0ZSBpZiB0aGUgdGFnIGlzIHBpbGwgc2hhcGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNQaWxsPzogYm9vbGVhbjtcblxuICAgIC8vLyBUaGUgc2l6ZSBvZiB0aGUgdGFnLlxuICAgIC8vLyBAZGVmYXVsdCBbXCJtZFwiXVxuICAgIHNpemU_OiAnc20nIHwgJ21kJyB8ICdsZyc7XG5cbiAgICAvLy8gVGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHRhZy5cbiAgICAvLy8gQGRlZmF1bHQgW1wicHJpbWFyeVwiXVxuICAgIHZhcmlhbnQ_OiBzdHJpbmcgfCAncHJpbWFyeSc7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIC8vLyBUaGUgbGFiZWwgb2YgdGhlIHRhZy5cbiAgICBkZWZhdWx0OiBbXTtcbiAgfTtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG59XG5cbmNvbnN0IFZlbHZldFRhZzogVE9DPFZlbHZldFRhZ1NpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIDxkaXZcbiAgICBjbGFzcz17e2NuXG4gICAgICBcInZlbHZldC10YWdcIlxuICAgICAgKGNvbmNhdCBcInZlbHZldC10YWctXCIgKG9yIEBzaXplIFwibWRcIikpXG4gICAgICAoY29uY2F0IFwidmVsdmV0LXRhZy1cIiAob3IgQHZhcmlhbnQgXCJwcmltYXJ5XCIpKVxuICAgICAgKGlmIEBpc1BpbGwgXCJ2ZWx2ZXQtdGFnLXBpbGxcIilcbiAgICB9fVxuICAgIC4uLmF0dHJpYnV0ZXNcbiAgPlxuICAgIHt7eWllbGR9fVxuICA8L2Rpdj5cbjwvdGVtcGxhdGU-O1xuXG5leHBvcnQgZGVmYXVsdCBWZWx2ZXRUYWc7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUMxRCxTQUFTLE1BQU0sUUFBUSxnQkFBZ0I7QUFDdkMsU0FBUyxFQUFFLFFBQVEsc0JBQXNCO0FBQ3pDLFNBQVMsRUFBRSxRQUFRLDRCQUE0QjtBQUUvQyxpQkFBaUI7SUFDZjtRQUNFLHVDQUF1QztRQUN2QyxvQkFBb0I7UUFDcEIsU0FBUyxPQUFPO1FBRWhCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIsT0FBTyxPQUFPLE9BQU87UUFFckIsOEJBQThCO1FBQzlCLHdCQUF3QjtRQUN4QixVQUFVLE1BQU0sR0FBRzs7SUFFckI7UUFDRSx5QkFBeUI7UUFDekI7O0lBRUYsU0FBUzs7QUFHWCxNQUFNLFdBQVcsSUFBSSxzQkFBc0IsMENBQVUsQ0FBQTs7Ozs7Ozs7Ozs7O0FBWXJELENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQTtBQUVWLGVBQWUsVUFBVSJ9"],"names":["VelvetTag","setComponentTemplate","precompileTemplate","strictMode","scope","cn","concat","or","templateOnly"],"mappings":";;;;;;;AA0BA,MAAMA,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAY3C,+MAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;IAAAC,MAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -7,35 +7,35 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
7
7
|
import { setComponentTemplate } from '@ember/component';
|
|
8
8
|
|
|
9
9
|
class VelvetTextarea extends Component {
|
|
10
|
-
changeHandler =
|
|
10
|
+
changeHandler = event => {
|
|
11
11
|
const {
|
|
12
|
-
isDisabled
|
|
13
|
-
onChange
|
|
12
|
+
isDisabled,
|
|
13
|
+
onChange
|
|
14
14
|
} = this.args;
|
|
15
|
-
if (typeof
|
|
15
|
+
if (typeof onChange !== 'function' || isDisabled === true) {
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
onChange(event.target.value, event);
|
|
19
19
|
};
|
|
20
|
-
inputHandler =
|
|
20
|
+
inputHandler = event => {
|
|
21
21
|
const {
|
|
22
|
-
isDisabled
|
|
23
|
-
onInput
|
|
22
|
+
isDisabled,
|
|
23
|
+
onInput
|
|
24
24
|
} = this.args;
|
|
25
|
-
if (typeof
|
|
25
|
+
if (typeof onInput !== 'function' || isDisabled === true) {
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
onInput(event.target.value, event);
|
|
29
29
|
};
|
|
30
30
|
static {
|
|
31
31
|
setComponentTemplate(precompileTemplate("\n <textarea class={{cn \"velvet-textarea\" (concat \"velvet-textarea-\" (or @size \"md\")) (concat \"velvet-textarea-\" (or @variant \"primary\")) (if @isInvalid \"velvet-textarea-invalid\") (if @isDisabled \"velvet-textarea-disabled\") \"form-textarea\"}} disabled={{@isDisabled}} placeholder={{@placeholder}} value={{@value}} {{on \"change\" this.changeHandler}} {{on \"input\" this.inputHandler}} ...attributes></textarea>\n ", {
|
|
32
|
+
strictMode: true,
|
|
32
33
|
scope: () => ({
|
|
33
34
|
cn,
|
|
34
35
|
concat,
|
|
35
36
|
or,
|
|
36
37
|
on
|
|
37
|
-
})
|
|
38
|
-
strictMode: true
|
|
38
|
+
})
|
|
39
39
|
}), this);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"velvet-textarea.js","sources":["../../src/components/velvet-textarea.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { concat } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetTextareaSignature {\n Args: {\n /// Indicate if the textarea is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// Indicate if the textarea is invalid.\n /// @default [false]\n isInvalid?: boolean;\n /// Handle the textarea's `change` event.\n /// @default [undefined]\n onChange?: (value: string, event: Event) => void;\n /// Handle the textarea's `input` event.\n /// @default [undefined]\n onInput?: (value: string, event: Event) => void;\n /// The placeholder of the textarea.\n /// @default [\"\"]\n placeholder?: string;\n /// The size of the textarea.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n /// The value of the textarea.\n /// @default [\"\"]\n value?: string;\n /// The appearance of the textarea.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Element: HTMLTextAreaElement;\n}\nexport default class VelvetTextarea extends Component<VelvetTextareaSignature> {\n changeHandler = (
|
|
1
|
+
{"version":3,"file":"velvet-textarea.js","sources":["../../src/components/velvet-textarea.gts"],"sourcesContent":["import { template as template_c83ff0296fde4f8cb7964c810eb81010 } from \"@ember/template-compiler\";\nimport { concat } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Component from '@glimmer/component';\nimport { or } from 'ember-truth-helpers';\nimport { cn } from '../-private/helpers/cn.ts';\nexport interface VelvetTextareaSignature {\n Args: {\n /// Indicate if the textarea is disabled.\n /// @default [false]\n isDisabled?: boolean;\n /// Indicate if the textarea is invalid.\n /// @default [false]\n isInvalid?: boolean;\n /// Handle the textarea's `change` event.\n /// @default [undefined]\n onChange?: (value: string, event: Event) => void;\n /// Handle the textarea's `input` event.\n /// @default [undefined]\n onInput?: (value: string, event: Event) => void;\n /// The placeholder of the textarea.\n /// @default [\"\"]\n placeholder?: string;\n /// The size of the textarea.\n /// @default [\"md\"]\n size?: 'sm' | 'md' | 'lg';\n /// The value of the textarea.\n /// @default [\"\"]\n value?: string;\n /// The appearance of the textarea.\n /// @default [\"primary\"]\n variant?: string | 'primary';\n };\n Element: HTMLTextAreaElement;\n}\nexport default class VelvetTextarea extends Component<VelvetTextareaSignature> {\n changeHandler = (event: Event)=>{\n const { isDisabled, onChange } = this.args;\n if (typeof onChange !== 'function' || isDisabled === true) {\n return;\n }\n onChange((event.target as HTMLTextAreaElement).value, event);\n };\n inputHandler = (event: Event)=>{\n const { isDisabled, onInput } = this.args;\n if (typeof onInput !== 'function' || isDisabled === true) {\n return;\n }\n onInput((event.target as HTMLTextAreaElement).value, event);\n };\n static{\n template_c83ff0296fde4f8cb7964c810eb81010(`\n <textarea\n class={{cn\n \"velvet-textarea\"\n (concat \"velvet-textarea-\" (or @size \"md\"))\n (concat \"velvet-textarea-\" (or @variant \"primary\"))\n (if @isInvalid \"velvet-textarea-invalid\")\n (if @isDisabled \"velvet-textarea-disabled\")\n \"form-textarea\"\n }}\n disabled={{@isDisabled}}\n placeholder={{@placeholder}}\n value={{@value}}\n {{on \"change\" this.changeHandler}}\n {{on \"input\" this.inputHandler}}\n ...attributes\n ></textarea>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3NyYy9jb21wb25lbnRzL3ZlbHZldC10ZXh0YXJlYS5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5pbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBvciB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuLi8tcHJpdmF0ZS9oZWxwZXJzL2NuLnRzJztcblxuZXhwb3J0IGludGVyZmFjZSBWZWx2ZXRUZXh0YXJlYVNpZ25hdHVyZSB7XG4gIEFyZ3M6IHtcbiAgICAvLy8gSW5kaWNhdGUgaWYgdGhlIHRleHRhcmVhIGlzIGRpc2FibGVkLlxuICAgIC8vLyBAZGVmYXVsdCBbZmFsc2VdXG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgICAvLy8gSW5kaWNhdGUgaWYgdGhlIHRleHRhcmVhIGlzIGludmFsaWQuXG4gICAgLy8vIEBkZWZhdWx0IFtmYWxzZV1cbiAgICBpc0ludmFsaWQ_OiBib29sZWFuO1xuXG4gICAgLy8vIEhhbmRsZSB0aGUgdGV4dGFyZWEncyBgY2hhbmdlYCBldmVudC5cbiAgICAvLy8gQGRlZmF1bHQgW3VuZGVmaW5lZF1cbiAgICBvbkNoYW5nZT86ICh2YWx1ZTogc3RyaW5nLCBldmVudDogRXZlbnQpID0-IHZvaWQ7XG5cbiAgICAvLy8gSGFuZGxlIHRoZSB0ZXh0YXJlYSdzIGBpbnB1dGAgZXZlbnQuXG4gICAgLy8vIEBkZWZhdWx0IFt1bmRlZmluZWRdXG4gICAgb25JbnB1dD86ICh2YWx1ZTogc3RyaW5nLCBldmVudDogRXZlbnQpID0-IHZvaWQ7XG5cbiAgICAvLy8gVGhlIHBsYWNlaG9sZGVyIG9mIHRoZSB0ZXh0YXJlYS5cbiAgICAvLy8gQGRlZmF1bHQgW1wiXCJdXG4gICAgcGxhY2Vob2xkZXI_OiBzdHJpbmc7XG5cbiAgICAvLy8gVGhlIHNpemUgb2YgdGhlIHRleHRhcmVhLlxuICAgIC8vLyBAZGVmYXVsdCBbXCJtZFwiXVxuICAgIHNpemU_OiAnc20nIHwgJ21kJyB8ICdsZyc7XG5cbiAgICAvLy8gVGhlIHZhbHVlIG9mIHRoZSB0ZXh0YXJlYS5cbiAgICAvLy8gQGRlZmF1bHQgW1wiXCJdXG4gICAgdmFsdWU_OiBzdHJpbmc7XG5cbiAgICAvLy8gVGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHRleHRhcmVhLlxuICAgIC8vLyBAZGVmYXVsdCBbXCJwcmltYXJ5XCJdXG4gICAgdmFyaWFudD86IHN0cmluZyB8ICdwcmltYXJ5JztcbiAgfTtcbiAgRWxlbWVudDogSFRNTFRleHRBcmVhRWxlbWVudDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsdmV0VGV4dGFyZWEgZXh0ZW5kcyBDb21wb25lbnQ8VmVsdmV0VGV4dGFyZWFTaWduYXR1cmU-IHtcbiAgY2hhbmdlSGFuZGxlciA9IChldmVudDogRXZlbnQpID0-IHtcbiAgICBjb25zdCB7IGlzRGlzYWJsZWQsIG9uQ2hhbmdlIH0gPSB0aGlzLmFyZ3M7XG5cbiAgICBpZiAodHlwZW9mIG9uQ2hhbmdlICE9PSAnZnVuY3Rpb24nIHx8IGlzRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvbkNoYW5nZSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQpLnZhbHVlLCBldmVudCk7XG4gIH07XG5cbiAgaW5wdXRIYW5kbGVyID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIGNvbnN0IHsgaXNEaXNhYmxlZCwgb25JbnB1dCB9ID0gdGhpcy5hcmdzO1xuXG4gICAgaWYgKHR5cGVvZiBvbklucHV0ICE9PSAnZnVuY3Rpb24nIHx8IGlzRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvbklucHV0KChldmVudC50YXJnZXQgYXMgSFRNTFRleHRBcmVhRWxlbWVudCkudmFsdWUsIGV2ZW50KTtcbiAgfTtcblxuICA8dGVtcGxhdGU-XG4gICAgPHRleHRhcmVhXG4gICAgICBjbGFzcz17e2NuXG4gICAgICAgIFwidmVsdmV0LXRleHRhcmVhXCJcbiAgICAgICAgKGNvbmNhdCBcInZlbHZldC10ZXh0YXJlYS1cIiAob3IgQHNpemUgXCJtZFwiKSlcbiAgICAgICAgKGNvbmNhdCBcInZlbHZldC10ZXh0YXJlYS1cIiAob3IgQHZhcmlhbnQgXCJwcmltYXJ5XCIpKVxuICAgICAgICAoaWYgQGlzSW52YWxpZCBcInZlbHZldC10ZXh0YXJlYS1pbnZhbGlkXCIpXG4gICAgICAgIChpZiBAaXNEaXNhYmxlZCBcInZlbHZldC10ZXh0YXJlYS1kaXNhYmxlZFwiKVxuICAgICAgICBcImZvcm0tdGV4dGFyZWFcIlxuICAgICAgfX1cbiAgICAgIGRpc2FibGVkPXt7QGlzRGlzYWJsZWR9fVxuICAgICAgcGxhY2Vob2xkZXI9e3tAcGxhY2Vob2xkZXJ9fVxuICAgICAgdmFsdWU9e3tAdmFsdWV9fVxuICAgICAge3tvbiBcImNoYW5nZVwiIHRoaXMuY2hhbmdlSGFuZGxlcn19XG4gICAgICB7e29uIFwiaW5wdXRcIiB0aGlzLmlucHV0SGFuZGxlcn19XG4gICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgPjwvdGV4dGFyZWE-XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsTUFBTSxRQUFRLGdCQUFnQjtBQUN2QyxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFDckMsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLEVBQUUsUUFBUSxzQkFBc0I7QUFDekMsU0FBUyxFQUFFLFFBQVEsNEJBQTRCO0FBRS9DLGlCQUFpQjtJQUNmO1FBQ0UseUNBQXlDO1FBQ3pDLG9CQUFvQjtRQUNwQixhQUFhLE9BQU87UUFFcEIsd0NBQXdDO1FBQ3hDLG9CQUFvQjtRQUNwQixZQUFZLE9BQU87UUFFbkIseUNBQXlDO1FBQ3pDLHdCQUF3QjtRQUN4QixZQUFZLE9BQU8sTUFBTSxFQUFFLE9BQU8sVUFBVSxJQUFJO1FBRWhELHdDQUF3QztRQUN4Qyx3QkFBd0I7UUFDeEIsV0FBVyxPQUFPLE1BQU0sRUFBRSxPQUFPLFVBQVUsSUFBSTtRQUUvQyxvQ0FBb0M7UUFDcEMsaUJBQWlCO1FBQ2pCLGNBQWMsTUFBTTtRQUVwQiw2QkFBNkI7UUFDN0IsbUJBQW1CO1FBQ25CLE9BQU8sT0FBTyxPQUFPO1FBRXJCLDhCQUE4QjtRQUM5QixpQkFBaUI7UUFDakIsUUFBUSxNQUFNO1FBRWQsbUNBQW1DO1FBQ25DLHdCQUF3QjtRQUN4QixVQUFVLE1BQU0sR0FBRzs7SUFFckIsU0FBUzs7QUFHWCxlQUFlLE1BQU0sdUJBQXVCLFVBQVU7SUFDcEQsZ0JBQWdCLENBQUMsT0FBTztRQUN0QixNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBRTFDLElBQUksT0FBTyxhQUFhLGNBQWMsZUFBZSxNQUFNO1lBQ3pEO1FBQ0Y7UUFFQSxTQUFTLENBQUMsTUFBTSxNQUFNLElBQUksbUJBQW1CLEVBQUUsS0FBSyxFQUFFO0lBQ3hELEVBQUU7SUFFRixlQUFlLENBQUMsT0FBTztRQUNyQixNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBRXpDLElBQUksT0FBTyxZQUFZLGNBQWMsZUFBZSxNQUFNO1lBQ3hEO1FBQ0Y7UUFFQSxRQUFRLENBQUMsTUFBTSxNQUFNLElBQUksbUJBQW1CLEVBQUUsS0FBSyxFQUFFO0lBQ3ZELEVBQUU7SUFFRixNQUFBO1FBQUEsMENBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQlYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBakJBO0FBa0JaIn0"],"names":["VelvetTextarea","Component","changeHandler","event","isDisabled","onChange","args","target","value","inputHandler","onInput","setComponentTemplate","precompileTemplate","strictMode","scope","cn","concat","or","on"],"mappings":";;;;;;;;AA2Ce,MAAMA,cAAA,SAAuBC,SAAA,CAAU;AACpDC,EAAAA,aAAA,GAAiBC,KAAO,IAAA;IACtB,MAAM;MAAEC,UAAU;AAAEC,MAAAA;KAAU,GAAG,IAAI,CAACC,IAAI;AAE1C,IAAA,IAAI,OAAOD,QAAA,KAAa,UAAcD,IAAAA,UAAA,KAAe,IAAM,EAAA;AACzD,MAAA;AACF;AAEAC,IAAAA,QAAA,CAAUF,KAAA,CAAMI,MAAM,CAAyBC,KAAK,EAAEL,KAAA,CAAA;AACxD,GAAA;AAEAM,EAAAA,YAAA,GAAgBN,KAAO,IAAA;IACrB,MAAM;MAAEC,UAAU;AAAEM,MAAAA;KAAS,GAAG,IAAI,CAACJ,IAAI;AAEzC,IAAA,IAAI,OAAOI,OAAA,KAAY,UAAcN,IAAAA,UAAA,KAAe,IAAM,EAAA;AACxD,MAAA;AACF;AAEAM,IAAAA,OAAA,CAASP,KAAA,CAAMI,MAAM,CAAyBC,KAAK,EAAEL,KAAA,CAAA;AACvD,GAAA;AAEA,EAAA;IAAAQ,oBAAA,CAAAC,kBAAA,CAiBA,mbAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;AAAAC,QAAAA;AAAA,OAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sources":["../../../src/components/velvet-tooltip/content.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport type { TOC } from '@ember/component/template-only';\nimport type { ModifierLike } from '@glint/template';\nimport type { ContentSignature } from '../velvet-dropdown.gts';\nexport interface VelvetTooltipContentSignature {\n Args: {\n isShown: boolean;\n modifier: ModifierLike<ContentSignature>;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\nconst VelvetTooltipContent: TOC<VelvetTooltipContentSignature> =
|
|
1
|
+
{"version":3,"file":"content.js","sources":["../../../src/components/velvet-tooltip/content.gts"],"sourcesContent":["import { template as template_72f26edc3d354c768c25cd37ec67a779 } from \"@ember/template-compiler\";\nimport type { TOC } from '@ember/component/template-only';\nimport type { ModifierLike } from '@glint/template';\nimport type { ContentSignature } from '../velvet-dropdown.gts';\nexport interface VelvetTooltipContentSignature {\n Args: {\n isShown: boolean;\n modifier: ModifierLike<ContentSignature>;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\nconst VelvetTooltipContent: TOC<VelvetTooltipContentSignature> = template_72f26edc3d354c768c25cd37ec67a779(`\n {{#if @isShown}}\n <div class=\"velvet-tooltip-content\" {{@modifier}} ...attributes>\n {{yield}}\n </div>\n {{/if}}\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default VelvetTooltipContent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3ZlbHZldC10aHVuZGVyL3NyYy9jb21wb25lbnRzL3ZlbHZldC10b29sdGlwL2NvbnRlbnQuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcbmltcG9ydCB0eXBlIHsgTW9kaWZpZXJMaWtlIH0gZnJvbSAnQGdsaW50L3RlbXBsYXRlJztcbmltcG9ydCB0eXBlIHsgQ29udGVudFNpZ25hdHVyZSB9IGZyb20gJy4uL3ZlbHZldC1kcm9wZG93bi5ndHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlbHZldFRvb2x0aXBDb250ZW50U2lnbmF0dXJlIHtcbiAgQXJnczoge1xuICAgIGlzU2hvd246IGJvb2xlYW47XG4gICAgbW9kaWZpZXI6IE1vZGlmaWVyTGlrZTxDb250ZW50U2lnbmF0dXJlPjtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW107XG4gIH07XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xufVxuXG5jb25zdCBWZWx2ZXRUb29sdGlwQ29udGVudDogVE9DPFZlbHZldFRvb2x0aXBDb250ZW50U2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAge3sjaWYgQGlzU2hvd259fVxuICAgIDxkaXYgY2xhc3M9XCJ2ZWx2ZXQtdG9vbHRpcC1jb250ZW50XCIge3tAbW9kaWZpZXJ9fSAuLi5hdHRyaWJ1dGVzPlxuICAgICAge3t5aWVsZH19XG4gICAgPC9kaXY-XG4gIHt7L2lmfX1cbjwvdGVtcGxhdGU-O1xuXG5leHBvcnQgZGVmYXVsdCBWZWx2ZXRUb29sdGlwQ29udGVudDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsY0FBYyxHQUFHLFFBQVEsaUNBQWlDO0FBQzFELGNBQWMsWUFBWSxRQUFRLGtCQUFrQjtBQUNwRCxjQUFjLGdCQUFnQixRQUFRLHlCQUF5QjtBQUUvRCxpQkFBaUI7SUFDZjtRQUNFLFNBQVMsT0FBTztRQUNoQixVQUFVLGFBQWE7O0lBRXpCO1FBQ0U7O0lBRUYsU0FBUzs7QUFHWCxNQUFNLHNCQUFzQixJQUFJLGlDQUFpQywwQ0FBVSxDQUFBOzs7Ozs7QUFNM0UsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBO0FBRVYsZUFBZSxxQkFBcUIifQ"],"names":["VelvetTooltipContent","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAeA,MAAMA,oBAA0B,GAAAC,oBAAA,CAAiCC,kBAAA,CAMjE,wIAAA,EAAA;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -6,9 +6,9 @@ import Component from '@glimmer/component';
|
|
|
6
6
|
import { tracked } from '@glimmer/tracking';
|
|
7
7
|
import { modifier } from 'ember-modifier';
|
|
8
8
|
import VelvetTooltipContent from './velvet-tooltip/content.js';
|
|
9
|
-
import { g, i } from 'decorator-transforms/runtime';
|
|
10
9
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
11
10
|
import { setComponentTemplate } from '@ember/component';
|
|
11
|
+
import { g, i } from 'decorator-transforms/runtime';
|
|
12
12
|
|
|
13
13
|
class VelvetTooltip extends Component {
|
|
14
14
|
static {
|
|
@@ -21,59 +21,59 @@ class VelvetTooltip extends Component {
|
|
|
21
21
|
triggerElement = null;
|
|
22
22
|
get offset() {
|
|
23
23
|
const {
|
|
24
|
-
offset
|
|
24
|
+
offset
|
|
25
25
|
} = this.args;
|
|
26
|
-
return typeof
|
|
26
|
+
return typeof offset === 'number' ? offset : 4;
|
|
27
27
|
}
|
|
28
28
|
get placement() {
|
|
29
29
|
return this.args.placement || 'top';
|
|
30
30
|
}
|
|
31
31
|
get showDelay() {
|
|
32
32
|
const {
|
|
33
|
-
showDelay
|
|
33
|
+
showDelay
|
|
34
34
|
} = this.args;
|
|
35
|
-
return typeof
|
|
35
|
+
return typeof showDelay === 'number' ? showDelay : 400;
|
|
36
36
|
}
|
|
37
37
|
get strategy() {
|
|
38
38
|
return this.args.strategy || 'absolute';
|
|
39
39
|
}
|
|
40
|
-
content = modifier(
|
|
40
|
+
content = modifier(contentElement => {
|
|
41
41
|
const {
|
|
42
|
-
placement
|
|
43
|
-
strategy
|
|
44
|
-
triggerElement
|
|
42
|
+
placement,
|
|
43
|
+
strategy,
|
|
44
|
+
triggerElement
|
|
45
45
|
} = this;
|
|
46
|
-
assert('[VelvetTooltip] Trigger element must be present.',
|
|
46
|
+
assert('[VelvetTooltip] Trigger element must be present.', triggerElement);
|
|
47
47
|
// https://floating-ui.com/docs/computeposition#initial-layout:
|
|
48
|
-
Object.assign(
|
|
48
|
+
Object.assign(contentElement.style, {
|
|
49
49
|
left: 0,
|
|
50
|
-
position:
|
|
50
|
+
position: strategy,
|
|
51
51
|
top: 0
|
|
52
52
|
});
|
|
53
|
-
const
|
|
53
|
+
const updateFloating = async () => {
|
|
54
54
|
const {
|
|
55
|
-
x
|
|
56
|
-
y
|
|
57
|
-
} = await computePosition(
|
|
55
|
+
x,
|
|
56
|
+
y
|
|
57
|
+
} = await computePosition(triggerElement, contentElement, {
|
|
58
58
|
middleware: [flip(), offset(this.offset)],
|
|
59
|
-
placement
|
|
60
|
-
strategy
|
|
59
|
+
placement,
|
|
60
|
+
strategy
|
|
61
61
|
});
|
|
62
|
-
Object.assign(
|
|
63
|
-
left: `${
|
|
64
|
-
top: `${
|
|
62
|
+
Object.assign(contentElement.style, {
|
|
63
|
+
left: `${x}px`,
|
|
64
|
+
top: `${y}px`
|
|
65
65
|
});
|
|
66
66
|
};
|
|
67
|
-
const
|
|
68
|
-
return
|
|
67
|
+
const cleanupFloating = autoUpdate(triggerElement, contentElement, updateFloating);
|
|
68
|
+
return cleanupFloating;
|
|
69
69
|
});
|
|
70
|
-
trigger = modifier(
|
|
71
|
-
this.triggerElement =
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
trigger = modifier(triggerElement => {
|
|
71
|
+
this.triggerElement = triggerElement;
|
|
72
|
+
triggerElement.addEventListener('mouseenter', this.show);
|
|
73
|
+
triggerElement.addEventListener('mouseleave', this.hide);
|
|
74
74
|
return () => {
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
triggerElement.removeEventListener('mouseenter', this.show);
|
|
76
|
+
triggerElement.removeEventListener('mouseleave', this.hide);
|
|
77
77
|
};
|
|
78
78
|
});
|
|
79
79
|
hide = () => {
|
|
@@ -82,10 +82,10 @@ class VelvetTooltip extends Component {
|
|
|
82
82
|
};
|
|
83
83
|
show = () => {
|
|
84
84
|
clearTimeout(this.showTimeout);
|
|
85
|
-
return waitForPromise(new Promise(
|
|
85
|
+
return waitForPromise(new Promise(resolve => {
|
|
86
86
|
this.showTimeout = setTimeout(() => {
|
|
87
87
|
this.isShown = true;
|
|
88
|
-
|
|
88
|
+
resolve();
|
|
89
89
|
}, this.showDelay);
|
|
90
90
|
}));
|
|
91
91
|
};
|
|
@@ -98,11 +98,11 @@ class VelvetTooltip extends Component {
|
|
|
98
98
|
};
|
|
99
99
|
static {
|
|
100
100
|
setComponentTemplate(precompileTemplate("\n <div class=\"velvet-tooltip\" ...attributes>\n {{yield (hash Content=(component VelvetTooltipContent isShown=this.isShown modifier=this.content) isShown=this.isShown hide=this.hide show=this.show toggle=this.toggle content=this.content trigger=this.trigger)}}\n </div>\n ", {
|
|
101
|
+
strictMode: true,
|
|
101
102
|
scope: () => ({
|
|
102
103
|
hash,
|
|
103
104
|
VelvetTooltipContent
|
|
104
|
-
})
|
|
105
|
-
strictMode: true
|
|
105
|
+
})
|
|
106
106
|
}), this);
|
|
107
107
|
}
|
|
108
108
|
}
|