@visitwonders/assembly 0.10.1 → 0.12.0
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/declarations/form/combobox-field.d.ts +73 -0
- package/declarations/form/combobox-field.d.ts.map +1 -0
- package/declarations/form/combobox-shared.d.ts +36 -0
- package/declarations/form/combobox-shared.d.ts.map +1 -0
- package/declarations/form/combobox.d.ts +239 -0
- package/declarations/form/combobox.d.ts.map +1 -0
- package/declarations/form/control.d.ts +3 -1
- package/declarations/form/control.d.ts.map +1 -1
- package/declarations/form/country-select-field.d.ts +2 -0
- package/declarations/form/country-select-field.d.ts.map +1 -1
- package/declarations/form/date-picker-field.d.ts +2 -0
- package/declarations/form/date-picker-field.d.ts.map +1 -1
- package/declarations/form/date-range-picker-field.d.ts +2 -0
- package/declarations/form/date-range-picker-field.d.ts.map +1 -1
- package/declarations/form/display-field.d.ts +2 -0
- package/declarations/form/display-field.d.ts.map +1 -1
- package/declarations/form/index.d.ts +4 -0
- package/declarations/form/index.d.ts.map +1 -1
- package/declarations/form/label.d.ts +1 -1
- package/declarations/form/label.d.ts.map +1 -1
- package/declarations/form/money-field.d.ts +2 -0
- package/declarations/form/money-field.d.ts.map +1 -1
- package/declarations/form/multi-combobox-field.d.ts +74 -0
- package/declarations/form/multi-combobox-field.d.ts.map +1 -0
- package/declarations/form/multi-combobox.d.ts +202 -0
- package/declarations/form/multi-combobox.d.ts.map +1 -0
- package/declarations/form/number-field.d.ts +2 -0
- package/declarations/form/number-field.d.ts.map +1 -1
- package/declarations/form/select-field.d.ts +2 -0
- package/declarations/form/select-field.d.ts.map +1 -1
- package/declarations/form/text-field.d.ts +2 -0
- package/declarations/form/text-field.d.ts.map +1 -1
- package/declarations/form/time-picker-field.d.ts +2 -0
- package/declarations/form/time-picker-field.d.ts.map +1 -1
- package/declarations/layout/h-stack.d.ts.map +1 -1
- package/declarations/layout/stack.d.ts.map +1 -1
- package/declarations/layout/v-stack.d.ts.map +1 -1
- package/declarations/overlay/popover.d.ts +20 -1
- package/declarations/overlay/popover.d.ts.map +1 -1
- package/dist/_app_/form/combobox-field.js +1 -0
- package/dist/_app_/form/combobox-shared.js +1 -0
- package/dist/_app_/form/combobox.js +1 -0
- package/dist/_app_/form/multi-combobox-field.js +1 -0
- package/dist/_app_/form/multi-combobox.js +1 -0
- package/dist/data/{sortable-list-css-211fcfeedc08052ccbac7f51549ce0b1.css → sortable-list-css-03e5d237ea377f7d6056e76cc85b2aaa.css} +8 -4
- package/dist/data/sortable-list.js +1 -1
- package/dist/form/combobox-field.js +37 -0
- package/dist/form/combobox-field.js.map +1 -0
- package/dist/form/combobox-shared.js +76 -0
- package/dist/form/combobox-shared.js.map +1 -0
- package/dist/form/combobox.css +345 -0
- package/dist/form/combobox.js +612 -0
- package/dist/form/combobox.js.map +1 -0
- package/dist/form/control.js +1 -1
- package/dist/form/country-select-field.js +1 -1
- package/dist/form/country-select-field.js.map +1 -1
- package/dist/form/date-picker-field.js +1 -1
- package/dist/form/date-picker-field.js.map +1 -1
- package/dist/form/date-range-picker-field.js +1 -1
- package/dist/form/date-range-picker-field.js.map +1 -1
- package/dist/form/{display-field-css-890d9be4b5da61613fd017071f330735.css → display-field-css-502236a2343d47e31e52bdb93a769ca1.css} +2 -2
- package/dist/form/display-field.js +2 -2
- package/dist/form/index.js +4 -0
- package/dist/form/index.js.map +1 -1
- package/dist/form/label.css +2 -1
- package/dist/form/label.js +1 -1
- package/dist/form/money-field.js +1 -1
- package/dist/form/multi-combobox-field.js +36 -0
- package/dist/form/multi-combobox-field.js.map +1 -0
- package/dist/form/multi-combobox.css +422 -0
- package/dist/form/multi-combobox.js +626 -0
- package/dist/form/multi-combobox.js.map +1 -0
- package/dist/form/number-field.js +1 -1
- package/dist/form/select-field.js +1 -1
- package/dist/form/select-field.js.map +1 -1
- package/dist/form/text-field.js +1 -1
- package/dist/form/time-picker-field.js +1 -1
- package/dist/form/time-picker-field.js.map +1 -1
- package/dist/layout/h-stack.js.map +1 -1
- package/dist/layout/v-stack.js.map +1 -1
- package/dist/overlay/popover.js +19 -1
- package/package.json +21 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-field.js","sources":["../../src/form/select-field.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport type { WithBoundArgs } from '@glint/template';\n\nimport Control from './control.gts';\nimport Select, { SelectOption, SelectOptionGroup } from './select.gts';\n\nexport type LabelVisibility = 'visible' | 'hidden';\n\nexport interface SelectFieldSignature {\n Element: HTMLDivElement;\n Args: {\n /** Label text (required) */\n label: string;\n\n /** Current selected value */\n value?: string;\n\n /** Placeholder text shown when no value is selected */\n placeholder?: string;\n\n /** Help text displayed below the select */\n helpText?: string;\n\n /** Error message (also sets invalid state) */\n error?: string;\n\n /** Field is required */\n isRequired?: boolean;\n\n /** Field is disabled */\n isDisabled?: boolean;\n\n /** Info tooltip text shown next to the label */\n labelInfo?: string;\n\n /** Label visibility */\n labelVisibility?: LabelVisibility;\n\n /** Input name for forms */\n name?: string;\n\n /** Change event handler */\n onChange?: (value: string) => void;\n\n /** Blur event handler */\n onBlur?: (event: FocusEvent) => void;\n\n /** Focus event handler */\n onFocus?: (event: FocusEvent) => void;\n };\n Blocks: {\n default: [\n {\n Option: WithBoundArgs<typeof SelectOption, 'ctx'>;\n OptionGroup: typeof SelectOptionGroup;\n },\n ];\n /** Rich tooltip content shown next to the label */\n info: [];\n };\n}\n\nexport default class SelectField extends Component<SelectFieldSignature> {\n get isInvalid(): boolean {\n return !!this.args.error;\n }\n\n get isLabelHidden(): boolean {\n return this.args.labelVisibility === 'hidden';\n }\n\n /** Build aria-describedby from the control's help text and error message IDs */\n getAriaDescribedBy = (controlId: string): string | undefined => {\n const parts: string[] = [];\n if (this.args.helpText) {\n parts.push(`${controlId}-help-text`);\n }\n if (this.args.error) {\n parts.push(`${controlId}-error-message`);\n }\n return parts.length > 0 ? parts.join(' ') : undefined;\n };\n\n <template>\n <Control\n @isInvalid={{this.isInvalid}}\n @isDisabled={{@isDisabled}}\n @isRequired={{@isRequired}}\n @labelInfo={{@labelInfo}}\n ...attributes\n as |ctrl|\n >\n {{#if (has-block \"info\")}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </ctrl.Label>\n {{else}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n {{/if}}\n\n <Select\n @id={{ctrl.id}}\n @name={{@name}}\n @value={{@value}}\n @placeholder={{@placeholder}}\n @isDisabled={{@isDisabled}}\n @isInvalid={{this.isInvalid}}\n @isRequired={{@isRequired}}\n @aria-describedby={{this.getAriaDescribedBy ctrl.id}}\n @onChange={{@onChange}}\n @onBlur={{@onBlur}}\n @onFocus={{@onFocus}}\n data-test-select-field\n as |select|\n >\n {{yield (hash Option=select.Option OptionGroup=select.OptionGroup)}}\n </Select>\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n </Control>\n </template>\n}\n"],"names":["SelectField","Component","isInvalid","args","error","isLabelHidden","labelVisibility","getAriaDescribedBy","controlId","parts","helpText","push","length","join","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","Control","Select","hash"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"select-field.js","sources":["../../src/form/select-field.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport type { WithBoundArgs } from '@glint/template';\n\nimport Control from './control.gts';\nimport Select, { SelectOption, SelectOptionGroup } from './select.gts';\n\nexport type LabelVisibility = 'visible' | 'hidden';\n\nexport interface SelectFieldSignature {\n Element: HTMLDivElement;\n Args: {\n /** Label text (required) */\n label: string;\n\n /** Current selected value */\n value?: string;\n\n /** Placeholder text shown when no value is selected */\n placeholder?: string;\n\n /** Help text displayed below the select */\n helpText?: string;\n\n /** Error message (also sets invalid state) */\n error?: string;\n\n /** Field is required */\n isRequired?: boolean;\n\n /** Field is disabled */\n isDisabled?: boolean;\n\n /** Info tooltip text shown next to the label */\n labelInfo?: string;\n\n /** Optional indicator - shows \"optional\" or custom text next to the label */\n optionalIndicator?: boolean | string;\n\n /** Label visibility */\n labelVisibility?: LabelVisibility;\n\n /** Input name for forms */\n name?: string;\n\n /** Change event handler */\n onChange?: (value: string) => void;\n\n /** Blur event handler */\n onBlur?: (event: FocusEvent) => void;\n\n /** Focus event handler */\n onFocus?: (event: FocusEvent) => void;\n };\n Blocks: {\n default: [\n {\n Option: WithBoundArgs<typeof SelectOption, 'ctx'>;\n OptionGroup: typeof SelectOptionGroup;\n },\n ];\n /** Rich tooltip content shown next to the label */\n info: [];\n };\n}\n\nexport default class SelectField extends Component<SelectFieldSignature> {\n get isInvalid(): boolean {\n return !!this.args.error;\n }\n\n get isLabelHidden(): boolean {\n return this.args.labelVisibility === 'hidden';\n }\n\n /** Build aria-describedby from the control's help text and error message IDs */\n getAriaDescribedBy = (controlId: string): string | undefined => {\n const parts: string[] = [];\n if (this.args.helpText) {\n parts.push(`${controlId}-help-text`);\n }\n if (this.args.error) {\n parts.push(`${controlId}-error-message`);\n }\n return parts.length > 0 ? parts.join(' ') : undefined;\n };\n\n <template>\n <Control\n @isInvalid={{this.isInvalid}}\n @isDisabled={{@isDisabled}}\n @isRequired={{@isRequired}}\n @labelInfo={{@labelInfo}}\n @optionalIndicator={{@optionalIndicator}}\n ...attributes\n as |ctrl|\n >\n {{#if (has-block \"info\")}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </ctrl.Label>\n {{else}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n {{/if}}\n\n <Select\n @id={{ctrl.id}}\n @name={{@name}}\n @value={{@value}}\n @placeholder={{@placeholder}}\n @isDisabled={{@isDisabled}}\n @isInvalid={{this.isInvalid}}\n @isRequired={{@isRequired}}\n @aria-describedby={{this.getAriaDescribedBy ctrl.id}}\n @onChange={{@onChange}}\n @onBlur={{@onBlur}}\n @onFocus={{@onFocus}}\n data-test-select-field\n as |select|\n >\n {{yield (hash Option=select.Option OptionGroup=select.OptionGroup)}}\n </Select>\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n </Control>\n </template>\n}\n"],"names":["SelectField","Component","isInvalid","args","error","isLabelHidden","labelVisibility","getAriaDescribedBy","controlId","parts","helpText","push","length","join","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","Control","Select","hash"],"mappings":";;;;;;;AAkEe,MAAMA,oBAAoBC,SAAA,CAAU;EACjD,IAAIC,SAAAA,GAAqB;AACvB,IAAA,OAAO,CAAC,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK;AAC1B,EAAA;EAEA,IAAIC,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACF,IAAI,CAACG,eAAe,KAAK,QAAA;AACvC,EAAA;AAEA;EACAC,qBAAsBC,SAAiB,IAAqB;IAC1D,MAAMC,KAAa,GAAK,EAAE;AAC1B,IAAA,IAAI,IAAI,CAACN,IAAI,CAACO,QAAQ,EAAE;AACtBD,MAAAA,KAAA,CAAME,IAAI,CAAC,CAAA,EAAGH,SAAA,YAAqB,CAAA;AACrC,IAAA;AACA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACC,KAAK,EAAE;AACnBK,MAAAA,KAAA,CAAME,IAAI,CAAC,CAAA,EAAGH,SAAA,gBAAyB,CAAA;AACzC,IAAA;AACA,IAAA,OAAOC,MAAMG,MAAM,GAAG,IAAIH,KAAA,CAAMI,IAAI,CAAC,GAAA,CAAA,GAAOC,SAAA;EAC9C,CAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,ilCAAA,EA+CA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;QAAAC,MAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
package/dist/form/text-field.js
CHANGED
|
@@ -123,7 +123,7 @@ class TextField extends Component {
|
|
|
123
123
|
n(this.prototype, "handleBlur", [action]);
|
|
124
124
|
}
|
|
125
125
|
static {
|
|
126
|
-
setComponentTemplate(precompileTemplate("\n\n<div class=\"text-field_e2680f9ba\" data-invalid={{if this.isInvalid \"true\" \"false\"}} data-disabled={{if this.isDisabled \"true\" \"false\"}} data-readonly={{if this.isReadOnly \"true\" \"false\"}} data-over-limit={{if this.isOverLimit \"true\" \"false\"}} data-monospace={{if @monospace \"true\" \"false\"}} data-max-width={{@maxWidth}} data-test-text-field ...attributes>\n {{#if (has-block \"info\")}}\n <Label @for={{this.id}} @isRequired={{this.isRequired}} @isDisabled={{this.isDisabled}} @isVisuallyHidden={{this.isLabelHidden}} @info={{@labelInfo}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </Label>\n {{else}}\n <Label @for={{this.id}} @isRequired={{this.isRequired}} @isDisabled={{this.isDisabled}} @isVisuallyHidden={{this.isLabelHidden}} @info={{@labelInfo}}>\n {{@label}}\n </Label>\n {{/if}}\n\n {{#if @multiline}}\n <FormTextarea id={{this.id}} @size={{@size}} @variant={{@variant}} @value={{this.currentValue}} @placeholder={{@placeholder}} @isDisabled={{this.isDisabled}} @isReadOnly={{this.isReadOnly}} @isRequired={{this.isRequired}} @isInvalid={{this.isInvalid}} @rows={{this.rows}} @autoGrow={{@autoResize}} @maxLength={{@maxLength}} @name={{@name}} @onInput={{this.handleTextareaInput}} @onChange={{this.handleTextareaChange}} @onFocus={{this.handleFocus}} @onBlur={{this.handleBlur}} aria-describedby={{if this.ariaDescribedBy this.ariaDescribedBy}} />\n {{else}}\n <FormInput id={{this.id}} @type={{@type}} @size={{@size}} @variant={{@variant}} @value={{this.currentValue}} @placeholder={{@placeholder}} @isDisabled={{this.isDisabled}} @isReadOnly={{this.isReadOnly}} @isRequired={{this.isRequired}} @isInvalid={{this.isInvalid}} @maxLength={{@maxLength}} @autoComplete={{@autoComplete}} @name={{@name}} aria-describedby={{if this.ariaDescribedBy this.ariaDescribedBy}} {{on \"input\" this.handleInputEvent}} {{on \"change\" this.handleChangeEvent}} {{on \"focus\" this.handleFocus}} {{on \"blur\" this.handleBlur}}>\n <:prefix>{{yield to=\"prefix\"}}{{@prefix}}</:prefix>\n <:suffix>{{yield to=\"suffix\"}}{{@suffix}}</:suffix>\n </FormInput>\n {{/if}}\n\n {{#if this.showFooter}}\n <div class=\"text-field-footer_e2680f9ba\" data-test-text-field-footer>\n {{#if @error}}\n <ErrorMessage id={{this.errorMessageId}} @isInvalid={{this.isInvalid}}>\n {{@error}}\n </ErrorMessage>\n {{else if @helpText}}\n <HelpText id={{this.helpTextId}}>\n {{@helpText}}\n </HelpText>\n {{/if}}\n\n {{#if @showCharacterCount}}\n <span class=\"text-field-character-count_e2680f9ba\" aria-live=\"polite\" data-test-character-count>\n {{this.characterCount}}{{#if @maxLength}}/{{@maxLength}}{{/if}}\n </span>\n {{/if}}\n </div>\n {{/if}}\n</div>", {
|
|
126
|
+
setComponentTemplate(precompileTemplate("\n\n<div class=\"text-field_e2680f9ba\" data-invalid={{if this.isInvalid \"true\" \"false\"}} data-disabled={{if this.isDisabled \"true\" \"false\"}} data-readonly={{if this.isReadOnly \"true\" \"false\"}} data-over-limit={{if this.isOverLimit \"true\" \"false\"}} data-monospace={{if @monospace \"true\" \"false\"}} data-max-width={{@maxWidth}} data-test-text-field ...attributes>\n {{#if (has-block \"info\")}}\n <Label @for={{this.id}} @isRequired={{this.isRequired}} @isDisabled={{this.isDisabled}} @isVisuallyHidden={{this.isLabelHidden}} @info={{@labelInfo}} @optionalIndicator={{@optionalIndicator}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </Label>\n {{else}}\n <Label @for={{this.id}} @isRequired={{this.isRequired}} @isDisabled={{this.isDisabled}} @isVisuallyHidden={{this.isLabelHidden}} @info={{@labelInfo}} @optionalIndicator={{@optionalIndicator}}>\n {{@label}}\n </Label>\n {{/if}}\n\n {{#if @multiline}}\n <FormTextarea id={{this.id}} @size={{@size}} @variant={{@variant}} @value={{this.currentValue}} @placeholder={{@placeholder}} @isDisabled={{this.isDisabled}} @isReadOnly={{this.isReadOnly}} @isRequired={{this.isRequired}} @isInvalid={{this.isInvalid}} @rows={{this.rows}} @autoGrow={{@autoResize}} @maxLength={{@maxLength}} @name={{@name}} @onInput={{this.handleTextareaInput}} @onChange={{this.handleTextareaChange}} @onFocus={{this.handleFocus}} @onBlur={{this.handleBlur}} aria-describedby={{if this.ariaDescribedBy this.ariaDescribedBy}} />\n {{else}}\n <FormInput id={{this.id}} @type={{@type}} @size={{@size}} @variant={{@variant}} @value={{this.currentValue}} @placeholder={{@placeholder}} @isDisabled={{this.isDisabled}} @isReadOnly={{this.isReadOnly}} @isRequired={{this.isRequired}} @isInvalid={{this.isInvalid}} @maxLength={{@maxLength}} @autoComplete={{@autoComplete}} @name={{@name}} aria-describedby={{if this.ariaDescribedBy this.ariaDescribedBy}} {{on \"input\" this.handleInputEvent}} {{on \"change\" this.handleChangeEvent}} {{on \"focus\" this.handleFocus}} {{on \"blur\" this.handleBlur}}>\n <:prefix>{{yield to=\"prefix\"}}{{@prefix}}</:prefix>\n <:suffix>{{yield to=\"suffix\"}}{{@suffix}}</:suffix>\n </FormInput>\n {{/if}}\n\n {{#if this.showFooter}}\n <div class=\"text-field-footer_e2680f9ba\" data-test-text-field-footer>\n {{#if @error}}\n <ErrorMessage id={{this.errorMessageId}} @isInvalid={{this.isInvalid}}>\n {{@error}}\n </ErrorMessage>\n {{else if @helpText}}\n <HelpText id={{this.helpTextId}}>\n {{@helpText}}\n </HelpText>\n {{/if}}\n\n {{#if @showCharacterCount}}\n <span class=\"text-field-character-count_e2680f9ba\" aria-live=\"polite\" data-test-character-count>\n {{this.characterCount}}{{#if @maxLength}}/{{@maxLength}}{{/if}}\n </span>\n {{/if}}\n </div>\n {{/if}}\n</div>", {
|
|
127
127
|
strictMode: true,
|
|
128
128
|
scope: () => ({
|
|
129
129
|
Label,
|
|
@@ -23,7 +23,7 @@ class TimePickerField extends Component {
|
|
|
23
23
|
return parts.length > 0 ? parts.join(' ') : undefined;
|
|
24
24
|
};
|
|
25
25
|
static {
|
|
26
|
-
setComponentTemplate(precompileTemplate("<Control @isInvalid={{this.isInvalid}} @isDisabled={{@isDisabled}} @isRequired={{@isRequired}} @isReadOnly={{@isReadOnly}} @labelInfo={{@labelInfo}} ...attributes as |ctrl|>\n {{#if (has-block \"info\")}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </ctrl.Label>\n {{else}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n {{/if}}\n\n <TimePicker @id={{ctrl.id}} @name={{@name}} @value={{@value}} @placeholder={{@placeholder}} @format={{@format}} @interval={{@interval}} @minTime={{@minTime}} @maxTime={{@maxTime}} @showNow={{@showNow}} @allowTextInput={{@allowTextInput}} @closeOnSelect={{@closeOnSelect}} @showIcon={{@showIcon}} @hideDisabledOptions={{@hideDisabledOptions}} @snapToInterval={{@snapToInterval}} @isDisabled={{@isDisabled}} @isInvalid={{this.isInvalid}} @isRequired={{@isRequired}} @isReadOnly={{@isReadOnly}} @aria-describedby={{this.getAriaDescribedBy ctrl.id}} @onChange={{@onChange}} @onBlur={{@onBlur}} @onFocus={{@onFocus}} data-test-time-picker-field />\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n</Control>", {
|
|
26
|
+
setComponentTemplate(precompileTemplate("<Control @isInvalid={{this.isInvalid}} @isDisabled={{@isDisabled}} @isRequired={{@isRequired}} @isReadOnly={{@isReadOnly}} @labelInfo={{@labelInfo}} @optionalIndicator={{@optionalIndicator}} ...attributes as |ctrl|>\n {{#if (has-block \"info\")}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </ctrl.Label>\n {{else}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n {{/if}}\n\n <TimePicker @id={{ctrl.id}} @name={{@name}} @value={{@value}} @placeholder={{@placeholder}} @format={{@format}} @interval={{@interval}} @minTime={{@minTime}} @maxTime={{@maxTime}} @showNow={{@showNow}} @allowTextInput={{@allowTextInput}} @closeOnSelect={{@closeOnSelect}} @showIcon={{@showIcon}} @hideDisabledOptions={{@hideDisabledOptions}} @snapToInterval={{@snapToInterval}} @isDisabled={{@isDisabled}} @isInvalid={{this.isInvalid}} @isRequired={{@isRequired}} @isReadOnly={{@isReadOnly}} @aria-describedby={{this.getAriaDescribedBy ctrl.id}} @onChange={{@onChange}} @onBlur={{@onBlur}} @onFocus={{@onFocus}} data-test-time-picker-field />\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n</Control>", {
|
|
27
27
|
strictMode: true,
|
|
28
28
|
scope: () => ({
|
|
29
29
|
Control,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-picker-field.js","sources":["../../src/form/time-picker-field.gts"],"sourcesContent":["import Component from '@glimmer/component';\n\nimport Control from './control.gts';\nimport TimePicker, { type TimeFormat } from './time-picker.gts';\n\nexport type LabelVisibility = 'visible' | 'hidden';\n\nexport interface TimePickerFieldSignature {\n Element: HTMLDivElement;\n Args: {\n /** Label text (required) */\n label: string;\n\n /** Current selected time value (HH:mm format) */\n value?: string | null;\n\n /** Placeholder text shown when no value is selected */\n placeholder?: string;\n\n /** Time format (12h or 24h) */\n format?: TimeFormat;\n\n /** Minutes between options (default: 15) */\n interval?: number;\n\n /** Minimum allowed time (HH:mm format) */\n minTime?: string;\n\n /** Maximum allowed time (HH:mm format) */\n maxTime?: string;\n\n /** Show \"Now\" option at the top */\n showNow?: boolean;\n\n /** Allow typing in the input */\n allowTextInput?: boolean;\n\n /** Close dropdown when a time is selected */\n closeOnSelect?: boolean;\n\n /** Show clock icon */\n showIcon?: boolean;\n\n /** Hide disabled options from the dropdown */\n hideDisabledOptions?: boolean;\n\n /** Round typed values to the nearest interval on blur */\n snapToInterval?: boolean;\n\n /** Help text displayed below the input */\n helpText?: string;\n\n /** Error message (also sets invalid state) */\n error?: string;\n\n /** Field is required */\n isRequired?: boolean;\n\n /** Field is disabled */\n isDisabled?: boolean;\n\n /** Field is read-only */\n isReadOnly?: boolean;\n\n /** Info tooltip text shown next to the label */\n labelInfo?: string;\n\n /** Label visibility */\n labelVisibility?: LabelVisibility;\n\n /** Input name for forms */\n name?: string;\n\n /** Change event handler */\n onChange?: (value: string | null) => void;\n\n /** Blur event handler */\n onBlur?: (event: FocusEvent) => void;\n\n /** Focus event handler */\n onFocus?: (event: FocusEvent) => void;\n };\n Blocks: {\n /** Rich tooltip content shown next to the label */\n info: [];\n };\n}\n\nexport default class TimePickerField extends Component<TimePickerFieldSignature> {\n get isInvalid(): boolean {\n return !!this.args.error;\n }\n\n get isLabelHidden(): boolean {\n return this.args.labelVisibility === 'hidden';\n }\n\n /** Build aria-describedby from the control's help text and error message IDs */\n getAriaDescribedBy = (controlId: string): string | undefined => {\n const parts: string[] = [];\n if (this.args.helpText) {\n parts.push(`${controlId}-help-text`);\n }\n if (this.args.error) {\n parts.push(`${controlId}-error-message`);\n }\n return parts.length > 0 ? parts.join(' ') : undefined;\n };\n\n <template>\n <Control\n @isInvalid={{this.isInvalid}}\n @isDisabled={{@isDisabled}}\n @isRequired={{@isRequired}}\n @isReadOnly={{@isReadOnly}}\n @labelInfo={{@labelInfo}}\n ...attributes\n as |ctrl|\n >\n {{#if (has-block \"info\")}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </ctrl.Label>\n {{else}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n {{/if}}\n\n <TimePicker\n @id={{ctrl.id}}\n @name={{@name}}\n @value={{@value}}\n @placeholder={{@placeholder}}\n @format={{@format}}\n @interval={{@interval}}\n @minTime={{@minTime}}\n @maxTime={{@maxTime}}\n @showNow={{@showNow}}\n @allowTextInput={{@allowTextInput}}\n @closeOnSelect={{@closeOnSelect}}\n @showIcon={{@showIcon}}\n @hideDisabledOptions={{@hideDisabledOptions}}\n @snapToInterval={{@snapToInterval}}\n @isDisabled={{@isDisabled}}\n @isInvalid={{this.isInvalid}}\n @isRequired={{@isRequired}}\n @isReadOnly={{@isReadOnly}}\n @aria-describedby={{this.getAriaDescribedBy ctrl.id}}\n @onChange={{@onChange}}\n @onBlur={{@onBlur}}\n @onFocus={{@onFocus}}\n data-test-time-picker-field\n />\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n </Control>\n </template>\n}\n"],"names":["TimePickerField","Component","isInvalid","args","error","isLabelHidden","labelVisibility","getAriaDescribedBy","controlId","parts","helpText","push","length","join","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","Control","TimePicker"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"time-picker-field.js","sources":["../../src/form/time-picker-field.gts"],"sourcesContent":["import Component from '@glimmer/component';\n\nimport Control from './control.gts';\nimport TimePicker, { type TimeFormat } from './time-picker.gts';\n\nexport type LabelVisibility = 'visible' | 'hidden';\n\nexport interface TimePickerFieldSignature {\n Element: HTMLDivElement;\n Args: {\n /** Label text (required) */\n label: string;\n\n /** Current selected time value (HH:mm format) */\n value?: string | null;\n\n /** Placeholder text shown when no value is selected */\n placeholder?: string;\n\n /** Time format (12h or 24h) */\n format?: TimeFormat;\n\n /** Minutes between options (default: 15) */\n interval?: number;\n\n /** Minimum allowed time (HH:mm format) */\n minTime?: string;\n\n /** Maximum allowed time (HH:mm format) */\n maxTime?: string;\n\n /** Show \"Now\" option at the top */\n showNow?: boolean;\n\n /** Allow typing in the input */\n allowTextInput?: boolean;\n\n /** Close dropdown when a time is selected */\n closeOnSelect?: boolean;\n\n /** Show clock icon */\n showIcon?: boolean;\n\n /** Hide disabled options from the dropdown */\n hideDisabledOptions?: boolean;\n\n /** Round typed values to the nearest interval on blur */\n snapToInterval?: boolean;\n\n /** Help text displayed below the input */\n helpText?: string;\n\n /** Error message (also sets invalid state) */\n error?: string;\n\n /** Field is required */\n isRequired?: boolean;\n\n /** Field is disabled */\n isDisabled?: boolean;\n\n /** Field is read-only */\n isReadOnly?: boolean;\n\n /** Info tooltip text shown next to the label */\n labelInfo?: string;\n\n /** Optional indicator - shows \"optional\" or custom text next to the label */\n optionalIndicator?: boolean | string;\n\n /** Label visibility */\n labelVisibility?: LabelVisibility;\n\n /** Input name for forms */\n name?: string;\n\n /** Change event handler */\n onChange?: (value: string | null) => void;\n\n /** Blur event handler */\n onBlur?: (event: FocusEvent) => void;\n\n /** Focus event handler */\n onFocus?: (event: FocusEvent) => void;\n };\n Blocks: {\n /** Rich tooltip content shown next to the label */\n info: [];\n };\n}\n\nexport default class TimePickerField extends Component<TimePickerFieldSignature> {\n get isInvalid(): boolean {\n return !!this.args.error;\n }\n\n get isLabelHidden(): boolean {\n return this.args.labelVisibility === 'hidden';\n }\n\n /** Build aria-describedby from the control's help text and error message IDs */\n getAriaDescribedBy = (controlId: string): string | undefined => {\n const parts: string[] = [];\n if (this.args.helpText) {\n parts.push(`${controlId}-help-text`);\n }\n if (this.args.error) {\n parts.push(`${controlId}-error-message`);\n }\n return parts.length > 0 ? parts.join(' ') : undefined;\n };\n\n <template>\n <Control\n @isInvalid={{this.isInvalid}}\n @isDisabled={{@isDisabled}}\n @isRequired={{@isRequired}}\n @isReadOnly={{@isReadOnly}}\n @labelInfo={{@labelInfo}}\n @optionalIndicator={{@optionalIndicator}}\n ...attributes\n as |ctrl|\n >\n {{#if (has-block \"info\")}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n <:default>{{@label}}</:default>\n <:info>{{yield to=\"info\"}}</:info>\n </ctrl.Label>\n {{else}}\n <ctrl.Label @isVisuallyHidden={{this.isLabelHidden}}>\n {{@label}}\n </ctrl.Label>\n {{/if}}\n\n <TimePicker\n @id={{ctrl.id}}\n @name={{@name}}\n @value={{@value}}\n @placeholder={{@placeholder}}\n @format={{@format}}\n @interval={{@interval}}\n @minTime={{@minTime}}\n @maxTime={{@maxTime}}\n @showNow={{@showNow}}\n @allowTextInput={{@allowTextInput}}\n @closeOnSelect={{@closeOnSelect}}\n @showIcon={{@showIcon}}\n @hideDisabledOptions={{@hideDisabledOptions}}\n @snapToInterval={{@snapToInterval}}\n @isDisabled={{@isDisabled}}\n @isInvalid={{this.isInvalid}}\n @isRequired={{@isRequired}}\n @isReadOnly={{@isReadOnly}}\n @aria-describedby={{this.getAriaDescribedBy ctrl.id}}\n @onChange={{@onChange}}\n @onBlur={{@onBlur}}\n @onFocus={{@onFocus}}\n data-test-time-picker-field\n />\n\n {{#if @helpText}}\n <ctrl.HelpText>{{@helpText}}</ctrl.HelpText>\n {{/if}}\n\n {{#if @error}}\n <ctrl.ErrorMessage>{{@error}}</ctrl.ErrorMessage>\n {{/if}}\n </Control>\n </template>\n}\n"],"names":["TimePickerField","Component","isInvalid","args","error","isLabelHidden","labelVisibility","getAriaDescribedBy","controlId","parts","helpText","push","length","join","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","Control","TimePicker"],"mappings":";;;;;;AA2Fe,MAAMA,wBAAwBC,SAAA,CAAU;EACrD,IAAIC,SAAAA,GAAqB;AACvB,IAAA,OAAO,CAAC,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK;AAC1B,EAAA;EAEA,IAAIC,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACF,IAAI,CAACG,eAAe,KAAK,QAAA;AACvC,EAAA;AAEA;EACAC,qBAAsBC,SAAiB,IAAqB;IAC1D,MAAMC,KAAa,GAAK,EAAE;AAC1B,IAAA,IAAI,IAAI,CAACN,IAAI,CAACO,QAAQ,EAAE;AACtBD,MAAAA,KAAA,CAAME,IAAI,CAAC,CAAA,EAAGH,SAAA,YAAqB,CAAA;AACrC,IAAA;AACA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACC,KAAK,EAAE;AACnBK,MAAAA,KAAA,CAAME,IAAI,CAAC,CAAA,EAAGH,SAAA,gBAAyB,CAAA;AACzC,IAAA;AACA,IAAA,OAAOC,MAAMG,MAAM,GAAG,IAAIH,KAAA,CAAMI,IAAI,CAAC,GAAA,CAAA,GAAOC,SAAA;EAC9C,CAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,+0CAAA,EAwDA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h-stack.js","sources":["../../src/layout/h-stack.gts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\nimport Stack from './stack.gts';\n\nexport interface HStackSignature {\n Element: HTMLDivElement;\n Args: {\n gap
|
|
1
|
+
{"version":3,"file":"h-stack.js","sources":["../../src/layout/h-stack.gts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\nimport Stack from './stack.gts';\n\nexport interface HStackSignature {\n Element: HTMLDivElement;\n Args: {\n gap?:\n | 'none'\n | '2xs'\n | 'xs'\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'\n | '2xl'\n | '3xl'\n | '4xl'\n | '5xl';\n align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';\n justify?: 'start' | 'center' | 'end' | 'between';\n wrap?: boolean;\n inline?: boolean;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst HStack: TOC<HStackSignature> = <template>\n <Stack\n @direction=\"row\"\n @gap={{@gap}}\n @align={{@align}}\n @justify={{@justify}}\n @wrap={{@wrap}}\n @inline={{@inline}}\n ...attributes\n >\n {{yield}}\n </Stack>\n</template>;\n\nexport default HStack;\n"],"names":["HStack","setComponentTemplate","precompileTemplate","strictMode","scope","Stack","templateOnly"],"mappings":";;;;;AA4BA,MAAMA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,2JAAA,EAYrC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v-stack.js","sources":["../../src/layout/v-stack.gts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\nimport Stack from './stack.gts';\n\nexport interface VStackSignature {\n Element: HTMLDivElement;\n Args: {\n gap
|
|
1
|
+
{"version":3,"file":"v-stack.js","sources":["../../src/layout/v-stack.gts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\nimport Stack from './stack.gts';\n\nexport interface VStackSignature {\n Element: HTMLDivElement;\n Args: {\n gap?:\n | 'none'\n | '2xs'\n | 'xs'\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'\n | '2xl'\n | '3xl'\n | '4xl'\n | '5xl';\n align?: 'start' | 'center' | 'end' | 'stretch';\n justify?: 'start' | 'center' | 'end' | 'between';\n inline?: boolean;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst VStack: TOC<VStackSignature> = <template>\n <Stack\n @direction=\"column\"\n @gap={{@gap}}\n @align={{@align}}\n @justify={{@justify}}\n @inline={{@inline}}\n ...attributes\n >\n {{yield}}\n </Stack>\n</template>;\n\nexport default VStack;\n"],"names":["VStack","setComponentTemplate","precompileTemplate","strictMode","scope","Stack","templateOnly"],"mappings":";;;;;AA2BA,MAAMA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,8IAAA,EAWrC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
package/dist/overlay/popover.js
CHANGED
|
@@ -289,6 +289,24 @@ class Popover extends Component {
|
|
|
289
289
|
this.triggerElement = element;
|
|
290
290
|
});
|
|
291
291
|
};
|
|
292
|
+
/**
|
|
293
|
+
* Yielded modifier for registering an arbitrary element as the popover
|
|
294
|
+
* trigger. Useful for consumers who can't (or shouldn't) use the
|
|
295
|
+
* `<popover.Trigger>` button — e.g., a combobox where the trigger IS
|
|
296
|
+
* an `<input>`.
|
|
297
|
+
*/
|
|
298
|
+
registerTriggerModifier = modifier(element => {
|
|
299
|
+
this.registerTrigger(element);
|
|
300
|
+
return () => {
|
|
301
|
+
// Clear the reference so a remounted trigger doesn't keep a
|
|
302
|
+
// dangling anchor element around.
|
|
303
|
+
void Promise.resolve().then(() => {
|
|
304
|
+
if (this.triggerElement === element) {
|
|
305
|
+
this.triggerElement = null;
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
};
|
|
309
|
+
});
|
|
292
310
|
get isOpenInternal() {
|
|
293
311
|
if (this._isOpenInternal === undefined) {
|
|
294
312
|
return this.args.defaultOpen ?? false;
|
|
@@ -399,7 +417,7 @@ class Popover extends Component {
|
|
|
399
417
|
};
|
|
400
418
|
}
|
|
401
419
|
static {
|
|
402
|
-
setComponentTemplate(precompileTemplate("<div class=\"popover_ee9248ac0\" {{this.setupEventListeners}} data-test-popover ...attributes>\n {{yield (hash Trigger=(component PopoverTrigger ctx=this.context) Content=(component PopoverContent ctx=this.context) Close=(component PopoverClose ctx=this.context) isOpen=this.isOpen open=this.openPopover close=this.closePopover toggle=this.togglePopover)}}\n</div>", {
|
|
420
|
+
setComponentTemplate(precompileTemplate("<div class=\"popover_ee9248ac0\" {{this.setupEventListeners}} data-test-popover ...attributes>\n {{yield (hash Trigger=(component PopoverTrigger ctx=this.context) Content=(component PopoverContent ctx=this.context) Close=(component PopoverClose ctx=this.context) registerTrigger=this.registerTriggerModifier isOpen=this.isOpen open=this.openPopover close=this.closePopover toggle=this.togglePopover)}}\n</div>", {
|
|
403
421
|
strictMode: true,
|
|
404
422
|
scope: () => ({
|
|
405
423
|
hash,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visitwonders/assembly",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "The default blueprint for Embroider v2 addons.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon"
|
|
@@ -77,21 +77,6 @@
|
|
|
77
77
|
"declarations",
|
|
78
78
|
"dist"
|
|
79
79
|
],
|
|
80
|
-
"scripts": {
|
|
81
|
-
"build": "rollup --config",
|
|
82
|
-
"format": "prettier . --cache --write",
|
|
83
|
-
"lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\" --prefixColors auto",
|
|
84
|
-
"lint:fix": "concurrently \"pnpm:lint:*:fix\" --names \"fix:\" --prefixColors auto && pnpm run format",
|
|
85
|
-
"lint:format": "prettier . --cache --check",
|
|
86
|
-
"lint:hbs": "ember-template-lint . --no-error-on-unmatched-pattern",
|
|
87
|
-
"lint:hbs:fix": "ember-template-lint . --fix --no-error-on-unmatched-pattern",
|
|
88
|
-
"lint:js": "eslint . --cache",
|
|
89
|
-
"lint:js:fix": "eslint . --fix",
|
|
90
|
-
"lint:types": "glint",
|
|
91
|
-
"prepack": "rollup --config",
|
|
92
|
-
"start": "rollup --config --watch",
|
|
93
|
-
"test": "echo 'A v2 addon does not have tests, run tests in showcase'"
|
|
94
|
-
},
|
|
95
80
|
"dependencies": {
|
|
96
81
|
"@arthur5005/dnd-kit-ember": "^0.1.2",
|
|
97
82
|
"@embroider/addon-shim": "^1.8.9",
|
|
@@ -163,6 +148,9 @@
|
|
|
163
148
|
"./form/calendar.js": "./dist/_app_/form/calendar.js",
|
|
164
149
|
"./form/checkbox-group.js": "./dist/_app_/form/checkbox-group.js",
|
|
165
150
|
"./form/checkbox.js": "./dist/_app_/form/checkbox.js",
|
|
151
|
+
"./form/combobox-field.js": "./dist/_app_/form/combobox-field.js",
|
|
152
|
+
"./form/combobox-shared.js": "./dist/_app_/form/combobox-shared.js",
|
|
153
|
+
"./form/combobox.js": "./dist/_app_/form/combobox.js",
|
|
166
154
|
"./form/control.js": "./dist/_app_/form/control.js",
|
|
167
155
|
"./form/country-data.js": "./dist/_app_/form/country-data.js",
|
|
168
156
|
"./form/country-select-field.js": "./dist/_app_/form/country-select-field.js",
|
|
@@ -181,6 +169,8 @@
|
|
|
181
169
|
"./form/label.js": "./dist/_app_/form/label.js",
|
|
182
170
|
"./form/listbox.js": "./dist/_app_/form/listbox.js",
|
|
183
171
|
"./form/money-field.js": "./dist/_app_/form/money-field.js",
|
|
172
|
+
"./form/multi-combobox-field.js": "./dist/_app_/form/multi-combobox-field.js",
|
|
173
|
+
"./form/multi-combobox.js": "./dist/_app_/form/multi-combobox.js",
|
|
184
174
|
"./form/multi-select.js": "./dist/_app_/form/multi-select.js",
|
|
185
175
|
"./form/number-field.js": "./dist/_app_/form/number-field.js",
|
|
186
176
|
"./form/option-group.js": "./dist/_app_/form/option-group.js",
|
|
@@ -223,5 +213,19 @@
|
|
|
223
213
|
"./typography/heading.js": "./dist/_app_/typography/heading.js",
|
|
224
214
|
"./typography/text.js": "./dist/_app_/typography/text.js"
|
|
225
215
|
}
|
|
216
|
+
},
|
|
217
|
+
"scripts": {
|
|
218
|
+
"build": "rollup --config",
|
|
219
|
+
"format": "prettier . --cache --write",
|
|
220
|
+
"lint": "concurrently \"pnpm:lint:*(!fix)\" --names \"lint:\" --prefixColors auto",
|
|
221
|
+
"lint:fix": "concurrently \"pnpm:lint:*:fix\" --names \"fix:\" --prefixColors auto && pnpm run format",
|
|
222
|
+
"lint:format": "prettier . --cache --check",
|
|
223
|
+
"lint:hbs": "ember-template-lint . --no-error-on-unmatched-pattern",
|
|
224
|
+
"lint:hbs:fix": "ember-template-lint . --fix --no-error-on-unmatched-pattern",
|
|
225
|
+
"lint:js": "eslint . --cache",
|
|
226
|
+
"lint:js:fix": "eslint . --fix",
|
|
227
|
+
"lint:types": "glint",
|
|
228
|
+
"start": "rollup --config --watch",
|
|
229
|
+
"test": "echo 'A v2 addon does not have tests, run tests in showcase'"
|
|
226
230
|
}
|
|
227
|
-
}
|
|
231
|
+
}
|