@xxmachina/components 19.83.0 → 19.85.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/fesm2022/xxmachina-components-extras-flow.mjs +0 -1
- package/fesm2022/xxmachina-components-features-command.mjs +0 -1
- package/fesm2022/xxmachina-components-features-query.mjs +0 -1
- package/fesm2022/xxmachina-components-groups-command-form.mjs +0 -1
- package/fesm2022/xxmachina-components-groups-query-form.mjs +0 -1
- package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs +0 -1
- package/fesm2022/xxmachina-components-molecules-daily-cell.mjs +0 -1
- package/fesm2022/xxmachina-components-molecules-inline-edit-field.mjs +0 -1
- package/fesm2022/xxmachina-components-molecules-user-avatar-menu.mjs +0 -1
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +2 -3
- package/fesm2022/xxmachina-components-molecules-workspace-selector.mjs +0 -1
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +2 -3
- package/fesm2022/xxmachina-components-organisms-event-input-section.mjs +0 -1
- package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs +0 -1
- package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs +0 -1
- package/fesm2022/xxmachina-components-organisms-xterm.mjs +0 -1
- package/fesm2022/xxmachina-components-pages-command-harness.mjs +0 -1
- package/fesm2022/xxmachina-components-pages-command.mjs +2 -3
- package/fesm2022/xxmachina-components-pages-query-v2.mjs +0 -1
- package/fesm2022/xxmachina-components-pages-query.mjs +2 -3
- package/fesm2022/xxmachina-components-pages-thread.mjs +2 -3
- package/fesm2022/xxmachina-components-routes-commands-command.routes-Ca2yVrwL.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-commands-pages.routes-COpFeEsz.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-commands.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-pages.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-preloading.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-queries-pages.routes-CfrglCIL.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-queries.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-query-pages.routes-BNuONo3g.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-query.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-resources-pages.routes-DEu2qpeu.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-resources-resource.routes-CWxi2agj.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-resources.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-side-chat.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-side.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-transformer.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-transformers-pages.routes-02pVsNas.mjs +0 -1
- package/fesm2022/xxmachina-components-routes-transformers.mjs +0 -1
- package/fesm2022/xxmachina-components-routes.mjs +0 -1
- package/fesm2022/xxmachina-components-services-app.mjs +0 -1
- package/fesm2022/xxmachina-components-services-assistant.mjs +0 -1
- package/fesm2022/xxmachina-components-services-command.mjs +0 -1
- package/fesm2022/xxmachina-components-services-context.mjs +0 -1
- package/fesm2022/xxmachina-components-services-contract.mjs +0 -1
- package/fesm2022/xxmachina-components-services-debug.mjs +0 -1
- package/fesm2022/xxmachina-components-services-forms-query.mjs +0 -1
- package/fesm2022/xxmachina-components-services-forms-schedule.mjs +0 -1
- package/fesm2022/xxmachina-components-services-forms-variables.mjs +0 -1
- package/fesm2022/xxmachina-components-services-graphql.mjs +0 -1
- package/fesm2022/xxmachina-components-services-invoice.mjs +0 -1
- package/fesm2022/xxmachina-components-services-json-schema.mjs +0 -1
- package/fesm2022/xxmachina-components-services-message.mjs +0 -1
- package/fesm2022/xxmachina-components-services-openai.mjs +0 -1
- package/fesm2022/xxmachina-components-services-openapi.mjs +0 -1
- package/fesm2022/xxmachina-components-services-order.mjs +0 -1
- package/fesm2022/xxmachina-components-services-partner.mjs +0 -1
- package/fesm2022/xxmachina-components-services-query.mjs +0 -1
- package/fesm2022/xxmachina-components-services-recording.mjs +0 -1
- package/fesm2022/xxmachina-components-services-thread.mjs +0 -1
- package/fesm2022/xxmachina-components-services-transformer.mjs +0 -1
- package/fesm2022/xxmachina-components-services-version.mjs +0 -1
- package/fesm2022/xxmachina-components-services-workspace-switcher.mjs +0 -1
- package/fesm2022/xxmachina-components-services-youtube.mjs +0 -1
- package/fesm2022/xxmachina-components-templates-agent.mjs +2 -3
- package/fesm2022/xxmachina-components-templates-background.mjs +0 -1
- package/fesm2022/xxmachina-components-templates-env.mjs +0 -1
- package/fesm2022/xxmachina-components-templates-flow-nodes-group.mjs +0 -1
- package/fesm2022/xxmachina-components-templates-flow-nodes-issue.mjs +0 -1
- package/fesm2022/xxmachina-components-templates-flow-nodes-task.mjs +0 -1
- package/fesm2022/xxmachina-components-templates-flow.mjs +0 -1
- package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs +0 -1
- package/fesm2022/xxmachina-components-templates-machina-icon-button-menu.mjs +2 -3
- package/fesm2022/xxmachina-components-templates-scheduler.mjs +0 -1
- package/fesm2022/xxmachina-components-templates-video.mjs +0 -1
- package/fesm2022/xxmachina-components-validators-query.mjs +0 -1
- package/fesm2022/xxmachina-components.mjs +2 -3
- package/package.json +1 -1
- package/types/xxmachina-components-extras-flow.d.ts +0 -1
- package/types/xxmachina-components-features-command.d.ts +0 -1
- package/types/xxmachina-components-features-query.d.ts +0 -1
- package/types/xxmachina-components-groups-command-form.d.ts +0 -1
- package/types/xxmachina-components-groups-query-form.d.ts +0 -1
- package/types/xxmachina-components-molecules-calendar-paginator.d.ts +0 -1
- package/types/xxmachina-components-molecules-daily-cell.d.ts +0 -1
- package/types/xxmachina-components-molecules-inline-edit-field.d.ts +0 -1
- package/types/xxmachina-components-molecules-user-avatar-menu.d.ts +0 -1
- package/types/xxmachina-components-molecules-weekly-header.d.ts +0 -1
- package/types/xxmachina-components-molecules-workspace-selector.d.ts +0 -1
- package/types/xxmachina-components-organisms-calendar-section.d.ts +0 -1
- package/types/xxmachina-components-organisms-event-input-section.d.ts +0 -1
- package/types/xxmachina-components-organisms-terminal-input-section.d.ts +0 -1
- package/types/xxmachina-components-organisms-video-trimmer-section.d.ts +0 -1
- package/types/xxmachina-components-organisms-xterm.d.ts +0 -1
- package/types/xxmachina-components-pages-command-harness.d.ts +0 -1
- package/types/xxmachina-components-pages-command.d.ts +0 -1
- package/types/xxmachina-components-pages-query-v2.d.ts +0 -1
- package/types/xxmachina-components-pages-query.d.ts +0 -1
- package/types/xxmachina-components-pages-thread.d.ts +0 -1
- package/types/xxmachina-components-routes-commands.d.ts +0 -1
- package/types/xxmachina-components-routes-pages.d.ts +0 -1
- package/types/xxmachina-components-routes-preloading.d.ts +0 -1
- package/types/xxmachina-components-routes-queries.d.ts +0 -1
- package/types/xxmachina-components-routes-query.d.ts +0 -1
- package/types/xxmachina-components-routes-resources.d.ts +0 -1
- package/types/xxmachina-components-routes-side-chat.d.ts +0 -1
- package/types/xxmachina-components-routes-side.d.ts +0 -1
- package/types/xxmachina-components-routes-transformer.d.ts +0 -1
- package/types/xxmachina-components-routes-transformers.d.ts +0 -1
- package/types/xxmachina-components-routes.d.ts +0 -1
- package/types/xxmachina-components-services-app.d.ts +0 -1
- package/types/xxmachina-components-services-assistant.d.ts +0 -1
- package/types/xxmachina-components-services-command.d.ts +0 -1
- package/types/xxmachina-components-services-context.d.ts +0 -1
- package/types/xxmachina-components-services-contract.d.ts +0 -1
- package/types/xxmachina-components-services-debug.d.ts +0 -1
- package/types/xxmachina-components-services-forms-query.d.ts +0 -1
- package/types/xxmachina-components-services-forms-schedule.d.ts +0 -1
- package/types/xxmachina-components-services-forms-variables.d.ts +0 -1
- package/types/xxmachina-components-services-graphql.d.ts +0 -1
- package/types/xxmachina-components-services-invoice.d.ts +0 -1
- package/types/xxmachina-components-services-json-schema.d.ts +0 -1
- package/types/xxmachina-components-services-message.d.ts +0 -1
- package/types/xxmachina-components-services-openai.d.ts +0 -1
- package/types/xxmachina-components-services-openapi.d.ts +0 -1
- package/types/xxmachina-components-services-order.d.ts +0 -1
- package/types/xxmachina-components-services-partner.d.ts +0 -1
- package/types/xxmachina-components-services-query.d.ts +0 -1
- package/types/xxmachina-components-services-recording.d.ts +0 -1
- package/types/xxmachina-components-services-thread.d.ts +0 -1
- package/types/xxmachina-components-services-transformer.d.ts +0 -1
- package/types/xxmachina-components-services-version.d.ts +0 -1
- package/types/xxmachina-components-services-workspace-switcher.d.ts +0 -1
- package/types/xxmachina-components-services-youtube.d.ts +0 -1
- package/types/xxmachina-components-templates-agent.d.ts +0 -1
- package/types/xxmachina-components-templates-background.d.ts +0 -1
- package/types/xxmachina-components-templates-env.d.ts +0 -1
- package/types/xxmachina-components-templates-flow-nodes-group.d.ts +0 -1
- package/types/xxmachina-components-templates-flow-nodes-issue.d.ts +0 -1
- package/types/xxmachina-components-templates-flow-nodes-task.d.ts +0 -1
- package/types/xxmachina-components-templates-flow.d.ts +0 -1
- package/types/xxmachina-components-templates-invoice-iframe.d.ts +0 -1
- package/types/xxmachina-components-templates-machina-icon-button-menu.d.ts +0 -1
- package/types/xxmachina-components-templates-scheduler.d.ts +0 -1
- package/types/xxmachina-components-templates-video.d.ts +0 -1
- package/types/xxmachina-components-validators-query.d.ts +0 -1
- package/types/xxmachina-components.d.ts +0 -1
- package/fesm2022/xxmachina-components-extras-flow.mjs.map +0 -1
- package/fesm2022/xxmachina-components-features-command.mjs.map +0 -1
- package/fesm2022/xxmachina-components-features-query.mjs.map +0 -1
- package/fesm2022/xxmachina-components-groups-command-form.mjs.map +0 -1
- package/fesm2022/xxmachina-components-groups-query-form.mjs.map +0 -1
- package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs.map +0 -1
- package/fesm2022/xxmachina-components-molecules-daily-cell.mjs.map +0 -1
- package/fesm2022/xxmachina-components-molecules-inline-edit-field.mjs.map +0 -1
- package/fesm2022/xxmachina-components-molecules-user-avatar-menu.mjs.map +0 -1
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs.map +0 -1
- package/fesm2022/xxmachina-components-molecules-workspace-selector.mjs.map +0 -1
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +0 -1
- package/fesm2022/xxmachina-components-organisms-event-input-section.mjs.map +0 -1
- package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs.map +0 -1
- package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs.map +0 -1
- package/fesm2022/xxmachina-components-organisms-xterm.mjs.map +0 -1
- package/fesm2022/xxmachina-components-pages-command-harness.mjs.map +0 -1
- package/fesm2022/xxmachina-components-pages-command.mjs.map +0 -1
- package/fesm2022/xxmachina-components-pages-query-v2.mjs.map +0 -1
- package/fesm2022/xxmachina-components-pages-query.mjs.map +0 -1
- package/fesm2022/xxmachina-components-pages-thread.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-commands-command.routes-Ca2yVrwL.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-commands-pages.routes-COpFeEsz.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-commands.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-pages.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-preloading.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-queries-pages.routes-CfrglCIL.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-queries.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-query-pages.routes-BNuONo3g.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-query.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-resources-pages.routes-DEu2qpeu.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-resources-resource.routes-CWxi2agj.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-resources.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-side-chat.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-side.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-transformer.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-transformers-pages.routes-02pVsNas.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes-transformers.mjs.map +0 -1
- package/fesm2022/xxmachina-components-routes.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-app.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-assistant.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-command.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-context.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-contract.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-debug.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-forms-query.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-forms-schedule.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-forms-variables.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-graphql.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-invoice.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-json-schema.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-message.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-openai.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-openapi.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-order.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-partner.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-query.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-recording.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-thread.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-transformer.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-version.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-workspace-switcher.mjs.map +0 -1
- package/fesm2022/xxmachina-components-services-youtube.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-agent.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-background.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-env.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-flow-nodes-group.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-flow-nodes-issue.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-flow-nodes-task.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-flow.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-machina-icon-button-menu.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-scheduler.mjs.map +0 -1
- package/fesm2022/xxmachina-components-templates-video.mjs.map +0 -1
- package/fesm2022/xxmachina-components-validators-query.mjs.map +0 -1
- package/fesm2022/xxmachina-components.mjs.map +0 -1
- package/types/xxmachina-components-extras-flow.d.ts.map +0 -1
- package/types/xxmachina-components-features-command.d.ts.map +0 -1
- package/types/xxmachina-components-features-query.d.ts.map +0 -1
- package/types/xxmachina-components-groups-command-form.d.ts.map +0 -1
- package/types/xxmachina-components-groups-query-form.d.ts.map +0 -1
- package/types/xxmachina-components-molecules-calendar-paginator.d.ts.map +0 -1
- package/types/xxmachina-components-molecules-daily-cell.d.ts.map +0 -1
- package/types/xxmachina-components-molecules-inline-edit-field.d.ts.map +0 -1
- package/types/xxmachina-components-molecules-user-avatar-menu.d.ts.map +0 -1
- package/types/xxmachina-components-molecules-weekly-header.d.ts.map +0 -1
- package/types/xxmachina-components-molecules-workspace-selector.d.ts.map +0 -1
- package/types/xxmachina-components-organisms-calendar-section.d.ts.map +0 -1
- package/types/xxmachina-components-organisms-event-input-section.d.ts.map +0 -1
- package/types/xxmachina-components-organisms-terminal-input-section.d.ts.map +0 -1
- package/types/xxmachina-components-organisms-video-trimmer-section.d.ts.map +0 -1
- package/types/xxmachina-components-organisms-xterm.d.ts.map +0 -1
- package/types/xxmachina-components-pages-command-harness.d.ts.map +0 -1
- package/types/xxmachina-components-pages-command.d.ts.map +0 -1
- package/types/xxmachina-components-pages-query-v2.d.ts.map +0 -1
- package/types/xxmachina-components-pages-query.d.ts.map +0 -1
- package/types/xxmachina-components-pages-thread.d.ts.map +0 -1
- package/types/xxmachina-components-routes-commands.d.ts.map +0 -1
- package/types/xxmachina-components-routes-pages.d.ts.map +0 -1
- package/types/xxmachina-components-routes-preloading.d.ts.map +0 -1
- package/types/xxmachina-components-routes-queries.d.ts.map +0 -1
- package/types/xxmachina-components-routes-query.d.ts.map +0 -1
- package/types/xxmachina-components-routes-resources.d.ts.map +0 -1
- package/types/xxmachina-components-routes-side-chat.d.ts.map +0 -1
- package/types/xxmachina-components-routes-side.d.ts.map +0 -1
- package/types/xxmachina-components-routes-transformer.d.ts.map +0 -1
- package/types/xxmachina-components-routes-transformers.d.ts.map +0 -1
- package/types/xxmachina-components-routes.d.ts.map +0 -1
- package/types/xxmachina-components-services-app.d.ts.map +0 -1
- package/types/xxmachina-components-services-assistant.d.ts.map +0 -1
- package/types/xxmachina-components-services-command.d.ts.map +0 -1
- package/types/xxmachina-components-services-context.d.ts.map +0 -1
- package/types/xxmachina-components-services-contract.d.ts.map +0 -1
- package/types/xxmachina-components-services-debug.d.ts.map +0 -1
- package/types/xxmachina-components-services-forms-query.d.ts.map +0 -1
- package/types/xxmachina-components-services-forms-schedule.d.ts.map +0 -1
- package/types/xxmachina-components-services-forms-variables.d.ts.map +0 -1
- package/types/xxmachina-components-services-graphql.d.ts.map +0 -1
- package/types/xxmachina-components-services-invoice.d.ts.map +0 -1
- package/types/xxmachina-components-services-json-schema.d.ts.map +0 -1
- package/types/xxmachina-components-services-message.d.ts.map +0 -1
- package/types/xxmachina-components-services-openai.d.ts.map +0 -1
- package/types/xxmachina-components-services-openapi.d.ts.map +0 -1
- package/types/xxmachina-components-services-order.d.ts.map +0 -1
- package/types/xxmachina-components-services-partner.d.ts.map +0 -1
- package/types/xxmachina-components-services-query.d.ts.map +0 -1
- package/types/xxmachina-components-services-recording.d.ts.map +0 -1
- package/types/xxmachina-components-services-thread.d.ts.map +0 -1
- package/types/xxmachina-components-services-transformer.d.ts.map +0 -1
- package/types/xxmachina-components-services-version.d.ts.map +0 -1
- package/types/xxmachina-components-services-workspace-switcher.d.ts.map +0 -1
- package/types/xxmachina-components-services-youtube.d.ts.map +0 -1
- package/types/xxmachina-components-templates-agent.d.ts.map +0 -1
- package/types/xxmachina-components-templates-background.d.ts.map +0 -1
- package/types/xxmachina-components-templates-env.d.ts.map +0 -1
- package/types/xxmachina-components-templates-flow-nodes-group.d.ts.map +0 -1
- package/types/xxmachina-components-templates-flow-nodes-issue.d.ts.map +0 -1
- package/types/xxmachina-components-templates-flow-nodes-task.d.ts.map +0 -1
- package/types/xxmachina-components-templates-flow.d.ts.map +0 -1
- package/types/xxmachina-components-templates-invoice-iframe.d.ts.map +0 -1
- package/types/xxmachina-components-templates-machina-icon-button-menu.d.ts.map +0 -1
- package/types/xxmachina-components-templates-scheduler.d.ts.map +0 -1
- package/types/xxmachina-components-templates-video.d.ts.map +0 -1
- package/types/xxmachina-components-validators-query.d.ts.map +0 -1
- package/types/xxmachina-components.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-organisms-xterm.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/web-link.provider.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/web-links.addon.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/github-link.provider.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/github-links.addon.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/file-link.provider.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/file-links.addon.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/deploy-version-suffix.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/url-handoff.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/open-web-proxy-for-port.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/to-proxy-url.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/proxy-link.provider.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/proxy-links.addon.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/xterm.organism.store.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/fit-to-viewport.helper.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/canvas-cell-metric.helper.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/xterm.organism.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/image.utils.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/xterm/xxmachina-components-organisms-xterm.ts"],"sourcesContent":["import { ILinkProvider, ILink, Terminal } from '@xterm/xterm';\n\nconst URL_REGEX = /https?:\\/\\/[^\\s<>'\")\\[\\]]+/g;\nconst LOCALHOST_REGEX = /^https?:\\/\\/(?:localhost|127\\.0\\.0\\.1)(?::\\d+)?(?:\\/|$)/;\nconst MAX_SCAN_LINES = 30;\n\n\nexport class WebLinkProvider implements ILinkProvider {\n constructor(\n private readonly _terminal: Terminal,\n private readonly _handler: (event: MouseEvent, uri: string) => void = (_, uri) => {\n window.open(uri, '_blank', 'noopener');\n },\n ) {}\n\n provideLinks(bufferLineNumber: number, callback: (links: ILink[] | undefined) => void): void {\n const buffer = this._terminal.buffer.active;\n\n let startY = bufferLineNumber - 1;\n while (startY > 0\n && (bufferLineNumber - 1 - startY) < MAX_SCAN_LINES\n && this._isLineContinuation(startY)\n ) {\n startY--;\n }\n\n const lineTexts: string[] = [];\n let y = startY;\n do {\n const line = buffer.getLine(y);\n if (!line) break;\n lineTexts.push(line.translateToString(true));\n y++;\n } while (\n y < buffer.length\n && (y - startY) < MAX_SCAN_LINES\n && this._isLineContinuation(y)\n );\n\n const fullText = lineTexts.join('');\n\n URL_REGEX.lastIndex = 0;\n let match: RegExpExecArray | null;\n const links: ILink[] = [];\n\n while ((match = URL_REGEX.exec(fullText)) !== null) {\n if (LOCALHOST_REGEX.test(match[0])) continue;\n\n const startPos = this._offsetToPos(match.index, startY, lineTexts);\n const endPos = this._offsetToPos(match.index + match[0].length - 1, startY, lineTexts);\n if (!startPos || !endPos) continue;\n\n links.push({\n text: match[0],\n range: {\n start: { x: startPos.x + 1, y: startPos.y + 1 },\n end: { x: endPos.x + 1, y: endPos.y + 1 },\n },\n activate: (event, text) => this._handler(event, text),\n });\n }\n\n callback(links.length > 0 ? links : undefined);\n }\n\n private _isLineContinuation(lineIdx: number): boolean {\n const buffer = this._terminal.buffer.active;\n const line = buffer.getLine(lineIdx);\n if (!line) return false;\n if (line.isWrapped) return true;\n\n if (lineIdx === 0) return false;\n const prevLine = buffer.getLine(lineIdx - 1);\n if (!prevLine) return false;\n\n const prevText = prevLine.translateToString(true);\n const currentText = line.translateToString(true);\n return (\n prevText.length > 0\n && !/\\s$/.test(prevText)\n && currentText.length > 0\n && !/^\\s/.test(currentText)\n );\n }\n\n private _offsetToPos(\n offset: number, startY: number, lineTexts: string[],\n ): { x: number; y: number } | null {\n let remaining = offset;\n for (let i = 0; i < lineTexts.length; i++) {\n if (remaining < lineTexts[i].length) {\n return { x: remaining, y: startY + i };\n }\n remaining -= lineTexts[i].length;\n }\n const lastIdx = lineTexts.length - 1;\n return { x: lineTexts[lastIdx].length, y: startY + lastIdx };\n }\n}\n","import { Terminal, ITerminalAddon, IDisposable } from '@xterm/xterm';\nimport { WebLinkProvider } from './web-link.provider';\n\n\nexport class WebLinksAddon implements ITerminalAddon {\n private _linkProvider?: IDisposable;\n\n constructor(\n private readonly _handler?: (event: MouseEvent, uri: string) => void\n ) {}\n\n activate(terminal: Terminal): void {\n this._linkProvider = terminal.registerLinkProvider(\n new WebLinkProvider(terminal, this._handler)\n );\n }\n\n dispose(): void {\n this._linkProvider?.dispose();\n }\n}\n","import { ILinkProvider, ILink, Terminal } from '@xterm/xterm';\n\nexport interface GitHubLinkActivateHandler {\n (event: MouseEvent, issueNumber: number): void;\n}\n\nexport class GitHubLinkProvider implements ILinkProvider {\n \n private readonly GITHUB_ISSUE_REGEX = /(?:^|[\\s(])#(\\d+)(?!\\d)/g;\n\n constructor(\n private readonly _terminal: Terminal,\n private readonly _handler: GitHubLinkActivateHandler\n ) {}\n\n provideLinks(bufferLineNumber: number, callback: (links: ILink[] | undefined) => void): void {\n const lineIndex = bufferLineNumber - 1;\n const line = this._terminal.buffer.active.getLine(lineIndex);\n if (!line) {\n callback(undefined);\n return;\n }\n\n const text = line.translateToString(true);\n const links: ILink[] = [];\n\n this.GITHUB_ISSUE_REGEX.lastIndex = 0;\n\n let match: RegExpExecArray | null;\n while ((match = this.GITHUB_ISSUE_REGEX.exec(text)) !== null) {\n const issueNumber = parseInt(match[1], 10);\n const fullMatch = match[0];\n const issueRef = `#${match[1]}`;\n\n \n const stringStartIndex = match.index + (fullMatch.length - issueRef.length);\n\n const [, startX] = this._mapStrIdx(lineIndex, 0, stringStartIndex);\n const [, endX] = this._mapStrIdx(lineIndex, startX, issueRef.length);\n\n if (startX === -1 || endX === -1) continue;\n\n links.push({\n text: issueRef,\n range: {\n start: { x: startX + 1, y: bufferLineNumber },\n end: { x: endX, y: bufferLineNumber }\n },\n activate: (event) => {\n this._handler(event, issueNumber);\n }\n });\n }\n\n callback(links.length > 0 ? links : undefined);\n }\n\n private _mapStrIdx(lineIndex: number, rowIndex: number, stringIndex: number): [number, number] {\n const buf = this._terminal.buffer.active;\n const cell = buf.getNullCell();\n let start = rowIndex;\n\n while (stringIndex) {\n const line = buf.getLine(lineIndex);\n if (!line) return [-1, -1];\n\n for (let i = start; i < line.length; ++i) {\n line.getCell(i, cell);\n const chars = cell.getChars();\n const width = cell.getWidth();\n if (width) {\n stringIndex -= chars.length || 1;\n }\n if (stringIndex < 0) {\n return [lineIndex, i];\n }\n }\n lineIndex++;\n start = 0;\n }\n return [lineIndex, start];\n }\n}\n","import { Terminal, ITerminalAddon, IDisposable } from '@xterm/xterm';\nimport { GitHubLinkProvider, GitHubLinkActivateHandler } from './github-link.provider';\n\nexport class GitHubLinksAddon implements ITerminalAddon {\n private _terminal?: Terminal;\n private _linkProvider?: IDisposable;\n\n constructor(\n private readonly _handler: GitHubLinkActivateHandler\n ) {}\n\n activate(terminal: Terminal): void {\n this._terminal = terminal;\n this._linkProvider = terminal.registerLinkProvider(\n new GitHubLinkProvider(terminal, this._handler)\n );\n }\n\n dispose(): void {\n this._linkProvider?.dispose();\n }\n}\n","import { ILinkProvider, ILink, Terminal } from '@xterm/xterm';\n\nexport interface FileLinkActivateHandler {\n (event: MouseEvent, filePath: string, line?: number, column?: number): void;\n}\n\nexport class FileLinkProvider implements ILinkProvider {\n \n \n \n \n private readonly FILE_PATH_REGEX = /(?:^|[\\s'\"`(])((\\.\\.?\\/|\\/)?[\\w.@-]+(?:\\/[\\w.@-]+)*\\.[a-zA-Z0-9]+(?::\\d+(?::\\d+)?)?)/g;\n\n constructor(\n private readonly _terminal: Terminal,\n private readonly _handler: FileLinkActivateHandler\n ) {}\n\n provideLinks(bufferLineNumber: number, callback: (links: ILink[] | undefined) => void): void {\n \n const lineIndex = bufferLineNumber - 1;\n const line = this._terminal.buffer.active.getLine(lineIndex);\n if (!line) {\n callback(undefined);\n return;\n }\n\n const text = line.translateToString(true);\n const links: ILink[] = [];\n\n \n this.FILE_PATH_REGEX.lastIndex = 0;\n\n let match: RegExpExecArray | null;\n while ((match = this.FILE_PATH_REGEX.exec(text)) !== null) {\n const filePath = match[1];\n if (this._isLikelyFilePath(filePath) && !this._isUrl(filePath)) {\n \n const stringStartIndex = match.index + (match[0].length - match[1].length);\n\n \n const [, startX] = this._mapStrIdx(lineIndex, 0, stringStartIndex);\n const [, endX] = this._mapStrIdx(lineIndex, startX, filePath.length);\n\n if (startX === -1 || endX === -1) {\n continue;\n }\n\n links.push({\n text: filePath,\n range: {\n \n start: { x: startX + 1, y: bufferLineNumber },\n end: { x: endX, y: bufferLineNumber }\n },\n activate: (event, linkText) => {\n const parsed = this._parseFilePath(linkText);\n this._handler(event, parsed.path, parsed.line, parsed.column);\n }\n });\n }\n }\n\n callback(links.length > 0 ? links : undefined);\n }\n\n \n private _mapStrIdx(lineIndex: number, rowIndex: number, stringIndex: number): [number, number] {\n const buf = this._terminal.buffer.active;\n const cell = buf.getNullCell();\n let start = rowIndex;\n\n while (stringIndex) {\n const line = buf.getLine(lineIndex);\n if (!line) {\n return [-1, -1];\n }\n for (let i = start; i < line.length; ++i) {\n line.getCell(i, cell);\n const chars = cell.getChars();\n const width = cell.getWidth();\n if (width) {\n stringIndex -= chars.length || 1;\n }\n if (stringIndex < 0) {\n return [lineIndex, i];\n }\n }\n lineIndex++;\n start = 0;\n }\n return [lineIndex, start];\n }\n\n private _isLikelyFilePath(text: string): boolean {\n \n return /\\.[a-zA-Z0-9]+(?::\\d+(?::\\d+)?)?$/.test(text);\n }\n\n private _isUrl(text: string): boolean {\n \n return /^https?:\\/\\//.test(text) || /^file:\\/\\//.test(text);\n }\n\n private _parseFilePath(text: string): { path: string; line?: number; column?: number } {\n const match = text.match(/^(.+?)(?::(\\d+)(?::(\\d+))?)?$/);\n if (match) {\n return {\n path: match[1],\n line: match[2] ? parseInt(match[2], 10) : undefined,\n column: match[3] ? parseInt(match[3], 10) : undefined\n };\n }\n return { path: text };\n }\n}\n\n\nexport const isLikelyFilePath = (text: string): boolean => {\n return /\\.[a-zA-Z0-9]+(?::\\d+(?::\\d+)?)?$/.test(text) && !/^https?:\\/\\//.test(text);\n};\n\nexport const parseFilePath = (text: string): { path: string; line?: number; column?: number } => {\n const match = text.match(/^(.+?)(?::(\\d+)(?::(\\d+))?)?$/);\n if (match) {\n return {\n path: match[1],\n line: match[2] ? parseInt(match[2], 10) : undefined,\n column: match[3] ? parseInt(match[3], 10) : undefined\n };\n }\n return { path: text };\n};\n","import { Terminal, ITerminalAddon, IDisposable } from '@xterm/xterm';\nimport { FileLinkProvider, FileLinkActivateHandler } from './file-link.provider';\n\n\nexport class FileLinksAddon implements ITerminalAddon {\n private _terminal?: Terminal;\n private _linkProvider?: IDisposable;\n\n constructor(\n private readonly _handler: FileLinkActivateHandler\n ) {}\n\n activate(terminal: Terminal): void {\n this._terminal = terminal;\n this._linkProvider = terminal.registerLinkProvider(\n new FileLinkProvider(terminal, this._handler)\n );\n }\n\n dispose(): void {\n this._linkProvider?.dispose();\n }\n}\n","\nexport function deployVersionToHostSuffix(version: string | null | undefined): string {\n if (!version || version === 'stable') return '';\n if (version.startsWith('pr-')) return `--${version}`;\n if (version === 'dev' || version === 'develop') return '--dev';\n\n \n const match = version.match(/^v?(\\d+)\\.(\\d+)\\.(\\d+)(?:-([a-z]+)\\.(\\d+))?$/);\n if (match) {\n const [, major, minor, patch, pre, num] = match;\n let encoded = `v${major}-${minor}-${patch}`;\n if (pre) encoded += `-${pre}-${num}`;\n return `--${encoded}`;\n }\n\n return '';\n}\n","import type { ProxyEndpoints, ProxyEnvName } from './proxy-link.types';\n\n\nexport function encodeUrlHandoff(\n token: string,\n endpoints: ProxyEndpoints,\n env?: ProxyEnvName,\n): string {\n if (env) {\n \n return btoa(JSON.stringify({ t: token, env }));\n }\n return btoa(JSON.stringify({ t: token, e: endpoints }));\n}\n\n\nexport function appendUrlHandoff(\n proxyUrl: string,\n token: string,\n endpoints: ProxyEndpoints,\n env?: ProxyEnvName,\n): string {\n const u = new URL(proxyUrl);\n u.searchParams.set('lt', encodeUrlHandoff(token, endpoints, env));\n return u.toString();\n}\n","import { deployVersionToHostSuffix } from './deploy-version-suffix';\nimport { appendUrlHandoff } from './url-handoff';\nimport type { ProxyEndpoints, ProxyEnvName } from './proxy-link.types';\n\n\nexport interface OpenWebProxyOptions {\n serverUUID: string;\n port: number | string;\n path?: string;\n token?: string;\n endpoints?: ProxyEndpoints;\n \n env?: ProxyEnvName;\n deployVersion?: string | null;\n \n handler?: (event: MouseEvent | undefined, url: string) => void;\n}\n\nexport function openWebProxyForPort(opts: OpenWebProxyOptions): void {\n const { serverUUID, port, path = '/', token, endpoints, env, deployVersion } = opts;\n const handler = opts.handler ?? ((_, url) => { window.open(url, '_blank', 'noopener'); });\n\n const hostSuffix = deployVersionToHostSuffix(deployVersion);\n const baseProxyUrl = `https://${serverUUID}--${port}${hostSuffix}.proxy.machina.at${path}`;\n\n \n \n if (!token || !endpoints) {\n handler(undefined, baseProxyUrl);\n return;\n }\n\n const proxyUrlWithHandoff = appendUrlHandoff(baseProxyUrl, token, endpoints, env);\n window.open(proxyUrlWithHandoff, '_blank', 'noopener');\n}\n","import { deployVersionToHostSuffix } from './deploy-version-suffix';\n\n\nexport function toProxyUrl(\n serverUUID: string,\n localhostUrl: string,\n deployVersion?: string | null,\n): string | null {\n const match = localhostUrl.match(/^https?:\\/\\/(?:localhost|127\\.0\\.0\\.1)(?::(\\d+))?(\\/.*)?$/);\n if (!match) return null;\n const port = match[1] || '80';\n const path = match[2] || '/';\n const hostSuffix = deployVersionToHostSuffix(deployVersion);\n return `https://${serverUUID}--${port}${hostSuffix}.proxy.machina.at${path}`;\n}\n","import { ILinkProvider, ILink, Terminal } from '@xterm/xterm';\nimport { openWebProxyForPort } from './open-web-proxy-for-port';\nimport type {\n ServerUUIDGetter,\n TokenGetter,\n DeployVersionGetter,\n EndpointsGetter,\n} from './proxy-link.types';\n\n\n\nexport * from './proxy-link.types';\nexport * from './deploy-version-suffix';\nexport * from './url-handoff';\nexport * from './to-proxy-url';\nexport * from './open-web-proxy-for-port';\n\n\n\nconst LOCALHOST_URL_REGEX = /https?:\\/\\/(?:localhost|127\\.0\\.0\\.1)(?::(\\d+))?(\\/[^\\s<>'\")\\]]*)?/g;\n\nexport class ProxyLinkProvider implements ILinkProvider {\n constructor(\n private readonly _terminal: Terminal,\n private readonly _getServerUUID: ServerUUIDGetter,\n private readonly _getToken?: TokenGetter,\n private readonly _handler: (event: MouseEvent, proxyUrl: string) => void = (_, url) => {\n window.open(url, '_blank', 'noopener');\n },\n private readonly _getDeployVersion?: DeployVersionGetter,\n private readonly _getEndpoints?: EndpointsGetter,\n \n private readonly _onMissingToken?: () => void,\n \n private readonly _getEnv?: () => 'dev' | 'stg' | 'prod' | undefined,\n ) {}\n\n provideLinks(bufferLineNumber: number, callback: (links: ILink[] | undefined) => void): void {\n const lineIndex = bufferLineNumber - 1;\n const line = this._terminal.buffer.active.getLine(lineIndex);\n if (!line) {\n callback(undefined);\n return;\n }\n\n const text = line.translateToString(true);\n const links: ILink[] = [];\n\n console.log('[proxy-link] provideLinks line', bufferLineNumber, 'text:', text.substring(0, 80));\n LOCALHOST_URL_REGEX.lastIndex = 0;\n let match: RegExpExecArray | null;\n\n while ((match = LOCALHOST_URL_REGEX.exec(text)) !== null) {\n const matchedUrl = match[0];\n const port = match[1] || '80';\n const path = match[2] || '/';\n\n const startX = match.index + 1;\n const endX = match.index + matchedUrl.length;\n\n links.push({\n text: matchedUrl,\n range: {\n start: { x: startX, y: bufferLineNumber },\n end: { x: endX, y: bufferLineNumber },\n },\n \n activate: (event) => {\n const uuid = this._getServerUUID();\n \n if (!uuid) {\n console.warn('[ProxyLinkProvider] serverUUID undefined, opening localhost URL as-is (no proxy):', {\n matchedUrl,\n hasGetToken: !!this._getToken,\n hasGetEndpoints: !!this._getEndpoints,\n });\n this._handler(event, matchedUrl);\n return;\n }\n const token = this._getToken?.();\n const endpoints = this._getEndpoints?.();\n \n \n if ((!token || !endpoints) && this._onMissingToken) {\n this._onMissingToken();\n return;\n }\n openWebProxyForPort({\n serverUUID: uuid,\n port,\n path,\n token,\n endpoints,\n env: this._getEnv?.(),\n deployVersion: this._getDeployVersion?.(),\n handler: (_e, url) => this._handler(event, url),\n });\n },\n });\n }\n\n callback(links.length > 0 ? links : undefined);\n }\n}\n","import { Terminal, ITerminalAddon, IDisposable } from '@xterm/xterm';\nimport { ProxyLinkProvider, ServerUUIDGetter, TokenGetter, DeployVersionGetter, EndpointsGetter } from './proxy-link.provider';\n\n\nexport class ProxyLinksAddon implements ITerminalAddon {\n private _linkProvider?: IDisposable;\n\n constructor(\n private readonly _getServerUUID: ServerUUIDGetter,\n private readonly _getToken?: TokenGetter,\n private readonly _handler?: (event: MouseEvent, proxyUrl: string) => void,\n private readonly _getDeployVersion?: DeployVersionGetter,\n private readonly _getEndpoints?: EndpointsGetter,\n \n private readonly _onMissingToken?: () => void,\n \n private readonly _getEnv?: () => 'dev' | 'stg' | 'prod' | undefined,\n ) {}\n\n activate(terminal: Terminal): void {\n this._linkProvider = terminal.registerLinkProvider(\n new ProxyLinkProvider(\n terminal,\n this._getServerUUID,\n this._getToken,\n this._handler,\n this._getDeployVersion,\n this._getEndpoints,\n this._onMissingToken,\n this._getEnv,\n ),\n );\n }\n\n dispose(): void {\n this._linkProvider?.dispose();\n }\n}\n","import { Directive, InjectionToken, input, inject } from '@angular/core';\nimport { _computed, InjectableComponent } from '@ng-atomic/core';\nimport { makeDI } from '@ng-atomic/common/services/ui';\nimport type { ProxyEndpoints } from './proxy-link.provider';\n\nexport enum XtermActionId {\n DATA_INPUT = 'xterm:data-input',\n RESIZED = 'xterm:resized',\n GITHUB_LINK_CLICK = 'xterm:github-link-click',\n FILE_LINK_CLICK = 'xterm:file-link-click',\n FOCUS_INPUT_REQUEST = 'xterm:focus-input-request',\n}\n\n\nexport interface XtermSessionContext {\n \n readonly getServerUUID?: () => string | undefined;\n \n readonly getProxyToken?: () => string | undefined;\n \n readonly getDeployVersion?: () => string | null | undefined;\n \n readonly getProxyEndpoints?: () => ProxyEndpoints | undefined;\n \n readonly getProxyEnv?: () => 'dev' | 'stg' | 'prod' | undefined;\n \n readonly onMissingToken?: () => void;\n}\n\nexport const XTERM_SESSION_CONTEXT = new InjectionToken<XtermSessionContext>('XTERM_SESSION_CONTEXT');\n\n@Directive({ standalone: true, selector: 'organisms-xterm' })\nexport class XtermOrganismStore extends InjectableComponent {\n static readonly DI = makeDI(XtermOrganismStore, () => () => ({\n data: '',\n interactive: false,\n queryResult: '',\n useInteractiveTheme: false,\n }), ['components', 'organisms', 'xterm']);\n\n readonly config = XtermOrganismStore.DI.injectConfig();\n readonly data = input<string | undefined>(undefined);\n readonly interactive = input<boolean>(false);\n readonly queryResult = input<string>('');\n readonly useInteractiveTheme = input<boolean>(false);\n readonly totalWritten = input<number>(0);\n\n \n readonly sessionContext = inject(XTERM_SESSION_CONTEXT, { optional: true });\n\n constructor() {\n super();\n XtermOrganismStore.DI.initialize(this);\n }\n}\n","\n\nexport interface FitToViewportInput {\n \n viewportElement: HTMLElement;\n \n cellWidth: number;\n \n cellHeight: number;\n}\n\nexport interface FitToViewportResult {\n cols: number;\n rows: number;\n}\n\n\nexport const MIN_VIEWPORT_COLS = 2;\nexport const MIN_VIEWPORT_ROWS = 1;\n\n\nexport const MAX_VIEWPORT_COLS = 500;\nexport const MAX_VIEWPORT_ROWS = 200;\n\n\nexport const CANONICAL_FONT_FAMILY = '\"FiraCode Nerd Font\", \"Fira Code\", \"SF Mono\", \"Cascadia Code\", \"Consolas\", \"Courier New\", monospace';\nexport const CANONICAL_FONT_SIZE_PX = 14;\nexport const CANONICAL_LINE_HEIGHT = 1.2;\n\n\nconst DEFAULT_CELL_WIDTH = 8.4;\nconst DEFAULT_CELL_HEIGHT = CANONICAL_FONT_SIZE_PX * CANONICAL_LINE_HEIGHT; \n\n\nexport function measureCellMetric(): { cellWidth: number; cellHeight: number } {\n try {\n const doc = document;\n if (!doc?.body) return { cellWidth: DEFAULT_CELL_WIDTH, cellHeight: DEFAULT_CELL_HEIGHT };\n const probe = doc.createElement('span');\n probe.textContent = 'M';\n probe.style.position = 'absolute';\n probe.style.visibility = 'hidden';\n probe.style.whiteSpace = 'pre';\n probe.style.left = '-9999px';\n probe.style.top = '-9999px';\n \n probe.style.fontFamily = CANONICAL_FONT_FAMILY;\n probe.style.fontSize = `${CANONICAL_FONT_SIZE_PX}px`;\n probe.style.lineHeight = String(CANONICAL_LINE_HEIGHT);\n doc.body.appendChild(probe);\n const rect = probe.getBoundingClientRect();\n doc.body.removeChild(probe);\n \n const cellWidth = rect.width >= 3 ? rect.width : DEFAULT_CELL_WIDTH;\n const cellHeight = rect.height >= 8 ? rect.height : DEFAULT_CELL_HEIGHT;\n return { cellWidth, cellHeight };\n } catch {\n return { cellWidth: DEFAULT_CELL_WIDTH, cellHeight: DEFAULT_CELL_HEIGHT };\n }\n}\n\n\nexport function computeFitToViewport(input: FitToViewportInput): FitToViewportResult | null {\n const { viewportElement, cellWidth, cellHeight } = input;\n if (!cellWidth || !cellHeight || cellWidth <= 0 || cellHeight <= 0) return null;\n const w = viewportElement.offsetWidth;\n const h = viewportElement.offsetHeight;\n if (w <= 0 || h <= 0) return null;\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n return {\n cols: Math.min(MAX_VIEWPORT_COLS, Math.max(MIN_VIEWPORT_COLS, Math.floor(w / cellWidth))),\n rows: Math.min(MAX_VIEWPORT_ROWS, Math.max(MIN_VIEWPORT_ROWS, Math.floor(h / cellHeight))),\n };\n}\n\n","\n\nimport { Terminal } from '@xterm/xterm';\nimport { CANONICAL_FONT_FAMILY, CANONICAL_FONT_SIZE_PX, CANONICAL_LINE_HEIGHT } from './fit-to-viewport.helper';\n\ninterface CanvasCellMetric {\n cellWidth: number;\n cellHeight: number;\n}\n\nlet cached: CanvasCellMetric | null = null;\n\n\nexport function clearCanvasCellMetricCache(): void {\n cached = null;\n}\n\n\nexport function recordCanvasCellMetric(metric: { cellWidth: number; cellHeight: number }): void {\n \n \n if (cached) return;\n if (metric.cellWidth > 0 && metric.cellHeight > 0) {\n cached = { cellWidth: metric.cellWidth, cellHeight: metric.cellHeight };\n }\n}\n\n\nconst CELL_WIDTH_RATIO = 0.615; \nconst CELL_HEIGHT_RATIO = 1.43; \n\nexport function getCanvasCellMetric(fontSize = CANONICAL_FONT_SIZE_PX): CanvasCellMetric {\n if (cached) return cached;\n cached = {\n \n \n \n \n \n \n \n cellWidth: fontSize * CELL_WIDTH_RATIO,\n \n \n \n \n \n \n \n \n \n cellHeight: Math.round(fontSize * CELL_HEIGHT_RATIO),\n };\n return cached;\n}\n\n\nfunction _legacyMeasureViaTempTerminal(fontSize = CANONICAL_FONT_SIZE_PX): CanvasCellMetric {\n const fallback: CanvasCellMetric = {\n cellWidth: fontSize * 0.6,\n cellHeight: fontSize * CANONICAL_LINE_HEIGHT,\n };\n if (typeof document === 'undefined') return fallback;\n let container: HTMLDivElement | null = null;\n let terminal: Terminal | null = null;\n try {\n container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.visibility = 'hidden';\n container.style.pointerEvents = 'none';\n container.style.width = '500px';\n container.style.height = '500px';\n container.style.left = '-9999px';\n container.style.top = '-9999px';\n document.body.appendChild(container);\n terminal = new Terminal({\n fontSize,\n fontFamily: CANONICAL_FONT_FAMILY,\n lineHeight: CANONICAL_LINE_HEIGHT,\n rows: 24,\n cols: 80,\n });\n terminal.open(container);\n const internal = terminal as unknown as {\n _core?: { _renderService?: { dimensions?: { css?: { cell?: { width?: number; height?: number } } } } };\n };\n const cell = internal._core?._renderService?.dimensions?.css?.cell;\n const cellWidth = cell?.width;\n const cellHeight = cell?.height;\n if (typeof cellWidth === 'number' && typeof cellHeight === 'number' && cellWidth > 0 && cellHeight > 0) {\n \n \n \n \n \n cached = { cellWidth: Math.ceil(cellWidth), cellHeight: Math.ceil(cellHeight) };\n return cached;\n }\n return fallback;\n } catch {\n return fallback;\n } finally {\n try { terminal?.dispose(); } catch { void 0; }\n try { if (container?.parentElement) container.parentElement.removeChild(container); } catch { void 0; }\n }\n}\n","import { Component, ElementRef, AfterViewInit, OnDestroy, ChangeDetectionStrategy, viewChild, output, effect, inject, signal } from '@angular/core';\nimport { Terminal, IDisposable } from '@xterm/xterm';\nimport { FitAddon } from '@xterm/addon-fit';\nimport { WebLinksAddon } from './web-links.addon';\nimport { NgAtomicComponent } from '@ng-atomic/core';\nimport { GitHubLinksAddon } from './github-links.addon';\nimport { FileLinksAddon } from './file-links.addon';\nimport { ProxyLinksAddon } from './proxy-links.addon';\nimport { XtermOrganismStore, XtermActionId } from './xterm.organism.store';\nimport { computeFitToViewport, measureCellMetric } from './fit-to-viewport.helper';\nimport { readXtermInternalCellMetric } from './xterm-internal-cell-metric.helper';\nimport { getCanvasCellMetric, recordCanvasCellMetric } from './canvas-cell-metric.helper';\n\n\ntype ImageAddon = any;\ntype IImageAddonOptions = any;\n\n\nconst MIN_CONTAINER_SIZE = 10;\n\n\n\nexport const DISPLAY_THEME = {\n background: '#0a0a0a',\n foreground: '#66d9ef',\n cursor: '#ff79c6',\n cyan: '#5bc5ff',\n brightCyan: '#8ad7ff',\n green: '#33ff33',\n brightGreen: '#66ff66',\n magenta: '#ff79c6',\n brightMagenta: '#ff79c6',\n yellow: '#f1fa8c',\n brightYellow: '#ffb86c',\n red: '#ff5555',\n brightRed: '#ff5555'\n};\n\n\nexport const INTERACTIVE_THEME = {\n background: '#0a0a0a',\n foreground: '#e0e0e0',\n cursor: '#e0e0e0',\n black: '#000000',\n red: '#cd3131',\n green: '#33ff33',\n yellow: '#e5e510',\n blue: '#2472c8',\n magenta: '#bc3fbc',\n cyan: '#5bc5ff',\n white: '#e5e5e5',\n brightBlack: '#666666',\n brightRed: '#f14c4c',\n brightGreen: '#66ff66',\n brightYellow: '#f5f543',\n brightBlue: '#3b8eea',\n brightMagenta: '#d670d6',\n brightCyan: '#8ad7ff',\n brightWhite: '#e5e5e5',\n};\n\n@Component({\n selector: 'organisms-xterm',\n standalone: true,\n imports: [],\n template: `<div #container class=\"terminal-viewport xterm-wrapper\"></div>`,\n styleUrls: ['./xterm.organism.css', './xterm.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{\n directive: XtermOrganismStore,\n inputs: ['data', 'interactive', 'useInteractiveTheme', 'totalWritten'],\n }],\n})\nexport class XtermOrganism extends NgAtomicComponent implements AfterViewInit, OnDestroy {\n readonly container = viewChild.required<ElementRef<HTMLDivElement>>('container');\n protected readonly store = inject(XtermOrganismStore);\n private readonly hostElement = inject(ElementRef<HTMLElement>);\n\n readonly terminalReady = output<Terminal>();\n readonly githubLinkClick = output<number>();\n\n private terminal!: Terminal;\n private fitAddon!: FitAddon;\n private imageAddon!: ImageAddon;\n private githubLinksAddon!: GitHubLinksAddon;\n private fileLinksAddon!: FileLinksAddon;\n private resizeObserver?: ResizeObserver;\n private lastDataLength = 0;\n \n private lastProcessedLength = 0;\n private readonly terminalInitialized = signal(false);\n \n private initSkippedDueToSize = false;\n \n private readonly disposables: IDisposable[] = [];\n \n private stableTimer: ReturnType<typeof setTimeout> | null = null;\n private resizeTimer: ReturnType<typeof setTimeout> | null = null;\n private fallbackTimer: ReturnType<typeof setTimeout> | null = null;\n\n constructor() {\n super();\n\n \n effect(() => {\n const isInitialized = this.terminalInitialized();\n const rawData = this.store.data();\n const totalWritten = this.store.totalWritten();\n const dataIsFunction = typeof rawData === 'function';\n const data = dataIsFunction ? (rawData as any)() : rawData;\n if (!isInitialized) return;\n\n \n if (totalWritten > 0) {\n this.writeDataWithTotalWritten(data ?? '', totalWritten);\n } else {\n \n this.writeDataToTerminal(data);\n }\n });\n\n \n \n effect(() => {\n const isInteractive = this.store.interactive();\n if (isInteractive) {\n this.hostElement.nativeElement.classList.add('interactive');\n } else {\n this.hostElement.nativeElement.classList.remove('interactive');\n }\n });\n\n \n effect(() => {\n const isInitialized = this.terminalInitialized();\n const isInteractive = this.store.interactive();\n if (!isInitialized || !this.terminal) return;\n\n \n this.terminal.options.cursorBlink = isInteractive;\n });\n }\n\n private writeDataToTerminal(data: string | undefined): void {\n \n \n \n if (data === undefined || data === null || data === '') {\n return;\n }\n \n if (data.length >= this.lastDataLength) {\n const newPart = data.slice(this.lastDataLength);\n if (newPart) {\n this.terminal.write(newPart);\n }\n this.lastDataLength = data.length;\n } else {\n \n this.terminal.reset();\n this.terminal.write(data);\n this.lastDataLength = data.length;\n }\n }\n\n \n private writeDataWithTotalWritten(data: string, totalWritten: number): void {\n if (!data) return;\n\n const newBytesCount = totalWritten - this.lastProcessedLength;\n\n if (newBytesCount <= 0) {\n if (totalWritten < this.lastProcessedLength) {\n \n this.terminal.reset();\n this.terminal.write(data);\n this.lastProcessedLength = totalWritten;\n }\n return;\n }\n\n \n \n let written = '';\n if (newBytesCount >= data.length) {\n \n \n \n \n if (hasVisibleContent(data)) {\n this.terminal.reset();\n }\n this.terminal.write(data);\n written = data;\n } else {\n \n \n \n const sliceN = Math.min(newBytesCount, data.length);\n const newContent = data.slice(-sliceN);\n if (newContent) {\n this.terminal.write(newContent);\n written = newContent;\n }\n }\n this.lastProcessedLength = totalWritten;\n\n \n \n \n \n \n \n if (hasDisplayClearWithoutScrollbackClear(written)) {\n this.terminal.clear();\n }\n }\n\n ngAfterViewInit() {\n const containerElement = this.container().nativeElement;\n\n \n \n if (containerElement.offsetWidth < MIN_CONTAINER_SIZE || containerElement.offsetHeight < MIN_CONTAINER_SIZE) {\n this.initSkippedDueToSize = true;\n \n this.resizeObserver = new ResizeObserver(() => {\n if (containerElement.offsetWidth >= MIN_CONTAINER_SIZE && containerElement.offsetHeight >= MIN_CONTAINER_SIZE) {\n this.resizeObserver?.disconnect();\n this.resizeObserver = undefined;\n this.initSkippedDueToSize = false;\n this.initializeTerminal(containerElement);\n }\n });\n this.resizeObserver.observe(containerElement);\n return;\n }\n\n this.initializeTerminal(containerElement);\n }\n\n private initializeTerminal(containerElement: HTMLDivElement): void {\n const isInteractive = this.store.interactive();\n const useInteractiveTheme = this.store.useInteractiveTheme() || isInteractive;\n\n this.terminal = new Terminal({\n theme: useInteractiveTheme ? INTERACTIVE_THEME : DISPLAY_THEME,\n scrollback: isInteractive ? 10000 : 1000,\n fontSize: useInteractiveTheme ? 14 : 12,\n fontFamily: '\"FiraCode Nerd Font\", \"Fira Code\", \"SF Mono\", \"Cascadia Code\", \"Consolas\", \"Courier New\", monospace',\n lineHeight: 1.2,\n allowTransparency: false,\n disableStdin: !isInteractive,\n cursorBlink: isInteractive,\n cursorStyle: 'block',\n convertEol: true,\n rows: 24\n });\n\n this.fitAddon = new FitAddon();\n this.terminal.loadAddon(this.fitAddon);\n this.terminal.loadAddon(new WebLinksAddon());\n\n \n \n this.loadImageAddon();\n\n this.githubLinksAddon = new GitHubLinksAddon((event, issueNumber) => {\n this.dispatch({ id: XtermActionId.GITHUB_LINK_CLICK, payload: issueNumber });\n });\n this.terminal.loadAddon(this.githubLinksAddon);\n\n this.fileLinksAddon = new FileLinksAddon((event, filePath, line, column) => {\n if (event.metaKey || event.ctrlKey) {\n this.dispatch({ id: XtermActionId.FILE_LINK_CLICK, payload: { filePath, line, column } });\n }\n });\n this.terminal.loadAddon(this.fileLinksAddon);\n\n \n \n const ctx = this.store.sessionContext;\n this.terminal.loadAddon(new ProxyLinksAddon(\n ctx?.getServerUUID ?? (() => undefined),\n ctx?.getProxyToken,\n undefined,\n ctx?.getDeployVersion,\n ctx?.getProxyEndpoints,\n ctx?.onMissingToken,\n \n \n ctx?.getProxyEnv,\n ));\n\n this.terminal.open(containerElement);\n\n \n \n \n \n \n const core = (this.terminal as unknown as { _core?: { _charSizeService?: { onCharSizeChange?: (cb: () => void) => { dispose: () => void } } } })._core;\n const charSizeChange = core?._charSizeService?.onCharSizeChange;\n if (typeof charSizeChange === 'function') {\n const disp = charSizeChange.call(core!._charSizeService, () => {\n if (!this.terminal) return;\n this.fitToViewport();\n if (isInteractive) {\n this.dispatch({ id: XtermActionId.RESIZED, payload: { cols: this.cols, rows: this.rows } });\n }\n });\n if (disp && typeof disp.dispose === 'function') {\n this.disposables.push(disp);\n }\n }\n\n \n if (isInteractive) {\n this.disposables.push(\n this.terminal.onData((data) => {\n this.dispatch({ id: XtermActionId.DATA_INPUT, payload: data });\n }),\n this.terminal.onResize(({ cols, rows }) => this.dispatch({ id: XtermActionId.RESIZED, payload: { cols, rows } })),\n );\n }\n\n \n \n this.resizeObserver = new ResizeObserver(() => {\n try {\n if (!this.terminalInitialized()) {\n this.fitToViewport();\n \n if (this.stableTimer) clearTimeout(this.stableTimer);\n this.stableTimer = setTimeout(() => {\n this.stableTimer = null;\n this.fitToViewport();\n this.markInitialized(isInteractive);\n }, 150);\n } else {\n \n \n \n \n \n if (this.resizeTimer) clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = null;\n this.fitToViewport();\n if (isInteractive) {\n this.dispatch({ id: XtermActionId.RESIZED, payload: { cols: this.cols, rows: this.rows } });\n }\n }, 300);\n }\n } catch (e) {\n console.warn('Failed to fit terminal:', e);\n }\n });\n this.resizeObserver.observe(containerElement);\n\n \n this.fallbackTimer = setTimeout(() => {\n this.fallbackTimer = null;\n if (!this.terminalInitialized()) {\n this.fitToViewport();\n this.markInitialized(isInteractive);\n }\n }, 500);\n }\n\n \n private fitToViewport(): void {\n if (!this.terminal) return;\n \n \n const viewportElement = this.container().nativeElement;\n \n \n \n \n \n \n \n \n \n const sharedCanvas = getCanvasCellMetric();\n const probe = measureCellMetric();\n const cellWidth = sharedCanvas.cellWidth > 0 ? sharedCanvas.cellWidth : probe.cellWidth;\n const cellHeight = sharedCanvas.cellHeight > 0 ? sharedCanvas.cellHeight : probe.cellHeight;\n const result = computeFitToViewport({ viewportElement, cellWidth, cellHeight });\n if (!result) {\n \n this.fitAddon.fit();\n return;\n }\n if (result.cols !== this.terminal.cols || result.rows !== this.terminal.rows) {\n this.terminal.resize(result.cols, result.rows);\n }\n }\n\n ngOnDestroy() {\n \n if (this.stableTimer) clearTimeout(this.stableTimer);\n if (this.resizeTimer) clearTimeout(this.resizeTimer);\n if (this.fallbackTimer) clearTimeout(this.fallbackTimer);\n\n this.resizeObserver?.disconnect();\n\n \n for (const d of this.disposables) d.dispose();\n this.disposables.length = 0;\n\n \n if (typeof window !== 'undefined' && (window as any).__XTERM_INSTANCES__) {\n const instances = (window as any).__XTERM_INSTANCES__ as Terminal[];\n const index = instances.indexOf(this.terminal);\n if (index !== -1) {\n instances.splice(index, 1);\n }\n }\n\n this.terminal?.dispose();\n }\n\n private markInitialized(isInteractive: boolean): void {\n if (this.terminalInitialized()) return;\n this.terminalInitialized.set(true);\n this.terminalReady.emit(this.terminal);\n\n \n if (typeof window !== 'undefined') {\n (window as any).__XTERM_INSTANCES__ = (window as any).__XTERM_INSTANCES__ || [];\n (window as any).__XTERM_INSTANCES__.push(this.terminal);\n }\n\n \n if (isInteractive) {\n this.dispatch({ id: XtermActionId.RESIZED, payload: { cols: this.cols, rows: this.rows } });\n }\n }\n\n private async loadImageAddon(): Promise<void> {\n try {\n const { ImageAddon } = await import('@xterm/addon-image');\n const imageAddonOptions = {\n enableSizeReports: true,\n sixelSupport: true,\n sixelScrolling: true,\n sixelPaletteLimit: 256,\n };\n this.imageAddon = new ImageAddon(imageAddonOptions);\n this.terminal.loadAddon(this.imageAddon);\n } catch (e) {\n \n console.debug('ImageAddon not available:', e);\n }\n }\n\n \n public write(text: string): void {\n this.terminal?.write(text);\n }\n\n public writeln(text: string): void {\n this.terminal?.writeln(text);\n }\n\n public clear(): void {\n this.terminal?.clear();\n }\n\n public scrollToBottom(): void {\n this.terminal?.scrollToBottom();\n }\n\n public scrollToTop(): void {\n this.terminal?.scrollToTop();\n }\n\n public scrollLines(lines: number): void {\n this.terminal?.scrollLines(lines);\n }\n\n \n public focus(): void {\n this.terminal?.focus();\n const helperTextarea = this.container().nativeElement.querySelector(\n '.xterm-helper-textarea'\n ) as HTMLTextAreaElement | null;\n helperTextarea?.focus();\n }\n\n public fit(): void {\n this.fitToViewport();\n \n \n if (this.terminalInitialized() && this.terminal) {\n this.dispatch({ id: XtermActionId.RESIZED, payload: { cols: this.cols, rows: this.rows } });\n }\n }\n\n public get cols(): number {\n return this.terminal?.cols ?? 80;\n }\n\n public get rows(): number {\n return this.terminal?.rows ?? 24;\n }\n\n public getTerminal(): Terminal | undefined {\n \n return this.terminalInitialized() ? this.terminal : undefined;\n }\n\n \n public displayImage(base64Data: string, options?: {\n width?: string | number; \n height?: string | number; \n preserveAspectRatio?: boolean;\n name?: string;\n }): void {\n if (!this.terminal) return;\n\n const args: string[] = ['inline=1'];\n\n if (options?.width) {\n args.push(`width=${options.width}`);\n }\n if (options?.height) {\n args.push(`height=${options.height}`);\n }\n if (options?.preserveAspectRatio !== undefined) {\n args.push(`preserveAspectRatio=${options.preserveAspectRatio ? 1 : 0}`);\n }\n if (options?.name) {\n args.push(`name=${btoa(options.name)}`);\n }\n\n \n const escapeSequence = `\\x1b]1337;File=${args.join(';')}:${base64Data}\\x07`;\n this.terminal.write(escapeSequence);\n }\n\n \n public getImageAddon(): ImageAddon | undefined {\n return this.imageAddon;\n }\n}\n\n\nfunction hasVisibleContent(s: string): boolean {\n const stripped = s\n // eslint-disable-next-line no-control-regex -- ANSI CSI / OSC を strip するため意図的に \\x1b / \\x07 を match\n .replace(/\\x1b\\[[\\d;?]*[a-zA-Z]/g, '')\n // eslint-disable-next-line no-control-regex -- ANSI OSC を strip するため意図的に \\x1b / \\x07 を match\n .replace(/\\x1b\\][^\\x07\\x1b]*[\\x07\\x1b]/g, '');\n return /\\S/.test(stripped);\n}\n\n\nfunction hasDisplayClearWithoutScrollbackClear(s: string): boolean {\n return s.includes('\\x1b[2J') && !s.includes('\\x1b[3J');\n}\n","\n\nexport interface SvgToSixelOptions {\n width?: number;\n height?: number;\n backgroundColor?: string;\n textColor?: string;\n}\n\n\nexport async function generateAsciiArt(text: string, font = 'ANSI Shadow'): Promise<string> {\n try {\n const figlet = await import('figlet');\n return new Promise((resolve, reject) => {\n figlet.default.text(text, { font: font as any }, (err, result) => {\n if (err) {\n reject(err);\n return;\n }\n resolve(result || '');\n });\n });\n } catch (e) {\n \n console.debug('figlet not available:', e);\n return text;\n }\n}\n\n\nexport function asciiArtToSvg(\n asciiArt: string,\n options: { textColor?: string; fontSize?: number } = {}\n): string {\n const { textColor = '#00FFFF', fontSize = 14 } = options;\n\n const lines = asciiArt.split('\\n');\n const maxLineLength = Math.max(...lines.map(l => l.length));\n\n \n const charWidth = fontSize * 0.65;\n const lineHeight = fontSize * 1.4;\n const padding = 40;\n const width = Math.ceil(maxLineLength * charWidth) + padding;\n const height = Math.ceil(lines.length * lineHeight) + padding;\n\n \n const textElements = lines.map((line, i) => {\n \n const escapedLine = line\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"');\n\n return `<text x=\"20\" y=\"${20 + (i + 1) * lineHeight}\" fill=\"${textColor}\" xml:space=\"preserve\">${escapedLine}</text>`;\n }).join('\\n ');\n\n return `<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>text { font-family: 'Courier New', Consolas, monospace; font-size: ${fontSize}px; white-space: pre; }</style>\n ${textElements}\n</svg>`;\n}\n\n\nexport async function svgToSixel(\n svgString: string,\n options: SvgToSixelOptions = {}\n): Promise<string> {\n const { width = 400, height = 200, backgroundColor } = options;\n\n return new Promise((resolve, reject) => {\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n\n if (!ctx) {\n reject(new Error('Failed to get canvas context'));\n return;\n }\n\n \n if (backgroundColor) {\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(0, 0, width, height);\n }\n\n const img = new Image();\n const blob = new Blob([svgString], { type: 'image/svg+xml;charset=utf-8' });\n const url = URL.createObjectURL(blob);\n\n img.onload = () => {\n ctx.drawImage(img, 0, 0, width, height);\n URL.revokeObjectURL(url);\n\n const imageData = ctx.getImageData(0, 0, width, height);\n const sixelData = imageDataToSixel(imageData);\n resolve(sixelData);\n };\n\n img.onerror = (error) => {\n URL.revokeObjectURL(url);\n reject(error);\n };\n\n img.src = url;\n });\n}\n\n\nfunction imageDataToSixel(imageData: ImageData): string {\n const { width, height, data } = imageData;\n\n \n const palette = buildColorPalette(data, 16);\n const colorMap = new Map<string, number>();\n palette.forEach((color, index) => {\n colorMap.set(color, index);\n });\n\n \n let sixel = '\\x1bPq';\n\n \n palette.forEach((color, index) => {\n const [r, g, b] = hexToRgb(color);\n const rPct = Math.round((r / 255) * 100);\n const gPct = Math.round((g / 255) * 100);\n const bPct = Math.round((b / 255) * 100);\n sixel += `#${index};2;${rPct};${gPct};${bPct}`;\n });\n\n \n for (let bandY = 0; bandY < height; bandY += 6) {\n for (let colorIdx = 0; colorIdx < palette.length; colorIdx++) {\n const color = palette[colorIdx];\n let rowData = '';\n let hasPixels = false;\n\n rowData += `#${colorIdx}`;\n\n for (let x = 0; x < width; x++) {\n let sixelValue = 0;\n\n for (let dy = 0; dy < 6; dy++) {\n const y = bandY + dy;\n if (y >= height) continue;\n\n const pixelIndex = (y * width + x) * 4;\n const r = data[pixelIndex];\n const g = data[pixelIndex + 1];\n const b = data[pixelIndex + 2];\n const a = data[pixelIndex + 3];\n\n if (a < 128) continue;\n\n const pixelColor = rgbToHex(r, g, b);\n const nearestColor = findNearestColor(pixelColor, palette);\n\n if (nearestColor === color) {\n sixelValue |= (1 << dy);\n hasPixels = true;\n }\n }\n\n rowData += String.fromCharCode(63 + sixelValue);\n }\n\n if (hasPixels) {\n sixel += rowData;\n sixel += '$';\n }\n }\n\n if (bandY + 6 < height) {\n sixel += '-';\n }\n }\n\n sixel += '\\x1b\\\\';\n return sixel;\n}\n\nfunction buildColorPalette(data: Uint8ClampedArray, maxColors: number): string[] {\n const colorCounts = new Map<string, number>();\n\n for (let i = 0; i < data.length; i += 4) {\n const r = data[i];\n const g = data[i + 1];\n const b = data[i + 2];\n const a = data[i + 3];\n\n if (a < 128) continue;\n\n const qr = Math.floor(r / 16) * 16;\n const qg = Math.floor(g / 16) * 16;\n const qb = Math.floor(b / 16) * 16;\n const color = rgbToHex(qr, qg, qb);\n\n colorCounts.set(color, (colorCounts.get(color) || 0) + 1);\n }\n\n return Array.from(colorCounts.entries())\n .sort((a, b) => b[1] - a[1])\n .slice(0, maxColors)\n .map(([color]) => color);\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;\n}\n\nfunction hexToRgb(hex: string): [number, number, number] {\n const match = hex.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);\n if (!match) return [0, 0, 0];\n return [parseInt(match[1], 16), parseInt(match[2], 16), parseInt(match[3], 16)];\n}\n\nfunction findNearestColor(targetHex: string, palette: string[]): string {\n const [tr, tg, tb] = hexToRgb(targetHex);\n let nearest = palette[0];\n let minDist = Infinity;\n\n for (const color of palette) {\n const [r, g, b] = hexToRgb(color);\n const dist = (tr - r) ** 2 + (tg - g) ** 2 + (tb - b) ** 2;\n if (dist < minDist) {\n minDist = dist;\n nearest = color;\n }\n }\n\n return nearest;\n}\n\n\nexport async function getMachinaAsciiArtSixel(\n options: SvgToSixelOptions = {}\n): Promise<string> {\n \n const machinaArt = await generateAsciiArt('MACHINA', 'ANSI Shadow');\n\n \n const fontSize = 14;\n const svg = asciiArtToSvg(machinaArt, {\n textColor: options.textColor || '#00FFFF',\n fontSize\n });\n\n \n const lines = machinaArt.split('\\n');\n const maxLineLength = Math.max(...lines.map(l => l.length));\n const charWidth = fontSize * 0.65;\n const lineHeight = fontSize * 1.4;\n const padding = 40;\n const defaultWidth = Math.ceil(maxLineLength * charWidth) + padding;\n const defaultHeight = Math.ceil(lines.length * lineHeight) + padding;\n\n return svgToSixel(svg, {\n width: options.width || defaultWidth,\n height: options.height || defaultHeight,\n backgroundColor: options.backgroundColor || '#0a0a0a',\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-pages-command-harness.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/pages/command/harness/command-page.harness.ts","../../../../../packages/@xxmachina/components/src/lib/pages/command/harness/xxmachina-components-pages-command-harness.ts"],"sourcesContent":["import { ComponentHarness, HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { FormTemplateHarness } from '@ng-atomic/components/templates/form/harness';\n\nexport class CommandPageHarness extends ComponentHarness {\n static hostSelector = 'pages-command';\n\n private _form = this.locatorFor(FormTemplateHarness);\n\n static with(options: Record<string, unknown> = {}): HarnessPredicate<CommandPageHarness> {\n return new HarnessPredicate(CommandPageHarness, options);\n }\n\n async getForm(): Promise<FormTemplateHarness> {\n return this._form();\n }\n\n async getFieldByLabel(label: string): Promise<TestElement | null> {\n const form = await this._form();\n return form.getFieldByLabel(label);\n }\n\n async clickExecuteButton(): Promise<void> {\n const form = await this._form();\n await form.clickActionButton();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGM,MAAO,kBAAmB,SAAQ,gBAAgB,CAAA;AACtD,IAAA,OAAO,YAAY,GAAG,eAAe;AAE7B,IAAA,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;AAEpD,IAAA,OAAO,IAAI,CAAC,OAAA,GAAmC,EAAE,EAAA;AAC/C,QAAA,OAAO,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC1D;AAEA,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;IAEA,MAAM,eAAe,CAAC,KAAa,EAAA;AACjC,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;AAC/B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACpC;AAEA,IAAA,MAAM,kBAAkB,GAAA;AACtB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;AAC/B,QAAA,MAAM,IAAI,CAAC,iBAAiB,EAAE;IAChC;;;ACxBF;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-pages-command.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/pages/command/command.page.ts","../../../../../packages/@xxmachina/components/src/lib/pages/command/xxmachina-components-pages-command.ts"],"sourcesContent":["import { Component, computed, Directive, effect, inject, input, Provider, untracked } from '@angular/core';\nimport { AbstractControl, FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { RouterOutletFrame, RouterOutletFrameStore } from '@ng-atomic/components/frames/router-outlet';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { _computed, Action, applyToInput, computeFake, Effect, InjectableComponent, NgAtomicComponent, provideEffect, TokenizedType } from '@ng-atomic/core';\nimport { ActivatedRoute, ParamMap, Params } from '@angular/router';\nimport { FormTemplate, FormTemplateStore } from '@ng-atomic/components/templates/form';\nimport { getInvalid$, getValue$, injectHasNext, injectRouteData, injectRouteData$, injectRouteParam, injectRouteParam$, injectRouteParamMap, injectRouteSkip, injectUnflattenRouteParam$ } from '@ng-atomic/common/utils';\nimport { map, tap, filter, combineLatest, shareReplay, of } from 'rxjs';\nimport { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { injectNavStartActionsV2, makeDI } from '@ng-atomic/common/services/ui';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { Command } from '@xxmachina/common/domain/models';\nimport { injectUnflattenRouteParam } from '@ng-atomic/common/utils';\nimport { merge, pick } from 'lodash-es';\nimport { injectOne$ } from '@ng-atomic/common/stores/entities';\nimport { MachinaDevService } from '@xxmachina/components/services/debug';\nimport { EndpointHelper } from '@xxmachina/common/domain/models';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { CommandFeature } from '@xxmachina/components/features/command';\nimport { TabsFrame } from '@ng-atomic/components/frames/tabs';\nimport { QueryFormGroup } from '@xxmachina/components/groups/query-form';\nimport { CommandFormGroup } from '@xxmachina/components/groups/command-form';\nimport { QueryFeature, QueryGraphqlSchemaFeature } from '@xxmachina/components/features/query';\nimport { CloudStorageService } from '@nx-ddd/common/infrastructure/externals/cloud-storage';\nimport { injectErrorMessageResolver } from '@ng-atomic/common/pipes/error';\n\nenum ActionId {\n EXECUTE_COMMAND = 'execute-command',\n FILE_SELECTED = 'file-selected',\n}\n\nfunction buildFormData(form: FormGroup | FormArray, formData: FormData = new FormData(), parentKey = ''): FormData {\n Object.keys(form.controls).forEach(key => {\n const control = form.get(key);\n const formKey = parentKey ? `${parentKey}.${key}` : key;\n\n if (control instanceof FormGroup || control instanceof FormArray) {\n \n buildFormData(control, formData, formKey);\n } else if (control instanceof FormControl) {\n \n const value = control.value;\n if (value !== null && value !== undefined) {\n formData.append(formKey, value);\n }\n }\n });\n\n return formData;\n}\n\nfunction buildData(form: AbstractControl, contentType: string) {\n if (contentType === 'multipart/form-data') {\n return buildFormData(form as FormGroup);\n } else {\n return form.getRawValue();\n }\n}\n\nexport function buildActions(hasPermission: boolean, invalid: boolean): Action[] {\n return hasPermission\n ? [{ id: ActionId.EXECUTE_COMMAND, name: '実行', disabled: invalid }]\n : [{ id: ActionId.EXECUTE_COMMAND, name: '実行権限がありません', disabled: true }]\n}\n\n@TokenizedType()\n@Directive({ standalone: true })\nexport class CommandPageStore extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly DI = makeDI(CommandPageStore, () => {\n const dev = inject(MachinaDevService);\n return () => ({\n title: '' as string,\n style: <any>{\n width: 'var(--page-width-lv1)',\n },\n baseUrls: [] as string[],\n command: {\n id: '1',\n webApiRequest: {\n serverUrl: null,\n apiJsonUrl: null,\n path: '/users',\n method: 'GET',\n bodySchema: null,\n },\n } as unknown as Command,\n navEndActions: <Action[]>[],\n additionalFormFieldMap: <FormFieldMap>(dev.isDevMode() ? {} : {\n 'id': { type: 'hidden' },\n '__typename': { type: 'hidden' },\n 'kind': { type: 'hidden' },\n }),\n });\n }, ['@xxmachina/components', 'pages', 'command']);\n static readonly Config = CommandPageStore.DI.Config;\n static readonly Initializer = CommandPageStore.DI.Initializer;\n\n static provideDefault(): Provider[] {\n return [\n CommandPageStore.DI.provideConfig(),\n CommandPageStore.provideDefaultInitializer(),\n CommandPageStore.provideDefaultEffects(),\n ];\n }\n\n static provideCustom(): Provider[] {\n return [\n CommandPageStore.provideDefault(),\n CommandPageStore.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore.provideSetupInitializeQueryInitializer(),\n ];\n }\n\n static provideDefaultV2(): Provider[] {\n return [\n CommandPageStore.Config.provide(),\n CommandPageStore.provideDefaultInitializer(),\n CommandPageStore.provideDefaultEffects(),\n CommandPageStore.provideCommandIdFromRouteDataInitializer(),\n CommandPageStore.provideSetupInitializeQueryInitializer(),\n CommandPageStore.provideInitialFormValueFromQueryResult(),\n CommandPageStore.provideQueryFromRouteData(),\n ];\n }\n\n static provideDefaultInitializer(): Provider[] {\n return [\n CommandPageStore.providePatchFormFromRouteParamInitializer(),\n CommandPageStore.providePatchCommandFormValueFromCommandInitializer(),\n CommandPageStore.provideInitialFormValueFromQueryResult()\n ];\n }\n\n static provideDefaultEffects(): Provider[] {\n return [\n CommandPageStore.provideExecuteCommandEffect(),\n CommandPageStore.provideBackEffect(),\n QueryFeature.provideDefaultEffects(),\n ];\n }\n\n static provideAutoTogglePageInitializer(): Provider[] {\n return [\n provideEffect(RouterOutletFrameStore.ActionId.DEACTIVATED, () => {\n const store = inject(CommandPageStore);\n const style = computeFake(store.style());\n return () => applyToInput(store, 'style', { ...style, paddingLeft: `0` });\n }),\n CommandPageStore.DI.provideInitializer((store) => {\n const hasNext = injectHasNext();\n const style = computeFake(store.style());\n effect(() => {\n if (hasNext() && style.width !== 'var(--page-width-lv1)') {\n setTimeout(() => {\n applyToInput(store, 'style', { ...style, paddingLeft: 'var(--page-width-lv1)' });\n }, 300);\n }\n });\n }),\n ];\n }\n\n static provideCommandFromRouteParamInitializer(paramName = 'commandId'): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const commandId = injectRouteParam(paramName);\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId()!) as never));\n });\n }\n\n static provideCommandIdFromRouteDataInitializer(): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const commandId = injectRouteData<string>('commandId');\n const service = inject(CommandService);\n effect(() => applyToInput(store, 'command', service.getCommand(commandId()) as never));\n });\n }\n\n static providePatchFormFromRouteParamInitializer() {\n return [\n CommandPageStore.Initializer.provide(store => {\n effect(() => store.form().patchValue(store.data()));\n }),\n ]\n }\n\n static providePatchCommandFormValueFromCommandInitializer() {\n return [\n CommandPageStore.Initializer.provide(store => {\n effect(() => {\n if (!store.command()) return;\n store.feature.commandForm().patchValue({ ...store.command() });\n });\n })\n ];\n }\n\n static provideQueryIdFromRouteParam(key = 'queryId'): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const queryId$ = injectRouteParam$(key);\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectOne$(Query, { id: queryId$ });\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(\n filter(({ query, params }) => !!query && !!params),\n map(({ query, params }) => QueryHelper.setup(query, params)),\n tap((query) => console.debug('[CommandPage] query:', query)),\n shareReplay(1),\n ));\n effect(() => {\n console.debug('[CommandPage] setupQuery:', setupQuery());\n store.queryFeature.form.patchValue(setupQuery() as never);\n });\n });\n }\n\n static provideQueryFromRouteData(key = 'query'): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const params$ = injectUnflattenRouteParam$('data');\n const query$ = injectRouteData$<Query>(key);\n const setupQuery = derivedAsync(() => combineLatest({\n query: query$,\n params: params$,\n }).pipe(\n filter(({ query, params }) => !!query),\n map(({ query, params }) => QueryHelper.setup(query, params)),\n shareReplay(1),\n ));\n effect(() => { store.queryFeature.form.patchValue(setupQuery() as never); });\n });\n }\n\n static provideRouteParamsToDataInitializer(projector: (params: Params) => Record<string, any>): Provider[] {\n return CommandPageStore.Initializer.provide((store) => {\n const route = inject(ActivatedRoute);\n const data = derivedAsync(() => route.params.pipe(map(params => projector(params))));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n\n static provideRouteParamMapToDataInitializer(projector: (params: ParamMap) => Record<string, any>): Provider[] {\n return CommandPageStore.Initializer.provide((store) => {\n const paramMap = injectRouteParamMap({merge: true});\n const data = computed(() => projector(paramMap()));\n effect(() => applyToInput(store, 'data', data()));\n });\n }\n\n static provideSetupInitializeQueryInitializer(): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n const initializeQuery = derivedAsync(() => combineLatest({\n initializeQuery: of(store.initializeQuery()),\n data: of(store.data())\n }).pipe(\n filter(({ initializeQuery, data }) => !!initializeQuery && !!data),\n map(({ initializeQuery, data }) => QueryHelper.setup(initializeQuery, data)),\n filter((initializeQuery) => !!initializeQuery),\n shareReplay(1),\n ));\n \n effect(() => store.queryFeature.form.patchValue(initializeQuery() as never));\n });\n }\n\n static provideInitialFormValueFromQueryResult(): Provider {\n return CommandPageStore.Initializer.provide((store) => {\n effect(() => store.form().patchValue(store.queryFeature.result() as never));\n store.queryFeature.refresh();\n });\n }\n\n static provideExecuteCommandEffect(): Provider {\n return provideEffect(ActionId.EXECUTE_COMMAND, () => {\n const store = inject(CommandPageStore);\n const app = inject(AppService);\n const paramKeys = computed(() => EndpointHelper.extract(store.feature.path()!));\n const resolvedParams = computed(() => pick(store.data(), paramKeys()));\n\n return () => {\n const resolvedEndpoint = EndpointHelper.resolve(store.feature.path()!, resolvedParams());\n const data = buildData(store.form(), store.command()?.webApiRequest?.contentType);\n const command = merge(\n store.command(),\n store.feature.commandForm().getRawValue(),\n { webApiRequest: { path: resolvedEndpoint } },\n );\n app.loading.await(() => {\n return store.feature.execute(command, data).then(() => {\n app.snackBar.open('成功しました。');\n \n }).catch((error) => {\n console.error(error);\n app.snackBar.openError(error);\n });\n });\n }\n });\n }\n\n static provideBackEffect(): Provider {\n return provideEffect(FormTemplateStore.ActionId.BACK, () => {\n return () => history.back();\n });\n }\n\n static provideFileSelectedEffect(): Provider {\n return provideEffect(CommandPageStore.ActionId.FILE_SELECTED, () => {\n const store = inject(CommandPageStore);\n return (payload) => {\n store.form().patchValue({ file: payload.files?.[0] })\n }\n });\n }\n\n static provideDebugFormInitializer(): Provider {\n return CommandPageStore.Initializer.provide(() => {\n const store = inject(CommandPageStore);\n \n \n const getInvalidControls = (formGroup: any, path = '') => {\n let invalidControls: any[] = [];\n \n Object.keys(formGroup.controls).forEach(key => {\n const control = formGroup.controls[key];\n const currentPath = path ? `${path}.${key}` : key;\n \n \n if (control.invalid) {\n invalidControls.push({\n path: currentPath,\n errors: control.errors,\n value: control.value,\n status: control.status,\n valid: control.valid,\n invalid: control.invalid,\n dirty: control.dirty,\n touched: control.touched\n });\n }\n \n \n if (control.controls) {\n invalidControls = invalidControls.concat(getInvalidControls(control, currentPath));\n }\n });\n \n return invalidControls;\n };\n\n const formValue_ = derivedAsync(() => getValue$(store.form()));\n \n effect(() => {\n const formValue = formValue_();\n const form = untracked(() => store.form());\n console.log('[CommandPage] Form value changed:', formValue);\n console.log('[CommandPage] CommandForm valid:', form?.valid);\n console.log('[CommandPage] CommandForm status:', form?.status);\n if (form) {\n const invalidControls = getInvalidControls(form);\n const invalidPaths = invalidControls.map(control => control.path);\n console.log(`[CommandPage] Found ${invalidControls.length} INVALID controls:`);\n console.log('[CommandPage] INVALID PATHS:', invalidPaths);\n }\n });\n });\n }\n\n static provideSelectedFileUploadEffect(\n callbackFactory: () => (result: {file: File, path: string, url: string}) => void | Promise<void>,\n {\n validator = () => null,\n getPath,\n }: {\n validator?: (file: File) => {type: boolean, size: boolean} | null,\n getPath: () => string,\n }\n ): Provider {\n return provideEffect(CommandPageStore.ActionId.FILE_SELECTED, () => {\n const storage = inject(CloudStorageService);\n const app = inject(AppService);\n const callback = callbackFactory();\n const errorMessageResolver = injectErrorMessageResolver();\n \n return (payload: { scope: string, files: File[]}) => {\n const file = payload.files?.[0];\n const errors = validator(file);\n if (errors && Object.keys(errors).length > 0) {\n app.snackBar.open(errorMessageResolver(errors));\n return;\n }\n return app.loading.await(() => {\n const path = getPath();\n return storage.upload(path, file).then(() => {\n app.snackBar.open('ファイルをアップロードしました');\n return storage.getDownloadUrl(path).then((imageUrl) => {\n return callback({file, path, url: imageUrl});\n });\n }).catch((error) => {\n console.error(error);\n app.snackBar.open('ファイルのアップロードに失敗しました');\n });\n });\n }\n });\n }\n\n readonly feature = inject(CommandFeature);\n readonly config = CommandPageStore.Config.inject();\n readonly queryFeature = inject(QueryFeature);\n readonly style = input(_computed(() => this.config().style));\n readonly #navStartActions = injectNavStartActionsV2();\n readonly navStartActions = input(_computed(() => this.#navStartActions()));\n readonly navEndActions = input(_computed(() => this.config().navEndActions));\n readonly command = input(_computed(() => this.config().command));\n readonly form = input(_computed(() => this.feature.form()));\n readonly extractedFormFieldMap = input(_computed(() => this.feature.extractedFormFieldMap()));\n readonly additionalFormFieldMap = input(_computed(() => this.config().additionalFormFieldMap));\n readonly formFieldMap = input(_computed<FormFieldMap>(() => ({\n ...this.extractedFormFieldMap(),\n ...this.additionalFormFieldMap()\n })));\n readonly formFieldKeys = input<string[]>(_computed(() => []));\n readonly formFlatExcludes = input<string[]>(_computed(() => []));\n protected readonly _initializeQuery = injectRouteData<Query>('query');\n readonly initializeQuery = input(_computed(() => this._initializeQuery()));\n protected readonly _data = injectUnflattenRouteParam('data');\n readonly data = input(_computed(() => this._data()));\n protected readonly formInvalid = derivedAsync(() => getInvalid$(this.form()));\n readonly title = input(_computed(() => (this.config() as any).title || this.feature.title()));\n readonly #actions = derivedAsync(() => buildActions(this.feature.hasPermission(this.command()), this.formInvalid()!));\n readonly actions = input(_computed(() => this.#actions()));\n readonly skip = injectRouteSkip();\n\n constructor() {\n super();\n CommandPageStore.Initializer.initializeStore(this);\n }\n}\n\n@Component({\n selector: 'pages-command',\n imports: [\n RouterOutletFrame,\n FormTemplate,\n TabsFrame,\n CommandFormGroup,\n QueryFormGroup\n ],\n providers: [\n CommandFeature,\n QueryFeature,\n QueryGraphqlSchemaFeature\n ],\n template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-form\n [form]=\"store.form()\"\n [style]=\"store.style()\"\n [fieldMap]=\"store.formFieldMap()\"\n [fieldKeys]=\"store.formFieldKeys()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n >\n <frames-tabs [labels]=\"['Command', 'InitializeQuery']\" dashboard>\n <ng-template #tab>\n <groups-command-form (action)=\"dispatch($event)\"/>\n </ng-template>\n <ng-template #tab>\n <groups-query-form\n [form]=\"store.queryFeature.form\"\n (action)=\"dispatch($event)\"\n />\n </ng-template>\n </frames-tabs> \n </templates-form>\n </frames-router-outlet>\n `,\n styleUrls: ['./command.page.scss'],\n hostDirectives: [\n {\n directive: CommandPageStore,\n inputs: [\n 'style',\n 'navEndActions',\n 'command',\n 'form',\n 'additionalFormFieldMap',\n 'formFieldMap',\n 'formFlatExcludes',\n 'initializeQuery',\n 'data',\n 'actions',\n ]\n },\n ]\n})\nexport class CommandPage extends NgAtomicComponent {\n protected readonly store = inject(CommandPageStore);\n readonly route = inject(ActivatedRoute);\n readonly app = inject(AppService);\n readonly parentRouterOutletFrame = inject(RouterOutletFrame, {optional: true});\n\n @Effect(FormTemplateStore.ActionId.FILE_SELECTED)\n protected onFileSelected(payload: any) {\n this.dispatch({ id: ActionId.FILE_SELECTED, payload });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-pages-query-v2.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/pages/query-v2/query-v2.page.store.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query-v2/query-v2.page.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query-v2/query-v2.page.html","../../../../../packages/@xxmachina/components/src/lib/pages/query-v2/xxmachina-components-pages-query-v2.ts"],"sourcesContent":["import { Directive, computed, effect, inject, input, signal, Provider } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { InjectableComponent, provideEffect } from '@ng-atomic/core';\nimport { Query } from '@xxmachina/common/domain/models';\nimport { QueryFeature } from '@xxmachina/components/features/query';\nimport { Action } from '@ng-atomic/core';\nimport { injectRouteData } from '@ng-atomic/common/utils';\nimport { map, startWith } from 'rxjs';\nimport { buildItemsMapFromResult } from '@xxmachina/components/pages/query';\nimport { FormBuilder } from '@angular/forms';\nimport { ListOrganism } from '@ng-atomic/components/organisms/list';\n\nexport type PresenterType = 'table' | 'list';\n\nexport enum ActionId {\n CLICK_ITEM = '[@xxmachina/components/pages/query-v2] Click Item',\n}\n\n@Directive({ standalone: true })\nexport class QueryPageV2Store extends InjectableComponent {\n static readonly ActionId = ActionId;\n\n \n static provideClickItemEffect<T>(handler: (item: T) => void): Provider[] {\n return [\n provideEffect(ListOrganism.ActionId.CLICK_ITEM, () => handler),\n ];\n }\n\n readonly query = input<Query>(injectRouteData<Query>('query')());\n readonly navEndActions = input<Action[]>(injectRouteData<Action[]>('navEndActions')());\n readonly columnNames = input<string[]>([]);\n readonly presenter = input<PresenterType>(injectRouteData<PresenterType>('presenter')() ?? 'table');\n\n readonly feature = inject(QueryFeature);\n private readonly fb = inject(FormBuilder);\n\n \n readonly queryPanelExpanded = signal(true);\n readonly transformerPanelExpanded = signal(false);\n readonly presenterPanelExpanded = signal(true);\n\n \n readonly openPanelCount = computed(() =>\n [this.queryPanelExpanded(), this.transformerPanelExpanded(), this.presenterPanelExpanded()]\n .filter(Boolean).length\n );\n\n \n toggleQueryPanel(expanded: boolean): void {\n if (!expanded && this.openPanelCount() <= 1) return;\n this.queryPanelExpanded.set(expanded);\n }\n\n toggleTransformerPanel(expanded: boolean): void {\n if (!expanded && this.openPanelCount() <= 1) return;\n this.transformerPanelExpanded.set(expanded);\n }\n\n togglePresenterPanel(expanded: boolean): void {\n if (!expanded && this.openPanelCount() <= 1) return;\n this.presenterPanelExpanded.set(expanded);\n }\n\n \n readonly title = computed(() => this.query()?.title || 'データ一覧');\n readonly queryType = computed(() => this.query()?.type || 'graphql');\n\n \n private readonly isLoading$ = this.feature.result$.pipe(\n map(() => false),\n startWith(true),\n );\n readonly isLoading = toSignal(this.isLoading$, { initialValue: true });\n\n \n readonly result = computed(() => this.feature.result() ?? {});\n\n readonly itemsMap = computed(() => buildItemsMapFromResult(this.result()));\n\n readonly items = computed(() => {\n const map = this.itemsMap();\n const keys = Object.keys(map);\n if (keys.length === 0) return [];\n return map[keys[0]]?.items ?? [];\n });\n\n readonly itemCount = computed(() => this.items().length);\n\n \n readonly displayedColumns = computed(() => {\n const items = this.items();\n if (items.length === 0) return [];\n const firstItem = items[0];\n if (!firstItem || typeof firstItem !== 'object') return [];\n return Object.keys(firstItem);\n });\n\n \n readonly tableForm = computed(() => {\n const columns = this.displayedColumns();\n const columnsMap: any = {};\n columns.forEach(col => {\n columnsMap[col] = { width: 150, hidden: false };\n });\n return this.fb.group({\n columns: this.fb.group({ map: this.fb.group(columnsMap) })\n });\n });\n\n \n readonly columnFormFieldMap = computed(() => {\n const columns = this.displayedColumns();\n const fieldMap: any = {};\n columns.forEach(col => {\n fieldMap[col] = { type: 'text', label: col };\n });\n return fieldMap;\n });\n\n constructor() {\n super();\n\n \n effect(() => {\n const query = this.query();\n if (query) {\n this.feature.form.patchValue({\n id: query.id,\n title: query.title,\n type: query.type,\n graphql: query.graphql as never,\n });\n this.feature.refresh();\n }\n });\n }\n\n refresh(): void {\n this.feature.refresh();\n }\n}\n","import { Component, ChangeDetectionStrategy, inject } from '@angular/core';\n\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { NavigatorOrganismStore } from '@ng-atomic/components/organisms/navigator';\nimport { NgAtomicComponent, Effect } from '@ng-atomic/core';\nimport { JsonPipe } from '@angular/common';\nimport { QueryFeature } from '@xxmachina/components/features/query';\nimport { QueryPageV2Store, ActionId } from './query-v2.page.store';\nimport { ListOrganism } from '@ng-atomic/components/organisms/list';\nimport { TableOrganism } from '@ng-atomic/components/organisms/table';\n\n@Component({\n selector: 'pages-query-v2',\n standalone: true,\n imports: [\n ReactiveFormsModule,\n RouterOutletFrame,\n MatExpansionModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n NavigatorOrganismStore,\n TableOrganism,\n ListOrganism,\n JsonPipe\n],\n providers: [\n QueryFeature.provideDefault(),\n ],\n templateUrl: './query-v2.page.html',\n styleUrl: './query-v2.page.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: QueryPageV2Store,\n inputs: ['query', 'navEndActions', 'columnNames', 'presenter']\n }\n ]\n})\nexport class QueryPageV2 extends NgAtomicComponent {\n static readonly ActionId = ActionId;\n readonly store = inject(QueryPageV2Store);\n\n @Effect(ListOrganism.ActionId.CLICK_ITEM)\n protected onItemClick(item: any) {\n this.dispatch({ id: ActionId.CLICK_ITEM, payload: item });\n }\n}\n","<frames-router-outlet>\n <organisms-navigator\n injectable\n [endActions]=\"store.navEndActions()\"\n (action)=\"dispatch($event)\"\n >\n <span class=\"title\">{{ store.title() }}</span>\n </organisms-navigator>\n\n <div class=\"qtp-container\">\n <!-- Query Panel -->\n <mat-expansion-panel class=\"config-panel query-panel\"\n [expanded]=\"store.queryPanelExpanded()\"\n (opened)=\"store.toggleQueryPanel(true)\"\n (closed)=\"store.toggleQueryPanel(false)\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon>code</mat-icon>\n <span>Query</span>\n </mat-panel-title>\n <mat-panel-description class=\"header-actions\">\n <span class=\"query-type\">{{ store.queryType() }}</span>\n <button mat-flat-button color=\"primary\" class=\"header-run-button\"\n (click)=\"store.refresh(); $event.stopPropagation()\">\n <mat-icon>play_arrow</mat-icon>Run\n </button>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div class=\"query-content\">\n <div class=\"query-form\" [formGroup]=\"store.feature.form\">\n <div class=\"form-row\" formGroupName=\"graphql\">\n <mat-form-field appearance=\"outline\" class=\"endpoint-field\">\n <mat-label>Endpoint</mat-label>\n <input matInput formControlName=\"endpoint\" placeholder=\"GraphQL Endpoint\">\n </mat-form-field>\n </div>\n <div class=\"form-row query-row\" formGroupName=\"graphql\">\n <mat-form-field appearance=\"outline\" class=\"query-field\">\n <mat-label>Query</mat-label>\n <textarea matInput formControlName=\"query\" rows=\"12\"\n placeholder=\"GraphQL Query or Subscription\"></textarea>\n </mat-form-field>\n </div>\n <div class=\"form-row variables-row\" formGroupName=\"graphql\">\n <mat-form-field appearance=\"outline\" class=\"variables-field\">\n <mat-label>Variables (JSON)</mat-label>\n <textarea matInput formControlName=\"variablesJson\" rows=\"3\"\n placeholder='{\"limit\": 25, \"offset\": 0}'></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class=\"headers-field\">\n <mat-label>Headers (JSON)</mat-label>\n <textarea matInput formControlName=\"headersJson\" rows=\"3\"\n placeholder='{\"content-type\": \"application/json\"}'></textarea>\n </mat-form-field>\n </div>\n </div>\n </div>\n </mat-expansion-panel>\n\n <!-- Transformer Panel -->\n <mat-expansion-panel class=\"config-panel transformer-panel\"\n [expanded]=\"store.transformerPanelExpanded()\"\n (opened)=\"store.toggleTransformerPanel(true)\"\n (closed)=\"store.toggleTransformerPanel(false)\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon>transform</mat-icon>\n <span>Transformer</span>\n </mat-panel-title>\n <mat-panel-description class=\"header-actions\">\n <button mat-flat-button color=\"primary\" class=\"header-run-button\"\n (click)=\"store.refresh(); $event.stopPropagation()\">\n <mat-icon>play_arrow</mat-icon>Run\n </button>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div class=\"transformer-content\" [formGroup]=\"store.feature.form\">\n <div formGroupName=\"graphql\">\n <mat-form-field appearance=\"outline\" class=\"transformer-field\">\n <mat-label>Transformer (TypeScript)</mat-label>\n <textarea matInput formControlName=\"transformerTs\" rows=\"10\"\n placeholder=\"const transformer = (data) => data;\"></textarea>\n </mat-form-field>\n </div>\n </div>\n </mat-expansion-panel>\n\n <!-- Presenter Panel -->\n <mat-expansion-panel class=\"config-panel presenter-panel\"\n [expanded]=\"store.presenterPanelExpanded()\"\n (opened)=\"store.togglePresenterPanel(true)\"\n (closed)=\"store.togglePresenterPanel(false)\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon>table_chart</mat-icon>\n <span>Presenter</span>\n </mat-panel-title>\n <mat-panel-description class=\"header-actions\">\n @if (store.isLoading()) {\n <mat-spinner diameter=\"16\"></mat-spinner>\n }\n <span>{{ store.itemCount() }} 件</span>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div class=\"presenter-content\">\n @switch (store.presenter()) {\n @case ('list') {\n <organisms-list\n [items]=\"store.items()\"\n (action)=\"dispatch($event)\"\n />\n }\n @default {\n <organisms-table\n [items]=\"store.items()\"\n [form]=\"store.tableForm()\"\n [columnFormFieldMap]=\"store.columnFormFieldMap()\"\n />\n }\n }\n </div>\n </mat-expansion-panel>\n </div>\n</frames-router-outlet>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.QueryPageV2Store"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-pages-query.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/pages/query/interfaces/action-id.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/utils/items-map.builder.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/query-action.reducer.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/providers/command-effects.provider.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/providers/editing-effects.provider.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/providers/table-effects.provider.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/providers/navigation-effects.provider.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/providers/config.provider.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/query-page.store.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/query-page.component.ts","../../../../../packages/@xxmachina/components/src/lib/pages/query/xxmachina-components-pages-query.ts"],"sourcesContent":["export enum ActionId {\n NAVIGATE_TO_IFRAME = 'NAVIGATE TO IFRAME',\n TOGGLE_PAGE = '全体表示',\n TOGGLE_VARIABLES_FORM = '変数フォームの表示切替',\n ADD = '追加',\n DETAIL = '詳細',\n}\n","import { ItemsMap } from '@ng-atomic/components/templates/_index';\nimport { omitBy } from 'lodash-es';\n\n\nexport function buildItemsMap(\n itemsResult: Record<string, any[]> = {},\n itemsLengthResult: Record<string, number> = {},\n) {\n return Object.entries(itemsResult).reduce((acc, [key, items]) => ({\n ...acc,\n [key]: {\n items,\n itemsLength: itemsLengthResult[key] ?? items.length,\n }\n }), {});\n}\n\n\nexport function buildItemsMapFromResult(\n result: Record<string, any[]> & Record<`${string}Length`, number> = {},\n): ItemsMap<any> {\n console.debug('[DEBUG] result:', result);\n const data = omitBy(result, (_, key) => key.startsWith('_'));\n\n if (Array.isArray(data)) {\n return buildItemsMap({ default: data });\n } else if (data && typeof data === 'object' && 'items' in data) {\n const itemsMap = buildItemsMap(\n { default: data.items as any[] },\n { default: data?.itemsLength as number }\n );\n return itemsMap;\n } else {\n const itemsResult: Record<string, any[]> = {};\n const itemsLengthResult: Record<string, number> = {};\n Object.entries(data).forEach(([key, value]) => {\n if (key.endsWith('Length')) {\n itemsLengthResult[key.replace('Length', '')] = value as number;\n } else {\n itemsResult[key] = value as any[];\n }\n });\n return buildItemsMap(itemsResult, itemsLengthResult);\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { Action } from '@ng-atomic/core';\n\n@Injectable({ providedIn: 'root' })\nexport class QueryActionReducer {\n readonly action = signal<Action>(null as unknown as Action);\n readonly action$ = toObservable(this.action);\n\n dispatch(action: Action) {\n this.action.set(action);\n }\n}\n","import { inject, Provider } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { provideEffect } from '@ng-atomic/core';\nimport { injectHasNext } from '@ng-atomic/common/utils';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { CommandActionPayload } from '@xxmachina/common/domain/builder';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { flatten } from 'flat';\nimport { omitBy } from 'lodash-es';\n\n\nexport function provideCommandExecuteEffect(): Provider[] {\n return [\n provideEffect(CommandService.ActionId.EXECUTE_COMMAND, () => {\n const commandService = inject(CommandService);\n return async (payload: CommandActionPayload<any>) => {\n const app = inject(AppService);\n const obj = omitBy(payload.body, (value) => typeof value === undefined);\n const command = inject(CommandService).getCommand(payload.command.id);\n console.debug('[QueryPage] payload:', payload);\n if (payload.options?.confirm && !(await payload.options?.confirm())) {\n app.snackBar.open('キャンセルされました。');\n return;\n }\n app.loading.await(() => {\n return commandService.execute(command!, obj).then(() => {\n app.snackBar.open('成功しました。');\n }).catch((error) => {\n console.error(error);\n app.snackBar.open(`エラー: ${error.message}`);\n });\n });\n };\n }),\n ];\n}\n\n\nexport function provideCommandNavigateEffect(): Provider[] {\n return [\n provideEffect(CommandService.ActionId.NAVIGATE_TO_COMMAND_PAGE, () => {\n const app = inject(AppService);\n const route = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n return (payload: CommandActionPayload<any>) => {\n const flat = flatten<object, object>({\n data: { id: payload.body?.id },\n queryId: payload?.options?.queryId\n });\n const _flat = omitBy(flat, (value) => value === undefined);\n app.router.navigate(['commands', { skip: true }, payload.command.id, _flat], {\n relativeTo: route,\n replaceUrl: hasNext(),\n });\n };\n }),\n ];\n}\n","import { inject, Provider } from '@angular/core';\nimport { provideEffect } from '@ng-atomic/core';\nimport { EditingStateManager } from '@ng-atomic/common';\nimport { ValueCellAtomStore } from '@ng-atomic/components/atoms/value-cell';\n\n\nexport function provideEditingStateEffects(): Provider[] {\n return [\n provideEffect(ValueCellAtomStore.ActionId.START_EDIT, () => {\n const editingStateManager = inject(EditingStateManager);\n return (payload: { rowId: string; columnId: string; item?: any }) => {\n editingStateManager.startEditing(payload.rowId, payload.columnId);\n };\n }),\n provideEffect(ValueCellAtomStore.ActionId.END_EDIT, () => {\n const editingStateManager = inject(EditingStateManager);\n return (payload?: { rowId?: string; columnId?: string }) => {\n setTimeout(() => editingStateManager.stopEditing(payload!.rowId!, payload!.columnId!), 0);\n };\n }),\n ];\n}\n","import { inject, Injector, Provider } from '@angular/core';\nimport { provideEffect } from '@ng-atomic/core';\nimport { ValueCellAtomStore, UpdateValuePayload } from '@ng-atomic/components/atoms/value-cell';\nimport { TableOrganism } from '@ng-atomic/components/organisms/table';\nimport { TableCellValueChange, TableAutofillChange, TableCellChangeOptions } from '../interfaces';\n\n\nexport function provideTableCellValueChangeEffect<T = any>(\n storeToken: any,\n handlerFactory: (injector: Injector) => (\n change: TableCellValueChange<T>,\n setValue: (value: any) => void\n ) => void,\n optionsOrColumns?: TableCellChangeOptions<T> | (keyof T)[],\n): Provider {\n return provideEffect(ValueCellAtomStore.ActionId.UPDATE_VALUE, (injector: Injector) => {\n const normalizedOptions: TableCellChangeOptions<T> = Array.isArray(optionsOrColumns)\n ? { columns: optionsOrColumns }\n : (optionsOrColumns || {});\n\n const defaultEquals = (current: any, next: any) => current === next;\n const equalsFn = normalizedOptions.equals || defaultEquals;\n const handler = handlerFactory(injector);\n\n return (action: UpdateValuePayload) => {\n const { context, next, current, setValue } = action;\n const name = context.name as keyof T;\n\n if ((normalizedOptions.columns?.length ?? 0) > 0 && !normalizedOptions.columns!.includes(name)) {\n return;\n }\n\n if (equalsFn(current, next, name as string)) {\n return;\n }\n\n const change: TableCellValueChange<T> = {\n item: context.item,\n name: name as string,\n current: current,\n next: next,\n rowIndex: context.position?.row ?? 0,\n columnId: context.name\n };\n handler(change, setValue);\n };\n });\n}\n\n\nexport function provideTableAutofillEffect<T = any>(\n storeToken: any,\n handlerFactory: (injector: Injector) => (\n autofill: TableAutofillChange<T>\n ) => void | Promise<void>,\n): Provider {\n return provideEffect(TableOrganism.ActionId.AUTOFILL_COMPLETE, (injector: Injector) => {\n const handler = handlerFactory(injector);\n const store = inject(storeToken);\n\n return async (payload: { sourcePosition: any; targetRange: any; contexts?: any }) => {\n if (!payload.contexts) {\n console.warn('No autofill contexts provided');\n return;\n }\n\n const { sourceContext, targetContexts } = payload.contexts;\n const sourceItem = sourceContext.item as T;\n const columnName = sourceContext.name;\n const sourceValue = (sourceItem as any)[columnName];\n\n const affectedItems: Array<{ item: T; newValue: any; rowIndex: number }> = [];\n\n targetContexts.forEach(({ position, context }: any, index: number) => {\n const targetItem = context.item as T;\n let newValue = sourceValue;\n\n if (typeof sourceValue === 'number') {\n newValue = sourceValue + index + 1;\n } else if (typeof sourceValue === 'string') {\n const dateMatch = sourceValue.match(/^(\\d{4}-\\d{2}-\\d{2})$/);\n if (dateMatch) {\n const sourceDate = new Date(dateMatch[1]);\n const newDate = new Date(sourceDate);\n newDate.setDate(sourceDate.getDate() + index + 1);\n newValue = newDate.toISOString().split('T')[0];\n }\n }\n\n affectedItems.push({\n item: targetItem,\n newValue,\n rowIndex: position.row\n });\n });\n\n const autofillChange: TableAutofillChange<T> = {\n sourceItem,\n sourceValue,\n columnName,\n columnIndex: payload.sourcePosition.col,\n affectedItems,\n range: payload.targetRange\n };\n\n await handler(autofillChange);\n };\n });\n}\n","import { inject, Provider, effect, ElementRef } from '@angular/core';\nimport { applyToInput, provideEffect } from '@ng-atomic/core';\nimport { injectNavigationExtras } from '@ng-atomic/common/utils';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { IndexTemplateStore } from '@ng-atomic/components/templates/_index';\nimport { MachinaDevService } from '@xxmachina/components/services/debug';\nimport { ActionId } from '../interfaces';\n\n\nexport function provideNavModeToggleEffect(storeToken: any): Provider {\n return provideEffect(ActionId.TOGGLE_VARIABLES_FORM, () => {\n const store = inject(storeToken) as any;\n return () => {\n store.navMode.set(store.navMode() === 'collapsed' ? 'expanded' : 'collapsed');\n };\n }, { scopes: ['root', 'host'] });\n}\n\n\nexport function provideChangeWidthEffect(storeToken: any): Provider[] {\n return [\n provideEffect(IndexTemplateStore.ActionId.TABLE_COLUMN_WIDTH_CHANGE, () => {\n const store = inject(storeToken) as any;\n return (payload: { columnName: string, key: number, width: number }) => {\n const form = store.itemsMap()?.[payload.key]?.form || store.form();\n form.patchValue({ columns: { map: { [payload.columnName]: { width: payload.width } } } });\n };\n }),\n ];\n}\n\n\nexport function provideNavigateEffects(storeToken: any): Provider[] {\n return [\n provideEffect(storeToken.ActionId.ADD, () => {\n const app = inject(AppService);\n const extras = injectNavigationExtras();\n return (item: any) => app.router.navigate(['new'], extras());\n }),\n provideEffect(storeToken.ActionId.DETAIL, () => {\n const app = inject(AppService);\n const extras = injectNavigationExtras();\n return (item: any) => app.router.navigate([item.id], extras());\n }),\n ];\n}\n\n\nexport function provideDebugStyleInitializer(storeToken: any): Provider[] {\n return [\n storeToken.DI.provideInitializer((store: any) => {\n const debug = inject(MachinaDevService);\n const el = inject(ElementRef);\n effect(() => el.nativeElement.style.setProperty('--is-debug', debug.isDevMode() ? '1' : '0'));\n }),\n ];\n}\n","import { computed, effect, inject, Provider } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { applyToInput, createAction, ItemActions } from '@ng-atomic/core';\nimport { injectHasNext, injectRouteData } from '@ng-atomic/common/utils';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { ActionId } from '../interfaces';\nimport { QueryFeature } from '@xxmachina/components/features/query';\n\n\nexport function provideItemActionsFromRouteDataInitializer(\n storeToken: any,\n key = 'itemActionsCommandIds'\n): Provider {\n return storeToken.DI.provideInitializer((store: any) => {\n const idOrObjectArray = injectRouteData<string[] | { id: string, options: { queryId: any } }[]>(key);\n const service = inject(CommandService);\n const itemActions: ItemActions = (item) => {\n const params = (idOrObjectArray() ?? []).map((idOrObject) => ({\n id: typeof idOrObject === 'string' ? idOrObject : idOrObject.id,\n options: typeof idOrObject === 'string' ? {} : idOrObject.options,\n }));\n const builder = service.getActionBuilder().setItem(item);\n const actions = params.map(param => builder.setOptions(param.options).buildAction(param.id));\n console.debug('actions:', actions);\n return actions;\n };\n applyToInput(store, 'itemActions', itemActions);\n });\n}\n\n\nexport function provideNavEndActionsFromRouteDataInitializer(\n storeToken: any,\n key = 'navEndActionsCommandIds'\n): Provider {\n return storeToken.DI.provideInitializer((store: any) => {\n const ids = injectRouteData<(string | { id: string, auto: boolean })[]>(key);\n const queryId = injectRouteData<string>('navEndActionsCommandQueryId');\n const service = inject(CommandService);\n const route = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n\n effect(() => {\n const actions = service.getActionBuilder()\n .setFilterIds(ids())\n .setOptions({ queryId: queryId() })\n .buildActions(undefined, { relativeTo: route, replaceUrl: hasNext() });\n applyToInput(store, 'navEndActions', [\n store.variablesFormDisplayed() ? {\n id: ActionId.TOGGLE_VARIABLES_FORM,\n icon: store.navMode() === 'collapsed' ? 'expand_less' : 'expand_more'\n } : null,\n actions?.length ? {\n id: 'open_command_menu',\n icon: 'more_vert',\n children: [...actions],\n } : null,\n ].filter(Boolean));\n });\n });\n}\n\n\nexport function provideNavEndActionsInitializer(storeToken: any): Provider {\n return storeToken.DI.provideInitializer((store: any) => {\n const navEndActions = computed(() => [\n store.variablesFormDisplayed() ? {\n id: ActionId.TOGGLE_VARIABLES_FORM,\n icon: store.navMode() === 'collapsed' ? 'expand_less' : 'expand_more'\n } : null,\n ].filter(Boolean));\n\n effect(() => applyToInput(store, 'navEndActions', [\n ...navEndActions(),\n ...store.additionalNavEndActions()\n ]));\n });\n}\n\n\nexport function provideNavEndActionsInitializers(storeToken: any): Provider[] {\n return [\n storeToken.DI.provideInitializer((store: any) => {\n effect(() => {\n const icon = store.style()?.width === 'var(--page-width-lv3)' ? 'close_fullscreen' : 'open_in_full';\n const navEndActions = [\n createAction(QueryFeature.ActionId.クエリの実行, null as never, { icon: 'play_arrow' }).create(),\n store.variablesFormDisplayed() ? createAction(ActionId.TOGGLE_PAGE, null as never, { icon }).create() : null,\n createAction(QueryFeature.ActionId.クエリの更新, null as never, { icon: 'save' }).create(),\n ].filter(Boolean);\n applyToInput(store, 'navEndActions', navEndActions);\n });\n }),\n ];\n}\n","import { Directive, effect, inject, input, Injector, Provider, signal, computed, untracked, ElementRef } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { FormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { _computed, Action, applyToInput, computeFake, createAction, InjectableComponent, ItemActions, NavActions, provideEffect, TokenizedType } from '@ng-atomic/core';\nimport { EditingStateManager } from '@ng-atomic/common';\nimport { getRawValue$, getValue$, injectHasNext, injectRouteData, injectRouteSkip, injectUnflattenRouteParam } from '@ng-atomic/common/utils';\nimport { injectNavStartActionsV2, makeDI } from '@ng-atomic/common/services/ui';\nimport { makeInitializerConfig } from '@ng-atomic/common/services/initializer';\nimport { injectOne } from '@ng-atomic/common/stores/entities';\nimport { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { IndexTemplateStore } from '@ng-atomic/components/templates/_index';\nimport { RouterOutletFrameStore } from '@ng-atomic/components/frames/router-outlet';\nimport { buildColumns, injectIndexFormBuilder } from '@ng-atomic/components/organisms/table';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { MachinaDevService } from '@xxmachina/components/services/debug';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { QueryFeature, QueryGraphqlVariablesFormFeature } from '@xxmachina/components/features/query';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { isEqual, merge } from 'lodash-es';\n\nimport { ActionId, TableCellValueChange, TableAutofillChange, TableCellChangeOptions } from './interfaces';\nimport { buildItemsMapFromResult } from './utils';\nimport {\n provideEditingStateEffects,\n provideCommandExecuteEffect,\n provideCommandNavigateEffect,\n provideNavModeToggleEffect,\n provideChangeWidthEffect,\n provideNavigateEffects,\n provideDebugStyleInitializer,\n provideTableCellValueChangeEffect as _provideTableCellValueChangeEffect,\n provideTableAutofillEffect as _provideTableAutofillEffect,\n provideItemActionsFromRouteDataInitializer,\n provideNavEndActionsFromRouteDataInitializer,\n provideNavEndActionsInitializer,\n provideNavEndActionsInitializers,\n} from './providers';\n\nexport { ActionId, TableCellValueChange, TableAutofillChange, TableCellChangeOptions };\n\n@TokenizedType()\n@Directive({ standalone: true })\nexport class QueryPageStore extends InjectableComponent {\n static readonly ActionId = ActionId;\n\n static readonly DI = makeDI(QueryPageStore, () => {\n return () => ({\n type: 'table',\n style: <any>{ width: 'var(--page-width-lv2)' },\n title: null as unknown as string,\n titleEditable: true,\n childrenKey: 'children' satisfies string,\n additionalNavEndActions: <Action[]>[],\n navEndActions: <NavActions>[],\n additionalColumns: (items: object[]) => [] as string[],\n itemActions: (item => [{ id: QueryPageStore.ActionId.DETAIL, icon: 'open_in_new', name: '詳細', payload: item }]) as ItemActions,\n pageSizeOptions: [50, 100, 300, 500, 1000],\n });\n }, ['@xxmachina/components', 'pages', 'query']);\n\n \n static readonly Initializer = makeInitializerConfig(QueryPageStore);\n\n static provideDefault(): Provider[] {\n return [\n QueryPageStore.DI.provideConfig(),\n QueryPageStore.provideDefaultInitializes(),\n QueryPageStore.provideDefaultEffects(),\n provideDebugStyleInitializer(QueryPageStore),\n QueryFeature.provideDefault(),\n ];\n }\n\n static provideCustom(): Provider[] {\n return [\n QueryPageStore.DI.provideConfig(),\n QueryPageStore.provideDefaultInitializes(),\n QueryPageStore.provideDefaultEffects(),\n provideDebugStyleInitializer(QueryPageStore),\n QueryPageStore.provideNonEditableConfig(),\n QueryPageStore.provideQueryFromRouteDataQueryIdInitializer(),\n QueryPageStore.provideAutoTogglePageInitializer(),\n QueryFeature.provideDefault(),\n ];\n }\n\n static provideDefaultV2(): Provider[] {\n return [\n QueryPageStore.provideCustom(),\n QueryPageStore.DI.Config.provide(() => config => ({ ...config })),\n QueryPageStore.provideTitleFromQueryResultInitializer(),\n QueryPageStore.provideQueryFromRouteDataInitializer(),\n QueryPageStore.providePaginationInitializer(),\n ];\n }\n\n \n static provideForCustomPage(): Provider[] {\n return this.provideCustom();\n }\n\n static provideNonEditableConfig(): Provider {\n return QueryPageStore.DI.provideConfig(() => {\n return config => ({\n ...config,\n titleEditable: false,\n style: { ...config.style, width: `var(--page-width-lv3)` },\n });\n });\n }\n\n static provideDefaultInitializes(): Provider[] {\n return [\n QueryPageStore.provideAutoTogglePageInitializer(),\n QueryPageStore.provideVariablesFormValueFromMatrixParamsInitializer(),\n ];\n }\n\n static provideNavEndActionsInitializers(): Provider[] {\n return [\n ...provideNavEndActionsInitializers(QueryPageStore),\n QueryPageStore.provideVariablesFromRouteParamDataInitializer(),\n ];\n }\n\n static provideVariablesFromRouteParamDataInitializer(): Provider[] {\n return [\n QueryPageStore.DI.provideInitializer(store => {\n const data = injectUnflattenRouteParam('data');\n effect(() => {\n const variables = store.variablesFormValue();\n const merged = merge(variables, data());\n store.feature.form.patchValue({ graphql: { variablesJson: JSON.stringify(merged, null, 2) } });\n });\n }),\n ];\n }\n\n static provideVariablesFromRouteParamInitializer(): Provider[] {\n return [\n QueryPageStore.DI.provideInitializer(store => {\n const data = injectUnflattenRouteParam();\n effect(() => {\n const variables = store.variablesFormValue();\n const merged = merge(variables, data());\n store.feature.form.patchValue({ graphql: { variablesJson: JSON.stringify(merged, null, 2) } });\n });\n }),\n ];\n }\n\n static provideAutoTogglePageInitializer(): Provider[] {\n return [\n provideEffect(RouterOutletFrameStore.ActionId.DEACTIVATED, () => {\n const store = inject(QueryPageStore);\n const style = computeFake(store.style());\n return () => applyToInput(store, 'style', { ...style, paddingLeft: `0` });\n }),\n QueryPageStore.DI.provideInitializer((store) => {\n const hasNext = injectHasNext();\n const style = computeFake(store.style());\n effect(() => {\n if (hasNext() && style.width !== 'var(--page-width-lv1)') {\n setTimeout(() => {\n applyToInput(store, 'style', { ...style, paddingLeft: 'var(--page-width-lv1)' });\n }, 300);\n }\n });\n }),\n ];\n }\n\n static provideVariablesFormValueFromMatrixParamsInitializer(): Provider[] {\n return [\n QueryPageStore.DI.provideInitializer((store) => {\n const data = injectUnflattenRouteParam('data');\n effect(() => store.variablesForm()?.patchValue({ ...data() }));\n }),\n ];\n }\n\n static provideQueryFromRouteDataQueryIdInitializer(key = 'queryId'): Provider[] {\n return [\n QueryPageStore.DI.provideInitializer((store) => {\n const query = injectOne(Query, { id: injectRouteData<string>(key) });\n const _query = computed(() => query(), { equal: (pre, cur) => JSON.stringify(pre) === JSON.stringify(cur) });\n effect(() => {\n console.debug('[QueryPageStore] query:', _query());\n applyToInput(store, 'query', _query() as never);\n });\n }),\n ];\n }\n\n static provideQueryFromRouteDataInitializer(key = 'query'): Provider[] {\n return [\n QueryPageStore.DI.provideInitializer((store) => {\n const query = injectRouteData<Query>(key);\n effect(() => applyToInput(store, 'query', query()));\n }),\n ];\n }\n\n static provideItemActionsFromRouteDataInitializer(key = 'itemActionsCommandIds'): Provider {\n return provideItemActionsFromRouteDataInitializer(QueryPageStore, key);\n }\n\n static provideNavEndActionsFromRouteDataInitializer(key = 'navEndActionsCommandIds'): Provider {\n return provideNavEndActionsFromRouteDataInitializer(QueryPageStore, key);\n }\n\n static provideDefaultEffects(): Provider[] {\n return [\n QueryPageStore.provideCommandEffects(),\n provideNavModeToggleEffect(QueryPageStore),\n provideChangeWidthEffect(QueryPageStore),\n QueryFeature.provideDefaultEffects(),\n provideNavigateEffects(QueryPageStore),\n provideEditingStateEffects(),\n ];\n }\n\n static provideEditingStateEffects(): Provider[] {\n return provideEditingStateEffects();\n }\n\n static provideCommandEffects(): Provider[] {\n return [...provideCommandExecuteEffect(), ...provideCommandNavigateEffect()];\n }\n\n static provideCommandExecuteEffect(): Provider[] {\n return provideCommandExecuteEffect();\n }\n\n static provideCommandNavigateEffect(): Provider[] {\n return provideCommandNavigateEffect();\n }\n\n static provideNavModeToggleEffect(): Provider {\n return provideNavModeToggleEffect(QueryPageStore);\n }\n\n static provideNavEndActionsInitializer(): Provider {\n return provideNavEndActionsInitializer(QueryPageStore);\n }\n\n static provideChangeWidthEffect(): Provider[] {\n return provideChangeWidthEffect(QueryPageStore);\n }\n\n static provideNavigateEffects() {\n return provideNavigateEffects(QueryPageStore);\n }\n\n static providePaginationInitializer(): Provider[] {\n return [\n QueryPageStore.DI.provideInitializer((store) => {\n effect(() => {\n const columns = store.columnNames();\n const sticky = store.sticky();\n const current = untracked(() => store.form())?.value;\n const form = store.indexFormBuilder.build({\n columns: buildColumns([...columns, '__actions'], sticky),\n page: { size: current?.page?.size ?? 100, index: current?.page?.index ?? 0 }\n });\n applyToInput(store, 'form', form);\n });\n }),\n QueryPageStore.DI.provideInitializer((store) => {\n const page = derivedAsync(() => getValue$(store.form().get(['page'])!), { initialValue: { index: 0, size: 100 } });\n const pagination = computed(() => {\n const _page = page() || { index: 0, size: 100 };\n return { offset: _page.index * _page.size, limit: _page.size };\n });\n effect(() => store.variablesForm()?.patchValue(pagination()));\n }),\n ];\n }\n\n static provideTableCellValueChangeEffect<T = any>(\n handlerFactory: (injector: Injector) => (change: TableCellValueChange<T>, setValue: (value: any) => void) => void,\n optionsOrColumns?: TableCellChangeOptions<T> | (keyof T)[],\n ): Provider {\n return _provideTableCellValueChangeEffect(QueryPageStore, handlerFactory, optionsOrColumns);\n }\n\n static provideTableAutofillEffect<T = any>(\n handlerFactory: (injector: Injector) => (autofill: TableAutofillChange<T>) => void | Promise<void>,\n ): Provider {\n return _provideTableAutofillEffect(QueryPageStore, handlerFactory);\n }\n\n static provideDebugStyleInitializer(): Provider[] {\n return provideDebugStyleInitializer(QueryPageStore);\n }\n\n static provideTitleFromQueryResultInitializer(): Provider[] {\n return [\n QueryPageStore.DI.provideInitializer((store) => {\n effect(() => applyToInput(store, 'title', store.feature.result()?.__meta__?.title));\n }),\n ];\n }\n\n \n protected readonly app = inject(AppService);\n protected readonly config = QueryPageStore.DI.injectConfig();\n readonly feature = inject(QueryFeature);\n readonly variablesFormFeature = inject(QueryGraphqlVariablesFormFeature);\n readonly indexFormBuilder = injectIndexFormBuilder();\n\n readonly navMode = signal<'expanded' | 'collapsed'>('collapsed');\n readonly editingStateManager = inject(EditingStateManager);\n readonly style = input(_computed(() => this.config().style));\n readonly query = input<Query>(null as unknown as Query);\n\n readonly #navStartActions = injectNavStartActionsV2();\n readonly navStartActions = input(_computed(() => this.#navStartActions()));\n readonly additionalNavEndActions = input(_computed(() => this.config().additionalNavEndActions));\n readonly navEndActions = input(_computed(() => this.config().navEndActions));\n readonly type = input(_computed(() => this.config().type));\n readonly title = input<string>(_computed(() => this.config().title ?? this.query()?.title));\n readonly titleEditable = input<boolean>(_computed(() => this.config().titleEditable));\n readonly itemsMap = input(_computed(() => buildItemsMapFromResult(this.feature.result())));\n readonly items = computed(() => this.itemsMap()[Object.keys(this.itemsMap())[0]]?.items ?? []);\n readonly itemsLength = input(_computed(() => this.itemsMap()[Object.keys(this.itemsMap())[0]]?.itemsLength ?? 0));\n readonly childrenKey = input<string>(_computed(() => this.config().childrenKey));\n readonly additionalColumns = input(_computed(() => this.config().additionalColumns));\n readonly additionalColumnNames = input(_computed(() => this.additionalColumns()(this.items())));\n readonly extractedColumnNames = input(_computed(() => QueryHelper.extractColumnNames(this.items(), this.childrenKey())));\n readonly columnNames = input(_computed(() => [...this.extractedColumnNames(), ...this.additionalColumnNames()]));\n readonly sticky = input(_computed(() => ({ stickyStart: 2, stickyEnd: 1 })));\n readonly form = input(_computed(() => this.indexFormBuilder.build({ columns: buildColumns([...this.columnNames(), '__actions'], this.sticky()) })));\n readonly itemActions = input(_computed(() => this.config().itemActions));\n readonly tableTreeControl = new FlatTreeControl<any>(n => n.level, n => n.isExpandable, { trackBy: (n: any) => n?.id ?? n });\n readonly variablesForm = input(_computed<FormGroup>(() => this.variablesFormFeature.variablesForm() ?? new FormGroup({})));\n readonly variablesFormFieldMap = input(_computed(() => ({} as FormFieldMap)));\n readonly variablesFormValue = derivedAsync(() => getRawValue$(this.variablesForm()), { equal: isEqual });\n readonly variablesFormValue$ = toObservable(this.variablesFormValue);\n readonly variablesFormDisplayed = input(_computed(() => Object.keys(this.variablesFormFeature.variablesValue())?.length > 0));\n readonly tableColumnFormFieldMap = input<FormFieldMap>(_computed(() => ({})));\n readonly getRowClass = input<(item: any) => string>(_computed(() => () => ''));\n readonly skip = injectRouteSkip();\n readonly pageSizeOptions = input(_computed(() => this.config().pageSizeOptions));\n\n constructor() {\n super();\n QueryPageStore.DI.initialize(this);\n effect(() => this.feature.form.patchValue(this.query() as never));\n }\n}\n","import { Component, inject, computed, viewChild, effect, input, ChangeDetectionStrategy } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { Effect, NgAtomicComponent, updateInput } from '@ng-atomic/core';\nimport { IndexTemplate, IndexTemplateStore } from '@ng-atomic/components/templates/_index';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { NgAtomicFormSectionBuilder } from '@ng-atomic/components/templates/form';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { QueryService } from '@xxmachina/components/services/query';\nimport { QueryFormGroup } from '@xxmachina/components/groups/query-form';\nimport { QueryFeature } from '@xxmachina/components/features/query';\n\nimport { ActionId } from './interfaces';\nimport { QueryPageStore } from './query-page.store';\nimport { QueryActionReducer } from './query-action.reducer';\n\n@Component({\n selector: 'pages-query',\n imports: [\n IndexTemplate,\n RouterOutletFrame,\n NgAtomicFormSectionBuilder,\n QueryFormGroup,\n ],\n template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-index\n [tableColumnFormFieldMap]=\"store.tableColumnFormFieldMap()\"\n [style]=\"store.style()\"\n [title]=\"store.title()\"\n [titleControl]=\"store.feature.form.get(['title'])\"\n [titleEditable]=\"store.titleEditable()\"\n [type]=\"store.type()\"\n [tableChildrenKey]=\"store.childrenKey()\"\n [tableTreeControl]=\"store.tableTreeControl\"\n [itemsMap]=\"store.itemsMap()\"\n [itemsLength]=\"store.itemsLength()\"\n [itemActions]=\"store.itemActions()\"\n [getRowClass]=\"store.getRowClass()\"\n [form]=\"store.form()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [navMode]=\"store.navMode()\"\n [pageSizeOptions]=\"store.pageSizeOptions()\"\n (action)=\"dispatch($event)\"\n >\n @if (store.variablesFormDisplayed()) {\n <div navDashboard>\n <ng-atomic-form-section-builder\n [form]=\"store.variablesForm()\"\n [fieldMap]=\"store.variablesFormFieldMap()\"\n />\n </div>\n }\n <groups-query-form dashboard (action)=\"dispatch($event)\" />\n </templates-index>\n </frames-router-outlet>\n `,\n styleUrl: './query.page.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: QueryPageStore,\n inputs: [\n 'type',\n 'query',\n 'titleEditable',\n 'variablesForm',\n 'variablesFormFieldMap',\n 'navStartActions',\n 'navEndActions',\n 'itemActions',\n 'pageSizeOptions'\n ]\n },\n ]\n})\nexport class QueryPage extends NgAtomicComponent {\n readonly fb = inject(FormBuilder);\n readonly route = inject(ActivatedRoute);\n protected readonly app = inject(AppService);\n protected readonly store = inject(QueryPageStore);\n protected readonly reducer = inject(QueryActionReducer);\n protected readonly query = inject(QueryService);\n readonly feature = inject(QueryFeature);\n\n readonly template = viewChild(IndexTemplate);\n readonly title = input('default title');\n\n constructor() {\n super();\n this.reducer.action$.subscribe((action) => this.dispatch(action));\n\n const context = computed(() => ({\n query: this.feature.formValue(),\n }));\n\n effect(() => this.app.context.context.set(JSON.stringify(context())));\n }\n\n @Effect(IndexTemplateStore.ActionId.BACK)\n async back() {\n history.back();\n }\n\n @Effect(ActionId.NAVIGATE_TO_IFRAME)\n async navigateToIframe(item: { id: string }) {\n this.app.router.navigate(['invoices', item.id], {\n relativeTo: this.route,\n });\n }\n\n @Effect(ActionId.TOGGLE_PAGE)\n async expandPage() {\n updateInput(this.store, 'style', (style) => ({\n ...style,\n width: style?.width === 'var(--page-width-lv3)' ? 'var(--page-width-lv2)' : 'var(--page-width-lv3)',\n }));\n }\n\n @Effect(IndexTemplate.ActionId.ITEM_CLICK)\n protected itemClick(item: { id: string }) {\n this.dispatch({ id: ActionId.DETAIL, payload: item });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_provideTableCellValueChangeEffect","_provideTableAutofillEffect","i1.QueryPageStore"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-pages-thread.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/pages/thread/thread.page.ts","../../../../../packages/@xxmachina/components/src/lib/pages/thread/xxmachina-components-pages-thread.ts"],"sourcesContent":["import { Component, Directive, effect, HostListener, inject, input, Provider, signal } from \"@angular/core\";\nimport { RouterOutletFrame } from \"@ng-atomic/components/frames/router-outlet\";\nimport { ThreadTemplate } from \"@ng-atomic/components/templates/thread\";\nimport { injectIsRootPage, injectNavStartActionsV2, makeDI, NavActionId } from \"@ng-atomic/common/services/ui\";\nimport { _computed, applyToInput, Effect, InjectableComponent, NavActions, NgAtomicComponent, provideEffect } from \"@ng-atomic/core\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { QueryActionReducer } from \"@xxmachina/components/pages/query\";\nimport { MessageService } from \"@xxmachina/components/services/message\";\nimport { Message } from \"@ng-atomic/common/models\";\nimport { ContextService } from \"@xxmachina/components/services/context\";\n\nenum ActionId {\n SEND_MESSAGE = 'send-message',\n}\n\n@Directive({ standalone: true })\nexport class ThreadPageStore extends InjectableComponent {\n static readonly DI = makeDI(ThreadPageStore, () => () => ({\n title: 'title',\n navStartActions: [] as NavActions,\n }), ['components', 'pages', 'thread'])\n\n static provideEffects(): Provider[] {\n return [\n provideEffect(ActionId.SEND_MESSAGE, () => {\n const messageService = inject(MessageService);\n return (message: Message) => {\n messageService.pushMessage(message);\n }\n }),\n ThreadPageStore.provideNavigationEffects(),\n ]\n }\n\n static provideNavigationEffects(): Provider[] {\n return [\n provideEffect(NavActionId.BACK, () => {\n return () => { history.back() };\n }),\n ]\n }\n\n static provideNavStartActions(): Provider[] {\n return [\n ThreadPageStore.DI.provideInitializer((store) => {\n const navStartActions = injectNavStartActionsV2();\n effect(() => applyToInput(store, 'navStartActions', navStartActions()));\n }),\n ];\n }\n\n readonly isRootPage = injectIsRootPage('side');\n \n readonly config = ThreadPageStore.DI.injectConfig();\n readonly title = input(_computed(() => this.config().title));\n readonly navStartActions = input(_computed(() => this.config().navStartActions));\n readonly actions = signal([\n { id: ActionId.SEND_MESSAGE, name: '送信', icon: 'send' },\n ]);\n protected readonly fb = inject(FormBuilder);\n readonly form = this.fb.group({\n message: this.fb.control(''),\n name: this.fb.control(''),\n description: this.fb.control(''),\n });\n readonly messages = input<{ role: string, content: string }[]>([]);\n\n constructor() {\n super();\n ThreadPageStore.DI.initialize(this);\n }\n}\n\n@Component({\n selector: 'app-chat',\n template: `\n <frames-router-outlet>\n <templates-messages\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [form]=\"store.form\"\n [messages]=\"store.messages()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n />\n </frames-router-outlet>\n `,\n styleUrls: ['./thread.page.scss'],\n imports: [\n RouterOutletFrame,\n ThreadTemplate,\n ],\n hostDirectives: [\n {\n directive: ThreadPageStore,\n inputs: [\n 'title',\n 'navStartActions',\n 'messages',\n ]\n },\n ]\n})\nexport class ThreadPage extends NgAtomicComponent {\n protected readonly store = inject(ThreadPageStore);\n protected readonly reducer = inject(QueryActionReducer);\n \n protected readonly context = inject(ContextService)\n\n readonly isComposing = signal(false);\n\n \n @HostListener('compositionstart', ['$event'])\n onCompositionStart(event: Event) {\n this.isComposing.set(true);\n }\n\n @HostListener('compositionend', ['$event'])\n onCompositionEnd(event: Event) {\n this.isComposing.set(false);\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent) {\n if (this.isComposing()) return;\n\n console.log(event);\n if (event.key === 'Enter' && (event.metaKey || event.ctrlKey)) {\n this._sendMessage();\n }\n }\n\n @Effect(ActionId.SEND_MESSAGE)\n protected _sendMessage() {\n const content = this.store.form.get(['message'])?.value;\n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-routes-commands-command.routes-Ca2yVrwL.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/routes/commands/pages/command/command.routes.ts"],"sourcesContent":["import { CommandPage, CommandPageStore } from '@xxmachina/components/pages/command';\nimport { ngAtomicRoutes } from '@ng-atomic/components/frames/router-outlet';\nimport { Routes } from '@angular/router';\n\nexport const routes: Routes = ngAtomicRoutes([\n\t{\n\t\tpath: '',\n\t\tcomponent: CommandPage,\n\t\t\n\t\tproviders: [\n\t\t\tCommandPageStore.provideDefault(),\n CommandPageStore.provideQueryIdFromRouteParam(),\n\t\t\tCommandPageStore.provideCommandFromRouteParamInitializer(),\n\t\t\tCommandPageStore.provideFileSelectedEffect(),\n\t\t],\n\t}\n]);\n"],"names":[],"mappings":";;;AAIO,MAAM,MAAM,GAAW,cAAc,CAAC;AAC5C,IAAA;AACC,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,SAAS,EAAE,WAAW;AAEtB,QAAA,SAAS,EAAE;YACV,gBAAgB,CAAC,cAAc,EAAE;YAC9B,gBAAgB,CAAC,4BAA4B,EAAE;YAClD,gBAAgB,CAAC,uCAAuC,EAAE;YAC1D,gBAAgB,CAAC,yBAAyB,EAAE;AAC5C,SAAA;AACD;AACD,CAAA;;;;"}
|