@lblod/ember-rdfa-editor 12.10.1 → 12.10.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/declarations/components/icons/font-color.d.ts +6 -2
- package/declarations/components/icons/font-color.d.ts.map +1 -1
- package/declarations/components/icons/format-text.d.ts +6 -2
- package/declarations/components/icons/format-text.d.ts.map +1 -1
- package/declarations/components/icons/rdfa.d.ts +6 -2
- package/declarations/components/icons/rdfa.d.ts.map +1 -1
- package/dist/components/_private/relationship-editor/card.js +1 -1
- package/dist/components/_private/relationship-editor/card.js.map +1 -1
- package/dist/components/icons/font-color.js +1 -1
- package/dist/components/icons/font-color.js.map +1 -1
- package/dist/components/icons/format-text.js +2 -2
- package/dist/components/icons/format-text.js.map +1 -1
- package/dist/components/icons/rdfa.js +2 -2
- package/dist/components/icons/rdfa.js.map +1 -1
- package/dist/components/toolbar/dropdown.js +1 -1
- package/dist/components/toolbar/dropdown.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { TOC } from '@ember/component/template-only';
|
|
2
|
+
type Signature = {
|
|
3
|
+
Element: SVGElement;
|
|
4
|
+
};
|
|
5
|
+
declare const FontColorIcon: TOC<Signature>;
|
|
6
|
+
export default FontColorIcon;
|
|
3
7
|
//# sourceMappingURL=font-color.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-color.d.ts","sourceRoot":"","sources":["../../../src/components/icons/font-color.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"font-color.d.ts","sourceRoot":"","sources":["../../../src/components/icons/font-color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAE1D,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,GAAG,CAAC,SAAS,CAqDhC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { TOC } from '@ember/component/template-only';
|
|
2
|
+
type Signature = {
|
|
3
|
+
Element: SVGElement;
|
|
4
|
+
};
|
|
5
|
+
declare const FormatTextIcon: TOC<Signature>;
|
|
6
|
+
export default FormatTextIcon;
|
|
3
7
|
//# sourceMappingURL=format-text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-text.d.ts","sourceRoot":"","sources":["../../../src/components/icons/format-text.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"format-text.d.ts","sourceRoot":"","sources":["../../../src/components/icons/format-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAE1D,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,GAAG,CAAC,SAAS,CAwDjC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { TOC } from '@ember/component/template-only';
|
|
2
|
+
type Signature = {
|
|
3
|
+
Element: SVGElement;
|
|
4
|
+
};
|
|
5
|
+
declare const RdfaIcon: TOC<Signature>;
|
|
6
|
+
export default RdfaIcon;
|
|
3
7
|
//# sourceMappingURL=rdfa.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdfa.d.ts","sourceRoot":"","sources":["../../../src/components/icons/rdfa.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rdfa.d.ts","sourceRoot":"","sources":["../../../src/components/icons/rdfa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAE1D,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,GAAG,CAAC,SAAS,CA8D3B,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -30,7 +30,7 @@ import RelationshipEditorDevModeModal from './modals/dev-mode.js';
|
|
|
30
30
|
import ContentPredicateForm from './content-predicate-form.js';
|
|
31
31
|
import WithUniqueIdComponent from '../utils/with-unique-id.js';
|
|
32
32
|
import { htmlSafe } from '@ember/template';
|
|
33
|
-
import { CheckIcon } from '@appuniversum/ember-appuniversum/components/icons/check
|
|
33
|
+
import { CheckIcon } from '@appuniversum/ember-appuniversum/components/icons/check';
|
|
34
34
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
35
35
|
import { setComponentTemplate } from '@ember/component';
|
|
36
36
|
import { g, i } from 'decorator-transforms/runtime';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../../../src/components/_private/relationship-editor/card.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { localCopy, trackedReset } from 'tracked-toolbox';\nimport { isResourceNode } from '#root/utils/node-utils.ts';\n// import RdfaPropertyEditor from './property-editor/index.gts';\nimport type { ResolvedPNode } from '#root/utils/_private/types.ts';\nimport AuHeading from '@appuniversum/ember-appuniversum/components/au-heading';\nimport AuPill from '@appuniversum/ember-appuniversum/components/au-pill';\nimport type SayController from '#root/core/say-controller.ts';\n// import BacklinkEditor from './backlink-editor/index.gts';\nimport AuCard from '@appuniversum/ember-appuniversum/components/au-card';\nimport type {\n Direction,\n SubmissionBody,\n} from '#root/components/_private/relationship-editor/types.ts';\nimport { tracked } from 'tracked-built-ins';\nimport {\n addBacklinkToNode,\n removeBacklinkFromNode,\n} from '#root/utils/_private/rdfa-utils.ts';\nimport { isRdfaAttrs, type RdfaAttrs } from '#root/core/rdfa-types.ts';\nimport { removeProperty } from '#root/commands/rdfa-commands/remove-property.ts';\nimport { addProperty } from '#root/commands/rdfa-commands/add-property.ts';\nimport { selectNodeBySubject } from '#root/commands/_private/rdfa-commands/select-node-by-subject.ts';\nimport AuToolbar from '@appuniversum/ember-appuniversum/components/au-toolbar';\nimport AuButton from '@appuniversum/ember-appuniversum/components/au-button';\nimport { PlusIcon } from '@appuniversum/ember-appuniversum/components/icons/plus';\nimport { on } from '@ember/modifier';\nimport { fn } from '@ember/helper';\nimport AuList from '@appuniversum/ember-appuniversum/components/au-list';\nimport ConfigurableRdfaDisplay, {\n predicateDisplay,\n} from '#root/components/_private/common/configurable-rdfa-display.gts';\nimport PropertyDetails from '#root/components/_private/common/property-details.gts';\nimport AuDropdown from '@appuniversum/ember-appuniversum/components/au-dropdown';\nimport { ThreeDotsIcon } from '@appuniversum/ember-appuniversum/components/icons/three-dots';\nimport { PencilIcon } from '@appuniversum/ember-appuniversum/components/icons/pencil';\nimport { BinIcon } from '@appuniversum/ember-appuniversum/components/icons/bin';\nimport { ExternalLinkIcon } from '@appuniversum/ember-appuniversum/components/icons/external-link';\nimport AuAlert from '@appuniversum/ember-appuniversum/components/au-alert';\nimport type { PNode } from '#root/prosemirror-aliases.ts';\nimport type {\n PropertyOrBacklink,\n Status,\n StatusMessage,\n} from '../common/types.ts';\nimport {\n languageOrDataType,\n sayDataFactory,\n} from '#root/core/say-data-factory/data-factory.ts';\nimport type { FormData } from './modals/dev-mode.gts';\nimport { modifier } from 'ember-modifier';\nimport RelationshipEditorDevModeModal from './modals/dev-mode.gts';\nimport type { OptionGeneratorConfig } from './types.ts';\nimport ContentPredicateForm, {\n type SubmissionBody as ContentPredicateFormSubmissionBody,\n} from './content-predicate-form.gts';\nimport WithUniqueId from '#root/components/_private/utils/with-unique-id.ts';\nimport type { ContentLiteralTerm } from '#root/core/say-data-factory/index.js';\nimport type { OutgoingTriple } from '#root/core/rdfa-processor.js';\nimport { htmlSafe } from '@ember/template';\nimport { CheckIcon } from '@appuniversum/ember-appuniversum/components/icons/check.js';\n\ninterface StatusMessageForNode extends StatusMessage {\n node: PNode;\n}\n\ntype Args = {\n controller: SayController;\n node: ResolvedPNode;\n expanded?: boolean;\n onToggle?: (expanded: boolean) => void;\n optionGeneratorConfig?: OptionGeneratorConfig;\n};\nexport default class RelationshipEditorCard extends Component<Args> {\n @tracked _statusMessage: StatusMessageForNode | null = null;\n @tracked status?: Status;\n @tracked initialFormData?: FormData;\n @trackedReset('args.node') editingContentPredicate: boolean = false;\n\n @localCopy('args.expanded', true) declare expanded: boolean;\n\n setUpListeners = modifier(() => {\n const listenerHandler = (event: KeyboardEvent) => {\n if (event.altKey && event.ctrlKey) {\n const key = event.key;\n switch (key) {\n case 'b':\n case 'B':\n this.startCreationMode('backlink');\n break;\n case 'p':\n case 'P':\n if (this.isResourceNode) {\n this.startCreationMode('property');\n }\n break;\n }\n }\n };\n window.addEventListener('keydown', listenerHandler);\n return () => {\n window.removeEventListener('keydown', listenerHandler);\n };\n });\n\n get node() {\n return this.args.node.value;\n }\n\n get isRdfaAwareNode() {\n return isRdfaAttrs(this.node.attrs);\n }\n\n get nodeAttrs() {\n return this.node.attrs as RdfaAttrs;\n }\n\n get isCreating() {\n return this.status?.mode === 'creation';\n }\n\n get isUpdating() {\n return this.status?.mode === 'update';\n }\n\n toggleSection = () => {\n this.expanded = !this.expanded;\n this.args.onToggle?.(this.expanded);\n };\n\n startCreationMode = (direction: Direction) => {\n this.initialFormData = {\n direction,\n };\n this.status = {\n mode: 'creation',\n };\n };\n\n startUpdateMode = (propertyOrBacklink: PropertyOrBacklink) => {\n if ('subject' in propertyOrBacklink) {\n this.initialFormData = {\n direction: 'backlink',\n predicate: {\n direction: 'backlink',\n term: sayDataFactory.namedNode(propertyOrBacklink.predicate),\n },\n target: {\n term: propertyOrBacklink.subject,\n },\n };\n } else {\n this.initialFormData = {\n direction: 'property',\n predicate: {\n direction: 'property',\n term: sayDataFactory.namedNode(propertyOrBacklink.predicate),\n },\n target: {\n // @ts-expect-error remove blanknode from possible object types\n term: propertyOrBacklink.object,\n },\n };\n }\n this.status = {\n mode: 'update',\n propertyOrBacklink,\n };\n };\n\n onFormSubmit = (body: SubmissionBody) => {\n if (this.status?.mode === 'update') {\n this.removePropertyOrBacklink(this.status.propertyOrBacklink);\n }\n const node = this.args.node;\n const { predicate, target } = body;\n\n if (predicate.direction === 'property') {\n const resource =\n this.nodeAttrs.rdfaNodeType === 'resource' && this.nodeAttrs.subject;\n if (!resource) {\n return;\n }\n const property = {\n predicate: predicate.term.value,\n object: target.term,\n };\n this.controller.doCommand(\n addProperty({\n resource,\n // @ts-expect-error fix type of property\n property,\n }),\n );\n } else if (predicate.direction === 'backlink') {\n const backlink = {\n subject: target.term,\n predicate: predicate.term.value,\n };\n this.controller.withTransaction(\n () => {\n return addBacklinkToNode({\n rdfaId: node.value.attrs['__rdfaId'] as string,\n // @ts-expect-error fix type of backlink\n backlink,\n })(this.controller.mainEditorState).transaction;\n },\n { view: this.controller.mainEditorView },\n );\n }\n\n this.status = undefined;\n };\n\n cancel = () => {\n this.status = undefined;\n };\n\n get contentPredicateProperty() {\n if (this.nodeAttrs.rdfaNodeType === 'resource') {\n return this.nodeAttrs.properties.find(\n (prop) => prop.object.termType === 'ContentLiteral',\n );\n } else {\n return;\n }\n }\n\n contentPredicateTextRepr = (contentPredicateProperty: OutgoingTriple) => {\n const predicate = contentPredicateProperty.predicate;\n const object = contentPredicateProperty.object as ContentLiteralTerm;\n const languageSuffix = object.language ? `@${object.language}` : '';\n const datatypeSuffix = object.datatype\n ? `^^\"${object.datatype.value}\"`\n : '';\n return `<strong>${predicate}</strong>${languageSuffix}${datatypeSuffix}`;\n };\n\n get contentPredicateInitialFormData() {\n const predicate = this.contentPredicateProperty?.predicate;\n const object = this.contentPredicateProperty?.object as\n | ContentLiteralTerm\n | undefined;\n return {\n contentPredicate: predicate,\n language: object?.language,\n datatype: object?.datatype.value,\n };\n }\n\n startEditingContentPredicate = () => {\n this.editingContentPredicate = true;\n };\n\n onContentPredicateFormCancel = () => {\n this.editingContentPredicate = false;\n };\n\n onContentPredicateFormSubmit = (body: ContentPredicateFormSubmissionBody) => {\n this.editingContentPredicate = false;\n if (this.contentPredicateProperty) {\n this.removePropertyOrBacklink(this.contentPredicateProperty);\n }\n if (body.contentPredicate) {\n const property = {\n predicate: body.contentPredicate,\n object: sayDataFactory.contentLiteral(\n languageOrDataType(\n body.language,\n body.datatype ? sayDataFactory.namedNode(body.datatype) : undefined,\n ),\n ),\n };\n const resource =\n this.nodeAttrs.rdfaNodeType === 'resource' && this.nodeAttrs.subject;\n if (!resource) {\n return;\n }\n this.controller.doCommand(\n addProperty({\n resource,\n property,\n }),\n );\n }\n };\n\n removePropertyOrBacklink = (propertyOrBacklink: PropertyOrBacklink) => {\n // This function can only be called when the selected node defines a resource or the selected\n // node is a document that imports resources (e.g. a snippet)\n if ('subject' in propertyOrBacklink) {\n const backlinkIndex =\n this.nodeAttrs.backlinks.indexOf(propertyOrBacklink);\n if (backlinkIndex === -1) {\n return;\n }\n this.controller.withTransaction(\n () => {\n return removeBacklinkFromNode({\n rdfaId: this.args.node.value.attrs['__rdfaId'] as string,\n index: backlinkIndex,\n })(this.controller.mainEditorState).transaction;\n },\n { view: this.controller.mainEditorView },\n );\n } else {\n const resource =\n this.nodeAttrs.rdfaNodeType === 'resource' && this.nodeAttrs.subject;\n if (!resource) {\n return;\n }\n const propertyToRemove = { resource, property: propertyOrBacklink };\n this.controller?.doCommand(removeProperty(propertyToRemove), {\n view: this.controller.mainEditorView,\n });\n }\n };\n\n get isResourceNode() {\n return isResourceNode(this.args.node.value);\n }\n\n get type() {\n if (this.args.node.value.type === this.controller?.schema.nodes['doc']) {\n return 'document';\n }\n return this.isResourceNode ? 'resource' : 'literal';\n }\n\n get controller() {\n return this.args.controller;\n }\n\n goToSubject = (subject: string) => {\n const succesful = this.controller.doCommand(\n selectNodeBySubject({ subject }),\n {\n view: this.controller.mainEditorView,\n },\n );\n if (!succesful) {\n this.setStatusMessage({\n type: 'info',\n message: `Node with subject ${subject} not found`,\n });\n }\n this.controller.focus();\n };\n\n get modalTitle() {\n if (this.status?.mode === 'update') {\n return 'Edit relationship';\n } else {\n return 'Add relationship';\n }\n }\n\n get properties() {\n return this.nodeAttrs.rdfaNodeType === 'resource'\n ? this.nodeAttrs.properties.filter(\n (prop) => prop.object.termType !== 'ContentLiteral',\n )\n : undefined;\n }\n\n get backlinks() {\n return this.nodeAttrs.backlinks;\n }\n\n get statusMessage(): StatusMessage | null {\n // show only if a message is relevant for the current node\n if (this._statusMessage && this.node === this._statusMessage.node) {\n return this._statusMessage;\n }\n return null;\n }\n\n setStatusMessage = (val: StatusMessage | null) => {\n if (val) {\n this._statusMessage = { ...val, node: this.node };\n } else {\n this._statusMessage = val;\n }\n };\n\n closeStatusMessage = () => {\n this.setStatusMessage(null);\n };\n\n get currentTerm() {\n if (this.nodeAttrs.rdfaNodeType === 'resource') {\n return sayDataFactory.resourceNode(this.nodeAttrs.subject);\n } else {\n return sayDataFactory.literalNode(this.nodeAttrs.__rdfaId);\n }\n }\n\n <template>\n {{#if this.isRdfaAwareNode}}\n <AuCard\n {{this.setUpListeners}}\n @size=\"small\"\n @expandable={{true}}\n @manualControl={{true}}\n @openSection={{this.toggleSection}}\n @isExpanded={{this.expanded}}\n as |c|\n >\n <c.header>\n <div\n class=\"au-u-flex au-u-flex--row au-u-flex--vertical-center au-u-flex--spaced-small\"\n >\n <AuHeading @level=\"1\" @skin=\"6\">Relationships</AuHeading>\n <AuPill>{{this.type}}</AuPill>\n </div>\n </c.header>\n <c.content class=\"au-c-content--tiny\">\n {{#if this.isResourceNode}}\n <AuToolbar as |Group|>\n <Group>\n <AuHeading\n @level=\"2\"\n class=\"au-u-h6 au-u-muted\"\n >Properties</AuHeading>\n </Group>\n <Group>\n <AuButton\n @icon={{PlusIcon}}\n @skin=\"link\"\n {{on \"click\" (fn this.startCreationMode \"property\")}}\n >\n Add property\n </AuButton>\n </Group>\n </AuToolbar>\n {{#if this.properties.length}}\n <AuList @divider={{true}} as |Item|>\n {{#each this.properties as |prop|}}\n <Item\n class=\"au-u-flex au-u-flex--row au-u-flex--between au-u-flex--vertical-center\"\n >\n <div class=\"au-u-padding-tiny\">\n <ConfigurableRdfaDisplay\n @value={{prop}}\n @generator={{predicateDisplay}}\n @controller={{@controller}}\n />\n <PropertyDetails\n @controller={{@controller}}\n @prop={{prop}}\n @setStatusMessage={{this.setStatusMessage}}\n />\n </div>\n <AuDropdown\n @icon={{ThreeDotsIcon}}\n role=\"menu\"\n @alignment=\"left\"\n >\n <AuButton\n @skin=\"link\"\n @icon={{PencilIcon}}\n role=\"menuitem\"\n {{on \"click\" (fn this.startUpdateMode prop)}}\n >\n Edit property\n </AuButton>\n <AuButton\n @skin=\"link\"\n @icon={{BinIcon}}\n role=\"menuitem\"\n class=\"au-c-button--alert\"\n {{on \"click\" (fn this.removePropertyOrBacklink prop)}}\n >\n Remove property\n </AuButton>\n </AuDropdown>\n </Item>\n {{/each}}\n </AuList>\n {{else}}\n <p class=\"au-u-italic\">This node doesn't have any properties yet.</p>\n {{/if}}\n {{/if}}\n {{#if this.isResourceNode}}\n <WithUniqueId as |formId|>\n <AuToolbar as |Group|>\n <Group>\n <AuHeading @level=\"2\" class=\"au-u-h6 au-u-muted\">Content\n predicate</AuHeading>\n </Group>\n <Group>\n {{#if this.editingContentPredicate}}\n <AuButton\n {{on \"click\" this.onContentPredicateFormCancel}}\n @skin=\"link-secondary\"\n >Cancel</AuButton>\n <AuButton\n type=\"submit\"\n @icon={{CheckIcon}}\n form={{formId}}\n @skin=\"link\"\n >Save</AuButton>\n {{else}}\n <AuButton\n {{on \"click\" this.startEditingContentPredicate}}\n @icon={{PencilIcon}}\n @skin=\"link\"\n >\n Edit\n </AuButton>\n {{/if}}\n </Group>\n </AuToolbar>\n\n {{#if this.editingContentPredicate}}\n <ContentPredicateForm\n {{! @glint-expect-error }}\n @source={{this.currentTerm}}\n @optionGeneratorConfig={{@optionGeneratorConfig}}\n id={{formId}}\n @initialFormData={{this.contentPredicateInitialFormData}}\n @onSubmit={{this.onContentPredicateFormSubmit}}\n />\n {{else}}\n {{#if this.contentPredicateProperty}}\n <p>{{htmlSafe\n (this.contentPredicateTextRepr\n this.contentPredicateProperty\n )\n }}</p>\n {{else}}\n <p class=\"au-u-italic\">This node does not define a content\n predicate.</p>\n {{/if}}\n {{/if}}\n </WithUniqueId>\n {{/if}}\n <AuToolbar as |Group|>\n <Group>\n <AuHeading\n @level=\"2\"\n class=\"au-u-h6 au-u-muted\"\n >Backlinks</AuHeading>\n </Group>\n <Group>\n <AuButton\n @icon={{PlusIcon}}\n @skin=\"link\"\n {{on \"click\" (fn this.startCreationMode \"backlink\")}}\n >\n Add backlink\n </AuButton>\n </Group>\n </AuToolbar>\n {{#if this.backlinks.length}}\n <AuList @divider={{true}} as |Item|>\n {{#each this.backlinks as |backlink|}}\n <Item\n class=\"au-u-flex au-u-flex--row au-u-flex--between au-u-flex--vertical-center\"\n >\n <div class=\"au-u-padding-tiny\">\n <AuButton\n class=\"au-u-padding-left-none au-u-padding-right-none\"\n @icon={{ExternalLinkIcon}}\n @skin=\"link\"\n title={{backlink.subject.value}}\n {{on\n \"click\"\n (fn this.goToSubject backlink.subject.value)\n }}\n >subject</AuButton>\n <p><strong>predicate:</strong> {{backlink.predicate}}</p>\n </div>\n <AuDropdown\n @icon={{ThreeDotsIcon}}\n role=\"menu\"\n @alignment=\"left\"\n >\n <AuButton\n @skin=\"link\"\n @icon={{PencilIcon}}\n role=\"menuitem\"\n {{on \"click\" (fn this.startUpdateMode backlink)}}\n >\n Edit backlink\n </AuButton>\n <AuButton\n @skin=\"link\"\n @icon={{BinIcon}}\n role=\"menuitem\"\n class=\"au-c-button--alert\"\n {{on \"click\" (fn this.removePropertyOrBacklink backlink)}}\n >\n Remove backlink\n </AuButton>\n </AuDropdown>\n </Item>\n {{/each}}\n </AuList>\n {{else}}\n <p class=\"au-u-italic\">This node doesn't have any backlinks yet.</p>\n {{/if}}\n\n {{#if this.statusMessage}}\n <div>\n <AuAlert\n class=\"au-u-margin-none\"\n @skin={{this.statusMessage.type}}\n @closable={{true}}\n @onClose={{this.closeStatusMessage}}\n >\n {{this.statusMessage.message}}\n </AuAlert>\n </div>\n {{/if}}\n </c.content>\n </AuCard>\n {{/if}}\n {{#if this.status}}\n <RelationshipEditorDevModeModal\n @title={{this.modalTitle}}\n @initialData={{this.initialFormData}}\n @source={{this.currentTerm}}\n @optionGeneratorConfig={{@optionGeneratorConfig}}\n @onSubmit={{this.onFormSubmit}}\n @onCancel={{this.cancel}}\n />\n {{/if}}\n </template>\n}\n"],"names":["RelationshipEditorCard","Component","g","prototype","tracked","i","void 0","trackedReset","localCopy","setUpListeners","modifier","listenerHandler","event","altKey","ctrlKey","key","startCreationMode","isResourceNode","window","addEventListener","removeEventListener","node","args","value","isRdfaAwareNode","isRdfaAttrs","attrs","nodeAttrs","isCreating","status","mode","isUpdating","toggleSection","expanded","onToggle","direction","initialFormData","startUpdateMode","propertyOrBacklink","predicate","term","sayDataFactory","namedNode","target","subject","object","onFormSubmit","body","removePropertyOrBacklink","resource","rdfaNodeType","property","controller","doCommand","addProperty","backlink","withTransaction","addBacklinkToNode","rdfaId","mainEditorState","transaction","view","mainEditorView","undefined","cancel","contentPredicateProperty","properties","find","prop","termType","contentPredicateTextRepr","languageSuffix","language","datatypeSuffix","datatype","contentPredicateInitialFormData","contentPredicate","startEditingContentPredicate","editingContentPredicate","onContentPredicateFormCancel","onContentPredicateFormSubmit","contentLiteral","languageOrDataType","backlinkIndex","backlinks","indexOf","removeBacklinkFromNode","index","propertyToRemove","removeProperty","type","schema","nodes","goToSubject","succesful","selectNodeBySubject","setStatusMessage","message","focus","modalTitle","filter","statusMessage","_statusMessage","val","closeStatusMessage","currentTerm","resourceNode","literalNode","__rdfaId","setComponentTemplate","precompileTemplate","strictMode","scope","AuCard","AuHeading","AuPill","AuToolbar","AuButton","PlusIcon","on","fn","AuList","ConfigurableRdfaDisplay","predicateDisplay","PropertyDetails","AuDropdown","ThreeDotsIcon","PencilIcon","BinIcon","WithUniqueId","CheckIcon","ContentPredicateForm","htmlSafe","ExternalLinkIcon","AuAlert","RelationshipEditorDevModeModal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../../../src/components/_private/relationship-editor/card.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { localCopy, trackedReset } from 'tracked-toolbox';\nimport { isResourceNode } from '#root/utils/node-utils.ts';\n// import RdfaPropertyEditor from './property-editor/index.gts';\nimport type { ResolvedPNode } from '#root/utils/_private/types.ts';\nimport AuHeading from '@appuniversum/ember-appuniversum/components/au-heading';\nimport AuPill from '@appuniversum/ember-appuniversum/components/au-pill';\nimport type SayController from '#root/core/say-controller.ts';\n// import BacklinkEditor from './backlink-editor/index.gts';\nimport AuCard from '@appuniversum/ember-appuniversum/components/au-card';\nimport type {\n Direction,\n SubmissionBody,\n} from '#root/components/_private/relationship-editor/types.ts';\nimport { tracked } from 'tracked-built-ins';\nimport {\n addBacklinkToNode,\n removeBacklinkFromNode,\n} from '#root/utils/_private/rdfa-utils.ts';\nimport { isRdfaAttrs, type RdfaAttrs } from '#root/core/rdfa-types.ts';\nimport { removeProperty } from '#root/commands/rdfa-commands/remove-property.ts';\nimport { addProperty } from '#root/commands/rdfa-commands/add-property.ts';\nimport { selectNodeBySubject } from '#root/commands/_private/rdfa-commands/select-node-by-subject.ts';\nimport AuToolbar from '@appuniversum/ember-appuniversum/components/au-toolbar';\nimport AuButton from '@appuniversum/ember-appuniversum/components/au-button';\nimport { PlusIcon } from '@appuniversum/ember-appuniversum/components/icons/plus';\nimport { on } from '@ember/modifier';\nimport { fn } from '@ember/helper';\nimport AuList from '@appuniversum/ember-appuniversum/components/au-list';\nimport ConfigurableRdfaDisplay, {\n predicateDisplay,\n} from '#root/components/_private/common/configurable-rdfa-display.gts';\nimport PropertyDetails from '#root/components/_private/common/property-details.gts';\nimport AuDropdown from '@appuniversum/ember-appuniversum/components/au-dropdown';\nimport { ThreeDotsIcon } from '@appuniversum/ember-appuniversum/components/icons/three-dots';\nimport { PencilIcon } from '@appuniversum/ember-appuniversum/components/icons/pencil';\nimport { BinIcon } from '@appuniversum/ember-appuniversum/components/icons/bin';\nimport { ExternalLinkIcon } from '@appuniversum/ember-appuniversum/components/icons/external-link';\nimport AuAlert from '@appuniversum/ember-appuniversum/components/au-alert';\nimport type { PNode } from '#root/prosemirror-aliases.ts';\nimport type {\n PropertyOrBacklink,\n Status,\n StatusMessage,\n} from '../common/types.ts';\nimport {\n languageOrDataType,\n sayDataFactory,\n} from '#root/core/say-data-factory/data-factory.ts';\nimport type { FormData } from './modals/dev-mode.gts';\nimport { modifier } from 'ember-modifier';\nimport RelationshipEditorDevModeModal from './modals/dev-mode.gts';\nimport type { OptionGeneratorConfig } from './types.ts';\nimport ContentPredicateForm, {\n type SubmissionBody as ContentPredicateFormSubmissionBody,\n} from './content-predicate-form.gts';\nimport WithUniqueId from '#root/components/_private/utils/with-unique-id.ts';\nimport type { ContentLiteralTerm } from '#root/core/say-data-factory/index.js';\nimport type { OutgoingTriple } from '#root/core/rdfa-processor.js';\nimport { htmlSafe } from '@ember/template';\nimport { CheckIcon } from '@appuniversum/ember-appuniversum/components/icons/check';\n\ninterface StatusMessageForNode extends StatusMessage {\n node: PNode;\n}\n\ntype Args = {\n controller: SayController;\n node: ResolvedPNode;\n expanded?: boolean;\n onToggle?: (expanded: boolean) => void;\n optionGeneratorConfig?: OptionGeneratorConfig;\n};\nexport default class RelationshipEditorCard extends Component<Args> {\n @tracked _statusMessage: StatusMessageForNode | null = null;\n @tracked status?: Status;\n @tracked initialFormData?: FormData;\n @trackedReset('args.node') editingContentPredicate: boolean = false;\n\n @localCopy('args.expanded', true) declare expanded: boolean;\n\n setUpListeners = modifier(() => {\n const listenerHandler = (event: KeyboardEvent) => {\n if (event.altKey && event.ctrlKey) {\n const key = event.key;\n switch (key) {\n case 'b':\n case 'B':\n this.startCreationMode('backlink');\n break;\n case 'p':\n case 'P':\n if (this.isResourceNode) {\n this.startCreationMode('property');\n }\n break;\n }\n }\n };\n window.addEventListener('keydown', listenerHandler);\n return () => {\n window.removeEventListener('keydown', listenerHandler);\n };\n });\n\n get node() {\n return this.args.node.value;\n }\n\n get isRdfaAwareNode() {\n return isRdfaAttrs(this.node.attrs);\n }\n\n get nodeAttrs() {\n return this.node.attrs as RdfaAttrs;\n }\n\n get isCreating() {\n return this.status?.mode === 'creation';\n }\n\n get isUpdating() {\n return this.status?.mode === 'update';\n }\n\n toggleSection = () => {\n this.expanded = !this.expanded;\n this.args.onToggle?.(this.expanded);\n };\n\n startCreationMode = (direction: Direction) => {\n this.initialFormData = {\n direction,\n };\n this.status = {\n mode: 'creation',\n };\n };\n\n startUpdateMode = (propertyOrBacklink: PropertyOrBacklink) => {\n if ('subject' in propertyOrBacklink) {\n this.initialFormData = {\n direction: 'backlink',\n predicate: {\n direction: 'backlink',\n term: sayDataFactory.namedNode(propertyOrBacklink.predicate),\n },\n target: {\n term: propertyOrBacklink.subject,\n },\n };\n } else {\n this.initialFormData = {\n direction: 'property',\n predicate: {\n direction: 'property',\n term: sayDataFactory.namedNode(propertyOrBacklink.predicate),\n },\n target: {\n // @ts-expect-error remove blanknode from possible object types\n term: propertyOrBacklink.object,\n },\n };\n }\n this.status = {\n mode: 'update',\n propertyOrBacklink,\n };\n };\n\n onFormSubmit = (body: SubmissionBody) => {\n if (this.status?.mode === 'update') {\n this.removePropertyOrBacklink(this.status.propertyOrBacklink);\n }\n const node = this.args.node;\n const { predicate, target } = body;\n\n if (predicate.direction === 'property') {\n const resource =\n this.nodeAttrs.rdfaNodeType === 'resource' && this.nodeAttrs.subject;\n if (!resource) {\n return;\n }\n const property = {\n predicate: predicate.term.value,\n object: target.term,\n };\n this.controller.doCommand(\n addProperty({\n resource,\n // @ts-expect-error fix type of property\n property,\n }),\n );\n } else if (predicate.direction === 'backlink') {\n const backlink = {\n subject: target.term,\n predicate: predicate.term.value,\n };\n this.controller.withTransaction(\n () => {\n return addBacklinkToNode({\n rdfaId: node.value.attrs['__rdfaId'] as string,\n // @ts-expect-error fix type of backlink\n backlink,\n })(this.controller.mainEditorState).transaction;\n },\n { view: this.controller.mainEditorView },\n );\n }\n\n this.status = undefined;\n };\n\n cancel = () => {\n this.status = undefined;\n };\n\n get contentPredicateProperty() {\n if (this.nodeAttrs.rdfaNodeType === 'resource') {\n return this.nodeAttrs.properties.find(\n (prop) => prop.object.termType === 'ContentLiteral',\n );\n } else {\n return;\n }\n }\n\n contentPredicateTextRepr = (contentPredicateProperty: OutgoingTriple) => {\n const predicate = contentPredicateProperty.predicate;\n const object = contentPredicateProperty.object as ContentLiteralTerm;\n const languageSuffix = object.language ? `@${object.language}` : '';\n const datatypeSuffix = object.datatype\n ? `^^\"${object.datatype.value}\"`\n : '';\n return `<strong>${predicate}</strong>${languageSuffix}${datatypeSuffix}`;\n };\n\n get contentPredicateInitialFormData() {\n const predicate = this.contentPredicateProperty?.predicate;\n const object = this.contentPredicateProperty?.object as\n | ContentLiteralTerm\n | undefined;\n return {\n contentPredicate: predicate,\n language: object?.language,\n datatype: object?.datatype.value,\n };\n }\n\n startEditingContentPredicate = () => {\n this.editingContentPredicate = true;\n };\n\n onContentPredicateFormCancel = () => {\n this.editingContentPredicate = false;\n };\n\n onContentPredicateFormSubmit = (body: ContentPredicateFormSubmissionBody) => {\n this.editingContentPredicate = false;\n if (this.contentPredicateProperty) {\n this.removePropertyOrBacklink(this.contentPredicateProperty);\n }\n if (body.contentPredicate) {\n const property = {\n predicate: body.contentPredicate,\n object: sayDataFactory.contentLiteral(\n languageOrDataType(\n body.language,\n body.datatype ? sayDataFactory.namedNode(body.datatype) : undefined,\n ),\n ),\n };\n const resource =\n this.nodeAttrs.rdfaNodeType === 'resource' && this.nodeAttrs.subject;\n if (!resource) {\n return;\n }\n this.controller.doCommand(\n addProperty({\n resource,\n property,\n }),\n );\n }\n };\n\n removePropertyOrBacklink = (propertyOrBacklink: PropertyOrBacklink) => {\n // This function can only be called when the selected node defines a resource or the selected\n // node is a document that imports resources (e.g. a snippet)\n if ('subject' in propertyOrBacklink) {\n const backlinkIndex =\n this.nodeAttrs.backlinks.indexOf(propertyOrBacklink);\n if (backlinkIndex === -1) {\n return;\n }\n this.controller.withTransaction(\n () => {\n return removeBacklinkFromNode({\n rdfaId: this.args.node.value.attrs['__rdfaId'] as string,\n index: backlinkIndex,\n })(this.controller.mainEditorState).transaction;\n },\n { view: this.controller.mainEditorView },\n );\n } else {\n const resource =\n this.nodeAttrs.rdfaNodeType === 'resource' && this.nodeAttrs.subject;\n if (!resource) {\n return;\n }\n const propertyToRemove = { resource, property: propertyOrBacklink };\n this.controller?.doCommand(removeProperty(propertyToRemove), {\n view: this.controller.mainEditorView,\n });\n }\n };\n\n get isResourceNode() {\n return isResourceNode(this.args.node.value);\n }\n\n get type() {\n if (this.args.node.value.type === this.controller?.schema.nodes['doc']) {\n return 'document';\n }\n return this.isResourceNode ? 'resource' : 'literal';\n }\n\n get controller() {\n return this.args.controller;\n }\n\n goToSubject = (subject: string) => {\n const succesful = this.controller.doCommand(\n selectNodeBySubject({ subject }),\n {\n view: this.controller.mainEditorView,\n },\n );\n if (!succesful) {\n this.setStatusMessage({\n type: 'info',\n message: `Node with subject ${subject} not found`,\n });\n }\n this.controller.focus();\n };\n\n get modalTitle() {\n if (this.status?.mode === 'update') {\n return 'Edit relationship';\n } else {\n return 'Add relationship';\n }\n }\n\n get properties() {\n return this.nodeAttrs.rdfaNodeType === 'resource'\n ? this.nodeAttrs.properties.filter(\n (prop) => prop.object.termType !== 'ContentLiteral',\n )\n : undefined;\n }\n\n get backlinks() {\n return this.nodeAttrs.backlinks;\n }\n\n get statusMessage(): StatusMessage | null {\n // show only if a message is relevant for the current node\n if (this._statusMessage && this.node === this._statusMessage.node) {\n return this._statusMessage;\n }\n return null;\n }\n\n setStatusMessage = (val: StatusMessage | null) => {\n if (val) {\n this._statusMessage = { ...val, node: this.node };\n } else {\n this._statusMessage = val;\n }\n };\n\n closeStatusMessage = () => {\n this.setStatusMessage(null);\n };\n\n get currentTerm() {\n if (this.nodeAttrs.rdfaNodeType === 'resource') {\n return sayDataFactory.resourceNode(this.nodeAttrs.subject);\n } else {\n return sayDataFactory.literalNode(this.nodeAttrs.__rdfaId);\n }\n }\n\n <template>\n {{#if this.isRdfaAwareNode}}\n <AuCard\n {{this.setUpListeners}}\n @size=\"small\"\n @expandable={{true}}\n @manualControl={{true}}\n @openSection={{this.toggleSection}}\n @isExpanded={{this.expanded}}\n as |c|\n >\n <c.header>\n <div\n class=\"au-u-flex au-u-flex--row au-u-flex--vertical-center au-u-flex--spaced-small\"\n >\n <AuHeading @level=\"1\" @skin=\"6\">Relationships</AuHeading>\n <AuPill>{{this.type}}</AuPill>\n </div>\n </c.header>\n <c.content class=\"au-c-content--tiny\">\n {{#if this.isResourceNode}}\n <AuToolbar as |Group|>\n <Group>\n <AuHeading\n @level=\"2\"\n class=\"au-u-h6 au-u-muted\"\n >Properties</AuHeading>\n </Group>\n <Group>\n <AuButton\n @icon={{PlusIcon}}\n @skin=\"link\"\n {{on \"click\" (fn this.startCreationMode \"property\")}}\n >\n Add property\n </AuButton>\n </Group>\n </AuToolbar>\n {{#if this.properties.length}}\n <AuList @divider={{true}} as |Item|>\n {{#each this.properties as |prop|}}\n <Item\n class=\"au-u-flex au-u-flex--row au-u-flex--between au-u-flex--vertical-center\"\n >\n <div class=\"au-u-padding-tiny\">\n <ConfigurableRdfaDisplay\n @value={{prop}}\n @generator={{predicateDisplay}}\n @controller={{@controller}}\n />\n <PropertyDetails\n @controller={{@controller}}\n @prop={{prop}}\n @setStatusMessage={{this.setStatusMessage}}\n />\n </div>\n <AuDropdown\n @icon={{ThreeDotsIcon}}\n role=\"menu\"\n @alignment=\"left\"\n >\n <AuButton\n @skin=\"link\"\n @icon={{PencilIcon}}\n role=\"menuitem\"\n {{on \"click\" (fn this.startUpdateMode prop)}}\n >\n Edit property\n </AuButton>\n <AuButton\n @skin=\"link\"\n @icon={{BinIcon}}\n role=\"menuitem\"\n class=\"au-c-button--alert\"\n {{on \"click\" (fn this.removePropertyOrBacklink prop)}}\n >\n Remove property\n </AuButton>\n </AuDropdown>\n </Item>\n {{/each}}\n </AuList>\n {{else}}\n <p class=\"au-u-italic\">This node doesn't have any properties yet.</p>\n {{/if}}\n {{/if}}\n {{#if this.isResourceNode}}\n <WithUniqueId as |formId|>\n <AuToolbar as |Group|>\n <Group>\n <AuHeading @level=\"2\" class=\"au-u-h6 au-u-muted\">Content\n predicate</AuHeading>\n </Group>\n <Group>\n {{#if this.editingContentPredicate}}\n <AuButton\n {{on \"click\" this.onContentPredicateFormCancel}}\n @skin=\"link-secondary\"\n >Cancel</AuButton>\n <AuButton\n type=\"submit\"\n @icon={{CheckIcon}}\n form={{formId}}\n @skin=\"link\"\n >Save</AuButton>\n {{else}}\n <AuButton\n {{on \"click\" this.startEditingContentPredicate}}\n @icon={{PencilIcon}}\n @skin=\"link\"\n >\n Edit\n </AuButton>\n {{/if}}\n </Group>\n </AuToolbar>\n\n {{#if this.editingContentPredicate}}\n <ContentPredicateForm\n {{! @glint-expect-error }}\n @source={{this.currentTerm}}\n @optionGeneratorConfig={{@optionGeneratorConfig}}\n id={{formId}}\n @initialFormData={{this.contentPredicateInitialFormData}}\n @onSubmit={{this.onContentPredicateFormSubmit}}\n />\n {{else}}\n {{#if this.contentPredicateProperty}}\n <p>{{htmlSafe\n (this.contentPredicateTextRepr\n this.contentPredicateProperty\n )\n }}</p>\n {{else}}\n <p class=\"au-u-italic\">This node does not define a content\n predicate.</p>\n {{/if}}\n {{/if}}\n </WithUniqueId>\n {{/if}}\n <AuToolbar as |Group|>\n <Group>\n <AuHeading\n @level=\"2\"\n class=\"au-u-h6 au-u-muted\"\n >Backlinks</AuHeading>\n </Group>\n <Group>\n <AuButton\n @icon={{PlusIcon}}\n @skin=\"link\"\n {{on \"click\" (fn this.startCreationMode \"backlink\")}}\n >\n Add backlink\n </AuButton>\n </Group>\n </AuToolbar>\n {{#if this.backlinks.length}}\n <AuList @divider={{true}} as |Item|>\n {{#each this.backlinks as |backlink|}}\n <Item\n class=\"au-u-flex au-u-flex--row au-u-flex--between au-u-flex--vertical-center\"\n >\n <div class=\"au-u-padding-tiny\">\n <AuButton\n class=\"au-u-padding-left-none au-u-padding-right-none\"\n @icon={{ExternalLinkIcon}}\n @skin=\"link\"\n title={{backlink.subject.value}}\n {{on\n \"click\"\n (fn this.goToSubject backlink.subject.value)\n }}\n >subject</AuButton>\n <p><strong>predicate:</strong> {{backlink.predicate}}</p>\n </div>\n <AuDropdown\n @icon={{ThreeDotsIcon}}\n role=\"menu\"\n @alignment=\"left\"\n >\n <AuButton\n @skin=\"link\"\n @icon={{PencilIcon}}\n role=\"menuitem\"\n {{on \"click\" (fn this.startUpdateMode backlink)}}\n >\n Edit backlink\n </AuButton>\n <AuButton\n @skin=\"link\"\n @icon={{BinIcon}}\n role=\"menuitem\"\n class=\"au-c-button--alert\"\n {{on \"click\" (fn this.removePropertyOrBacklink backlink)}}\n >\n Remove backlink\n </AuButton>\n </AuDropdown>\n </Item>\n {{/each}}\n </AuList>\n {{else}}\n <p class=\"au-u-italic\">This node doesn't have any backlinks yet.</p>\n {{/if}}\n\n {{#if this.statusMessage}}\n <div>\n <AuAlert\n class=\"au-u-margin-none\"\n @skin={{this.statusMessage.type}}\n @closable={{true}}\n @onClose={{this.closeStatusMessage}}\n >\n {{this.statusMessage.message}}\n </AuAlert>\n </div>\n {{/if}}\n </c.content>\n </AuCard>\n {{/if}}\n {{#if this.status}}\n <RelationshipEditorDevModeModal\n @title={{this.modalTitle}}\n @initialData={{this.initialFormData}}\n @source={{this.currentTerm}}\n @optionGeneratorConfig={{@optionGeneratorConfig}}\n @onSubmit={{this.onFormSubmit}}\n @onCancel={{this.cancel}}\n />\n {{/if}}\n </template>\n}\n"],"names":["RelationshipEditorCard","Component","g","prototype","tracked","i","void 0","trackedReset","localCopy","setUpListeners","modifier","listenerHandler","event","altKey","ctrlKey","key","startCreationMode","isResourceNode","window","addEventListener","removeEventListener","node","args","value","isRdfaAwareNode","isRdfaAttrs","attrs","nodeAttrs","isCreating","status","mode","isUpdating","toggleSection","expanded","onToggle","direction","initialFormData","startUpdateMode","propertyOrBacklink","predicate","term","sayDataFactory","namedNode","target","subject","object","onFormSubmit","body","removePropertyOrBacklink","resource","rdfaNodeType","property","controller","doCommand","addProperty","backlink","withTransaction","addBacklinkToNode","rdfaId","mainEditorState","transaction","view","mainEditorView","undefined","cancel","contentPredicateProperty","properties","find","prop","termType","contentPredicateTextRepr","languageSuffix","language","datatypeSuffix","datatype","contentPredicateInitialFormData","contentPredicate","startEditingContentPredicate","editingContentPredicate","onContentPredicateFormCancel","onContentPredicateFormSubmit","contentLiteral","languageOrDataType","backlinkIndex","backlinks","indexOf","removeBacklinkFromNode","index","propertyToRemove","removeProperty","type","schema","nodes","goToSubject","succesful","selectNodeBySubject","setStatusMessage","message","focus","modalTitle","filter","statusMessage","_statusMessage","val","closeStatusMessage","currentTerm","resourceNode","literalNode","__rdfaId","setComponentTemplate","precompileTemplate","strictMode","scope","AuCard","AuHeading","AuPill","AuToolbar","AuButton","PlusIcon","on","fn","AuList","ConfigurableRdfaDisplay","predicateDisplay","PropertyDetails","AuDropdown","ThreeDotsIcon","PencilIcon","BinIcon","WithUniqueId","CheckIcon","ContentPredicateForm","htmlSafe","ExternalLinkIcon","AuAlert","RelationshipEditorDevModeModal"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
2
2
|
import { setComponentTemplate } from '@ember/component';
|
|
3
3
|
import templateOnly from '@ember/component/template-only';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const FontColorIcon = setComponentTemplate(precompileTemplate("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" ...attributes>\n <rect width=\"24\" height=\"24\" fill=\"none\" />\n <g clip-path=\"url(#clip0_261_638)\">\n <path d=\"M10.3692 4H13.6478L19.1633 20H16.1921L15.0651 16.7385H8.95195L7.82494 20H4.85376L10.3692 4ZM14.143 14.0406L12.0085 7.84205L9.87404 14.0406H14.143Z\" fill=\"black\" />\n </g>\n <defs>\n <clipPath id=\"clip0_261_638\">\n <rect width=\"14.2924\" height=\"16\" fill=\"white\" transform=\"translate(4.85376 4)\" />\n </clipPath>\n </defs>\n </svg>\n", {
|
|
6
6
|
strictMode: true
|
|
7
7
|
}), templateOnly());
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-color.js","sources":["../../../src/components/icons/font-color.gts"],"sourcesContent":["<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n
|
|
1
|
+
{"version":3,"file":"font-color.js","sources":["../../../src/components/icons/font-color.gts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\n\ntype Signature = {\n Element: SVGElement;\n};\n\nconst FontColorIcon: TOC<Signature> = <template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n ...attributes\n >\n <rect width=\"24\" height=\"24\" fill=\"none\" />\n <g clip-path=\"url(#clip0_261_638)\">\n <path\n d=\"M10.3692 4H13.6478L19.1633 20H16.1921L15.0651 16.7385H8.95195L7.82494 20H4.85376L10.3692 4ZM14.143 14.0406L12.0085 7.84205L9.87404 14.0406H14.143Z\"\n fill=\"black\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_261_638\">\n <rect\n width=\"14.2924\"\n height=\"16\"\n fill=\"white\"\n transform=\"translate(4.85376 4)\"\n />\n </clipPath>\n </defs>\n </svg>\n</template>;\n\nexport default FontColorIcon;\n"],"names":["FontColorIcon","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAMA,MAAMA,aAAgC,GAAAC,oBAAA,CAAAC,kBAAA,CA2BtC,omBAAA,EAAA;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -2,9 +2,9 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
2
2
|
import { setComponentTemplate } from '@ember/component';
|
|
3
3
|
import templateOnly from '@ember/component/template-only';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const FormatTextIcon = setComponentTemplate(precompileTemplate("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" ...attributes>\n <rect width=\"24\" height=\"24\" fill=\"transparent\" />\n <g clip-path=\"url(#clip0_261_637)\">\n <path d=\"M15.3239 13.0038L12.2213 4H10.3718L6.7703 14.5004C6.41745 14.5491 6.08894 14.6099 5.82126 14.6707C5.77259 14.7559 5.73608 14.9506 5.73608 15.1331C5.73608 15.3643 5.78475 15.6076 5.84559 15.6806C5.90643 15.7171 6.46612 15.7536 6.97715 15.7536H8.01137C8.5224 15.7536 9.08209 15.7171 9.14293 15.6806C9.20376 15.6076 9.25243 15.3643 9.25243 15.1331C9.25243 14.9506 9.2281 14.7559 9.16726 14.6707C8.89958 14.6099 8.54673 14.549 8.18171 14.4882L8.69274 13.0038H15.2996H15.3239ZM9.1551 11.7262L11.3087 5.48441L13.4623 11.7262\" />\n <path d=\"M17.6357 15.851V13.235H16.1027V14.5369V15.7293V15.851H13.4867V17.384H16.1027V20H17.6357V17.384H20.2517V15.851H17.6357Z\" />\n </g>\n <defs>\n <clipPath id=\"clip0_261_637\">\n <rect width=\"14.5034\" height=\"16\" transform=\"translate(5.74829 4)\" />\n </clipPath>\n </defs>\n </svg>\n", {
|
|
6
6
|
strictMode: true
|
|
7
7
|
}), templateOnly());
|
|
8
8
|
|
|
9
|
-
export {
|
|
9
|
+
export { FormatTextIcon as default };
|
|
10
10
|
//# sourceMappingURL=format-text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-text.js","sources":["../../../src/components/icons/format-text.gts"],"sourcesContent":["<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n
|
|
1
|
+
{"version":3,"file":"format-text.js","sources":["../../../src/components/icons/format-text.gts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\n\ntype Signature = {\n Element: SVGElement;\n};\n\nconst FormatTextIcon: TOC<Signature> = <template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n ...attributes\n >\n <rect width=\"24\" height=\"24\" fill=\"transparent\" />\n <g clip-path=\"url(#clip0_261_637)\">\n <path\n d=\"M15.3239 13.0038L12.2213 4H10.3718L6.7703 14.5004C6.41745 14.5491 6.08894 14.6099 5.82126 14.6707C5.77259 14.7559 5.73608 14.9506 5.73608 15.1331C5.73608 15.3643 5.78475 15.6076 5.84559 15.6806C5.90643 15.7171 6.46612 15.7536 6.97715 15.7536H8.01137C8.5224 15.7536 9.08209 15.7171 9.14293 15.6806C9.20376 15.6076 9.25243 15.3643 9.25243 15.1331C9.25243 14.9506 9.2281 14.7559 9.16726 14.6707C8.89958 14.6099 8.54673 14.549 8.18171 14.4882L8.69274 13.0038H15.2996H15.3239ZM9.1551 11.7262L11.3087 5.48441L13.4623 11.7262\"\n />\n <path\n d=\"M17.6357 15.851V13.235H16.1027V14.5369V15.7293V15.851H13.4867V17.384H16.1027V20H17.6357V17.384H20.2517V15.851H17.6357Z\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_261_637\">\n <rect width=\"14.5034\" height=\"16\" transform=\"translate(5.74829 4)\" />\n </clipPath>\n </defs>\n </svg>\n</template>;\n\nexport default FormatTextIcon;\n"],"names":["FormatTextIcon","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAMA,MAAMA,cAAiC,GAAAC,oBAAA,CAAAC,kBAAA,CAuBvC,gkCAAA,EAAA;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -2,9 +2,9 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
2
2
|
import { setComponentTemplate } from '@ember/component';
|
|
3
3
|
import templateOnly from '@ember/component/template-only';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const RdfaIcon = setComponentTemplate(precompileTemplate("\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" ...attributes>\n <rect width=\"24\" height=\"24\" fill=\"none\" />\n <g clip-path=\"url(#clip0_261_640)\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.58496 11.38L8.76496 7.09L9.64496 8L6.34496 11.39L9.64496 14.78L8.76496 15.69L4.58496 11.38ZM15.795 11.38L12.495 8L13.375 7.09L17.555 11.38L13.375 15.67L12.495 14.76L15.795 11.37V11.38Z\" fill=\"black\" />\n <path d=\"M19.445 15.8V13.84H18.305V14.81V15.71V15.8H16.335V16.95H18.305V18.91H19.445V16.95H21.415V15.8H19.445Z\" fill=\"black\" />\n </g>\n <defs>\n <clipPath id=\"clip0_261_640\">\n <rect width=\"16.83\" height=\"11.82\" fill=\"white\" transform=\"translate(4.58496 7.09)\" />\n </clipPath>\n </defs>\n </svg>\n", {
|
|
6
6
|
strictMode: true
|
|
7
7
|
}), templateOnly());
|
|
8
8
|
|
|
9
|
-
export {
|
|
9
|
+
export { RdfaIcon as default };
|
|
10
10
|
//# sourceMappingURL=rdfa.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdfa.js","sources":["../../../src/components/icons/rdfa.gts"],"sourcesContent":["<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n
|
|
1
|
+
{"version":3,"file":"rdfa.js","sources":["../../../src/components/icons/rdfa.gts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\n\ntype Signature = {\n Element: SVGElement;\n};\n\nconst RdfaIcon: TOC<Signature> = <template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n ...attributes\n >\n <rect width=\"24\" height=\"24\" fill=\"none\" />\n <g clip-path=\"url(#clip0_261_640)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.58496 11.38L8.76496 7.09L9.64496 8L6.34496 11.39L9.64496 14.78L8.76496 15.69L4.58496 11.38ZM15.795 11.38L12.495 8L13.375 7.09L17.555 11.38L13.375 15.67L12.495 14.76L15.795 11.37V11.38Z\"\n fill=\"black\"\n />\n <path\n d=\"M19.445 15.8V13.84H18.305V14.81V15.71V15.8H16.335V16.95H18.305V18.91H19.445V16.95H21.415V15.8H19.445Z\"\n fill=\"black\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_261_640\">\n <rect\n width=\"16.83\"\n height=\"11.82\"\n fill=\"white\"\n transform=\"translate(4.58496 7.09)\"\n />\n </clipPath>\n </defs>\n </svg>\n</template>;\n\nexport default RdfaIcon;\n"],"names":["RdfaIcon","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAMA,MAAMA,QAA2B,GAAAC,oBAAA,CAAAC,kBAAA,CAiCjC,w0BAAA,EAAA;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -73,7 +73,7 @@ class ToolbarDropdown extends Component {
|
|
|
73
73
|
n(this.prototype, "clickOutsideDeactivates", [action]);
|
|
74
74
|
}
|
|
75
75
|
static {
|
|
76
|
-
setComponentTemplate(precompileTemplate("\n <div class=\"say-dropdown\" ...attributes>\n <Velcro @placement=\"bottom\" @strategy=\"absolute\" as |velcro|>\n <button {{this.reference}} class=\"say-dropdown__button {{if this.dropdownOpen \"is-active\" \"\"}}\" title={{@title}} aria-haspopup=\"true\" aria-expanded=\"{{if this.dropdownOpen \"true\" \"false\"}}\" type=\"button\" {{on \"click\" this.toggleDropdown}} disabled={{@disabled}} {{velcro.hook}}>\n {{#unless @hideLabel}}\n <span class=\"say-dropdown__label\">{{@label}}</span>\n {{/unless}}\n {{#if @icon}}\n <AuIcon @icon={{@icon}} @ariaHidden={{true}} @size=\"large\" />\n {{/if}}\n </button>\n {{#if this.dropdownOpen}}\n <div {{this.dropdownMenuReference}} {{focusTrap shouldSelfFocus=true focusTrapOptions=(hash clickOutsideDeactivates=this.clickOutsideDeactivates fallbackFocus=this.dropdownMenu)}} class=\"say-dropdown__menu is-visible\n {{if this.isHorizontal \"say-dropdown__menu-horizontal\"}}\" role=\"menu\" tabindex=\"-1\" {{velcro.loop}}>\n {{yield (hash Item=(component DropdownItem onActivate=this.closeDropdown) closeDropdown=this.closeDropdown)}}\n </div>\n {{/if}}\n </Velcro>\n </div>\n ", {
|
|
76
|
+
setComponentTemplate(precompileTemplate("\n <div class=\"say-dropdown\" ...attributes>\n <Velcro @placement=\"bottom-start\" @strategy=\"absolute\" as |velcro|>\n <button {{this.reference}} class=\"say-dropdown__button {{if this.dropdownOpen \"is-active\" \"\"}}\" title={{@title}} aria-haspopup=\"true\" aria-expanded=\"{{if this.dropdownOpen \"true\" \"false\"}}\" type=\"button\" {{on \"click\" this.toggleDropdown}} disabled={{@disabled}} {{velcro.hook}}>\n {{#unless @hideLabel}}\n <span class=\"say-dropdown__label\">{{@label}}</span>\n {{/unless}}\n {{#if @icon}}\n <AuIcon @icon={{@icon}} @ariaHidden={{true}} @size=\"large\" />\n {{/if}}\n </button>\n {{#if this.dropdownOpen}}\n <div {{this.dropdownMenuReference}} {{focusTrap shouldSelfFocus=true focusTrapOptions=(hash clickOutsideDeactivates=this.clickOutsideDeactivates fallbackFocus=this.dropdownMenu)}} class=\"say-dropdown__menu is-visible\n {{if this.isHorizontal \"say-dropdown__menu-horizontal\"}}\" role=\"menu\" tabindex=\"-1\" {{velcro.loop}}>\n {{yield (hash Item=(component DropdownItem onActivate=this.closeDropdown) closeDropdown=this.closeDropdown)}}\n </div>\n {{/if}}\n </Velcro>\n </div>\n ", {
|
|
77
77
|
strictMode: true,
|
|
78
78
|
scope: () => ({
|
|
79
79
|
Velcro,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.js","sources":["../../../src/components/toolbar/dropdown.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { modifier } from 'ember-modifier';\nimport SayController from '#root/core/say-controller.ts';\nimport { paintCycleHappened } from '#root/utils/_private/editor-utils.ts';\nimport { Velcro } from 'ember-velcro';\nimport type { ComponentLike, WithBoundArgs } from '@glint/template';\nimport { hash } from '@ember/helper';\nimport AuIcon from '@appuniversum/ember-appuniversum/components/au-icon';\nimport DropdownItem from './dropdown-item.gts';\nimport { on } from '@ember/modifier';\n// @ts-expect-error ember-focus-trap does not have ts support\nimport { focusTrap } from 'ember-focus-trap';\n\nexport type ToolbarDropdownSignature = {\n Args: {\n controller?: SayController;\n icon: ComponentLike<{\n Element: Element;\n }>;\n disabled?: boolean;\n hideLabel?: boolean;\n label?: string;\n direction?: 'vertical' | 'horizontal';\n title?: string;\n };\n Element: HTMLDivElement;\n Blocks: {\n default: [\n {\n Item: WithBoundArgs<typeof DropdownItem, 'onActivate'>;\n closeDropdown: () => void;\n },\n ];\n };\n};\nexport default class ToolbarDropdown extends Component<ToolbarDropdownSignature> {\n @tracked referenceElement?: Element = undefined;\n @tracked dropdownOpen = false;\n @tracked dropdownMenu?: Element = undefined;\n\n reference = modifier((element) => {\n this.referenceElement = element;\n });\n\n dropdownMenuReference = modifier((element) => {\n this.dropdownMenu = element;\n });\n\n @action\n openDropdown() {\n this.dropdownOpen = true;\n }\n\n @action\n async closeDropdown() {\n this.dropdownOpen = false;\n await paintCycleHappened();\n this.args.controller?.focus();\n }\n\n @action\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n\n get isHorizontal() {\n return this.args.direction === 'horizontal';\n }\n\n @action\n async clickOutsideDeactivates(event: InputEvent) {\n const isClosedByToggleButton = this.referenceElement?.contains(\n event.target as Node,\n );\n if (!isClosedByToggleButton) {\n await this.closeDropdown();\n }\n return true;\n }\n\n <template>\n <div class=\"say-dropdown\" ...attributes>\n <Velcro @placement=\"bottom\" @strategy=\"absolute\" as |velcro|>\n <button\n {{this.reference}}\n class=\"say-dropdown__button {{if this.dropdownOpen 'is-active' ''}}\"\n title={{@title}}\n aria-haspopup=\"true\"\n aria-expanded=\"{{if this.dropdownOpen 'true' 'false'}}\"\n type=\"button\"\n {{on \"click\" this.toggleDropdown}}\n disabled={{@disabled}}\n {{velcro.hook}}\n >\n {{#unless @hideLabel}}\n <span class=\"say-dropdown__label\">{{@label}}</span>\n {{/unless}}\n {{#if @icon}}\n <AuIcon @icon={{@icon}} @ariaHidden={{true}} @size=\"large\" />\n {{/if}}\n </button>\n {{#if this.dropdownOpen}}\n <div\n {{this.dropdownMenuReference}}\n {{focusTrap\n shouldSelfFocus=true\n focusTrapOptions=(hash\n clickOutsideDeactivates=this.clickOutsideDeactivates\n fallbackFocus=this.dropdownMenu\n )\n }}\n class=\"say-dropdown__menu is-visible\n {{if this.isHorizontal 'say-dropdown__menu-horizontal'}}\"\n role=\"menu\"\n tabindex=\"-1\"\n {{velcro.loop}}\n >\n {{yield\n (hash\n Item=(component DropdownItem onActivate=this.closeDropdown)\n closeDropdown=this.closeDropdown\n )\n }}\n </div>\n {{/if}}\n </Velcro>\n </div>\n </template>\n}\n"],"names":["ToolbarDropdown","Component","g","prototype","tracked","undefined","i","void 0","reference","modifier","element","referenceElement","dropdownMenuReference","dropdownMenu","openDropdown","dropdownOpen","n","action","closeDropdown","paintCycleHappened","args","controller","focus","toggleDropdown","isHorizontal","direction","clickOutsideDeactivates","event","isClosedByToggleButton","contains","target","setComponentTemplate","precompileTemplate","strictMode","scope","Velcro","on","AuIcon","focusTrap","hash","DropdownItem"],"mappings":";;;;;;;;;;;;;;;;AAqCe,MAAMA,wBAAwBC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,kBAAA,EAAA,CACpDC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAqCC,SAAU;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,iBAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,kBAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAL,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,cAAA,EAAA,CAC/CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAuB,KAAM;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,aAAA,IAAAE,CAAA,CAAA,IAAA,EAAA,cAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAL,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,cAAA,EAAA,CAC7BC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAiCC,SAAU;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,aAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,cAAA,CAAA,EAAAC,MAAA;AAE5CC,EAAAA,SAAA,GAAYC,SAAUC,OAAA,IAAA;IACpB,IAAI,CAACC,gBAAgB,GAAGD,OAAA;AAC1B,GAAG,CAAA;AAEHE,EAAAA,qBAAA,GAAwBH,SAAUC,OAAA,IAAA;IAChC,IAAI,CAACG,YAAY,GAAGH,OAAA;AACtB,GAAG,CAAA;AAGHI,EAAAA,YAAeA,GAAA;IACb,IAAI,CAACC,YAAY,GAAG,IAAA;AACtB;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAb,SAAA,EAAA,cAAA,EAAA,CAHCc,MAAA,CAAA,CAAA;AAAA;EAKD,MACMC,aAAgBA,GAAA;IACpB,IAAI,CAACH,YAAY,GAAG,KAAA;IACpB,MAAMI,kBAAA,EAAA;AACN,IAAA,IAAI,CAACC,IAAI,CAACC,UAAU,EAAEC,KAAA,EAAA;AACxB;AAAA,EAAA;IAAAN,CAAA,CAAA,IAAA,CAAAb,SAAA,EAAA,eAAA,EAAA,CALCc,MAAA,CAAA,CAAA;AAAA;AAQDM,EAAAA,cAAiBA,GAAA;AACf,IAAA,IAAI,CAACR,YAAY,GAAG,CAAC,IAAI,CAACA,YAAY;AACxC;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAb,SAAA,EAAA,gBAAA,EAAA,CAHCc,MAAA,CAAA,CAAA;AAAA;EAKD,IAAIO,YAAeA,GAAA;AACjB,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACK,SAAS,KAAK,YAAA;AACjC;EAEA,MACMC,uBAAAA,CAAwBC,KAAiB,EAAE;IAC/C,MAAMC,sBAAA,GAAyB,IAAI,CAACjB,gBAAgB,EAAEkB,QACpD,CAAAF,KAAA,CAAMG,MAAU,CAAA;IAElB,IAAI,CAACF,sBAAwB,EAAA;AAC3B,MAAA,MAAM,IAAI,CAACV,aAAa,EAAA;AAC1B;AACA,IAAA,OAAO,IAAA;AACT;AAAA,EAAA;IAAAF,CAAA,CAAA,IAAA,CAAAb,SAAA,EAAA,yBAAA,EAAA,CATCc,MAAA,CAAA,CAAA;AAAA;AAWD,EAAA;IAAAc,oBAAA,CAAAC,kBAAA,CA+CA,
|
|
1
|
+
{"version":3,"file":"dropdown.js","sources":["../../../src/components/toolbar/dropdown.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { modifier } from 'ember-modifier';\nimport SayController from '#root/core/say-controller.ts';\nimport { paintCycleHappened } from '#root/utils/_private/editor-utils.ts';\nimport { Velcro } from 'ember-velcro';\nimport type { ComponentLike, WithBoundArgs } from '@glint/template';\nimport { hash } from '@ember/helper';\nimport AuIcon from '@appuniversum/ember-appuniversum/components/au-icon';\nimport DropdownItem from './dropdown-item.gts';\nimport { on } from '@ember/modifier';\n// @ts-expect-error ember-focus-trap does not have ts support\nimport { focusTrap } from 'ember-focus-trap';\n\nexport type ToolbarDropdownSignature = {\n Args: {\n controller?: SayController;\n icon: ComponentLike<{\n Element: Element;\n }>;\n disabled?: boolean;\n hideLabel?: boolean;\n label?: string;\n direction?: 'vertical' | 'horizontal';\n title?: string;\n };\n Element: HTMLDivElement;\n Blocks: {\n default: [\n {\n Item: WithBoundArgs<typeof DropdownItem, 'onActivate'>;\n closeDropdown: () => void;\n },\n ];\n };\n};\nexport default class ToolbarDropdown extends Component<ToolbarDropdownSignature> {\n @tracked referenceElement?: Element = undefined;\n @tracked dropdownOpen = false;\n @tracked dropdownMenu?: Element = undefined;\n\n reference = modifier((element) => {\n this.referenceElement = element;\n });\n\n dropdownMenuReference = modifier((element) => {\n this.dropdownMenu = element;\n });\n\n @action\n openDropdown() {\n this.dropdownOpen = true;\n }\n\n @action\n async closeDropdown() {\n this.dropdownOpen = false;\n await paintCycleHappened();\n this.args.controller?.focus();\n }\n\n @action\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n\n get isHorizontal() {\n return this.args.direction === 'horizontal';\n }\n\n @action\n async clickOutsideDeactivates(event: InputEvent) {\n const isClosedByToggleButton = this.referenceElement?.contains(\n event.target as Node,\n );\n if (!isClosedByToggleButton) {\n await this.closeDropdown();\n }\n return true;\n }\n\n <template>\n <div class=\"say-dropdown\" ...attributes>\n <Velcro @placement=\"bottom-start\" @strategy=\"absolute\" as |velcro|>\n <button\n {{this.reference}}\n class=\"say-dropdown__button {{if this.dropdownOpen 'is-active' ''}}\"\n title={{@title}}\n aria-haspopup=\"true\"\n aria-expanded=\"{{if this.dropdownOpen 'true' 'false'}}\"\n type=\"button\"\n {{on \"click\" this.toggleDropdown}}\n disabled={{@disabled}}\n {{velcro.hook}}\n >\n {{#unless @hideLabel}}\n <span class=\"say-dropdown__label\">{{@label}}</span>\n {{/unless}}\n {{#if @icon}}\n <AuIcon @icon={{@icon}} @ariaHidden={{true}} @size=\"large\" />\n {{/if}}\n </button>\n {{#if this.dropdownOpen}}\n <div\n {{this.dropdownMenuReference}}\n {{focusTrap\n shouldSelfFocus=true\n focusTrapOptions=(hash\n clickOutsideDeactivates=this.clickOutsideDeactivates\n fallbackFocus=this.dropdownMenu\n )\n }}\n class=\"say-dropdown__menu is-visible\n {{if this.isHorizontal 'say-dropdown__menu-horizontal'}}\"\n role=\"menu\"\n tabindex=\"-1\"\n {{velcro.loop}}\n >\n {{yield\n (hash\n Item=(component DropdownItem onActivate=this.closeDropdown)\n closeDropdown=this.closeDropdown\n )\n }}\n </div>\n {{/if}}\n </Velcro>\n </div>\n </template>\n}\n"],"names":["ToolbarDropdown","Component","g","prototype","tracked","undefined","i","void 0","reference","modifier","element","referenceElement","dropdownMenuReference","dropdownMenu","openDropdown","dropdownOpen","n","action","closeDropdown","paintCycleHappened","args","controller","focus","toggleDropdown","isHorizontal","direction","clickOutsideDeactivates","event","isClosedByToggleButton","contains","target","setComponentTemplate","precompileTemplate","strictMode","scope","Velcro","on","AuIcon","focusTrap","hash","DropdownItem"],"mappings":";;;;;;;;;;;;;;;;AAqCe,MAAMA,wBAAwBC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,kBAAA,EAAA,CACpDC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAqCC,SAAU;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,iBAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,kBAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAL,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,cAAA,EAAA,CAC/CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAuB,KAAM;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,aAAA,IAAAE,CAAA,CAAA,IAAA,EAAA,cAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAL,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,cAAA,EAAA,CAC7BC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAiCC,SAAU;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,aAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,cAAA,CAAA,EAAAC,MAAA;AAE5CC,EAAAA,SAAA,GAAYC,SAAUC,OAAA,IAAA;IACpB,IAAI,CAACC,gBAAgB,GAAGD,OAAA;AAC1B,GAAG,CAAA;AAEHE,EAAAA,qBAAA,GAAwBH,SAAUC,OAAA,IAAA;IAChC,IAAI,CAACG,YAAY,GAAGH,OAAA;AACtB,GAAG,CAAA;AAGHI,EAAAA,YAAeA,GAAA;IACb,IAAI,CAACC,YAAY,GAAG,IAAA;AACtB;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAb,SAAA,EAAA,cAAA,EAAA,CAHCc,MAAA,CAAA,CAAA;AAAA;EAKD,MACMC,aAAgBA,GAAA;IACpB,IAAI,CAACH,YAAY,GAAG,KAAA;IACpB,MAAMI,kBAAA,EAAA;AACN,IAAA,IAAI,CAACC,IAAI,CAACC,UAAU,EAAEC,KAAA,EAAA;AACxB;AAAA,EAAA;IAAAN,CAAA,CAAA,IAAA,CAAAb,SAAA,EAAA,eAAA,EAAA,CALCc,MAAA,CAAA,CAAA;AAAA;AAQDM,EAAAA,cAAiBA,GAAA;AACf,IAAA,IAAI,CAACR,YAAY,GAAG,CAAC,IAAI,CAACA,YAAY;AACxC;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAb,SAAA,EAAA,gBAAA,EAAA,CAHCc,MAAA,CAAA,CAAA;AAAA;EAKD,IAAIO,YAAeA,GAAA;AACjB,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACK,SAAS,KAAK,YAAA;AACjC;EAEA,MACMC,uBAAAA,CAAwBC,KAAiB,EAAE;IAC/C,MAAMC,sBAAA,GAAyB,IAAI,CAACjB,gBAAgB,EAAEkB,QACpD,CAAAF,KAAA,CAAMG,MAAU,CAAA;IAElB,IAAI,CAACF,sBAAwB,EAAA;AAC3B,MAAA,MAAM,IAAI,CAACV,aAAa,EAAA;AAC1B;AACA,IAAA,OAAO,IAAA;AACT;AAAA,EAAA;IAAAF,CAAA,CAAA,IAAA,CAAAb,SAAA,EAAA,yBAAA,EAAA,CATCc,MAAA,CAAA,CAAA;AAAA;AAWD,EAAA;IAAAc,oBAAA,CAAAC,kBAAA,CA+CA,6vCAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,SAAA;QAAAC,IAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|