snice 7.8.0 → 7.9.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/README.md +1 -1
- package/adapters/react/SniceProvider.js +1 -1
- package/adapters/react/SniceRouter.js +1 -1
- package/adapters/react/matchRoute.js +1 -1
- package/adapters/react/table.d.ts +1 -0
- package/adapters/react/table.d.ts.map +1 -1
- package/adapters/react/table.js +1 -1
- package/adapters/react/table.js.map +1 -1
- package/adapters/react/table.tsx +2 -1
- package/adapters/react/useRequestHandler.js +1 -1
- package/bin/analyzer-contracts.js +17 -1
- package/custom-elements.json +57 -3
- package/dist/cdn/accordion/snice-accordion.js +1 -1
- package/dist/cdn/action-bar/snice-action-bar.js +1 -1
- package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
- package/dist/cdn/alert/snice-alert.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
- package/dist/cdn/availability/snice-availability.js +1 -1
- package/dist/cdn/avatar/snice-avatar.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
- package/dist/cdn/badge/snice-badge.js +1 -1
- package/dist/cdn/banner/snice-banner.js +1 -1
- package/dist/cdn/binpack/snice-binpack.js +1 -1
- package/dist/cdn/book/snice-book.js +1 -1
- package/dist/cdn/booking/snice-booking.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
- package/dist/cdn/button/snice-button.js +1 -1
- package/dist/cdn/calendar/README.md +2 -2
- package/dist/cdn/calendar/snice-calendar.js +537 -44
- package/dist/cdn/calendar/snice-calendar.js.map +1 -1
- package/dist/cdn/calendar/snice-calendar.min.js +2 -2
- package/dist/cdn/calendar/snice-calendar.min.js.map +1 -1
- package/dist/cdn/camera/snice-camera.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.js +1 -1
- package/dist/cdn/card/snice-card.js +1 -1
- package/dist/cdn/carousel/snice-carousel.js +1 -1
- package/dist/cdn/cart/snice-cart.js +1 -1
- package/dist/cdn/chart/snice-chart.js +1 -1
- package/dist/cdn/chat/snice-chat.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.js +1 -1
- package/dist/cdn/chip/snice-chip.js +1 -1
- package/dist/cdn/code-block/README.md +2 -2
- package/dist/cdn/code-block/snice-code-block.js +177 -167
- package/dist/cdn/code-block/snice-code-block.js.map +1 -1
- package/dist/cdn/code-block/snice-code-block.min.js +2 -2
- package/dist/cdn/code-block/snice-code-block.min.js.map +1 -1
- package/dist/cdn/color-display/snice-color-display.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.js +1 -1
- package/dist/cdn/command-palette/README.md +1 -1
- package/dist/cdn/command-palette/snice-command-palette.js +2 -2
- package/dist/cdn/command-palette/snice-command-palette.js.map +1 -1
- package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.min.js.map +1 -1
- package/dist/cdn/comments/snice-comments.js +1 -1
- package/dist/cdn/countdown/snice-countdown.js +1 -1
- package/dist/cdn/cropper/snice-cropper.js +1 -1
- package/dist/cdn/data-card/snice-data-card.js +1 -1
- package/dist/cdn/date-picker/snice-date-picker.js +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
- package/dist/cdn/diff/snice-diff.js +1 -1
- package/dist/cdn/divider/snice-divider.js +1 -1
- package/dist/cdn/doc/snice-doc.js +1 -1
- package/dist/cdn/draw/snice-draw.js +1 -1
- package/dist/cdn/drawer/snice-drawer.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.js +1 -1
- package/dist/cdn/estimate/snice-estimate.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.js +1 -1
- package/dist/cdn/flow/snice-flow.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.js +1 -1
- package/dist/cdn/funnel/snice-funnel.js +1 -1
- package/dist/cdn/gantt/snice-gantt.js +1 -1
- package/dist/cdn/gauge/snice-gauge.js +1 -1
- package/dist/cdn/grid/snice-grid.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.js +1 -1
- package/dist/cdn/image/snice-image.js +1 -1
- package/dist/cdn/input/snice-input.js +1 -1
- package/dist/cdn/invoice/snice-invoice.js +1 -1
- package/dist/cdn/kanban/snice-kanban.js +1 -1
- package/dist/cdn/key-value/snice-key-value.js +1 -1
- package/dist/cdn/kpi/snice-kpi.js +1 -1
- package/dist/cdn/layout/snice-layout.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
- package/dist/cdn/link/snice-link.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.js +1 -1
- package/dist/cdn/list/snice-list.js +1 -1
- package/dist/cdn/location/snice-location.js +1 -1
- package/dist/cdn/login/snice-login.js +1 -1
- package/dist/cdn/map/snice-map.js +1 -1
- package/dist/cdn/markdown/snice-markdown.js +1 -1
- package/dist/cdn/masonry/snice-masonry.js +1 -1
- package/dist/cdn/menu/snice-menu.js +1 -1
- package/dist/cdn/message-strip/snice-message-strip.js +1 -1
- package/dist/cdn/modal/snice-modal.js +1 -1
- package/dist/cdn/music-player/snice-music-player.js +1 -1
- package/dist/cdn/nav/snice-nav.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.js +1 -1
- package/dist/cdn/pagination/snice-pagination.js +1 -1
- package/dist/cdn/paint/snice-paint.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
- package/dist/cdn/popover/snice-popover.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
- package/dist/cdn/product-card/snice-product-card.js +1 -1
- package/dist/cdn/progress/snice-progress.js +2 -2
- package/dist/cdn/progress/snice-progress.js.map +1 -1
- package/dist/cdn/progress/snice-progress.min.js +1 -1
- package/dist/cdn/progress/snice-progress.min.js.map +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
- package/dist/cdn/qr-code/README.md +2 -2
- package/dist/cdn/qr-code/snice-qr-code.js +19 -3
- package/dist/cdn/qr-code/snice-qr-code.js.map +1 -1
- package/dist/cdn/qr-code/snice-qr-code.min.js +2 -2
- package/dist/cdn/qr-code/snice-qr-code.min.js.map +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
- package/dist/cdn/radio/snice-radio.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.js +1 -1
- package/dist/cdn/rating/snice-rating.js +1 -1
- package/dist/cdn/receipt/snice-receipt.js +5 -2
- package/dist/cdn/receipt/snice-receipt.js.map +1 -1
- package/dist/cdn/receipt/snice-receipt.min.js +1 -1
- package/dist/cdn/receipt/snice-receipt.min.js.map +1 -1
- package/dist/cdn/recipe/snice-recipe.js +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.js +4 -4
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +4 -4
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
- package/dist/cdn/sankey/snice-sankey.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
- package/dist/cdn/select/README.md +2 -2
- package/dist/cdn/select/snice-select.js +6 -9
- package/dist/cdn/select/snice-select.js.map +1 -1
- package/dist/cdn/select/snice-select.min.js +2 -2
- package/dist/cdn/select/snice-select.min.js.map +1 -1
- package/dist/cdn/skeleton/snice-skeleton.js +1 -1
- package/dist/cdn/slider/snice-slider.js +1 -1
- package/dist/cdn/sortable/snice-sortable.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.js +1 -1
- package/dist/cdn/spinner/snice-spinner.js +1 -1
- package/dist/cdn/split-button/snice-split-button.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.js +1 -1
- package/dist/cdn/step-input/snice-step-input.js +1 -1
- package/dist/cdn/stepper/snice-stepper.js +1 -1
- package/dist/cdn/switch/snice-switch.js +1 -1
- package/dist/cdn/table/README.md +2 -2
- package/dist/cdn/table/snice-table.esm.js +1940 -407
- package/dist/cdn/table/snice-table.esm.js.map +1 -1
- package/dist/cdn/table/snice-table.esm.min.js +242 -53
- package/dist/cdn/table/snice-table.esm.min.js.map +1 -1
- package/dist/cdn/table/snice-table.js +1940 -407
- package/dist/cdn/table/snice-table.js.map +1 -1
- package/dist/cdn/table/snice-table.min.js +234 -45
- package/dist/cdn/table/snice-table.min.js.map +1 -1
- package/dist/cdn/tabs/snice-tabs.js +1 -1
- package/dist/cdn/tag/snice-tag.js +1 -1
- package/dist/cdn/tag-input/snice-tag-input.js +1 -1
- package/dist/cdn/terminal/snice-terminal.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.js +1 -1
- package/dist/cdn/textarea/snice-textarea.js +1 -1
- package/dist/cdn/time-picker/snice-time-picker.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
- package/dist/cdn/timeline/snice-timeline.js +1 -1
- package/dist/cdn/timer/snice-timer.js +1 -1
- package/dist/cdn/toast/snice-toast.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.js +1 -1
- package/dist/cdn/tree/snice-tree.js +1 -1
- package/dist/cdn/treemap/snice-treemap.js +1 -1
- package/dist/cdn/user-card/snice-user-card.js +1 -1
- package/dist/cdn/video-player/snice-video-player.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.js +1 -1
- package/dist/cdn/weather/snice-weather.js +1 -1
- package/dist/cdn/work-order/snice-work-order.js +1 -1
- package/dist/components/calendar/snice-calendar.d.ts +187 -5
- package/dist/components/calendar/snice-calendar.js +537 -44
- package/dist/components/calendar/snice-calendar.js.map +1 -1
- package/dist/components/calendar/snice-calendar.types.d.ts +2 -1
- package/dist/components/code-block/formatter.d.ts +6 -0
- package/dist/components/code-block/formatter.js +174 -164
- package/dist/components/code-block/formatter.js.map +1 -1
- package/dist/components/code-block/grammars/snice.json +1 -1
- package/dist/components/code-block/grammars/typescript.json +1 -1
- package/dist/components/command-palette/snice-command-palette.js +1 -1
- package/dist/components/command-palette/snice-command-palette.js.map +1 -1
- package/dist/components/progress/snice-progress.js +1 -1
- package/dist/components/progress/snice-progress.js.map +1 -1
- package/dist/components/qr-code/qrcode.d.ts +1 -1
- package/dist/components/qr-code/qrcode.js +18 -2
- package/dist/components/qr-code/qrcode.js.map +1 -1
- package/dist/components/receipt/snice-receipt.js +4 -1
- package/dist/components/receipt/snice-receipt.js.map +1 -1
- package/dist/components/select/snice-select.d.ts +1 -1
- package/dist/components/select/snice-select.js +5 -8
- package/dist/components/select/snice-select.js.map +1 -1
- package/dist/components/table/snice-cell-actions.js +1 -1
- package/dist/components/table/snice-cell-actions.js.map +1 -1
- package/dist/components/table/snice-cell-color.js +1 -1
- package/dist/components/table/snice-cell-color.js.map +1 -1
- package/dist/components/table/snice-cell-date.js +20 -8
- package/dist/components/table/snice-cell-date.js.map +1 -1
- package/dist/components/table/snice-cell-email.js +1 -1
- package/dist/components/table/snice-cell-email.js.map +1 -1
- package/dist/components/table/snice-cell-image.js +1 -1
- package/dist/components/table/snice-cell-image.js.map +1 -1
- package/dist/components/table/snice-cell-json.js +1 -1
- package/dist/components/table/snice-cell-json.js.map +1 -1
- package/dist/components/table/snice-cell-link.js +1 -1
- package/dist/components/table/snice-cell-link.js.map +1 -1
- package/dist/components/table/snice-cell-location.js +1 -1
- package/dist/components/table/snice-cell-location.js.map +1 -1
- package/dist/components/table/snice-cell-phone.js +1 -1
- package/dist/components/table/snice-cell-phone.js.map +1 -1
- package/dist/components/table/snice-cell-status.js +1 -1
- package/dist/components/table/snice-cell-status.js.map +1 -1
- package/dist/components/table/snice-cell.d.ts +10 -0
- package/dist/components/table/snice-cell.js +59 -13
- package/dist/components/table/snice-cell.js.map +1 -1
- package/dist/components/table/snice-row.d.ts +0 -1
- package/dist/components/table/snice-row.js +4 -10
- package/dist/components/table/snice-row.js.map +1 -1
- package/dist/components/table/snice-table.d.ts +170 -2
- package/dist/components/table/snice-table.js +868 -189
- package/dist/components/table/snice-table.js.map +1 -1
- package/dist/components/table/snice-table.types.d.ts +17 -0
- package/dist/components/table/table-cell-presentation.d.ts +17 -4
- package/dist/components/table/table-cell-presentation.js +37 -11
- package/dist/components/table/table-cell-presentation.js.map +1 -1
- package/dist/components/table/table-column-manager.d.ts +153 -2
- package/dist/components/table/table-column-manager.js +364 -43
- package/dist/components/table/table-column-manager.js.map +1 -1
- package/dist/components/table/table-date.d.ts +29 -0
- package/dist/components/table/table-date.js +78 -0
- package/dist/components/table/table-date.js.map +1 -0
- package/dist/components/table/table-export.js +6 -2
- package/dist/components/table/table-export.js.map +1 -1
- package/dist/components/table/table-filter-engine.d.ts +9 -0
- package/dist/components/table/table-filter-engine.js +58 -14
- package/dist/components/table/table-filter-engine.js.map +1 -1
- package/dist/components/table/table-keyboard.d.ts +8 -0
- package/dist/components/table/table-keyboard.js +14 -3
- package/dist/components/table/table-keyboard.js.map +1 -1
- package/dist/components/table/table-toolbar.js +1 -0
- package/dist/components/table/table-toolbar.js.map +1 -1
- package/dist/components/table/table-tree-data.d.ts +2 -0
- package/dist/components/table/table-tree-data.js +35 -9
- package/dist/components/table/table-tree-data.js.map +1 -1
- package/dist/components/table/table-virtualizer.d.ts +44 -7
- package/dist/components/table/table-virtualizer.js +101 -54
- package/dist/components/table/table-virtualizer.js.map +1 -1
- package/dist/components/theme/theme.css +9 -0
- package/dist/index.cjs +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.iife.js +1 -1
- package/dist/react/SniceProvider.js +1 -1
- package/dist/react/SniceRouter.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/matchRoute.js +1 -1
- package/dist/react/useRequestHandler.js +1 -1
- package/dist/symbols.cjs +1 -1
- package/dist/symbols.esm.js +1 -1
- package/dist/testing-dom.cjs +1 -1
- package/dist/testing-dom.esm.js +1 -1
- package/dist/transitions.cjs +1 -1
- package/dist/transitions.esm.js +1 -1
- package/docs/ai/DEVELOPMENT.md +93 -2
- package/docs/ai/components/calendar.md +113 -10
- package/docs/ai/components/code-block.md +4 -0
- package/docs/ai/components/doc.md +1 -1
- package/docs/ai/components/progress.md +1 -0
- package/docs/ai/components/receipt.md +1 -1
- package/docs/ai/components/table.md +29 -30
- package/docs/ai/components/theme.md +1 -0
- package/docs/ai/events.md +30 -0
- package/docs/ai/theme.md +1 -0
- package/docs/components/calendar.md +171 -11
- package/docs/components/code-block.md +2 -0
- package/docs/components/doc.md +1 -1
- package/docs/components/progress.md +13 -0
- package/docs/components/receipt.md +1 -0
- package/docs/components/table.md +274 -15
- package/docs/components/theme.md +5 -0
- package/docs/events.md +49 -0
- package/docs/plans/2026-03-06-date-range-picker-plan.md +4 -4
- package/docs/plans/2026-03-07-table-mui-parity-design.md +1 -1
- package/docs/plans/2026-03-09-action-bar-plan.md +11 -11
- package/docs/superpowers/specs/2026-07-09-table-incredible-design.md +1 -1
- package/docs/superpowers/specs/2026-07-09-table-phase0-implementation.md +2 -2
- package/package.json +3 -1
- package/vscode.html-custom-data.json +13 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snice-receipt.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/receipt/snice-receipt.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, html, css } from 'snice';\n\nvar cssContent = \":host([hidden]){display:none}:host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);--receipt-max-width:var(--snice-receipt-max-width, 22rem);--receipt-padding:var(--snice-receipt-padding, 1.5rem);--receipt-bg:var(--snice-receipt-bg, var(--snice-color-surface, rgb(255 255 255)));--receipt-text:var(--snice-receipt-text, var(--snice-color-text, rgb(23 23 23)));--receipt-text-secondary:var(--snice-receipt-text-secondary, var(--snice-color-text-secondary, rgb(82 82 82)));--receipt-text-tertiary:var(--snice-receipt-text-tertiary, var(--snice-color-text-tertiary, rgb(115 115 115)));--receipt-border:var(--snice-receipt-border, var(--snice-color-border, rgb(226 226 226)));--receipt-bg-element:var(--snice-receipt-bg-element, var(--snice-color-surface-container-high, rgb(252 251 249)));--receipt-header-bg:var(--snice-receipt-header-bg, transparent);--receipt-accent:var(--snice-receipt-accent, var(--snice-color-primary, rgb(37 99 235)));--receipt-font-family:var(--snice-receipt-font-family, inherit);--receipt-merchant-font-size:var(--snice-receipt-merchant-font-size, 1.25rem);--receipt-item-font-size:var(--snice-receipt-item-font-size, 0.9375rem);--receipt-meta-font-size:var(--snice-receipt-meta-font-size, 0.8125rem);--receipt-total-font-size:var(--snice-receipt-total-font-size, 1.125rem);--receipt-total-font-weight:var(--snice-receipt-total-font-weight, 700);--receipt-footer-font-size:var(--snice-receipt-footer-font-size, 0.8125rem);--receipt-divider-style:var(--snice-receipt-divider-style, dashed);--receipt-divider-color:var(--snice-receipt-divider-color, var(--receipt-border));--receipt-divider-width:var(--snice-receipt-divider-width, 1px);--receipt-border-radius:var(--snice-receipt-border-radius, 8px);--receipt-border-color:var(--snice-receipt-border-color, var(--receipt-border));--receipt-shadow:var(--snice-receipt-shadow, none);--receipt-thermal-font:var(--snice-receipt-thermal-font, 'Courier New', Courier, monospace);--receipt-thermal-width:var(--snice-receipt-thermal-width, 18rem);--receipt-thermal-bg:var(--snice-receipt-thermal-bg, var(--snice-color-surface-container-high, rgb(252 251 249)));--receipt-modern-radius:var(--snice-receipt-modern-radius, 12px);--receipt-modern-shadow:var(--snice-receipt-modern-shadow, 0 4px 24px rgb(0 0 0 / 0.08));--receipt-modern-section-bg:var(--snice-receipt-modern-section-bg, var(--receipt-bg-element));--receipt-modern-section-radius:var(--snice-receipt-modern-section-radius, 8px);--receipt-qr-size:var(--snice-receipt-qr-size, 6rem)}.receipt{background:var(--receipt-bg);border:1px solid var(--receipt-border-color);border-radius:var(--receipt-border-radius);padding:var(--receipt-padding);color:var(--receipt-text);max-width:var(--receipt-max-width);font-family:var(--receipt-font-family);box-shadow:var(--receipt-shadow);line-height:var(--snice-line-height-normal, 1.5)}.receipt__divider{border:none;border-top:var(--receipt-divider-width) var(--receipt-divider-style) var(--receipt-divider-color);margin:var(--snice-spacing-sm,.75rem) 0}.receipt__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);text-align:center;padding-bottom:var(--snice-spacing-sm,.75rem);background:var(--receipt-header-bg)}.receipt__logo{max-height:3rem;max-width:10rem;object-fit:contain;margin-bottom:var(--snice-spacing-xs,.5rem)}.receipt__merchant-name{font-size:var(--receipt-merchant-font-size);font-weight:var(--snice-font-weight-bold,700);color:var(--receipt-text);margin:0;letter-spacing:.01em}.receipt__merchant-address{font-size:var(--receipt-meta-font-size);color:var(--receipt-text-secondary);line-height:var(--snice-line-height-normal, 1.5);white-space:pre-line;margin-top:var(--snice-spacing-3xs,.125rem)}.receipt__merchant-contact{font-size:var(--receipt-meta-font-size);color:var(--receipt-text-tertiary);margin-top:var(--snice-spacing-3xs,.125rem)}.receipt__meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--snice-spacing-xs,.5rem);font-size:var(--receipt-meta-font-size);color:var(--receipt-text-secondary)}.receipt__meta-item{display:flex;flex-direction:column;gap:.0625rem}.receipt__meta-label{font-size:.6875rem;color:var(--receipt-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--snice-font-weight-medium,500)}.receipt__meta-value{font-weight:var(--snice-font-weight-medium,500);color:var(--receipt-text)}.receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);display:flex;justify-content:space-between;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--receipt-text-tertiary);font-weight:var(--snice-font-weight-medium,500);padding-bottom:var(--snice-spacing-2xs,.25rem);border-bottom:1px solid var(--receipt-divider-color);margin-bottom:var(--snice-spacing-2xs,.25rem)}.receipt__items{display:flex;flex-direction:column}.receipt__item{display:flex;justify-content:space-between;align-items:baseline;padding:var(--snice-spacing-2xs,.25rem) 0;font-size:var(--receipt-item-font-size);gap:var(--snice-spacing-xs,.5rem)}.receipt__item-info{flex:1;min-width:0}.receipt__item-name{color:var(--receipt-text);display:block}.receipt__item-sku{font-size:.6875rem;color:var(--receipt-text-tertiary);font-family:var(--receipt-thermal-font)}.receipt__item-note{font-size:.75rem;color:var(--receipt-text-tertiary);font-style:italic}.receipt__item-qty{font-size:.8125rem;color:var(--receipt-text-tertiary);white-space:nowrap}.receipt__item-discount{font-size:.75rem;color:var(--snice-color-danger,rgb(220 38 38))}.receipt__item-price{font-weight:var(--snice-font-weight-medium,500);white-space:nowrap;text-align:right}.receipt__totals{display:flex;flex-direction:column}.receipt__total-row{display:flex;justify-content:space-between;padding:var(--snice-spacing-3xs,.125rem) 0;font-size:var(--receipt-item-font-size);color:var(--receipt-text-secondary)}.receipt__total-row--discount{color:var(--snice-color-danger,rgb(220 38 38))}.receipt__total-row--grand{border-top:2px solid var(--receipt-text);margin-top:var(--snice-spacing-xs,.5rem);padding-top:var(--snice-spacing-xs,.5rem);font-size:var(--receipt-total-font-size);font-weight:var(--receipt-total-font-weight);color:var(--receipt-text)}.receipt__payment{text-align:center;font-size:var(--receipt-meta-font-size);color:var(--receipt-text-secondary)}.receipt__payment-method{font-weight:var(--snice-font-weight-semibold,600);color:var(--receipt-text)}.receipt__payment-details{font-size:.75rem;color:var(--receipt-text-tertiary);margin-top:var(--snice-spacing-3xs,.125rem)}.receipt__qr{display:flex;justify-content:center;padding:var(--snice-spacing-xs,.5rem) 0}.receipt__qr ::slotted(*){width:var(--receipt-qr-size);height:var(--receipt-qr-size)}.receipt__barcode{display:flex;justify-content:center;padding:var(--snice-spacing-xs,.5rem) 0}.receipt__barcode ::slotted(*){max-width:100%}.receipt__footer{text-align:center;font-size:var(--receipt-footer-font-size);color:var(--receipt-text-tertiary)}.receipt__thank-you{font-weight:var(--snice-font-weight-medium,500);color:var(--receipt-text-secondary);margin-bottom:var(--snice-spacing-2xs,.25rem)}:host([variant=thermal]){font-family:var(--receipt-thermal-font)}:host([variant=thermal]) .receipt{max-width:var(--receipt-thermal-width);border-radius:0;border:none;background:var(--receipt-thermal-bg);color:var(--receipt-text);padding:var(--snice-spacing-md,1rem) var(--snice-spacing-sm,.75rem);box-shadow:var(--snice-shadow-sm,0 2px 8px rgb(0 0 0 / .06));font-family:var(--receipt-thermal-font)}:host([variant=thermal]) .receipt__divider{border-top-style:dotted;border-top-width:2px;border-top-color:var(--receipt-divider-color);margin:var(--snice-spacing-xs,.5rem) 0}:host([variant=thermal]) .receipt__merchant-name{font-size:var(--snice-font-size-md, 1rem);text-transform:uppercase;letter-spacing:.12em;color:var(--receipt-text)}:host([variant=thermal]) .receipt__merchant-address,:host([variant=thermal]) .receipt__merchant-contact{font-size:.75rem;color:var(--receipt-text-secondary)}:host([variant=thermal]) .receipt__meta{font-size:.75rem;color:var(--receipt-text-secondary)}:host([variant=thermal]) .receipt__meta-label{color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__meta-value{color:var(--receipt-text)}:host([variant=thermal]) .receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);font-size:.625rem;border-bottom-style:dotted;color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__item{font-size:.8125rem;padding:.125rem 0}:host([variant=thermal]) .receipt__item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--receipt-text)}:host([variant=thermal]) .receipt__item-qty{color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__item-price{color:var(--receipt-text)}:host([variant=thermal]) .receipt__total-row{font-size:.8125rem;color:var(--receipt-text-secondary)}:host([variant=thermal]) .receipt__total-row--grand{font-size:.9375rem;border-top-style:double;border-top-width:3px;color:var(--receipt-text)}:host([variant=thermal]) .receipt__payment{font-size:.75rem;color:var(--receipt-text-secondary)}:host([variant=thermal]) .receipt__payment-method{color:var(--receipt-text)}:host([variant=thermal]) .receipt__payment-details{color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__footer{font-size:.6875rem;letter-spacing:.04em;color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__thank-you{text-transform:uppercase;letter-spacing:var(--snice-tracking-widest, .1em);font-size:.75rem;color:var(--receipt-text-secondary)}:host([variant=modern]) .receipt{border:none;border-radius:var(--receipt-modern-radius);box-shadow:var(--receipt-modern-shadow);padding:var(--snice-spacing-lg,1.5rem)}:host([variant=modern]) .receipt__divider{border:none;margin:var(--snice-spacing-md,1rem) 0}:host([variant=modern]) .receipt__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);padding-bottom:var(--snice-spacing-md,1rem)}:host([variant=modern]) .receipt__merchant-name{font-size:1.375rem;letter-spacing:var(--snice-tracking-tight, -.02em)}:host([variant=modern]) .receipt__meta{background:var(--receipt-modern-section-bg);border-radius:var(--receipt-modern-section-radius);padding:var(--snice-spacing-sm,.75rem)}:host([variant=modern]) .receipt__items{background:var(--receipt-modern-section-bg);border-radius:var(--receipt-modern-section-radius);padding:var(--snice-spacing-sm,.75rem)}:host([variant=modern]) .receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);border-bottom-color:var(--receipt-border)}:host([variant=modern]) .receipt__totals{background:var(--receipt-modern-section-bg);border-radius:var(--receipt-modern-section-radius);padding:var(--snice-spacing-sm,.75rem)}:host([variant=modern]) .receipt__total-row--grand{border-top:2px solid var(--receipt-accent);color:var(--receipt-accent)}:host([variant=modern]) .receipt__payment{background:var(--receipt-modern-section-bg);border-radius:var(--receipt-modern-section-radius);padding:var(--snice-spacing-sm,.75rem)}:host([variant=modern]) .receipt__footer{padding-top:var(--snice-spacing-xs,.5rem)}:host([variant=modern]) .receipt__thank-you{color:var(--receipt-accent);font-weight:var(--snice-font-weight-semibold,600)}:host([variant=minimal]) .receipt{border:none;border-radius:0;padding:var(--snice-spacing-md,1rem) 0;box-shadow:none;max-width:20rem}:host([variant=minimal]) .receipt__divider{border-top-style:solid;border-top-color:var(--receipt-border);margin:var(--snice-spacing-md,1rem) 0}:host([variant=minimal]) .receipt__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);padding-bottom:var(--snice-spacing-md,1rem)}:host([variant=minimal]) .receipt__logo{display:none}:host([variant=minimal]) .receipt__merchant-name{font-size:1rem;text-transform:uppercase;letter-spacing:.15em;font-weight:var(--snice-font-weight-medium,500)}:host([variant=minimal]) .receipt__merchant-address,:host([variant=minimal]) .receipt__merchant-contact{display:none}:host([variant=minimal]) .receipt__meta{font-size:.75rem}:host([variant=minimal]) .receipt__meta-label{display:none}:host([variant=minimal]) .receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);display:none}:host([variant=minimal]) .receipt__item{font-size:.875rem}:host([variant=minimal]) .receipt__item-discount,:host([variant=minimal]) .receipt__item-note,:host([variant=minimal]) .receipt__item-sku{display:none}:host([variant=minimal]) .receipt__total-row{font-size:.875rem}:host([variant=minimal]) .receipt__total-row--grand{font-size:1rem;border-top-width:1px;border-top-style:solid}:host([variant=minimal]) .receipt__payment{font-size:.75rem}:host([variant=minimal]) .receipt__footer{font-size:.75rem}:host([variant=detailed]) .receipt{max-width:26rem}:host([variant=detailed]) .receipt__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);border-bottom:2px solid var(--receipt-text);padding-bottom:var(--snice-spacing-md,1rem)}:host([variant=detailed]) .receipt__merchant-name{font-size:1.5rem}:host([variant=detailed]) .receipt__merchant-contact{font-size:.75rem}:host([variant=detailed]) .receipt__meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--snice-spacing-xs,.5rem)}:host([variant=detailed]) .receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);display:flex;font-weight:var(--snice-font-weight-semibold,600);border-bottom:2px solid var(--receipt-border);padding-bottom:var(--snice-spacing-2xs,.25rem)}:host([variant=detailed]) .receipt__item{border-bottom:1px solid var(--receipt-divider-color);padding:var(--snice-spacing-2xs,.25rem) 0}:host([variant=detailed]) .receipt__item:last-child{border-bottom:none}:host([variant=detailed]) .receipt__item-sku{display:block}:host([variant=detailed]) .receipt__item-note{display:block}:host([variant=detailed]) .receipt__item-discount{display:block}:host([variant=detailed]) .receipt__total-row--grand{font-size:1.25rem;border-top:2px solid var(--receipt-text)}:host([variant=detailed]) .receipt__payment-details{font-size:.8125rem}@media print{.receipt{border:none;box-shadow:none;border-radius:0;padding:0;max-width:none}.receipt__barcode ::slotted(*),.receipt__qr ::slotted(*){-webkit-print-color-adjust:exact;print-color-adjust:exact}:host([variant=thermal]) .receipt{max-width:var(--receipt-thermal-width);background:#fff;box-shadow:none}:host([variant=modern]) .receipt{box-shadow:none}:host([variant=modern]) .receipt__items,:host([variant=modern]) .receipt__meta,:host([variant=modern]) .receipt__payment,:host([variant=modern]) .receipt__totals{background:0 0;border:1px solid var(--receipt-border)}}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}:host([variant=paper]){--receipt-bg:color-mix(in srgb, var(--snice-color-surface, rgb(255 255 255)) 96%, rgb(196 160 96));--receipt-text:var(--snice-color-text, rgb(43 38 31));--receipt-text-secondary:var(--snice-color-text-secondary, rgb(94 85 72));--receipt-text-tertiary:var(--snice-color-text-tertiary, rgb(148 136 116));--receipt-border:color-mix(in srgb, var(--snice-color-border, rgb(216 208 192)) 85%, rgb(180 150 90));--receipt-paper-ink:var(--snice-color-text, rgb(43 38 31));--receipt-paper-accent:rgb(186 96 74)}:host([variant=paper]) .receipt{background-image:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23d)'/%3E%3C/svg%3E\\\"),url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='l'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.03 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23l)'/%3E%3C/svg%3E\\\");background:var(--receipt-bg);color:var(--receipt-text);border:1px solid var(--receipt-paper-ink);border-radius:0;box-shadow:0 1px 2px rgb(56 46 30 / .1),0 18px 40px -20px rgb(56 46 30 / .5)}:host([variant=paper]) .receipt__merchant-name{font-family:Georgia,'Times New Roman',serif;text-transform:uppercase;letter-spacing:.3em;font-weight:var(--snice-font-weight-normal,400)}:host([variant=paper]) .receipt__header{border-bottom:4px double var(--receipt-paper-ink)}:host([variant=paper]) .receipt__total-row--grand{border:1px solid var(--receipt-paper-ink);box-shadow:inset 0 0 0 3px var(--receipt-bg),inset 0 0 0 4px var(--receipt-paper-accent);background:var(--receipt-bg);padding:var(--snice-spacing-sm,.75rem) var(--snice-spacing-md,1rem)}:host([variant=paper]) .receipt__total-row--grand :last-child{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;font-variant-numeric:tabular-nums lining-nums}:host([variant=paper]) .receipt__thank-you{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--receipt-paper-accent)}:host([variant=ink]){--receipt-bg:var(--snice-color-surface, rgb(250 249 246));--receipt-text:var(--snice-color-text, rgb(32 30 27));--receipt-text-secondary:var(--snice-color-text-secondary, rgb(92 87 79));--receipt-text-tertiary:var(--snice-color-text-tertiary, rgb(146 139 126));--receipt-border:var(--snice-color-border, rgb(220 214 202));--receipt-ink:var(--snice-color-text, rgb(28 26 23))}:host([variant=ink]) .receipt{background:var(--receipt-bg);color:var(--receipt-text);border:1px solid var(--receipt-ink);border-radius:0;overflow:hidden;position:relative;padding-bottom:2rem;box-shadow:0 18px 40px -20px rgb(30 28 24 / .5)}:host([variant=ink]) .receipt__header{background:var(--receipt-ink);color:var(--snice-color-surface,rgb(249 247 242));margin:-1.25rem -1.25rem 1.25rem;padding:1.25rem;border-bottom:none}:host([variant=ink]) .receipt__merchant-name{text-transform:uppercase;letter-spacing:.4em;font-weight:var(--snice-font-weight-light,300)}:host([variant=ink]) .receipt__merchant-address,:host([variant=ink]) .receipt__merchant-contact{color:color-mix(in srgb,var(--snice-color-surface,rgb(249 247 242)) 60%,transparent)}:host([variant=ink]) .receipt__total-row--grand{border-top:2px solid var(--receipt-ink);align-items:baseline}:host([variant=ink]) .receipt__total-row--grand :last-child{font-size:2rem;font-weight:var(--snice-font-weight-light,300);font-variant-numeric:tabular-nums lining-nums}:host([variant=ink]) .receipt::after{content:'';position:absolute;left:0;right:0;bottom:0;height:.5rem;background:var(--receipt-ink)}:host([variant=ledger]){--receipt-bg:var(--snice-color-surface, rgb(250 250 247));--receipt-text:var(--snice-color-text, rgb(40 40 38));--receipt-text-secondary:var(--snice-color-text-secondary, rgb(105 103 96));--receipt-text-tertiary:var(--snice-color-text-tertiary, rgb(150 147 138));--receipt-border:var(--snice-color-border, rgb(216 214 205));--receipt-bg-element:transparent}:host([variant=ledger]) [part=base]{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;border:1px solid var(--snice-color-text,rgb(40 40 38));border-radius:0;box-shadow:0 14px 34px -18px rgb(40 40 38 / .45);letter-spacing:.01em}:host([variant=ledger]) [part=base] *{font-family:inherit}:host([variant=ticket]){--receipt-bg:var(--snice-color-surface, rgb(252 251 247));--receipt-text:var(--snice-color-text, rgb(45 42 38));--receipt-text-secondary:var(--snice-color-text-secondary, rgb(110 104 94));--receipt-text-tertiary:var(--snice-color-text-tertiary, rgb(158 150 136));--receipt-border:var(--snice-color-border, rgb(214 208 194));--receipt-bg-element:var(--snice-color-surface-container-high, rgb(246 243 236))}:host([variant=ticket]) [part=base]{border:1px solid var(--snice-color-text,rgb(45 42 38));border-radius:.75rem;overflow:hidden;position:relative;padding-bottom:3.25rem;box-shadow:0 14px 34px -18px rgb(45 42 38 / .45)}:host([variant=ticket]) [part=header]{position:relative;border-bottom:2px dashed var(--snice-color-border-hover,rgb(178 168 150));padding-bottom:1rem}:host([variant=ticket]) [part=header]::after,:host([variant=ticket]) [part=header]::before{content:'';position:absolute;bottom:-.8125rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--snice-color-surface,rgb(24 24 27));border:1px solid var(--snice-color-text,rgb(45 42 38))}:host([variant=ticket]) [part=header]::before{left:-2.25rem}:host([variant=ticket]) [part=header]::after{right:-2.25rem}:host([variant=ticket]) [part=base]::after{content:'';position:absolute;left:1.5rem;right:1.5rem;bottom:.875rem;height:1.75rem;background:repeating-linear-gradient(90deg,var(--snice-color-text,rgb(45 42 38)) 0 2px,transparent 2px 5px,var(--snice-color-text,rgb(45 42 38)) 5px 6px,transparent 6px 11px,var(--snice-color-text,rgb(45 42 38)) 11px 14px,transparent 14px 17px);opacity:.85}\";\n\nlet SniceReceipt = (() => {\n let _classDecorators = [element('snice-receipt')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _receiptNumber_decorators;\n let _receiptNumber_initializers = [];\n let _receiptNumber_extraInitializers = [];\n let _date_decorators;\n let _date_initializers = [];\n let _date_extraInitializers = [];\n let _currency_decorators;\n let _currency_initializers = [];\n let _currency_extraInitializers = [];\n let _locale_decorators;\n let _locale_initializers = [];\n let _locale_extraInitializers = [];\n let _merchant_decorators;\n let _merchant_initializers = [];\n let _merchant_extraInitializers = [];\n let _items_decorators;\n let _items_initializers = [];\n let _items_extraInitializers = [];\n let _tax_decorators;\n let _tax_initializers = [];\n let _tax_extraInitializers = [];\n let _taxes_decorators;\n let _taxes_initializers = [];\n let _taxes_extraInitializers = [];\n let _subtotal_decorators;\n let _subtotal_initializers = [];\n let _subtotal_extraInitializers = [];\n let _total_decorators;\n let _total_initializers = [];\n let _total_extraInitializers = [];\n let _tip_decorators;\n let _tip_initializers = [];\n let _tip_extraInitializers = [];\n let _discount_decorators;\n let _discount_initializers = [];\n let _discount_extraInitializers = [];\n let _discountLabel_decorators;\n let _discountLabel_initializers = [];\n let _discountLabel_extraInitializers = [];\n let _paymentMethod_decorators;\n let _paymentMethod_initializers = [];\n let _paymentMethod_extraInitializers = [];\n let _paymentDetails_decorators;\n let _paymentDetails_initializers = [];\n let _paymentDetails_extraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _variant_extraInitializers = [];\n let _showQr_decorators;\n let _showQr_initializers = [];\n let _showQr_extraInitializers = [];\n let _qrData_decorators;\n let _qrData_initializers = [];\n let _qrData_extraInitializers = [];\n let _qrPosition_decorators;\n let _qrPosition_initializers = [];\n let _qrPosition_extraInitializers = [];\n let _thankYou_decorators;\n let _thankYou_initializers = [];\n let _thankYou_extraInitializers = [];\n let _cashier_decorators;\n let _cashier_initializers = [];\n let _cashier_extraInitializers = [];\n let _terminalId_decorators;\n let _terminalId_initializers = [];\n let _terminalId_extraInitializers = [];\n let _renderContent_decorators;\n let _componentStyles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _receiptNumber_decorators = [property({ attribute: 'receipt-number' })];\n _date_decorators = [property()];\n _currency_decorators = [property()];\n _locale_decorators = [property()];\n _merchant_decorators = [property({ type: Object, attribute: false })];\n _items_decorators = [property({ type: Array, attribute: false })];\n _tax_decorators = [property({ type: Number })];\n _taxes_decorators = [property({ type: Array, attribute: false })];\n _subtotal_decorators = [property({ type: Number })];\n _total_decorators = [property({ type: Number })];\n _tip_decorators = [property({ type: Number })];\n _discount_decorators = [property({ type: Number })];\n _discountLabel_decorators = [property({ attribute: 'discount-label' })];\n _paymentMethod_decorators = [property({ attribute: 'payment-method' })];\n _paymentDetails_decorators = [property({ attribute: 'payment-details' })];\n _variant_decorators = [property()];\n _showQr_decorators = [property({ type: Boolean, attribute: 'show-qr' })];\n _qrData_decorators = [property({ attribute: 'qr-data' })];\n _qrPosition_decorators = [property({ attribute: 'qr-position' })];\n _thankYou_decorators = [property({ attribute: 'thank-you' })];\n _cashier_decorators = [property()];\n _terminalId_decorators = [property({ attribute: 'terminal-id' })];\n _renderContent_decorators = [render()];\n _componentStyles_decorators = [styles()];\n __esDecorate(this, null, _renderContent_decorators, { kind: \"method\", name: \"renderContent\", static: false, private: false, access: { has: obj => \"renderContent\" in obj, get: obj => obj.renderContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _componentStyles_decorators, { kind: \"method\", name: \"componentStyles\", static: false, private: false, access: { has: obj => \"componentStyles\" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _receiptNumber_decorators, { kind: \"field\", name: \"receiptNumber\", static: false, private: false, access: { has: obj => \"receiptNumber\" in obj, get: obj => obj.receiptNumber, set: (obj, value) => { obj.receiptNumber = value; } }, metadata: _metadata }, _receiptNumber_initializers, _receiptNumber_extraInitializers);\n __esDecorate(null, null, _date_decorators, { kind: \"field\", name: \"date\", static: false, private: false, access: { has: obj => \"date\" in obj, get: obj => obj.date, set: (obj, value) => { obj.date = value; } }, metadata: _metadata }, _date_initializers, _date_extraInitializers);\n __esDecorate(null, null, _currency_decorators, { kind: \"field\", name: \"currency\", static: false, private: false, access: { has: obj => \"currency\" in obj, get: obj => obj.currency, set: (obj, value) => { obj.currency = value; } }, metadata: _metadata }, _currency_initializers, _currency_extraInitializers);\n __esDecorate(null, null, _locale_decorators, { kind: \"field\", name: \"locale\", static: false, private: false, access: { has: obj => \"locale\" in obj, get: obj => obj.locale, set: (obj, value) => { obj.locale = value; } }, metadata: _metadata }, _locale_initializers, _locale_extraInitializers);\n __esDecorate(null, null, _merchant_decorators, { kind: \"field\", name: \"merchant\", static: false, private: false, access: { has: obj => \"merchant\" in obj, get: obj => obj.merchant, set: (obj, value) => { obj.merchant = value; } }, metadata: _metadata }, _merchant_initializers, _merchant_extraInitializers);\n __esDecorate(null, null, _items_decorators, { kind: \"field\", name: \"items\", static: false, private: false, access: { has: obj => \"items\" in obj, get: obj => obj.items, set: (obj, value) => { obj.items = value; } }, metadata: _metadata }, _items_initializers, _items_extraInitializers);\n __esDecorate(null, null, _tax_decorators, { kind: \"field\", name: \"tax\", static: false, private: false, access: { has: obj => \"tax\" in obj, get: obj => obj.tax, set: (obj, value) => { obj.tax = value; } }, metadata: _metadata }, _tax_initializers, _tax_extraInitializers);\n __esDecorate(null, null, _taxes_decorators, { kind: \"field\", name: \"taxes\", static: false, private: false, access: { has: obj => \"taxes\" in obj, get: obj => obj.taxes, set: (obj, value) => { obj.taxes = value; } }, metadata: _metadata }, _taxes_initializers, _taxes_extraInitializers);\n __esDecorate(null, null, _subtotal_decorators, { kind: \"field\", name: \"subtotal\", static: false, private: false, access: { has: obj => \"subtotal\" in obj, get: obj => obj.subtotal, set: (obj, value) => { obj.subtotal = value; } }, metadata: _metadata }, _subtotal_initializers, _subtotal_extraInitializers);\n __esDecorate(null, null, _total_decorators, { kind: \"field\", name: \"total\", static: false, private: false, access: { has: obj => \"total\" in obj, get: obj => obj.total, set: (obj, value) => { obj.total = value; } }, metadata: _metadata }, _total_initializers, _total_extraInitializers);\n __esDecorate(null, null, _tip_decorators, { kind: \"field\", name: \"tip\", static: false, private: false, access: { has: obj => \"tip\" in obj, get: obj => obj.tip, set: (obj, value) => { obj.tip = value; } }, metadata: _metadata }, _tip_initializers, _tip_extraInitializers);\n __esDecorate(null, null, _discount_decorators, { kind: \"field\", name: \"discount\", static: false, private: false, access: { has: obj => \"discount\" in obj, get: obj => obj.discount, set: (obj, value) => { obj.discount = value; } }, metadata: _metadata }, _discount_initializers, _discount_extraInitializers);\n __esDecorate(null, null, _discountLabel_decorators, { kind: \"field\", name: \"discountLabel\", static: false, private: false, access: { has: obj => \"discountLabel\" in obj, get: obj => obj.discountLabel, set: (obj, value) => { obj.discountLabel = value; } }, metadata: _metadata }, _discountLabel_initializers, _discountLabel_extraInitializers);\n __esDecorate(null, null, _paymentMethod_decorators, { kind: \"field\", name: \"paymentMethod\", static: false, private: false, access: { has: obj => \"paymentMethod\" in obj, get: obj => obj.paymentMethod, set: (obj, value) => { obj.paymentMethod = value; } }, metadata: _metadata }, _paymentMethod_initializers, _paymentMethod_extraInitializers);\n __esDecorate(null, null, _paymentDetails_decorators, { kind: \"field\", name: \"paymentDetails\", static: false, private: false, access: { has: obj => \"paymentDetails\" in obj, get: obj => obj.paymentDetails, set: (obj, value) => { obj.paymentDetails = value; } }, metadata: _metadata }, _paymentDetails_initializers, _paymentDetails_extraInitializers);\n __esDecorate(null, null, _variant_decorators, { kind: \"field\", name: \"variant\", static: false, private: false, access: { has: obj => \"variant\" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);\n __esDecorate(null, null, _showQr_decorators, { kind: \"field\", name: \"showQr\", static: false, private: false, access: { has: obj => \"showQr\" in obj, get: obj => obj.showQr, set: (obj, value) => { obj.showQr = value; } }, metadata: _metadata }, _showQr_initializers, _showQr_extraInitializers);\n __esDecorate(null, null, _qrData_decorators, { kind: \"field\", name: \"qrData\", static: false, private: false, access: { has: obj => \"qrData\" in obj, get: obj => obj.qrData, set: (obj, value) => { obj.qrData = value; } }, metadata: _metadata }, _qrData_initializers, _qrData_extraInitializers);\n __esDecorate(null, null, _qrPosition_decorators, { kind: \"field\", name: \"qrPosition\", static: false, private: false, access: { has: obj => \"qrPosition\" in obj, get: obj => obj.qrPosition, set: (obj, value) => { obj.qrPosition = value; } }, metadata: _metadata }, _qrPosition_initializers, _qrPosition_extraInitializers);\n __esDecorate(null, null, _thankYou_decorators, { kind: \"field\", name: \"thankYou\", static: false, private: false, access: { has: obj => \"thankYou\" in obj, get: obj => obj.thankYou, set: (obj, value) => { obj.thankYou = value; } }, metadata: _metadata }, _thankYou_initializers, _thankYou_extraInitializers);\n __esDecorate(null, null, _cashier_decorators, { kind: \"field\", name: \"cashier\", static: false, private: false, access: { has: obj => \"cashier\" in obj, get: obj => obj.cashier, set: (obj, value) => { obj.cashier = value; } }, metadata: _metadata }, _cashier_initializers, _cashier_extraInitializers);\n __esDecorate(null, null, _terminalId_decorators, { kind: \"field\", name: \"terminalId\", static: false, private: false, access: { has: obj => \"terminalId\" in obj, get: obj => obj.terminalId, set: (obj, value) => { obj.terminalId = value; } }, metadata: _metadata }, _terminalId_initializers, _terminalId_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n getComputedSubtotal() {\n if (this.subtotal > 0)\n return this.subtotal;\n return this.items.reduce((sum, item) => {\n const lineTotal = item.quantity * item.price;\n const itemDiscount = item.discount || 0;\n return sum + lineTotal - itemDiscount;\n }, 0);\n }\n getComputedTax() {\n if (this.taxes.length > 0) {\n return this.taxes.reduce((sum, t) => sum + t.amount, 0);\n }\n return this.tax;\n }\n getComputedTotal() {\n if (this.total > 0)\n return this.total;\n const sub = this.getComputedSubtotal();\n const taxAmt = this.getComputedTax();\n return sub + taxAmt - this.discount + this.tip;\n }\n formatCurrency(amount) {\n const loc = this.locale || undefined;\n try {\n return new Intl.NumberFormat(loc, {\n style: 'currency',\n currency: this.currency\n }).format(amount);\n }\n catch {\n return `${this.currency} ${amount.toFixed(2)}`;\n }\n }\n print() {\n const printWindow = window.open('', '_blank');\n if (!printWindow)\n return;\n // Clone the shadow tree and expand each <slot> into its assigned nodes so\n // light-DOM children (slotted QR code, barcode, etc.) are included in the\n // print output. Plain innerHTML drops slotted content entirely.\n const stylesText = Array.from(this.shadowRoot?.querySelectorAll('style') || [])\n .map(s => s.textContent)\n .join('\\n');\n const content = this.buildPrintableContent();\n printWindow.document.write(`<!DOCTYPE html><html><head><style>${stylesText}</style></head><body>${content}</body></html>`);\n printWindow.document.close();\n printWindow.print();\n printWindow.close();\n }\n buildPrintableContent() {\n if (!this.shadowRoot)\n return '';\n const container = document.createElement('div');\n for (const node of Array.from(this.shadowRoot.childNodes)) {\n if (node.nodeType === 1 && node.tagName === 'STYLE')\n continue;\n container.appendChild(this.cloneExpandingSlots(node));\n }\n return container.innerHTML;\n }\n cloneExpandingSlots(node) {\n if (node.nodeType === 1 && node.tagName === 'SLOT') {\n const slot = node;\n const assigned = slot.assignedNodes({ flatten: true });\n const frag = document.createDocumentFragment();\n if (assigned.length > 0) {\n for (const n of assigned)\n frag.appendChild(n.cloneNode(true));\n }\n else {\n // Fallback content inside the <slot>\n for (const n of Array.from(slot.childNodes)) {\n frag.appendChild(this.cloneExpandingSlots(n));\n }\n }\n return frag;\n }\n const clone = node.cloneNode(false);\n for (const child of Array.from(node.childNodes)) {\n clone.appendChild(this.cloneExpandingSlots(child));\n }\n return clone;\n }\n renderDivider() {\n return html /*html*/ `<hr class=\"receipt__divider\" part=\"divider\" />`;\n }\n renderQrSlot() {\n const showSlot = this.showQr;\n if (!showSlot)\n return '';\n return html /*html*/ `\n <div class=\"receipt__qr\" part=\"qr-container\">\n <slot name=\"qr\"></slot>\n </div>\n `;\n }\n renderItem(item) {\n const lineTotal = item.quantity * item.price;\n const hasDiscount = (item.discount || 0) > 0;\n const showQty = item.quantity !== 1;\n const isDetailed = this.variant === 'detailed';\n const hasSku = isDetailed && item.sku;\n const hasNote = isDetailed && item.note;\n return html /*html*/ `\n <div class=\"receipt__item\" part=\"item\">\n <div class=\"receipt__item-info\">\n <span class=\"receipt__item-name\" part=\"item-name\">${item.name}</span>\n <if ${hasSku}>\n <span class=\"receipt__item-sku\" part=\"item-sku\">${item.sku}</span>\n </if>\n <if ${hasNote}>\n <span class=\"receipt__item-note\">${item.note}</span>\n </if>\n <if ${hasDiscount}>\n <span class=\"receipt__item-discount\">-${this.formatCurrency(item.discount || 0)}</span>\n </if>\n </div>\n <if ${showQty}>\n <span class=\"receipt__item-qty\" part=\"item-qty\">x${item.quantity}</span>\n </if>\n <span class=\"receipt__item-price\" part=\"item-price\">${this.formatCurrency(lineTotal)}</span>\n </div>\n `;\n }\n renderMerchantContact() {\n const m = this.merchant;\n const hasPhone = m.phone;\n const hasEmail = m.email;\n const hasWebsite = m.website;\n const hasTaxId = m.taxId;\n const hasAny = hasPhone || hasEmail || hasWebsite || hasTaxId;\n if (!hasAny)\n return '';\n const parts = [];\n if (m.phone)\n parts.push(m.phone);\n if (m.email)\n parts.push(m.email);\n if (m.website)\n parts.push(m.website);\n if (m.taxId)\n parts.push(`Tax ID: ${m.taxId}`);\n return html /*html*/ `\n <div class=\"receipt__merchant-contact\" part=\"merchant-contact\">${parts.join(' | ')}</div>\n `;\n }\n renderContent() {\n const computedSubtotal = this.getComputedSubtotal();\n const computedTotal = this.getComputedTotal();\n const computedTax = this.getComputedTax();\n const hasMerchant = this.merchant.name;\n const hasTax = computedTax > 0;\n const hasMultipleTaxes = this.taxes.length > 0;\n const hasTip = this.tip > 0;\n const hasDiscount = this.discount > 0;\n const hasItems = this.items.length > 0;\n const hasMeta = this.receiptNumber || this.date || this.cashier || this.terminalId;\n const hasPayment = this.paymentMethod;\n const qrTop = this.showQr && this.qrPosition === 'top';\n const qrBottom = this.showQr && this.qrPosition === 'bottom';\n const qrFooter = this.showQr && this.qrPosition === 'footer';\n return html /*html*/ `\n <div class=\"receipt\" part=\"base\">\n\n <if ${qrTop}>\n ${this.renderQrSlot()}\n ${this.renderDivider()}\n </if>\n\n <if ${hasMerchant}>\n <div class=\"receipt__header\" part=\"header\">\n <if ${this.merchant.logo}>\n <img class=\"receipt__logo\" src=\"${this.merchant.logo}\" alt=\"${this.merchant.name}\" part=\"logo\" />\n </if>\n <div class=\"receipt__merchant-name\" part=\"merchant-name\">${this.merchant.name}</div>\n <if ${this.merchant.address}>\n <div class=\"receipt__merchant-address\" part=\"merchant-address\">${this.merchant.address}</div>\n </if>\n ${this.renderMerchantContact()}\n </div>\n ${this.renderDivider()}\n </if>\n\n <if ${hasMeta}>\n <div class=\"receipt__meta\" part=\"meta\">\n <if ${this.receiptNumber}>\n <div class=\"receipt__meta-item\">\n <span class=\"receipt__meta-label\">Receipt #</span>\n <span class=\"receipt__meta-value\" part=\"receipt-number\">${this.receiptNumber}</span>\n </div>\n </if>\n <if ${this.date}>\n <div class=\"receipt__meta-item\">\n <span class=\"receipt__meta-label\">Date</span>\n <span class=\"receipt__meta-value\" part=\"date\">${this.date}</span>\n </div>\n </if>\n <if ${this.cashier}>\n <div class=\"receipt__meta-item\">\n <span class=\"receipt__meta-label\">Cashier</span>\n <span class=\"receipt__meta-value\">${this.cashier}</span>\n </div>\n </if>\n <if ${this.terminalId}>\n <div class=\"receipt__meta-item\">\n <span class=\"receipt__meta-label\">Terminal</span>\n <span class=\"receipt__meta-value\">${this.terminalId}</span>\n </div>\n </if>\n </div>\n ${this.renderDivider()}\n </if>\n\n <slot name=\"before-items\"></slot>\n\n <if ${hasItems}>\n <div class=\"receipt__items-header\" part=\"items-header\">\n <span>Item</span>\n <span>Amount</span>\n </div>\n <div class=\"receipt__items\" part=\"items\">\n ${this.items.map(item => this.renderItem(item))}\n </div>\n ${this.renderDivider()}\n </if>\n\n <slot name=\"after-items\"></slot>\n\n <div class=\"receipt__totals\" part=\"totals\">\n <div class=\"receipt__total-row\" part=\"subtotal-row\">\n <span>Subtotal</span>\n <span>${this.formatCurrency(computedSubtotal)}</span>\n </div>\n\n <if ${hasDiscount}>\n <div class=\"receipt__total-row receipt__total-row--discount\" part=\"discount-row\">\n <span>${this.discountLabel}</span>\n <span>-${this.formatCurrency(this.discount)}</span>\n </div>\n </if>\n\n <if ${hasTax && !hasMultipleTaxes}>\n <div class=\"receipt__total-row\" part=\"tax-row\">\n <span>Tax</span>\n <span>${this.formatCurrency(this.tax)}</span>\n </div>\n </if>\n\n <if ${hasMultipleTaxes}>\n ${this.taxes.map(t => {\n const label = t.rate ? `${t.label} (${t.rate}%)` : t.label;\n return html /*html*/ `\n <div class=\"receipt__total-row\" part=\"tax-row\">\n <span>${label}</span>\n <span>${this.formatCurrency(t.amount)}</span>\n </div>\n `;\n })}\n </if>\n\n <if ${hasTip}>\n <div class=\"receipt__total-row\" part=\"tip-row\">\n <span>Tip</span>\n <span>${this.formatCurrency(this.tip)}</span>\n </div>\n </if>\n\n <div class=\"receipt__total-row receipt__total-row--grand\" part=\"total-row\">\n <span>Total</span>\n <span>${this.formatCurrency(computedTotal)}</span>\n </div>\n </div>\n\n <if ${hasPayment}>\n ${this.renderDivider()}\n <div class=\"receipt__payment\" part=\"payment\">\n <span>Paid with </span>\n <span class=\"receipt__payment-method\" part=\"payment-method\">${this.paymentMethod}</span>\n <if ${this.paymentDetails}>\n <div class=\"receipt__payment-details\" part=\"payment-details\">${this.paymentDetails}</div>\n </if>\n </div>\n </if>\n\n <if ${qrBottom}>\n ${this.renderDivider()}\n ${this.renderQrSlot()}\n </if>\n\n <div class=\"receipt__barcode\" part=\"barcode-area\">\n <slot name=\"barcode\"></slot>\n </div>\n\n ${this.renderDivider()}\n <div class=\"receipt__footer\" part=\"footer\">\n <slot name=\"thank-you\">\n <if ${this.thankYou}>\n <div class=\"receipt__thank-you\" part=\"thank-you\">${this.thankYou}</div>\n </if>\n </slot>\n <slot></slot>\n <if ${qrFooter}>\n ${this.renderQrSlot()}\n </if>\n </div>\n </div>\n `;\n }\n componentStyles() {\n return css /*css*/ `${cssContent}`;\n }\n constructor() {\n super(...arguments);\n this.receiptNumber = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _receiptNumber_initializers, ''));\n this.date = (__runInitializers(this, _receiptNumber_extraInitializers), __runInitializers(this, _date_initializers, ''));\n this.currency = (__runInitializers(this, _date_extraInitializers), __runInitializers(this, _currency_initializers, 'USD'));\n this.locale = (__runInitializers(this, _currency_extraInitializers), __runInitializers(this, _locale_initializers, ''));\n this.merchant = (__runInitializers(this, _locale_extraInitializers), __runInitializers(this, _merchant_initializers, { name: '' }));\n this.items = (__runInitializers(this, _merchant_extraInitializers), __runInitializers(this, _items_initializers, []));\n this.tax = (__runInitializers(this, _items_extraInitializers), __runInitializers(this, _tax_initializers, 0));\n this.taxes = (__runInitializers(this, _tax_extraInitializers), __runInitializers(this, _taxes_initializers, []));\n this.subtotal = (__runInitializers(this, _taxes_extraInitializers), __runInitializers(this, _subtotal_initializers, 0));\n this.total = (__runInitializers(this, _subtotal_extraInitializers), __runInitializers(this, _total_initializers, 0));\n this.tip = (__runInitializers(this, _total_extraInitializers), __runInitializers(this, _tip_initializers, 0));\n this.discount = (__runInitializers(this, _tip_extraInitializers), __runInitializers(this, _discount_initializers, 0));\n this.discountLabel = (__runInitializers(this, _discount_extraInitializers), __runInitializers(this, _discountLabel_initializers, 'Discount'));\n this.paymentMethod = (__runInitializers(this, _discountLabel_extraInitializers), __runInitializers(this, _paymentMethod_initializers, ''));\n this.paymentDetails = (__runInitializers(this, _paymentMethod_extraInitializers), __runInitializers(this, _paymentDetails_initializers, ''));\n this.variant = (__runInitializers(this, _paymentDetails_extraInitializers), __runInitializers(this, _variant_initializers, 'standard'));\n this.showQr = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _showQr_initializers, false));\n this.qrData = (__runInitializers(this, _showQr_extraInitializers), __runInitializers(this, _qrData_initializers, ''));\n this.qrPosition = (__runInitializers(this, _qrData_extraInitializers), __runInitializers(this, _qrPosition_initializers, 'bottom'));\n this.thankYou = (__runInitializers(this, _qrPosition_extraInitializers), __runInitializers(this, _thankYou_initializers, 'Thank you for your purchase!'));\n this.cashier = (__runInitializers(this, _thankYou_extraInitializers), __runInitializers(this, _cashier_initializers, ''));\n this.terminalId = (__runInitializers(this, _cashier_extraInitializers), __runInitializers(this, _terminalId_initializers, ''));\n __runInitializers(this, _terminalId_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceReceipt };\n//# sourceMappingURL=snice-receipt.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","SniceReceipt","_classDescriptor","_classThis","_receiptNumber_decorators","_date_decorators","_currency_decorators","_locale_decorators","_merchant_decorators","_items_decorators","_tax_decorators","_taxes_decorators","_subtotal_decorators","_total_decorators","_tip_decorators","_discount_decorators","_discountLabel_decorators","_paymentMethod_decorators","_paymentDetails_decorators","_variant_decorators","_showQr_decorators","_qrData_decorators","_qrPosition_decorators","_thankYou_decorators","_cashier_decorators","_terminalId_decorators","_renderContent_decorators","_componentStyles_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_receiptNumber_initializers","_receiptNumber_extraInitializers","_date_initializers","_date_extraInitializers","_currency_initializers","_currency_extraInitializers","_locale_initializers","_locale_extraInitializers","_merchant_initializers","_merchant_extraInitializers","_items_initializers","_items_extraInitializers","_tax_initializers","_tax_extraInitializers","_taxes_initializers","_taxes_extraInitializers","_subtotal_initializers","_subtotal_extraInitializers","_total_initializers","_total_extraInitializers","_tip_initializers","_tip_extraInitializers","_discount_initializers","_discount_extraInitializers","_discountLabel_initializers","_discountLabel_extraInitializers","_paymentMethod_initializers","_paymentMethod_extraInitializers","_paymentDetails_initializers","_paymentDetails_extraInitializers","_variant_initializers","_variant_extraInitializers","_showQr_initializers","_showQr_extraInitializers","_qrData_initializers","_qrData_extraInitializers","_qrPosition_initializers","_qrPosition_extraInitializers","_thankYou_initializers","_thankYou_extraInitializers","_cashier_initializers","_cashier_extraInitializers","_terminalId_initializers","_terminalId_extraInitializers","this","_metadata","Symbol","metadata","create","property","attribute","type","Array","Number","Boolean","render","styles","static","private","has","obj","renderContent","componentStyles","receiptNumber","date","currency","locale","merchant","items","tax","taxes","subtotal","total","tip","discount","discountLabel","paymentMethod","paymentDetails","variant","showQr","qrData","qrPosition","thankYou","cashier","terminalId","enumerable","configurable","writable","getComputedSubtotal","reduce","sum","item","quantity","price","getComputedTax","t","amount","getComputedTotal","formatCurrency","loc","undefined","Intl","NumberFormat","style","format","toFixed","print","printWindow","window","open","stylesText","from","shadowRoot","querySelectorAll","map","s","textContent","join","content","buildPrintableContent","document","write","close","container","createElement","node","childNodes","nodeType","tagName","appendChild","cloneExpandingSlots","innerHTML","slot","assigned","assignedNodes","flatten","frag","createDocumentFragment","n","cloneNode","clone","child","renderDivider","html","renderQrSlot","renderItem","lineTotal","showQty","isDetailed","sku","note","renderMerchantContact","m","phone","email","website","taxId","parts","computedSubtotal","computedTotal","computedTax","hasMerchant","hasTax","hasMultipleTaxes","hasTip","hasDiscount","hasItems","hasMeta","hasPayment","qrBottom","qrFooter","logo","address","rate","label","css","constructor","super"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"snice-receipt.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/receipt/snice-receipt.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, html, css } from 'snice';\n\nvar cssContent = \":host([hidden]){display:none}:host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);--receipt-max-width:var(--snice-receipt-max-width, 22rem);--receipt-padding:var(--snice-receipt-padding, 1.5rem);--receipt-bg:var(--snice-receipt-bg, var(--snice-color-surface, rgb(255 255 255)));--receipt-text:var(--snice-receipt-text, var(--snice-color-text, rgb(23 23 23)));--receipt-text-secondary:var(--snice-receipt-text-secondary, var(--snice-color-text-secondary, rgb(82 82 82)));--receipt-text-tertiary:var(--snice-receipt-text-tertiary, var(--snice-color-text-tertiary, rgb(115 115 115)));--receipt-border:var(--snice-receipt-border, var(--snice-color-border, rgb(226 226 226)));--receipt-bg-element:var(--snice-receipt-bg-element, var(--snice-color-surface-container-high, rgb(252 251 249)));--receipt-header-bg:var(--snice-receipt-header-bg, transparent);--receipt-accent:var(--snice-receipt-accent, var(--snice-color-primary, rgb(37 99 235)));--receipt-font-family:var(--snice-receipt-font-family, inherit);--receipt-merchant-font-size:var(--snice-receipt-merchant-font-size, 1.25rem);--receipt-item-font-size:var(--snice-receipt-item-font-size, 0.9375rem);--receipt-meta-font-size:var(--snice-receipt-meta-font-size, 0.8125rem);--receipt-total-font-size:var(--snice-receipt-total-font-size, 1.125rem);--receipt-total-font-weight:var(--snice-receipt-total-font-weight, 700);--receipt-footer-font-size:var(--snice-receipt-footer-font-size, 0.8125rem);--receipt-divider-style:var(--snice-receipt-divider-style, dashed);--receipt-divider-color:var(--snice-receipt-divider-color, var(--receipt-border));--receipt-divider-width:var(--snice-receipt-divider-width, 1px);--receipt-border-radius:var(--snice-receipt-border-radius, 8px);--receipt-border-color:var(--snice-receipt-border-color, var(--receipt-border));--receipt-shadow:var(--snice-receipt-shadow, none);--receipt-thermal-font:var(--snice-receipt-thermal-font, 'Courier New', Courier, monospace);--receipt-thermal-width:var(--snice-receipt-thermal-width, 18rem);--receipt-thermal-bg:var(--snice-receipt-thermal-bg, var(--snice-color-surface-container-high, rgb(252 251 249)));--receipt-modern-radius:var(--snice-receipt-modern-radius, 12px);--receipt-modern-shadow:var(--snice-receipt-modern-shadow, 0 4px 24px rgb(0 0 0 / 0.08));--receipt-modern-section-bg:var(--snice-receipt-modern-section-bg, var(--receipt-bg-element));--receipt-modern-section-radius:var(--snice-receipt-modern-section-radius, 8px);--receipt-qr-size:var(--snice-receipt-qr-size, 6rem)}.receipt{background:var(--receipt-bg);border:1px solid var(--receipt-border-color);border-radius:var(--receipt-border-radius);padding:var(--receipt-padding);color:var(--receipt-text);max-width:var(--receipt-max-width);font-family:var(--receipt-font-family);box-shadow:var(--receipt-shadow);line-height:var(--snice-line-height-normal, 1.5)}.receipt__divider{border:none;border-top:var(--receipt-divider-width) var(--receipt-divider-style) var(--receipt-divider-color);margin:var(--snice-spacing-sm,.75rem) 0}.receipt__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);text-align:center;padding-bottom:var(--snice-spacing-sm,.75rem);background:var(--receipt-header-bg)}.receipt__logo{max-height:3rem;max-width:10rem;object-fit:contain;margin-bottom:var(--snice-spacing-xs,.5rem)}.receipt__merchant-name{font-size:var(--receipt-merchant-font-size);font-weight:var(--snice-font-weight-bold,700);color:var(--receipt-text);margin:0;letter-spacing:.01em}.receipt__merchant-address{font-size:var(--receipt-meta-font-size);color:var(--receipt-text-secondary);line-height:var(--snice-line-height-normal, 1.5);white-space:pre-line;margin-top:var(--snice-spacing-3xs,.125rem)}.receipt__merchant-contact{font-size:var(--receipt-meta-font-size);color:var(--receipt-text-tertiary);margin-top:var(--snice-spacing-3xs,.125rem)}.receipt__meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--snice-spacing-xs,.5rem);font-size:var(--receipt-meta-font-size);color:var(--receipt-text-secondary)}.receipt__meta-item{display:flex;flex-direction:column;gap:.0625rem}.receipt__meta-label{font-size:.6875rem;color:var(--receipt-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--snice-font-weight-medium,500)}.receipt__meta-value{font-weight:var(--snice-font-weight-medium,500);color:var(--receipt-text)}.receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);display:flex;justify-content:space-between;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--receipt-text-tertiary);font-weight:var(--snice-font-weight-medium,500);padding-bottom:var(--snice-spacing-2xs,.25rem);border-bottom:1px solid var(--receipt-divider-color);margin-bottom:var(--snice-spacing-2xs,.25rem)}.receipt__items{display:flex;flex-direction:column}.receipt__item{display:flex;justify-content:space-between;align-items:baseline;padding:var(--snice-spacing-2xs,.25rem) 0;font-size:var(--receipt-item-font-size);gap:var(--snice-spacing-xs,.5rem)}.receipt__item-info{flex:1;min-width:0}.receipt__item-name{color:var(--receipt-text);display:block}.receipt__item-sku{font-size:.6875rem;color:var(--receipt-text-tertiary);font-family:var(--receipt-thermal-font)}.receipt__item-note{font-size:.75rem;color:var(--receipt-text-tertiary);font-style:italic}.receipt__item-qty{font-size:.8125rem;color:var(--receipt-text-tertiary);white-space:nowrap}.receipt__item-discount{font-size:.75rem;color:var(--snice-color-danger,rgb(220 38 38))}.receipt__item-price{font-weight:var(--snice-font-weight-medium,500);white-space:nowrap;text-align:right}.receipt__totals{display:flex;flex-direction:column}.receipt__total-row{display:flex;justify-content:space-between;padding:var(--snice-spacing-3xs,.125rem) 0;font-size:var(--receipt-item-font-size);color:var(--receipt-text-secondary)}.receipt__total-row--discount{color:var(--snice-color-danger,rgb(220 38 38))}.receipt__total-row--grand{border-top:2px solid var(--receipt-text);margin-top:var(--snice-spacing-xs,.5rem);padding-top:var(--snice-spacing-xs,.5rem);font-size:var(--receipt-total-font-size);font-weight:var(--receipt-total-font-weight);color:var(--receipt-text)}.receipt__payment{text-align:center;font-size:var(--receipt-meta-font-size);color:var(--receipt-text-secondary)}.receipt__payment-method{font-weight:var(--snice-font-weight-semibold,600);color:var(--receipt-text)}.receipt__payment-details{font-size:.75rem;color:var(--receipt-text-tertiary);margin-top:var(--snice-spacing-3xs,.125rem)}.receipt__qr{display:flex;justify-content:center;padding:var(--snice-spacing-xs,.5rem) 0}.receipt__qr ::slotted(*){width:var(--receipt-qr-size);height:var(--receipt-qr-size)}.receipt__barcode{display:flex;justify-content:center;padding:var(--snice-spacing-xs,.5rem) 0}.receipt__barcode ::slotted(*){max-width:100%}.receipt__footer{text-align:center;font-size:var(--receipt-footer-font-size);color:var(--receipt-text-tertiary)}.receipt__thank-you{font-weight:var(--snice-font-weight-medium,500);color:var(--receipt-text-secondary);margin-bottom:var(--snice-spacing-2xs,.25rem)}:host([variant=thermal]){font-family:var(--receipt-thermal-font)}:host([variant=thermal]) .receipt{max-width:var(--receipt-thermal-width);border-radius:0;border:none;background:var(--receipt-thermal-bg);color:var(--receipt-text);padding:var(--snice-spacing-md,1rem) var(--snice-spacing-sm,.75rem);box-shadow:var(--snice-shadow-sm,0 2px 8px rgb(0 0 0 / .06));font-family:var(--receipt-thermal-font)}:host([variant=thermal]) .receipt__divider{border-top-style:dotted;border-top-width:2px;border-top-color:var(--receipt-divider-color);margin:var(--snice-spacing-xs,.5rem) 0}:host([variant=thermal]) .receipt__merchant-name{font-size:var(--snice-font-size-md, 1rem);text-transform:uppercase;letter-spacing:.12em;color:var(--receipt-text)}:host([variant=thermal]) .receipt__merchant-address,:host([variant=thermal]) .receipt__merchant-contact{font-size:.75rem;color:var(--receipt-text-secondary)}:host([variant=thermal]) .receipt__meta{font-size:.75rem;color:var(--receipt-text-secondary)}:host([variant=thermal]) .receipt__meta-label{color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__meta-value{color:var(--receipt-text)}:host([variant=thermal]) .receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);font-size:.625rem;border-bottom-style:dotted;color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__item{font-size:.8125rem;padding:.125rem 0}:host([variant=thermal]) .receipt__item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--receipt-text)}:host([variant=thermal]) .receipt__item-qty{color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__item-price{color:var(--receipt-text)}:host([variant=thermal]) .receipt__total-row{font-size:.8125rem;color:var(--receipt-text-secondary)}:host([variant=thermal]) .receipt__total-row--grand{font-size:.9375rem;border-top-style:double;border-top-width:3px;color:var(--receipt-text)}:host([variant=thermal]) .receipt__payment{font-size:.75rem;color:var(--receipt-text-secondary)}:host([variant=thermal]) .receipt__payment-method{color:var(--receipt-text)}:host([variant=thermal]) .receipt__payment-details{color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__footer{font-size:.6875rem;letter-spacing:.04em;color:var(--receipt-text-tertiary)}:host([variant=thermal]) .receipt__thank-you{text-transform:uppercase;letter-spacing:var(--snice-tracking-widest, .1em);font-size:.75rem;color:var(--receipt-text-secondary)}:host([variant=modern]) .receipt{border:none;border-radius:var(--receipt-modern-radius);box-shadow:var(--receipt-modern-shadow);padding:var(--snice-spacing-lg,1.5rem)}:host([variant=modern]) .receipt__divider{border:none;margin:var(--snice-spacing-md,1rem) 0}:host([variant=modern]) .receipt__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);padding-bottom:var(--snice-spacing-md,1rem)}:host([variant=modern]) .receipt__merchant-name{font-size:1.375rem;letter-spacing:var(--snice-tracking-tight, -.02em)}:host([variant=modern]) .receipt__meta{background:var(--receipt-modern-section-bg);border-radius:var(--receipt-modern-section-radius);padding:var(--snice-spacing-sm,.75rem)}:host([variant=modern]) .receipt__items{background:var(--receipt-modern-section-bg);border-radius:var(--receipt-modern-section-radius);padding:var(--snice-spacing-sm,.75rem)}:host([variant=modern]) .receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);border-bottom-color:var(--receipt-border)}:host([variant=modern]) .receipt__totals{background:var(--receipt-modern-section-bg);border-radius:var(--receipt-modern-section-radius);padding:var(--snice-spacing-sm,.75rem)}:host([variant=modern]) .receipt__total-row--grand{border-top:2px solid var(--receipt-accent);color:var(--receipt-accent)}:host([variant=modern]) .receipt__payment{background:var(--receipt-modern-section-bg);border-radius:var(--receipt-modern-section-radius);padding:var(--snice-spacing-sm,.75rem)}:host([variant=modern]) .receipt__footer{padding-top:var(--snice-spacing-xs,.5rem)}:host([variant=modern]) .receipt__thank-you{color:var(--receipt-accent);font-weight:var(--snice-font-weight-semibold,600)}:host([variant=minimal]) .receipt{border:none;border-radius:0;padding:var(--snice-spacing-md,1rem) 0;box-shadow:none;max-width:20rem}:host([variant=minimal]) .receipt__divider{border-top-style:solid;border-top-color:var(--receipt-border);margin:var(--snice-spacing-md,1rem) 0}:host([variant=minimal]) .receipt__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);padding-bottom:var(--snice-spacing-md,1rem)}:host([variant=minimal]) .receipt__logo{display:none}:host([variant=minimal]) .receipt__merchant-name{font-size:1rem;text-transform:uppercase;letter-spacing:.15em;font-weight:var(--snice-font-weight-medium,500)}:host([variant=minimal]) .receipt__merchant-address,:host([variant=minimal]) .receipt__merchant-contact{display:none}:host([variant=minimal]) .receipt__meta{font-size:.75rem}:host([variant=minimal]) .receipt__meta-label{display:none}:host([variant=minimal]) .receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);display:none}:host([variant=minimal]) .receipt__item{font-size:.875rem}:host([variant=minimal]) .receipt__item-discount,:host([variant=minimal]) .receipt__item-note,:host([variant=minimal]) .receipt__item-sku{display:none}:host([variant=minimal]) .receipt__total-row{font-size:.875rem}:host([variant=minimal]) .receipt__total-row--grand{font-size:1rem;border-top-width:1px;border-top-style:solid}:host([variant=minimal]) .receipt__payment{font-size:.75rem}:host([variant=minimal]) .receipt__footer{font-size:.75rem}:host([variant=detailed]) .receipt{max-width:26rem}:host([variant=detailed]) .receipt__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);border-bottom:2px solid var(--receipt-text);padding-bottom:var(--snice-spacing-md,1rem)}:host([variant=detailed]) .receipt__merchant-name{font-size:1.5rem}:host([variant=detailed]) .receipt__merchant-contact{font-size:.75rem}:host([variant=detailed]) .receipt__meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--snice-spacing-xs,.5rem)}:host([variant=detailed]) .receipt__items-header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);display:flex;font-weight:var(--snice-font-weight-semibold,600);border-bottom:2px solid var(--receipt-border);padding-bottom:var(--snice-spacing-2xs,.25rem)}:host([variant=detailed]) .receipt__item{border-bottom:1px solid var(--receipt-divider-color);padding:var(--snice-spacing-2xs,.25rem) 0}:host([variant=detailed]) .receipt__item:last-child{border-bottom:none}:host([variant=detailed]) .receipt__item-sku{display:block}:host([variant=detailed]) .receipt__item-note{display:block}:host([variant=detailed]) .receipt__item-discount{display:block}:host([variant=detailed]) .receipt__total-row--grand{font-size:1.25rem;border-top:2px solid var(--receipt-text)}:host([variant=detailed]) .receipt__payment-details{font-size:.8125rem}@media print{.receipt{border:none;box-shadow:none;border-radius:0;padding:0;max-width:none}.receipt__barcode ::slotted(*),.receipt__qr ::slotted(*){-webkit-print-color-adjust:exact;print-color-adjust:exact}:host([variant=thermal]) .receipt{max-width:var(--receipt-thermal-width);background:#fff;box-shadow:none}:host([variant=modern]) .receipt{box-shadow:none}:host([variant=modern]) .receipt__items,:host([variant=modern]) .receipt__meta,:host([variant=modern]) .receipt__payment,:host([variant=modern]) .receipt__totals{background:0 0;border:1px solid var(--receipt-border)}}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}:host([variant=paper]){--receipt-bg:color-mix(in srgb, var(--snice-color-surface, rgb(255 255 255)) 96%, rgb(196 160 96));--receipt-text:var(--snice-color-text, rgb(43 38 31));--receipt-text-secondary:var(--snice-color-text-secondary, rgb(94 85 72));--receipt-text-tertiary:var(--snice-color-text-tertiary, rgb(148 136 116));--receipt-border:color-mix(in srgb, var(--snice-color-border, rgb(216 208 192)) 85%, rgb(180 150 90));--receipt-paper-ink:var(--snice-color-text, rgb(43 38 31));--receipt-paper-accent:rgb(186 96 74)}:host([variant=paper]) .receipt{background-image:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23d)'/%3E%3C/svg%3E\\\"),url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='l'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.03 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23l)'/%3E%3C/svg%3E\\\");background:var(--receipt-bg);color:var(--receipt-text);border:1px solid var(--receipt-paper-ink);border-radius:0;box-shadow:0 1px 2px rgb(56 46 30 / .1),0 18px 40px -20px rgb(56 46 30 / .5)}:host([variant=paper]) .receipt__merchant-name{font-family:Georgia,'Times New Roman',serif;text-transform:uppercase;letter-spacing:.3em;font-weight:var(--snice-font-weight-normal,400)}:host([variant=paper]) .receipt__header{border-bottom:4px double var(--receipt-paper-ink)}:host([variant=paper]) .receipt__total-row--grand{border:1px solid var(--receipt-paper-ink);box-shadow:inset 0 0 0 3px var(--receipt-bg),inset 0 0 0 4px var(--receipt-paper-accent);background:var(--receipt-bg);padding:var(--snice-spacing-sm,.75rem) var(--snice-spacing-md,1rem)}:host([variant=paper]) .receipt__total-row--grand :last-child{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;font-variant-numeric:tabular-nums lining-nums}:host([variant=paper]) .receipt__thank-you{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--receipt-paper-accent)}:host([variant=ink]){--receipt-bg:var(--snice-color-surface, rgb(250 249 246));--receipt-text:var(--snice-color-text, rgb(32 30 27));--receipt-text-secondary:var(--snice-color-text-secondary, rgb(92 87 79));--receipt-text-tertiary:var(--snice-color-text-tertiary, rgb(146 139 126));--receipt-border:var(--snice-color-border, rgb(220 214 202));--receipt-ink:var(--snice-color-text, rgb(28 26 23))}:host([variant=ink]) .receipt{background:var(--receipt-bg);color:var(--receipt-text);border:1px solid var(--receipt-ink);border-radius:0;overflow:hidden;position:relative;padding-bottom:2rem;box-shadow:0 18px 40px -20px rgb(30 28 24 / .5)}:host([variant=ink]) .receipt__header{background:var(--receipt-ink);color:var(--snice-color-surface,rgb(249 247 242));margin:-1.25rem -1.25rem 1.25rem;padding:1.25rem;border-bottom:none}:host([variant=ink]) .receipt__merchant-name{text-transform:uppercase;letter-spacing:.4em;font-weight:var(--snice-font-weight-light,300)}:host([variant=ink]) .receipt__merchant-address,:host([variant=ink]) .receipt__merchant-contact{color:color-mix(in srgb,var(--snice-color-surface,rgb(249 247 242)) 60%,transparent)}:host([variant=ink]) .receipt__total-row--grand{border-top:2px solid var(--receipt-ink);align-items:baseline}:host([variant=ink]) .receipt__total-row--grand :last-child{font-size:2rem;font-weight:var(--snice-font-weight-light,300);font-variant-numeric:tabular-nums lining-nums}:host([variant=ink]) .receipt::after{content:'';position:absolute;left:0;right:0;bottom:0;height:.5rem;background:var(--receipt-ink)}:host([variant=ledger]){--receipt-bg:var(--snice-color-surface, rgb(250 250 247));--receipt-text:var(--snice-color-text, rgb(40 40 38));--receipt-text-secondary:var(--snice-color-text-secondary, rgb(105 103 96));--receipt-text-tertiary:var(--snice-color-text-tertiary, rgb(150 147 138));--receipt-border:var(--snice-color-border, rgb(216 214 205));--receipt-bg-element:transparent}:host([variant=ledger]) [part=base]{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;border:1px solid var(--snice-color-text,rgb(40 40 38));border-radius:0;box-shadow:0 14px 34px -18px rgb(40 40 38 / .45);letter-spacing:.01em}:host([variant=ledger]) [part=base] *{font-family:inherit}:host([variant=ticket]){--receipt-bg:var(--snice-color-surface, rgb(252 251 247));--receipt-text:var(--snice-color-text, rgb(45 42 38));--receipt-text-secondary:var(--snice-color-text-secondary, rgb(110 104 94));--receipt-text-tertiary:var(--snice-color-text-tertiary, rgb(158 150 136));--receipt-border:var(--snice-color-border, rgb(214 208 194));--receipt-bg-element:var(--snice-color-surface-container-high, rgb(246 243 236))}:host([variant=ticket]) [part=base]{border:1px solid var(--snice-color-text,rgb(45 42 38));border-radius:.75rem;overflow:hidden;position:relative;padding-bottom:3.25rem;box-shadow:0 14px 34px -18px rgb(45 42 38 / .45)}:host([variant=ticket]) [part=header]{position:relative;border-bottom:2px dashed var(--snice-color-border-hover,rgb(178 168 150));padding-bottom:1rem}:host([variant=ticket]) [part=header]::after,:host([variant=ticket]) [part=header]::before{content:'';position:absolute;bottom:-.8125rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--snice-color-surface,rgb(24 24 27));border:1px solid var(--snice-color-text,rgb(45 42 38))}:host([variant=ticket]) [part=header]::before{left:-2.25rem}:host([variant=ticket]) [part=header]::after{right:-2.25rem}:host([variant=ticket]) [part=base]::after{content:'';position:absolute;left:1.5rem;right:1.5rem;bottom:.875rem;height:1.75rem;background:repeating-linear-gradient(90deg,var(--snice-color-text,rgb(45 42 38)) 0 2px,transparent 2px 5px,var(--snice-color-text,rgb(45 42 38)) 5px 6px,transparent 6px 11px,var(--snice-color-text,rgb(45 42 38)) 11px 14px,transparent 14px 17px);opacity:.85}\";\n\nlet SniceReceipt = (() => {\n let _classDecorators = [element('snice-receipt')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _receiptNumber_decorators;\n let _receiptNumber_initializers = [];\n let _receiptNumber_extraInitializers = [];\n let _date_decorators;\n let _date_initializers = [];\n let _date_extraInitializers = [];\n let _currency_decorators;\n let _currency_initializers = [];\n let _currency_extraInitializers = [];\n let _locale_decorators;\n let _locale_initializers = [];\n let _locale_extraInitializers = [];\n let _merchant_decorators;\n let _merchant_initializers = [];\n let _merchant_extraInitializers = [];\n let _items_decorators;\n let _items_initializers = [];\n let _items_extraInitializers = [];\n let _tax_decorators;\n let _tax_initializers = [];\n let _tax_extraInitializers = [];\n let _taxes_decorators;\n let _taxes_initializers = [];\n let _taxes_extraInitializers = [];\n let _subtotal_decorators;\n let _subtotal_initializers = [];\n let _subtotal_extraInitializers = [];\n let _total_decorators;\n let _total_initializers = [];\n let _total_extraInitializers = [];\n let _tip_decorators;\n let _tip_initializers = [];\n let _tip_extraInitializers = [];\n let _discount_decorators;\n let _discount_initializers = [];\n let _discount_extraInitializers = [];\n let _discountLabel_decorators;\n let _discountLabel_initializers = [];\n let _discountLabel_extraInitializers = [];\n let _paymentMethod_decorators;\n let _paymentMethod_initializers = [];\n let _paymentMethod_extraInitializers = [];\n let _paymentDetails_decorators;\n let _paymentDetails_initializers = [];\n let _paymentDetails_extraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _variant_extraInitializers = [];\n let _showQr_decorators;\n let _showQr_initializers = [];\n let _showQr_extraInitializers = [];\n let _qrData_decorators;\n let _qrData_initializers = [];\n let _qrData_extraInitializers = [];\n let _qrPosition_decorators;\n let _qrPosition_initializers = [];\n let _qrPosition_extraInitializers = [];\n let _thankYou_decorators;\n let _thankYou_initializers = [];\n let _thankYou_extraInitializers = [];\n let _cashier_decorators;\n let _cashier_initializers = [];\n let _cashier_extraInitializers = [];\n let _terminalId_decorators;\n let _terminalId_initializers = [];\n let _terminalId_extraInitializers = [];\n let _renderContent_decorators;\n let _componentStyles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _receiptNumber_decorators = [property({ attribute: 'receipt-number' })];\n _date_decorators = [property()];\n _currency_decorators = [property()];\n _locale_decorators = [property()];\n _merchant_decorators = [property({ type: Object, attribute: false })];\n _items_decorators = [property({ type: Array, attribute: false })];\n _tax_decorators = [property({ type: Number })];\n _taxes_decorators = [property({ type: Array, attribute: false })];\n _subtotal_decorators = [property({ type: Number })];\n _total_decorators = [property({ type: Number })];\n _tip_decorators = [property({ type: Number })];\n _discount_decorators = [property({ type: Number })];\n _discountLabel_decorators = [property({ attribute: 'discount-label' })];\n _paymentMethod_decorators = [property({ attribute: 'payment-method' })];\n _paymentDetails_decorators = [property({ attribute: 'payment-details' })];\n _variant_decorators = [property()];\n _showQr_decorators = [property({ type: Boolean, attribute: 'show-qr' })];\n _qrData_decorators = [property({ attribute: 'qr-data' })];\n _qrPosition_decorators = [property({ attribute: 'qr-position' })];\n _thankYou_decorators = [property({ attribute: 'thank-you' })];\n _cashier_decorators = [property()];\n _terminalId_decorators = [property({ attribute: 'terminal-id' })];\n _renderContent_decorators = [render()];\n _componentStyles_decorators = [styles()];\n __esDecorate(this, null, _renderContent_decorators, { kind: \"method\", name: \"renderContent\", static: false, private: false, access: { has: obj => \"renderContent\" in obj, get: obj => obj.renderContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _componentStyles_decorators, { kind: \"method\", name: \"componentStyles\", static: false, private: false, access: { has: obj => \"componentStyles\" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _receiptNumber_decorators, { kind: \"field\", name: \"receiptNumber\", static: false, private: false, access: { has: obj => \"receiptNumber\" in obj, get: obj => obj.receiptNumber, set: (obj, value) => { obj.receiptNumber = value; } }, metadata: _metadata }, _receiptNumber_initializers, _receiptNumber_extraInitializers);\n __esDecorate(null, null, _date_decorators, { kind: \"field\", name: \"date\", static: false, private: false, access: { has: obj => \"date\" in obj, get: obj => obj.date, set: (obj, value) => { obj.date = value; } }, metadata: _metadata }, _date_initializers, _date_extraInitializers);\n __esDecorate(null, null, _currency_decorators, { kind: \"field\", name: \"currency\", static: false, private: false, access: { has: obj => \"currency\" in obj, get: obj => obj.currency, set: (obj, value) => { obj.currency = value; } }, metadata: _metadata }, _currency_initializers, _currency_extraInitializers);\n __esDecorate(null, null, _locale_decorators, { kind: \"field\", name: \"locale\", static: false, private: false, access: { has: obj => \"locale\" in obj, get: obj => obj.locale, set: (obj, value) => { obj.locale = value; } }, metadata: _metadata }, _locale_initializers, _locale_extraInitializers);\n __esDecorate(null, null, _merchant_decorators, { kind: \"field\", name: \"merchant\", static: false, private: false, access: { has: obj => \"merchant\" in obj, get: obj => obj.merchant, set: (obj, value) => { obj.merchant = value; } }, metadata: _metadata }, _merchant_initializers, _merchant_extraInitializers);\n __esDecorate(null, null, _items_decorators, { kind: \"field\", name: \"items\", static: false, private: false, access: { has: obj => \"items\" in obj, get: obj => obj.items, set: (obj, value) => { obj.items = value; } }, metadata: _metadata }, _items_initializers, _items_extraInitializers);\n __esDecorate(null, null, _tax_decorators, { kind: \"field\", name: \"tax\", static: false, private: false, access: { has: obj => \"tax\" in obj, get: obj => obj.tax, set: (obj, value) => { obj.tax = value; } }, metadata: _metadata }, _tax_initializers, _tax_extraInitializers);\n __esDecorate(null, null, _taxes_decorators, { kind: \"field\", name: \"taxes\", static: false, private: false, access: { has: obj => \"taxes\" in obj, get: obj => obj.taxes, set: (obj, value) => { obj.taxes = value; } }, metadata: _metadata }, _taxes_initializers, _taxes_extraInitializers);\n __esDecorate(null, null, _subtotal_decorators, { kind: \"field\", name: \"subtotal\", static: false, private: false, access: { has: obj => \"subtotal\" in obj, get: obj => obj.subtotal, set: (obj, value) => { obj.subtotal = value; } }, metadata: _metadata }, _subtotal_initializers, _subtotal_extraInitializers);\n __esDecorate(null, null, _total_decorators, { kind: \"field\", name: \"total\", static: false, private: false, access: { has: obj => \"total\" in obj, get: obj => obj.total, set: (obj, value) => { obj.total = value; } }, metadata: _metadata }, _total_initializers, _total_extraInitializers);\n __esDecorate(null, null, _tip_decorators, { kind: \"field\", name: \"tip\", static: false, private: false, access: { has: obj => \"tip\" in obj, get: obj => obj.tip, set: (obj, value) => { obj.tip = value; } }, metadata: _metadata }, _tip_initializers, _tip_extraInitializers);\n __esDecorate(null, null, _discount_decorators, { kind: \"field\", name: \"discount\", static: false, private: false, access: { has: obj => \"discount\" in obj, get: obj => obj.discount, set: (obj, value) => { obj.discount = value; } }, metadata: _metadata }, _discount_initializers, _discount_extraInitializers);\n __esDecorate(null, null, _discountLabel_decorators, { kind: \"field\", name: \"discountLabel\", static: false, private: false, access: { has: obj => \"discountLabel\" in obj, get: obj => obj.discountLabel, set: (obj, value) => { obj.discountLabel = value; } }, metadata: _metadata }, _discountLabel_initializers, _discountLabel_extraInitializers);\n __esDecorate(null, null, _paymentMethod_decorators, { kind: \"field\", name: \"paymentMethod\", static: false, private: false, access: { has: obj => \"paymentMethod\" in obj, get: obj => obj.paymentMethod, set: (obj, value) => { obj.paymentMethod = value; } }, metadata: _metadata }, _paymentMethod_initializers, _paymentMethod_extraInitializers);\n __esDecorate(null, null, _paymentDetails_decorators, { kind: \"field\", name: \"paymentDetails\", static: false, private: false, access: { has: obj => \"paymentDetails\" in obj, get: obj => obj.paymentDetails, set: (obj, value) => { obj.paymentDetails = value; } }, metadata: _metadata }, _paymentDetails_initializers, _paymentDetails_extraInitializers);\n __esDecorate(null, null, _variant_decorators, { kind: \"field\", name: \"variant\", static: false, private: false, access: { has: obj => \"variant\" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);\n __esDecorate(null, null, _showQr_decorators, { kind: \"field\", name: \"showQr\", static: false, private: false, access: { has: obj => \"showQr\" in obj, get: obj => obj.showQr, set: (obj, value) => { obj.showQr = value; } }, metadata: _metadata }, _showQr_initializers, _showQr_extraInitializers);\n __esDecorate(null, null, _qrData_decorators, { kind: \"field\", name: \"qrData\", static: false, private: false, access: { has: obj => \"qrData\" in obj, get: obj => obj.qrData, set: (obj, value) => { obj.qrData = value; } }, metadata: _metadata }, _qrData_initializers, _qrData_extraInitializers);\n __esDecorate(null, null, _qrPosition_decorators, { kind: \"field\", name: \"qrPosition\", static: false, private: false, access: { has: obj => \"qrPosition\" in obj, get: obj => obj.qrPosition, set: (obj, value) => { obj.qrPosition = value; } }, metadata: _metadata }, _qrPosition_initializers, _qrPosition_extraInitializers);\n __esDecorate(null, null, _thankYou_decorators, { kind: \"field\", name: \"thankYou\", static: false, private: false, access: { has: obj => \"thankYou\" in obj, get: obj => obj.thankYou, set: (obj, value) => { obj.thankYou = value; } }, metadata: _metadata }, _thankYou_initializers, _thankYou_extraInitializers);\n __esDecorate(null, null, _cashier_decorators, { kind: \"field\", name: \"cashier\", static: false, private: false, access: { has: obj => \"cashier\" in obj, get: obj => obj.cashier, set: (obj, value) => { obj.cashier = value; } }, metadata: _metadata }, _cashier_initializers, _cashier_extraInitializers);\n __esDecorate(null, null, _terminalId_decorators, { kind: \"field\", name: \"terminalId\", static: false, private: false, access: { has: obj => \"terminalId\" in obj, get: obj => obj.terminalId, set: (obj, value) => { obj.terminalId = value; } }, metadata: _metadata }, _terminalId_initializers, _terminalId_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n getComputedSubtotal() {\n if (this.subtotal > 0)\n return this.subtotal;\n return this.items.reduce((sum, item) => {\n const lineTotal = item.quantity * item.price;\n const itemDiscount = item.discount || 0;\n return sum + lineTotal - itemDiscount;\n }, 0);\n }\n getComputedTax() {\n if (this.taxes.length > 0) {\n return this.taxes.reduce((sum, t) => sum + t.amount, 0);\n }\n return this.tax;\n }\n getComputedTotal() {\n if (this.total > 0)\n return this.total;\n const sub = this.getComputedSubtotal();\n const taxAmt = this.getComputedTax();\n return sub + taxAmt - this.discount + this.tip;\n }\n formatCurrency(amount) {\n const loc = this.locale || undefined;\n try {\n return new Intl.NumberFormat(loc, {\n style: 'currency',\n currency: this.currency\n }).format(amount);\n }\n catch {\n return `${this.currency} ${amount.toFixed(2)}`;\n }\n }\n print() {\n const printWindow = window.open('', '_blank');\n if (!printWindow)\n return;\n // Clone the shadow tree and expand each <slot> into its assigned nodes so\n // light-DOM children (slotted QR code, barcode, etc.) are included in the\n // print output. Plain innerHTML drops slotted content entirely.\n const stylesText = Array.from(this.shadowRoot?.querySelectorAll('style') || [])\n .map(s => s.textContent)\n .join('\\n');\n const content = this.buildPrintableContent();\n printWindow.document.write(`<!DOCTYPE html><html><head><style>${stylesText}</style></head><body>${content}</body></html>`);\n printWindow.document.close();\n printWindow.print();\n printWindow.close();\n }\n buildPrintableContent() {\n if (!this.shadowRoot)\n return '';\n const container = document.createElement('div');\n for (const node of Array.from(this.shadowRoot.childNodes)) {\n if (node.nodeType === 1 && node.tagName === 'STYLE')\n continue;\n container.appendChild(this.cloneExpandingSlots(node));\n }\n return container.innerHTML;\n }\n cloneExpandingSlots(node) {\n if (node.nodeType === 1 && node.tagName === 'SLOT') {\n const slot = node;\n const assigned = slot.assignedNodes({ flatten: true });\n const frag = document.createDocumentFragment();\n if (assigned.length > 0) {\n for (const n of assigned)\n frag.appendChild(n.cloneNode(true));\n }\n else {\n // Fallback content inside the <slot>\n for (const n of Array.from(slot.childNodes)) {\n frag.appendChild(this.cloneExpandingSlots(n));\n }\n }\n return frag;\n }\n const clone = node.cloneNode(false);\n for (const child of Array.from(node.childNodes)) {\n clone.appendChild(this.cloneExpandingSlots(child));\n }\n return clone;\n }\n renderDivider() {\n return html /*html*/ `<hr class=\"receipt__divider\" part=\"divider\" />`;\n }\n renderQrSlot() {\n const showSlot = this.showQr;\n if (!showSlot)\n return '';\n return html /*html*/ `\n <div class=\"receipt__qr\" part=\"qr-container\">\n <slot name=\"qr\"></slot>\n </div>\n `;\n }\n renderItem(item) {\n const lineTotal = item.quantity * item.price;\n const showQty = item.quantity !== 1;\n const isDetailed = this.variant === 'detailed';\n const hasSku = isDetailed && item.sku;\n const hasNote = isDetailed && item.note;\n // SKU, notes, and per-item discounts are `detailed`-only (receipt.md).\n // The discount still counts toward the subtotal in every variant; only its\n // per-line rendering is gated.\n const hasDiscount = isDetailed && (item.discount || 0) > 0;\n return html /*html*/ `\n <div class=\"receipt__item\" part=\"item\">\n <div class=\"receipt__item-info\">\n <span class=\"receipt__item-name\" part=\"item-name\">${item.name}</span>\n <if ${hasSku}>\n <span class=\"receipt__item-sku\" part=\"item-sku\">${item.sku}</span>\n </if>\n <if ${hasNote}>\n <span class=\"receipt__item-note\">${item.note}</span>\n </if>\n <if ${hasDiscount}>\n <span class=\"receipt__item-discount\">-${this.formatCurrency(item.discount || 0)}</span>\n </if>\n </div>\n <if ${showQty}>\n <span class=\"receipt__item-qty\" part=\"item-qty\">x${item.quantity}</span>\n </if>\n <span class=\"receipt__item-price\" part=\"item-price\">${this.formatCurrency(lineTotal)}</span>\n </div>\n `;\n }\n renderMerchantContact() {\n const m = this.merchant;\n const hasPhone = m.phone;\n const hasEmail = m.email;\n const hasWebsite = m.website;\n const hasTaxId = m.taxId;\n const hasAny = hasPhone || hasEmail || hasWebsite || hasTaxId;\n if (!hasAny)\n return '';\n const parts = [];\n if (m.phone)\n parts.push(m.phone);\n if (m.email)\n parts.push(m.email);\n if (m.website)\n parts.push(m.website);\n if (m.taxId)\n parts.push(`Tax ID: ${m.taxId}`);\n return html /*html*/ `\n <div class=\"receipt__merchant-contact\" part=\"merchant-contact\">${parts.join(' | ')}</div>\n `;\n }\n renderContent() {\n const computedSubtotal = this.getComputedSubtotal();\n const computedTotal = this.getComputedTotal();\n const computedTax = this.getComputedTax();\n const hasMerchant = this.merchant.name;\n const hasTax = computedTax > 0;\n const hasMultipleTaxes = this.taxes.length > 0;\n const hasTip = this.tip > 0;\n const hasDiscount = this.discount > 0;\n const hasItems = this.items.length > 0;\n const hasMeta = this.receiptNumber || this.date || this.cashier || this.terminalId;\n const hasPayment = this.paymentMethod;\n const qrTop = this.showQr && this.qrPosition === 'top';\n const qrBottom = this.showQr && this.qrPosition === 'bottom';\n const qrFooter = this.showQr && this.qrPosition === 'footer';\n return html /*html*/ `\n <div class=\"receipt\" part=\"base\">\n\n <if ${qrTop}>\n ${this.renderQrSlot()}\n ${this.renderDivider()}\n </if>\n\n <if ${hasMerchant}>\n <div class=\"receipt__header\" part=\"header\">\n <if ${this.merchant.logo}>\n <img class=\"receipt__logo\" src=\"${this.merchant.logo}\" alt=\"${this.merchant.name}\" part=\"logo\" />\n </if>\n <div class=\"receipt__merchant-name\" part=\"merchant-name\">${this.merchant.name}</div>\n <if ${this.merchant.address}>\n <div class=\"receipt__merchant-address\" part=\"merchant-address\">${this.merchant.address}</div>\n </if>\n ${this.renderMerchantContact()}\n </div>\n ${this.renderDivider()}\n </if>\n\n <if ${hasMeta}>\n <div class=\"receipt__meta\" part=\"meta\">\n <if ${this.receiptNumber}>\n <div class=\"receipt__meta-item\">\n <span class=\"receipt__meta-label\">Receipt #</span>\n <span class=\"receipt__meta-value\" part=\"receipt-number\">${this.receiptNumber}</span>\n </div>\n </if>\n <if ${this.date}>\n <div class=\"receipt__meta-item\">\n <span class=\"receipt__meta-label\">Date</span>\n <span class=\"receipt__meta-value\" part=\"date\">${this.date}</span>\n </div>\n </if>\n <if ${this.cashier}>\n <div class=\"receipt__meta-item\">\n <span class=\"receipt__meta-label\">Cashier</span>\n <span class=\"receipt__meta-value\">${this.cashier}</span>\n </div>\n </if>\n <if ${this.terminalId}>\n <div class=\"receipt__meta-item\">\n <span class=\"receipt__meta-label\">Terminal</span>\n <span class=\"receipt__meta-value\">${this.terminalId}</span>\n </div>\n </if>\n </div>\n ${this.renderDivider()}\n </if>\n\n <slot name=\"before-items\"></slot>\n\n <if ${hasItems}>\n <div class=\"receipt__items-header\" part=\"items-header\">\n <span>Item</span>\n <span>Amount</span>\n </div>\n <div class=\"receipt__items\" part=\"items\">\n ${this.items.map(item => this.renderItem(item))}\n </div>\n ${this.renderDivider()}\n </if>\n\n <slot name=\"after-items\"></slot>\n\n <div class=\"receipt__totals\" part=\"totals\">\n <div class=\"receipt__total-row\" part=\"subtotal-row\">\n <span>Subtotal</span>\n <span>${this.formatCurrency(computedSubtotal)}</span>\n </div>\n\n <if ${hasDiscount}>\n <div class=\"receipt__total-row receipt__total-row--discount\" part=\"discount-row\">\n <span>${this.discountLabel}</span>\n <span>-${this.formatCurrency(this.discount)}</span>\n </div>\n </if>\n\n <if ${hasTax && !hasMultipleTaxes}>\n <div class=\"receipt__total-row\" part=\"tax-row\">\n <span>Tax</span>\n <span>${this.formatCurrency(this.tax)}</span>\n </div>\n </if>\n\n <if ${hasMultipleTaxes}>\n ${this.taxes.map(t => {\n const label = t.rate ? `${t.label} (${t.rate}%)` : t.label;\n return html /*html*/ `\n <div class=\"receipt__total-row\" part=\"tax-row\">\n <span>${label}</span>\n <span>${this.formatCurrency(t.amount)}</span>\n </div>\n `;\n })}\n </if>\n\n <if ${hasTip}>\n <div class=\"receipt__total-row\" part=\"tip-row\">\n <span>Tip</span>\n <span>${this.formatCurrency(this.tip)}</span>\n </div>\n </if>\n\n <div class=\"receipt__total-row receipt__total-row--grand\" part=\"total-row\">\n <span>Total</span>\n <span>${this.formatCurrency(computedTotal)}</span>\n </div>\n </div>\n\n <if ${hasPayment}>\n ${this.renderDivider()}\n <div class=\"receipt__payment\" part=\"payment\">\n <span>Paid with </span>\n <span class=\"receipt__payment-method\" part=\"payment-method\">${this.paymentMethod}</span>\n <if ${this.paymentDetails}>\n <div class=\"receipt__payment-details\" part=\"payment-details\">${this.paymentDetails}</div>\n </if>\n </div>\n </if>\n\n <if ${qrBottom}>\n ${this.renderDivider()}\n ${this.renderQrSlot()}\n </if>\n\n <div class=\"receipt__barcode\" part=\"barcode-area\">\n <slot name=\"barcode\"></slot>\n </div>\n\n ${this.renderDivider()}\n <div class=\"receipt__footer\" part=\"footer\">\n <slot name=\"thank-you\">\n <if ${this.thankYou}>\n <div class=\"receipt__thank-you\" part=\"thank-you\">${this.thankYou}</div>\n </if>\n </slot>\n <slot></slot>\n <if ${qrFooter}>\n ${this.renderQrSlot()}\n </if>\n </div>\n </div>\n `;\n }\n componentStyles() {\n return css /*css*/ `${cssContent}`;\n }\n constructor() {\n super(...arguments);\n this.receiptNumber = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _receiptNumber_initializers, ''));\n this.date = (__runInitializers(this, _receiptNumber_extraInitializers), __runInitializers(this, _date_initializers, ''));\n this.currency = (__runInitializers(this, _date_extraInitializers), __runInitializers(this, _currency_initializers, 'USD'));\n this.locale = (__runInitializers(this, _currency_extraInitializers), __runInitializers(this, _locale_initializers, ''));\n this.merchant = (__runInitializers(this, _locale_extraInitializers), __runInitializers(this, _merchant_initializers, { name: '' }));\n this.items = (__runInitializers(this, _merchant_extraInitializers), __runInitializers(this, _items_initializers, []));\n this.tax = (__runInitializers(this, _items_extraInitializers), __runInitializers(this, _tax_initializers, 0));\n this.taxes = (__runInitializers(this, _tax_extraInitializers), __runInitializers(this, _taxes_initializers, []));\n this.subtotal = (__runInitializers(this, _taxes_extraInitializers), __runInitializers(this, _subtotal_initializers, 0));\n this.total = (__runInitializers(this, _subtotal_extraInitializers), __runInitializers(this, _total_initializers, 0));\n this.tip = (__runInitializers(this, _total_extraInitializers), __runInitializers(this, _tip_initializers, 0));\n this.discount = (__runInitializers(this, _tip_extraInitializers), __runInitializers(this, _discount_initializers, 0));\n this.discountLabel = (__runInitializers(this, _discount_extraInitializers), __runInitializers(this, _discountLabel_initializers, 'Discount'));\n this.paymentMethod = (__runInitializers(this, _discountLabel_extraInitializers), __runInitializers(this, _paymentMethod_initializers, ''));\n this.paymentDetails = (__runInitializers(this, _paymentMethod_extraInitializers), __runInitializers(this, _paymentDetails_initializers, ''));\n this.variant = (__runInitializers(this, _paymentDetails_extraInitializers), __runInitializers(this, _variant_initializers, 'standard'));\n this.showQr = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _showQr_initializers, false));\n this.qrData = (__runInitializers(this, _showQr_extraInitializers), __runInitializers(this, _qrData_initializers, ''));\n this.qrPosition = (__runInitializers(this, _qrData_extraInitializers), __runInitializers(this, _qrPosition_initializers, 'bottom'));\n this.thankYou = (__runInitializers(this, _qrPosition_extraInitializers), __runInitializers(this, _thankYou_initializers, 'Thank you for your purchase!'));\n this.cashier = (__runInitializers(this, _thankYou_extraInitializers), __runInitializers(this, _cashier_initializers, ''));\n this.terminalId = (__runInitializers(this, _cashier_extraInitializers), __runInitializers(this, _terminalId_initializers, ''));\n __runInitializers(this, _terminalId_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceReceipt };\n//# sourceMappingURL=snice-receipt.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","SniceReceipt","_classDescriptor","_classThis","_receiptNumber_decorators","_date_decorators","_currency_decorators","_locale_decorators","_merchant_decorators","_items_decorators","_tax_decorators","_taxes_decorators","_subtotal_decorators","_total_decorators","_tip_decorators","_discount_decorators","_discountLabel_decorators","_paymentMethod_decorators","_paymentDetails_decorators","_variant_decorators","_showQr_decorators","_qrData_decorators","_qrPosition_decorators","_thankYou_decorators","_cashier_decorators","_terminalId_decorators","_renderContent_decorators","_componentStyles_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_receiptNumber_initializers","_receiptNumber_extraInitializers","_date_initializers","_date_extraInitializers","_currency_initializers","_currency_extraInitializers","_locale_initializers","_locale_extraInitializers","_merchant_initializers","_merchant_extraInitializers","_items_initializers","_items_extraInitializers","_tax_initializers","_tax_extraInitializers","_taxes_initializers","_taxes_extraInitializers","_subtotal_initializers","_subtotal_extraInitializers","_total_initializers","_total_extraInitializers","_tip_initializers","_tip_extraInitializers","_discount_initializers","_discount_extraInitializers","_discountLabel_initializers","_discountLabel_extraInitializers","_paymentMethod_initializers","_paymentMethod_extraInitializers","_paymentDetails_initializers","_paymentDetails_extraInitializers","_variant_initializers","_variant_extraInitializers","_showQr_initializers","_showQr_extraInitializers","_qrData_initializers","_qrData_extraInitializers","_qrPosition_initializers","_qrPosition_extraInitializers","_thankYou_initializers","_thankYou_extraInitializers","_cashier_initializers","_cashier_extraInitializers","_terminalId_initializers","_terminalId_extraInitializers","this","_metadata","Symbol","metadata","create","property","attribute","type","Array","Number","Boolean","render","styles","static","private","has","obj","renderContent","componentStyles","receiptNumber","date","currency","locale","merchant","items","tax","taxes","subtotal","total","tip","discount","discountLabel","paymentMethod","paymentDetails","variant","showQr","qrData","qrPosition","thankYou","cashier","terminalId","enumerable","configurable","writable","getComputedSubtotal","reduce","sum","item","quantity","price","getComputedTax","t","amount","getComputedTotal","formatCurrency","loc","undefined","Intl","NumberFormat","style","format","toFixed","print","printWindow","window","open","stylesText","from","shadowRoot","querySelectorAll","map","s","textContent","join","content","buildPrintableContent","document","write","close","container","createElement","node","childNodes","nodeType","tagName","appendChild","cloneExpandingSlots","innerHTML","slot","assigned","assignedNodes","flatten","frag","createDocumentFragment","n","cloneNode","clone","child","renderDivider","html","renderQrSlot","renderItem","lineTotal","showQty","isDetailed","sku","note","renderMerchantContact","m","phone","email","website","taxId","parts","computedSubtotal","computedTotal","computedTax","hasMerchant","hasTax","hasMultipleTaxes","hasTip","hasDiscount","hasItems","hasMeta","hasPayment","qrBottom","qrFooter","logo","address","rate","label","css","constructor","super"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v7.
|
|
2
|
+
* snice v7.8.0
|
|
3
3
|
* A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
6
6
|
*/
|
|
7
7
|
/*!
|
|
8
|
-
* snice v7.
|
|
8
|
+
* snice v7.8.0
|
|
9
9
|
* A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
|
|
10
10
|
* (c) 2024
|
|
11
11
|
* Released under the MIT License.
|
|
@@ -10266,7 +10266,7 @@ if (typeof document !== 'undefined') {
|
|
|
10266
10266
|
}
|
|
10267
10267
|
|
|
10268
10268
|
/*!
|
|
10269
|
-
* snice v7.
|
|
10269
|
+
* snice v7.8.0
|
|
10270
10270
|
* A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
|
|
10271
10271
|
* (c) 2024
|
|
10272
10272
|
* Released under the MIT License.
|
|
@@ -10288,7 +10288,7 @@ if (!globalThis.snice) {
|
|
|
10288
10288
|
globalThis.snice.pendingControllerAttachments ??= new Map();
|
|
10289
10289
|
|
|
10290
10290
|
/*!
|
|
10291
|
-
* snice v7.
|
|
10291
|
+
* snice v7.8.0
|
|
10292
10292
|
* A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
|
|
10293
10293
|
* (c) 2024
|
|
10294
10294
|
* Released under the MIT License.
|