@telia-ace/alliance-ui 1.0.14-next.1 → 1.0.15-next.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/CHANGELOG.md +17 -2
- package/components/alliance-link.d.ts +2 -0
- package/components/alliance-link.js +4 -150
- package/components/alliance-link.js.map +1 -1
- package/components/alliance-modal.d.ts +12 -0
- package/components/alliance-modal.js +7 -237
- package/components/alliance-modal.js.map +1 -1
- package/components/alliance-paginator.d.ts +13 -0
- package/components/alliance-paginator.js +6 -308
- package/components/alliance-paginator.js.map +1 -1
- package/components/alliance-table.d.ts +2 -0
- package/components/alliance-table.js +6 -144
- package/components/alliance-table.js.map +1 -1
- package/components/alliance-view.d.ts +32 -0
- package/components/alliance-view.js +291 -0
- package/components/alliance-view.js.map +1 -0
- package/components/chunk-ADFC4JKF.js +315 -0
- package/components/chunk-ADFC4JKF.js.map +1 -0
- package/components/chunk-B6YHD7BN.js +4 -0
- package/components/chunk-B6YHD7BN.js.map +1 -0
- package/components/chunk-JQ76TOQT.js +4 -0
- package/components/chunk-JQ76TOQT.js.map +1 -0
- package/components/chunk-LYU2K33W.js +464 -0
- package/components/chunk-LYU2K33W.js.map +1 -0
- package/components/chunk-NB6ODBZJ.js +13 -0
- package/components/chunk-NB6ODBZJ.js.map +1 -0
- package/components/chunk-P2AWWJPH.js +3 -0
- package/components/chunk-P2AWWJPH.js.map +1 -0
- package/components/chunk-WYQTL7R3.js +167 -0
- package/components/chunk-WYQTL7R3.js.map +1 -0
- package/components/chunk-XPHFAKEI.js +164 -0
- package/components/chunk-XPHFAKEI.js.map +1 -0
- package/components/index.d.ts +2 -6
- package/components/index.js +10 -18
- package/components/index.js.map +1 -1
- package/package.json +9 -13
- package/voca/components/telia-accordion-item.d.ts +1 -1
- package/voca/components/telia-accordion-item.js +3 -70
- package/voca/components/telia-accordion-item.js.map +1 -1
- package/voca/components/telia-accordion.d.ts +2 -1
- package/voca/components/telia-accordion.js +3 -104
- package/voca/components/telia-accordion.js.map +1 -1
- package/voca/components/telia-badge.d.ts +2 -1
- package/voca/components/telia-badge.js +3 -83
- package/voca/components/telia-badge.js.map +1 -1
- package/voca/components/telia-button.d.ts +2 -1
- package/voca/components/telia-button.js +3 -6
- package/voca/components/telia-button.js.map +1 -1
- package/voca/components/telia-card-frame-link.d.ts +2 -1
- package/voca/components/telia-card-frame-link.js +3 -46
- package/voca/components/telia-card-frame-link.js.map +1 -1
- package/voca/components/telia-card-frame.d.ts +2 -1
- package/voca/components/telia-card-frame.js +3 -4
- package/voca/components/telia-card-frame.js.map +1 -1
- package/voca/components/telia-checkbox.d.ts +2 -1
- package/voca/components/telia-checkbox.js +3 -102
- package/voca/components/telia-checkbox.js.map +1 -1
- package/voca/components/telia-chip-choice.d.ts +2 -1
- package/voca/components/telia-chip-choice.js +3 -70
- package/voca/components/telia-chip-choice.js.map +1 -1
- package/voca/components/telia-chip-filter.d.ts +2 -1
- package/voca/components/telia-chip-filter.js +3 -50
- package/voca/components/telia-chip-filter.js.map +1 -1
- package/voca/components/telia-col.d.ts +2 -1
- package/voca/components/telia-col.js +3 -47
- package/voca/components/telia-col.js.map +1 -1
- package/voca/components/telia-color-dot.d.ts +2 -1
- package/voca/components/telia-color-dot.js +3 -39
- package/voca/components/telia-color-dot.js.map +1 -1
- package/voca/components/telia-counter-badge.d.ts +2 -1
- package/voca/components/telia-counter-badge.js +3 -45
- package/voca/components/telia-counter-badge.js.map +1 -1
- package/voca/components/telia-cta-link.d.ts +2 -1
- package/voca/components/telia-cta-link.js +3 -58
- package/voca/components/telia-cta-link.js.map +1 -1
- package/voca/components/telia-date-picker.d.ts +2 -1
- package/voca/components/telia-date-picker.js +3 -591
- package/voca/components/telia-date-picker.js.map +1 -1
- package/voca/components/telia-divider.d.ts +2 -1
- package/voca/components/telia-divider.js +3 -46
- package/voca/components/telia-divider.js.map +1 -1
- package/voca/components/telia-field-assistive-text.d.ts +2 -1
- package/voca/components/telia-field-assistive-text.js +3 -4
- package/voca/components/telia-field-assistive-text.js.map +1 -1
- package/voca/components/telia-field-error.d.ts +2 -1
- package/voca/components/telia-field-error.js +3 -7
- package/voca/components/telia-field-error.js.map +1 -1
- package/voca/components/telia-field-valid.d.ts +2 -1
- package/voca/components/telia-field-valid.js +3 -7
- package/voca/components/telia-field-valid.js.map +1 -1
- package/voca/components/telia-fieldset.d.ts +2 -1
- package/voca/components/telia-fieldset.js +3 -56
- package/voca/components/telia-fieldset.js.map +1 -1
- package/voca/components/telia-focus-trap.d.ts +2 -1
- package/voca/components/telia-focus-trap.js +3 -78
- package/voca/components/telia-focus-trap.js.map +1 -1
- package/voca/components/telia-form.d.ts +2 -1
- package/voca/components/telia-form.js +3 -59
- package/voca/components/telia-form.js.map +1 -1
- package/voca/components/telia-grid.d.ts +2 -1
- package/voca/components/telia-grid.js +3 -29
- package/voca/components/telia-grid.js.map +1 -1
- package/voca/components/telia-heading.d.ts +2 -1
- package/voca/components/telia-heading.js +3 -4
- package/voca/components/telia-heading.js.map +1 -1
- package/voca/components/telia-icon.d.ts +2 -1
- package/voca/components/telia-icon.js +3 -5
- package/voca/components/telia-icon.js.map +1 -1
- package/voca/components/telia-image.d.ts +2 -1
- package/voca/components/telia-image.js +3 -42
- package/voca/components/telia-image.js.map +1 -1
- package/voca/components/telia-label.d.ts +2 -1
- package/voca/components/telia-label.js +3 -4
- package/voca/components/telia-label.js.map +1 -1
- package/voca/components/telia-link-image.d.ts +2 -1
- package/voca/components/telia-link-image.js +3 -55
- package/voca/components/telia-link-image.js.map +1 -1
- package/voca/components/telia-link.d.ts +2 -1
- package/voca/components/telia-link.js +3 -5
- package/voca/components/telia-link.js.map +1 -1
- package/voca/components/telia-list.d.ts +2 -1
- package/voca/components/telia-list.js +3 -69
- package/voca/components/telia-list.js.map +1 -1
- package/voca/components/telia-logo.d.ts +2 -1
- package/voca/components/telia-logo.js +3 -54
- package/voca/components/telia-logo.js.map +1 -1
- package/voca/components/telia-notification.d.ts +2 -1
- package/voca/components/telia-notification.js +3 -87
- package/voca/components/telia-notification.js.map +1 -1
- package/voca/components/telia-overlay.d.ts +2 -1
- package/voca/components/telia-overlay.js +3 -31
- package/voca/components/telia-overlay.js.map +1 -1
- package/voca/components/telia-p.d.ts +2 -1
- package/voca/components/telia-p.js +3 -51
- package/voca/components/telia-p.js.map +1 -1
- package/voca/components/telia-pictogram.d.ts +2 -1
- package/voca/components/telia-pictogram.js +3 -112
- package/voca/components/telia-pictogram.js.map +1 -1
- package/voca/components/telia-radio-button.d.ts +2 -1
- package/voca/components/telia-radio-button.js +3 -54
- package/voca/components/telia-radio-button.js.map +1 -1
- package/voca/components/telia-row.d.ts +2 -1
- package/voca/components/telia-row.js +3 -37
- package/voca/components/telia-row.js.map +1 -1
- package/voca/components/telia-search-input.d.ts +2 -1
- package/voca/components/telia-search-input.js +3 -134
- package/voca/components/telia-search-input.js.map +1 -1
- package/voca/components/telia-select.d.ts +2 -1
- package/voca/components/telia-select.js +3 -114
- package/voca/components/telia-select.js.map +1 -1
- package/voca/components/telia-skeleton.d.ts +2 -1
- package/voca/components/telia-skeleton.js +3 -32
- package/voca/components/telia-skeleton.js.map +1 -1
- package/voca/components/telia-status-badge.d.ts +2 -1
- package/voca/components/telia-status-badge.js +3 -58
- package/voca/components/telia-status-badge.js.map +1 -1
- package/voca/components/telia-style-link.d.ts +2 -1
- package/voca/components/telia-style-link.js +3 -4
- package/voca/components/telia-style-link.js.map +1 -1
- package/voca/components/telia-tab-content.d.ts +2 -1
- package/voca/components/telia-tab-content.js +3 -44
- package/voca/components/telia-tab-content.js.map +1 -1
- package/voca/components/telia-tab-header.d.ts +2 -1
- package/voca/components/telia-tab-header.js +3 -6
- package/voca/components/telia-tab-header.js.map +1 -1
- package/voca/components/telia-tab.d.ts +2 -1
- package/voca/components/telia-tab.js +3 -160
- package/voca/components/telia-tab.js.map +1 -1
- package/voca/components/telia-text-input.d.ts +2 -1
- package/voca/components/telia-text-input.js +3 -14
- package/voca/components/telia-text-input.js.map +1 -1
- package/voca/components/telia-text-spacing.d.ts +2 -1
- package/voca/components/telia-text-spacing.js +3 -29
- package/voca/components/telia-text-spacing.js.map +1 -1
- package/voca/components/telia-textarea.d.ts +2 -1
- package/voca/components/telia-textarea.js +3 -111
- package/voca/components/telia-textarea.js.map +1 -1
- package/voca/components/telia-toggle.d.ts +2 -1
- package/voca/components/telia-toggle.js +3 -143
- package/voca/components/telia-toggle.js.map +1 -1
- package/voca/components/telia-visually-hidden.d.ts +2 -1
- package/voca/components/telia-visually-hidden.js +3 -4
- package/voca/components/telia-visually-hidden.js.map +1 -1
- package/voca/foundations/component-library-styling.d.ts +2 -1
- package/voca/foundations/component-library-styling.js +3 -3
- package/voca/foundations/component-library-styling.js.map +1 -1
- package/voca/foundations/index.d.ts +6 -4
- package/voca/foundations/index.js +161 -162
- package/voca/foundations/index.js.map +1 -1
- package/voca/icons/index.js +3 -338
- package/voca/icons/index.js.map +1 -1
- package/chunks/check-circle-filled-42095247.js +0 -5
- package/chunks/check-circle-filled-42095247.js.map +0 -1
- package/chunks/chevron-down-50d47dd6.js +0 -5
- package/chunks/chevron-down-50d47dd6.js.map +0 -1
- package/chunks/chevron-right-788ce8a9.js +0 -6
- package/chunks/chevron-right-788ce8a9.js.map +0 -1
- package/chunks/close-7d423291.js +0 -5
- package/chunks/close-7d423291.js.map +0 -1
- package/chunks/close-ac6e4f1c.js +0 -5
- package/chunks/close-ac6e4f1c.js.map +0 -1
- package/chunks/error-9925a844.js +0 -7
- package/chunks/error-9925a844.js.map +0 -1
- package/chunks/error-filled-8de50bdd.js +0 -5
- package/chunks/error-filled-8de50bdd.js.map +0 -1
- package/chunks/getSvgContent-f2389ce0.js +0 -14
- package/chunks/getSvgContent-f2389ce0.js.map +0 -1
- package/chunks/index-514c4fef.js +0 -213
- package/chunks/index-514c4fef.js.map +0 -1
- package/chunks/index-eef143db.js +0 -531
- package/chunks/index-eef143db.js.map +0 -1
- package/chunks/query-assigned-elements-ac91685f.js +0 -606
- package/chunks/query-assigned-elements-ac91685f.js.map +0 -1
- package/chunks/repeat-34adae9e.js +0 -143
- package/chunks/repeat-34adae9e.js.map +0 -1
- package/chunks/stringCombiner-10b57054.js +0 -50
- package/chunks/stringCombiner-10b57054.js.map +0 -1
- package/chunks/telia-button-c9ba09a9.js +0 -86
- package/chunks/telia-button-c9ba09a9.js.map +0 -1
- package/chunks/telia-card-frame-340f3315.js +0 -39
- package/chunks/telia-card-frame-340f3315.js.map +0 -1
- package/chunks/telia-field-assistive-text-173ba2fb.js +0 -32
- package/chunks/telia-field-assistive-text-173ba2fb.js.map +0 -1
- package/chunks/telia-field-error-f978aeb3.js +0 -40
- package/chunks/telia-field-error-f978aeb3.js.map +0 -1
- package/chunks/telia-field-valid-5d8f121e.js +0 -39
- package/chunks/telia-field-valid-5d8f121e.js.map +0 -1
- package/chunks/telia-heading-38ae44ae.js +0 -104
- package/chunks/telia-heading-38ae44ae.js.map +0 -1
- package/chunks/telia-icon-d0e7c715.js +0 -73
- package/chunks/telia-icon-d0e7c715.js.map +0 -1
- package/chunks/telia-label-f4c1eb47.js +0 -36
- package/chunks/telia-label-f4c1eb47.js.map +0 -1
- package/chunks/telia-link-42cb2e68.js +0 -51
- package/chunks/telia-link-42cb2e68.js.map +0 -1
- package/chunks/telia-style-link-bb7bfd94.js +0 -56
- package/chunks/telia-style-link-bb7bfd94.js.map +0 -1
- package/chunks/telia-tab-header-890fc7c8.js +0 -98
- package/chunks/telia-tab-header-890fc7c8.js.map +0 -1
- package/chunks/telia-text-input-289394d8.js +0 -169
- package/chunks/telia-text-input-289394d8.js.map +0 -1
- package/chunks/telia-visually-hidden-9015e8cd.js +0 -34
- package/chunks/telia-visually-hidden-9015e8cd.js.map +0 -1
- package/chunks/telia-vst2-dfb33a56.js +0 -41
- package/chunks/telia-vst2-dfb33a56.js.map +0 -1
- package/chunks/uniqueId-0daf01ec.js +0 -5
- package/chunks/uniqueId-0daf01ec.js.map +0 -1
- package/chunks/variables-ecb680f0.js +0 -8
- package/chunks/variables-ecb680f0.js.map +0 -1
- package/components/alliance-link/alliance-link.d.ts +0 -27
- package/components/alliance-link/index.d.ts +0 -1
- package/components/alliance-modal/alliance-modal.d.ts +0 -43
- package/components/alliance-modal/index.d.ts +0 -2
- package/components/alliance-paginator/alliance-page-selector.d.ts +0 -22
- package/components/alliance-paginator/alliance-paginator-button.d.ts +0 -17
- package/components/alliance-paginator/alliance-paginator.d.ts +0 -32
- package/components/alliance-paginator/index.d.ts +0 -4
- package/components/alliance-paginator/utils.d.ts +0 -13
- package/components/alliance-table/alliance-table-body.d.ts +0 -5
- package/components/alliance-table/alliance-table-data.d.ts +0 -5
- package/components/alliance-table/alliance-table-head.d.ts +0 -7
- package/components/alliance-table/alliance-table-row.d.ts +0 -6
- package/components/alliance-table/alliance-table.d.ts +0 -5
- package/components/alliance-table/index.d.ts +0 -5
- package/style.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/voca/foundations/index.ts"],"names":["borders","breakpoints","colors","grid","layers","motion","shadows","spacing","typography","focus"],"mappings":";AAAA,SACIA,SACAC,aACAC,QACAC,MACAC,QACAC,QACAC,SACAC,SACAC,kBACG;AACP,OAAOC,WAAW","sourcesContent":["import {\n borders,\n breakpoints,\n colors,\n grid,\n layers,\n motion,\n shadows,\n spacing,\n typography,\n} from '@teliads/components/foundations';\nimport focus from '@teliads/components/foundations/focus/variables.json';\n\nexport { borders, breakpoints, colors, grid, layers, motion, shadows, spacing, typography, focus };\n\nexport const addCssVariables = () => {\n const styleId = 'voca-foundations-style-tag';\n const existing = document.getElementById(styleId);\n const element = document.createElement('style');\n element.id = styleId;\n\n const variables: Record<string, string> = {\n '--font-telia-heading':\n 'TeliaSansHeading, TeliaSans, HelveticaNeue, Helvetica, Arial, sans-serif',\n '--font-telia-sans': 'TeliaSans, Helvetica, Arial, Lucida Grande, sans-serif',\n '--font-normal': typography.weightNormal,\n '--font-medium': typography.weightMedium,\n '--font-bold': typography.weightBold,\n\n '--spacing-0': spacing.spacing0,\n '--spacing-2': spacing.spacing2,\n '--spacing-4': spacing.spacing4,\n '--spacing-8': spacing.spacing8,\n '--spacing-12': spacing.spacing12,\n '--spacing-16': spacing.spacing16,\n '--spacing-20': spacing.spacing20,\n '--spacing-24': spacing.spacing24,\n '--spacing-32': spacing.spacing32,\n '--spacing-48': spacing.spacing48,\n '--spacing-64': spacing.spacing64,\n '--spacing-80': spacing.spacing80,\n '--spacing-96': spacing.spacing96,\n '--spacing-128': spacing.spacing128,\n\n '--box-shadow-none': shadows.none,\n '--box-shadow-sm': shadows.sm,\n '--box-shadow-md': shadows.md,\n '--box-shadow-lg': shadows.lg,\n\n '--duration-50': motion.duration50,\n '--duration-100': motion.duration100,\n '--duration-150': motion.duration150,\n '--duration-200': motion.duration200,\n '--duration-250': motion.duration250,\n '--duration-300': motion.duration300,\n '--duration-350': motion.duration350,\n '--duration-400': motion.duration400,\n '--duration-500': motion.duration500,\n '--duration-1500': motion.duration1500,\n '--duration-2000': motion.duration2000,\n\n '--timing-ease-in': motion.easeIn,\n '--timing-ease-out': motion.easeOut,\n '--timing-ease-in-out': motion.easeInOut,\n\n '--layer-base': layers.base,\n '--layer-dropdown': layers.dropdown,\n '--layer-header': layers.header,\n '--layer-modal': layers.modal,\n\n '--border-width-none': borders.widthNone,\n '--border-width-xs': borders.widthXs,\n '--border-width-sm': borders.widthSm,\n '--border-width-md': borders.widthMd,\n\n '--border-radius-none': borders.radiusNone,\n '--border-radius-default': borders.radiusDefault,\n '--border-radius-sm': borders.radiusSm,\n '--border-radius-lg': borders.radiusLg,\n '--border-radius-full': borders.radiusFull,\n\n '--screen-size-sm': breakpoints.breakpointSm,\n '--screen-size-md': breakpoints.breakpointMd,\n '--screen-size-lg': breakpoints.breakpointLg,\n '--screen-size-xl': breakpoints.breakpointXl,\n\n '--purple-100': colors.purple100,\n '--purple-200': colors.purple200,\n '--purple-300': colors.purple300,\n '--purple-400': colors.purple400,\n '--purple-500': colors.purple500,\n '--purple-600': colors.purple600,\n '--purple-700': colors.purple700,\n '--purple-800': colors.purple800,\n '--purple-850': colors.purple850,\n '--purple-900': colors.purple900,\n\n '--beige-50': colors.beige50,\n '--beige-100': colors.beige100,\n '--beige-200': colors.beige200,\n '--beige-300': colors.beige300,\n '--beige-400': colors.beige400,\n '--beige-500': colors.beige500,\n '--beige-600': colors.beige600,\n '--beige-700': colors.beige700,\n '--beige-800': colors.beige800,\n '--beige-900': colors.beige900,\n\n '--gray-50': colors.gray50,\n '--gray-100': colors.gray100,\n '--gray-200': colors.gray200,\n '--gray-300': colors.gray300,\n '--gray-400': colors.gray400,\n '--gray-500': colors.gray500,\n '--gray-600': colors.gray600,\n '--gray-700': colors.gray700,\n '--gray-800': colors.gray800,\n '--gray-900': colors.gray900,\n\n '--green-100': colors.green100,\n '--green-200': colors.green200,\n '--green-300': colors.green300,\n '--green-400': colors.green400,\n '--green-500': colors.green500,\n '--green-600': colors.green600,\n '--green-700': colors.green700,\n '--green-800': colors.green800,\n '--green-900': colors.green900,\n\n '--red-100': colors.red100,\n '--red-200': colors.red200,\n '--red-300': colors.red300,\n '--red-400': colors.red400,\n '--red-500': colors.red500,\n '--red-600': colors.red600,\n '--red-700': colors.red700,\n '--red-800': colors.red800,\n '--red-900': colors.red900,\n\n '--orange-100': colors.orange100,\n '--orange-200': colors.orange200,\n '--orange-300': colors.orange300,\n '--orange-400': colors.orange400,\n '--orange-500': colors.orange500,\n '--orange-600': colors.orange600,\n '--orange-700': colors.orange700,\n '--orange-800': colors.orange800,\n '--orange-900': colors.orange900,\n\n '--blue-100': colors.blue100,\n '--blue-200': colors.blue200,\n '--blue-300': colors.blue300,\n '--blue-400': colors.blue400,\n '--blue-500': colors.blue500,\n '--blue-600': colors.blue600,\n '--blue-700': colors.blue700,\n '--blue-800': colors.blue800,\n '--blue-900': colors.blue900,\n\n '--white': colors.white,\n '--black': colors.black,\n '--functional-black': colors.functionalBlack,\n\n /* DEPRECATED */\n '--grid-gutter': grid.gutter,\n '--grid-gutter-medium': grid.gutterMedium,\n '--grid-gutter-large': grid.gutterLarge,\n '--grid-page-padding': grid.pagePadding,\n '--grid-page-padding-m': grid.pagePaddingM,\n '--grid-page-padding-l': grid.pagePaddingL,\n\n '--grid-gutter-sm': grid.gutter,\n '--grid-gutter-md': grid.gutterMedium,\n '--grid-gutter-lg': grid.gutterLarge,\n '--grid-page-padding-sm': grid.pagePadding,\n '--grid-page-padding-md': grid.pagePaddingM,\n '--grid-page-padding-lg': grid.pagePaddingL,\n '--grid-page-padding-xl': grid.pagePaddingXl,\n\n // The following are not available in JS variables for some reason\n '--functional-transparent': 'transparent',\n '--transparent-black-50': 'rgba(0, 0, 0, 0.05)',\n '--transparent-black-100': 'rgba(0, 0, 0, 0.1)',\n '--transparent-black-200': 'rgba(0, 0, 0, 0.2)',\n '--transparent-black-300': 'rgba(0, 0, 0, 0.3)',\n '--transparent-black-400': 'rgba(0, 0, 0, 0.4)',\n '--transparent-black-500': 'rgba(0, 0, 0, 0.5)',\n '--transparent-black-600': 'rgba(0, 0, 0, 0.6)',\n '--transparent-black-700': 'rgba(0, 0, 0, 0.7)',\n '--transparent-black-800': 'rgba(0, 0, 0, 0.8)',\n '--transparent-black-850': 'rgba(0, 0, 0, 0.85)',\n '--transparent-black-900': 'rgba(0, 0, 0, 0.9)',\n '--transparent-white-50': 'rgba(0, 0, 0, 0.05)',\n '--transparent-white-100': 'rgba(0, 0, 0, 0.1)',\n '--transparent-white-200': 'rgba(0, 0, 0, 0.2)',\n '--transparent-white-300': 'rgba(0, 0, 0, 0.3)',\n '--transparent-white-400': 'rgba(0, 0, 0, 0.4)',\n '--transparent-white-500': 'rgba(0, 0, 0, 0.5)',\n '--transparent-white-600': 'rgba(0, 0, 0, 0.6)',\n '--transparent-white-700': 'rgba(0, 0, 0, 0.7)',\n '--transparent-white-800': 'rgba(0, 0, 0, 0.8)',\n '--transparent-white-850': 'rgba(0, 0, 0, 0.85)',\n '--transparent-white-900': 'rgba(0, 0, 0, 0.9)',\n\n '--focus-border': `${focus.focusBorderWidth} solid ${focus.focusColor}`,\n };\n\n const variableString = Object.keys(variables)\n .map((key) => `${key}:${variables[key]};`)\n .join('');\n\n element.innerHTML = `\n :root {\n ${variableString}\n }\n `;\n\n if (existing) {\n document.head.replaceChild(element, existing);\n return;\n }\n return document.head.append(element);\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/voca/components/telia-button.ts","../src/voca/components/telia-icon.ts"],"names":[],"mappings":";AACA,OAAO;;;ACAP,OAAO","sourcesContent":["// This file is generated - see scripts/map-voca-components.js\nimport '@teliads/components/dist/components/telia-button';\n","// This file is generated - see scripts/map-voca-components.js\nimport '@teliads/components/dist/components/telia-icon';\n"]}
|
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import { spacing, borders, colors, motion, focus, breakpoints } from './chunk-B6YHD7BN.js';
|
|
2
|
+
import { __name, define } from './chunk-NB6ODBZJ.js';
|
|
3
|
+
import { LitElement, css, unsafeCSS, html } from 'lit';
|
|
4
|
+
import { property, state } from 'lit/decorators.js';
|
|
5
|
+
import { repeat } from 'lit/directives/repeat.js';
|
|
6
|
+
import '@teliads/components/dist/components/telia-label';
|
|
7
|
+
import { chevronLeft, chevronRight } from '@teliads/components/icons';
|
|
8
|
+
|
|
9
|
+
// src/components/alliance-paginator/utils.ts
|
|
10
|
+
var DOTS = "...";
|
|
11
|
+
var range = /* @__PURE__ */ __name((start, end) => {
|
|
12
|
+
const length = end - start + 1;
|
|
13
|
+
return Array.from({
|
|
14
|
+
length
|
|
15
|
+
}, (_, idx) => idx + start);
|
|
16
|
+
}, "range");
|
|
17
|
+
function getLastPage(pages) {
|
|
18
|
+
return pages[pages.length - 1];
|
|
19
|
+
}
|
|
20
|
+
__name(getLastPage, "getLastPage");
|
|
21
|
+
function listPages(lastPage) {
|
|
22
|
+
return Array.from({
|
|
23
|
+
length: lastPage
|
|
24
|
+
}, (_, i) => {
|
|
25
|
+
return pageToSelectValue(i + 1, lastPage);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
__name(listPages, "listPages");
|
|
29
|
+
function pageToSelectValue(page, lastPage) {
|
|
30
|
+
return `${page} / ${lastPage}`;
|
|
31
|
+
}
|
|
32
|
+
__name(pageToSelectValue, "pageToSelectValue");
|
|
33
|
+
function selectValueToPage(selectValue) {
|
|
34
|
+
const value = selectValue.split("/")[0];
|
|
35
|
+
if (typeof value !== "string") {
|
|
36
|
+
throw new Error("Could not parse page value from select.");
|
|
37
|
+
}
|
|
38
|
+
return parseInt(value);
|
|
39
|
+
}
|
|
40
|
+
__name(selectValueToPage, "selectValueToPage");
|
|
41
|
+
function getPagination({ itemCount, pageSize, siblingCount, currentPage }) {
|
|
42
|
+
const totalPageCount = Math.ceil(itemCount / pageSize);
|
|
43
|
+
const totalPageNumbers = siblingCount + 5;
|
|
44
|
+
if (totalPageNumbers >= totalPageCount) {
|
|
45
|
+
return range(1, totalPageCount);
|
|
46
|
+
}
|
|
47
|
+
const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);
|
|
48
|
+
const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPageCount);
|
|
49
|
+
const shouldShowLeftDots = leftSiblingIndex > 2;
|
|
50
|
+
const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;
|
|
51
|
+
const firstPageIndex = 1;
|
|
52
|
+
const lastPageIndex = totalPageCount;
|
|
53
|
+
if (!shouldShowLeftDots && shouldShowRightDots) {
|
|
54
|
+
const leftItemCount = 3 + 2 * siblingCount;
|
|
55
|
+
const leftRange = range(1, leftItemCount);
|
|
56
|
+
return [
|
|
57
|
+
...leftRange,
|
|
58
|
+
DOTS,
|
|
59
|
+
totalPageCount
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
if (shouldShowLeftDots && !shouldShowRightDots) {
|
|
63
|
+
const rightItemCount = 3 + 2 * siblingCount;
|
|
64
|
+
const rightRange = range(totalPageCount - rightItemCount + 1, totalPageCount);
|
|
65
|
+
return [
|
|
66
|
+
firstPageIndex,
|
|
67
|
+
DOTS,
|
|
68
|
+
...rightRange
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
if (shouldShowLeftDots && shouldShowRightDots) {
|
|
72
|
+
const middleRange = range(leftSiblingIndex, rightSiblingIndex);
|
|
73
|
+
return [
|
|
74
|
+
firstPageIndex,
|
|
75
|
+
DOTS,
|
|
76
|
+
...middleRange,
|
|
77
|
+
DOTS,
|
|
78
|
+
lastPageIndex
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
return range(1, totalPageCount);
|
|
82
|
+
}
|
|
83
|
+
__name(getPagination, "getPagination");
|
|
84
|
+
|
|
85
|
+
// src/components/alliance-paginator/alliance-page-selector.ts
|
|
86
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
87
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
88
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
89
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
90
|
+
else
|
|
91
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
92
|
+
if (d = decorators[i])
|
|
93
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
94
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
95
|
+
}
|
|
96
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
97
|
+
function _ts_metadata(k, v) {
|
|
98
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
99
|
+
return Reflect.metadata(k, v);
|
|
100
|
+
}
|
|
101
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
102
|
+
var PageSelect = class extends LitElement {
|
|
103
|
+
static {
|
|
104
|
+
__name(this, "PageSelect");
|
|
105
|
+
}
|
|
106
|
+
constructor() {
|
|
107
|
+
super();
|
|
108
|
+
this.currentPage = 0;
|
|
109
|
+
this.lastPage = 0;
|
|
110
|
+
}
|
|
111
|
+
static styles = css`
|
|
112
|
+
:host select {
|
|
113
|
+
padding: ${unsafeCSS(spacing.spacing16)} ${unsafeCSS(spacing.spacing24)};
|
|
114
|
+
border-radius: ${unsafeCSS(borders.radiusFull)};
|
|
115
|
+
border: ${unsafeCSS(borders.widthXs)} solid ${unsafeCSS(colors.purple850)};
|
|
116
|
+
background-color: transparent;
|
|
117
|
+
color: ${unsafeCSS(colors.purple850)};
|
|
118
|
+
text-align: center;
|
|
119
|
+
align-items: center;
|
|
120
|
+
justify-content: center;
|
|
121
|
+
cursor: pointer;
|
|
122
|
+
display: inline-flex;
|
|
123
|
+
font-family: 'TeliaSans', Helvetica, Arial, 'Lucida Grande', sans-serif;
|
|
124
|
+
font-size: ${unsafeCSS(spacing.spacing16)};
|
|
125
|
+
line-height: ${unsafeCSS(spacing.spacing16)};
|
|
126
|
+
transition:
|
|
127
|
+
color ${unsafeCSS(motion.duration150)} ease,
|
|
128
|
+
background-color ${unsafeCSS(motion.duration150)} ease;
|
|
129
|
+
|
|
130
|
+
-webkit-appearance: none;
|
|
131
|
+
-moz-appearance: none;
|
|
132
|
+
appearance: none;
|
|
133
|
+
outline: none;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
:host select:hover {
|
|
137
|
+
background-color: ${unsafeCSS(colors.purple850)};
|
|
138
|
+
color: ${unsafeCSS(colors.white)};
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
:host select:active {
|
|
142
|
+
background-color: ${unsafeCSS(colors.purple700)};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
:host select option {
|
|
146
|
+
background-color: ${unsafeCSS(colors.white)};
|
|
147
|
+
color: ${unsafeCSS(colors.black)};
|
|
148
|
+
text-align: center;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
:host select::-ms-expand {
|
|
152
|
+
display: none;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
:host select:focus-visible {
|
|
156
|
+
outline: solid ${unsafeCSS(focus.focusBorderWidth)} ${unsafeCSS(focus.focusColor)};
|
|
157
|
+
outline-offset: ${unsafeCSS(spacing.spacing4)};
|
|
158
|
+
}
|
|
159
|
+
`;
|
|
160
|
+
onChange = (e) => {
|
|
161
|
+
const nextPage = selectValueToPage(e.currentTarget.value);
|
|
162
|
+
const event = new CustomEvent("select-page", {
|
|
163
|
+
bubbles: true,
|
|
164
|
+
composed: true,
|
|
165
|
+
detail: {
|
|
166
|
+
nextPage,
|
|
167
|
+
previousPage: this.currentPage
|
|
168
|
+
},
|
|
169
|
+
cancelable: true
|
|
170
|
+
});
|
|
171
|
+
this.dispatchEvent(event);
|
|
172
|
+
};
|
|
173
|
+
render() {
|
|
174
|
+
return html`
|
|
175
|
+
<select
|
|
176
|
+
id="select"
|
|
177
|
+
@change=${this.onChange}
|
|
178
|
+
.value=${pageToSelectValue(this.currentPage, this.lastPage)}
|
|
179
|
+
>
|
|
180
|
+
${repeat(listPages(this.lastPage), (page) => html`<option value="${page}">${page}</option>`)}
|
|
181
|
+
</select>
|
|
182
|
+
`;
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
_ts_decorate([
|
|
186
|
+
property({
|
|
187
|
+
type: Number,
|
|
188
|
+
attribute: "current-page"
|
|
189
|
+
}),
|
|
190
|
+
_ts_metadata("design:type", Number)
|
|
191
|
+
], PageSelect.prototype, "currentPage", void 0);
|
|
192
|
+
_ts_decorate([
|
|
193
|
+
property({
|
|
194
|
+
type: Number,
|
|
195
|
+
attribute: "last-page"
|
|
196
|
+
}),
|
|
197
|
+
_ts_metadata("design:type", Number)
|
|
198
|
+
], PageSelect.prototype, "lastPage", void 0);
|
|
199
|
+
define("alliance-page-selector", PageSelect);
|
|
200
|
+
|
|
201
|
+
// src/components/alliance-paginator/alliance-paginator.ts
|
|
202
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
203
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
204
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
205
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
206
|
+
else
|
|
207
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
208
|
+
if (d = decorators[i])
|
|
209
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
210
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
211
|
+
}
|
|
212
|
+
__name(_ts_decorate2, "_ts_decorate");
|
|
213
|
+
function _ts_metadata2(k, v) {
|
|
214
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
215
|
+
return Reflect.metadata(k, v);
|
|
216
|
+
}
|
|
217
|
+
__name(_ts_metadata2, "_ts_metadata");
|
|
218
|
+
var Paginator = class extends LitElement {
|
|
219
|
+
static {
|
|
220
|
+
__name(this, "Paginator");
|
|
221
|
+
}
|
|
222
|
+
constructor() {
|
|
223
|
+
super();
|
|
224
|
+
this.itemCount = 0;
|
|
225
|
+
this.pageSize = 50;
|
|
226
|
+
this.initialPage = 1;
|
|
227
|
+
this.siblingCount = 2;
|
|
228
|
+
this.currentPage = this.initialPage;
|
|
229
|
+
this.pages = [];
|
|
230
|
+
}
|
|
231
|
+
static styles = css`
|
|
232
|
+
:host {
|
|
233
|
+
display: flex;
|
|
234
|
+
flex-direction: row;
|
|
235
|
+
place-items: center;
|
|
236
|
+
gap: ${unsafeCSS(spacing.spacing8)};
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
:host telia-label {
|
|
240
|
+
display: none;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
:host .telia-label {
|
|
244
|
+
color: ${unsafeCSS(colors.purple700)};
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
:host alliance-paginator-button[page] {
|
|
248
|
+
display: none;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
span {
|
|
252
|
+
display: block;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
@container (min-width: ${unsafeCSS(breakpoints.breakpointLg)}) {
|
|
256
|
+
:host telia-label,
|
|
257
|
+
:host alliance-paginator-button[page] {
|
|
258
|
+
display: block;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
:host alliance-page-selector {
|
|
262
|
+
display: none;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
`;
|
|
266
|
+
connectedCallback() {
|
|
267
|
+
super.connectedCallback();
|
|
268
|
+
this.currentPage = this.initialPage;
|
|
269
|
+
this.pages = getPagination({
|
|
270
|
+
itemCount: this.itemCount,
|
|
271
|
+
pageSize: this.pageSize,
|
|
272
|
+
siblingCount: this.siblingCount,
|
|
273
|
+
currentPage: this.currentPage
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
attributeChangedCallback(name, _, value) {
|
|
277
|
+
super.attributeChangedCallback(name, _, value);
|
|
278
|
+
if (name === "initial-page") {
|
|
279
|
+
this.currentPage = this.initialPage;
|
|
280
|
+
}
|
|
281
|
+
this.pages = getPagination({
|
|
282
|
+
itemCount: this.itemCount,
|
|
283
|
+
pageSize: this.pageSize,
|
|
284
|
+
siblingCount: this.siblingCount,
|
|
285
|
+
currentPage: this.currentPage,
|
|
286
|
+
[name]: value
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
changePage = (nextPage) => {
|
|
290
|
+
if (nextPage === this.currentPage || // Next page is the same
|
|
291
|
+
nextPage < 1 || // Next page is 0
|
|
292
|
+
nextPage > this.pages[this.pages.length - 1]) {
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
const event = new CustomEvent("change-page", {
|
|
296
|
+
bubbles: true,
|
|
297
|
+
composed: true,
|
|
298
|
+
detail: {
|
|
299
|
+
nextPage,
|
|
300
|
+
previousPage: this.currentPage
|
|
301
|
+
},
|
|
302
|
+
cancelable: true
|
|
303
|
+
});
|
|
304
|
+
const defaultNotPrevented = this.dispatchEvent(event);
|
|
305
|
+
if (defaultNotPrevented) {
|
|
306
|
+
this.currentPage = nextPage;
|
|
307
|
+
this.pages = getPagination({
|
|
308
|
+
itemCount: this.itemCount,
|
|
309
|
+
pageSize: this.pageSize,
|
|
310
|
+
siblingCount: this.siblingCount,
|
|
311
|
+
currentPage: this.currentPage
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
next = () => {
|
|
316
|
+
this.changePage(this.currentPage + 1);
|
|
317
|
+
};
|
|
318
|
+
previous = () => {
|
|
319
|
+
this.changePage(this.currentPage - 1);
|
|
320
|
+
};
|
|
321
|
+
onPageSelect = (event) => this.changePage(event.detail.nextPage);
|
|
322
|
+
render() {
|
|
323
|
+
return html`
|
|
324
|
+
<alliance-paginator-button
|
|
325
|
+
@click=${this.previous}
|
|
326
|
+
?disabled=${this.currentPage === 1}
|
|
327
|
+
icon="left"
|
|
328
|
+
></alliance-paginator-button>
|
|
329
|
+
|
|
330
|
+
${repeat(this.pages, (pageNumber) => pageNumber === "..." ? html`<telia-label>...</telia-label>` : html`<alliance-paginator-button
|
|
331
|
+
page=${pageNumber}
|
|
332
|
+
@click=${() => this.changePage(pageNumber)}
|
|
333
|
+
?selected=${this.currentPage === pageNumber}
|
|
334
|
+
></alliance-paginator-button>`)}
|
|
335
|
+
|
|
336
|
+
<alliance-page-selector
|
|
337
|
+
current-page=${this.currentPage}
|
|
338
|
+
last-page=${getLastPage(this.pages)}
|
|
339
|
+
@select-page=${this.onPageSelect}
|
|
340
|
+
>
|
|
341
|
+
</alliance-page-selector>
|
|
342
|
+
|
|
343
|
+
<alliance-paginator-button
|
|
344
|
+
@click=${this.next}
|
|
345
|
+
?disabled=${this.currentPage === getLastPage(this.pages)}
|
|
346
|
+
icon="right"
|
|
347
|
+
></alliance-paginator-button>
|
|
348
|
+
`;
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
_ts_decorate2([
|
|
352
|
+
property({
|
|
353
|
+
type: Number,
|
|
354
|
+
attribute: "item-count"
|
|
355
|
+
}),
|
|
356
|
+
_ts_metadata2("design:type", Number)
|
|
357
|
+
], Paginator.prototype, "itemCount", void 0);
|
|
358
|
+
_ts_decorate2([
|
|
359
|
+
property({
|
|
360
|
+
type: Number,
|
|
361
|
+
attribute: "page-size"
|
|
362
|
+
}),
|
|
363
|
+
_ts_metadata2("design:type", Number)
|
|
364
|
+
], Paginator.prototype, "pageSize", void 0);
|
|
365
|
+
_ts_decorate2([
|
|
366
|
+
property({
|
|
367
|
+
type: Number,
|
|
368
|
+
attribute: "initial-page"
|
|
369
|
+
}),
|
|
370
|
+
_ts_metadata2("design:type", Number)
|
|
371
|
+
], Paginator.prototype, "initialPage", void 0);
|
|
372
|
+
_ts_decorate2([
|
|
373
|
+
property({
|
|
374
|
+
type: Number,
|
|
375
|
+
attribute: "sibling-count"
|
|
376
|
+
}),
|
|
377
|
+
_ts_metadata2("design:type", Number)
|
|
378
|
+
], Paginator.prototype, "siblingCount", void 0);
|
|
379
|
+
_ts_decorate2([
|
|
380
|
+
state(),
|
|
381
|
+
_ts_metadata2("design:type", Number)
|
|
382
|
+
], Paginator.prototype, "currentPage", void 0);
|
|
383
|
+
_ts_decorate2([
|
|
384
|
+
state(),
|
|
385
|
+
_ts_metadata2("design:type", typeof Pages === "undefined" ? Object : Pages)
|
|
386
|
+
], Paginator.prototype, "pages", void 0);
|
|
387
|
+
define("alliance-paginator", Paginator);
|
|
388
|
+
function _ts_decorate3(decorators, target, key, desc) {
|
|
389
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
390
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
391
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
392
|
+
else
|
|
393
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
394
|
+
if (d = decorators[i])
|
|
395
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
396
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
397
|
+
}
|
|
398
|
+
__name(_ts_decorate3, "_ts_decorate");
|
|
399
|
+
function _ts_metadata3(k, v) {
|
|
400
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
401
|
+
return Reflect.metadata(k, v);
|
|
402
|
+
}
|
|
403
|
+
__name(_ts_metadata3, "_ts_metadata");
|
|
404
|
+
var Icon;
|
|
405
|
+
(function(Icon2) {
|
|
406
|
+
Icon2["Left"] = "left";
|
|
407
|
+
Icon2["Right"] = "right";
|
|
408
|
+
})(Icon || (Icon = {}));
|
|
409
|
+
var PaginatorButton = class extends LitElement {
|
|
410
|
+
static {
|
|
411
|
+
__name(this, "PaginatorButton");
|
|
412
|
+
}
|
|
413
|
+
constructor() {
|
|
414
|
+
super();
|
|
415
|
+
this.selected = false;
|
|
416
|
+
this.disabled = false;
|
|
417
|
+
this.clickable = true;
|
|
418
|
+
}
|
|
419
|
+
renderContent() {
|
|
420
|
+
if (this.icon === "left") {
|
|
421
|
+
return html`<telia-icon size="sm" svg="${chevronLeft.svg}" />`;
|
|
422
|
+
}
|
|
423
|
+
if (this.icon === "right") {
|
|
424
|
+
return html`<telia-icon size="sm" svg="${chevronRight.svg}" />`;
|
|
425
|
+
}
|
|
426
|
+
return html`<span>${this.page}</span>`;
|
|
427
|
+
}
|
|
428
|
+
render() {
|
|
429
|
+
return html`<telia-button ?disabled=${this.disabled} variant=${this.selected ? "primary" : "tertiary-purple"}>${this.renderContent()}</telia-button> `;
|
|
430
|
+
}
|
|
431
|
+
};
|
|
432
|
+
_ts_decorate3([
|
|
433
|
+
property({
|
|
434
|
+
type: Icon
|
|
435
|
+
}),
|
|
436
|
+
_ts_metadata3("design:type", String)
|
|
437
|
+
], PaginatorButton.prototype, "icon", void 0);
|
|
438
|
+
_ts_decorate3([
|
|
439
|
+
property({
|
|
440
|
+
type: String
|
|
441
|
+
}),
|
|
442
|
+
_ts_metadata3("design:type", String)
|
|
443
|
+
], PaginatorButton.prototype, "page", void 0);
|
|
444
|
+
_ts_decorate3([
|
|
445
|
+
property({
|
|
446
|
+
type: Boolean
|
|
447
|
+
}),
|
|
448
|
+
_ts_metadata3("design:type", Boolean)
|
|
449
|
+
], PaginatorButton.prototype, "selected", void 0);
|
|
450
|
+
_ts_decorate3([
|
|
451
|
+
property({
|
|
452
|
+
type: Boolean
|
|
453
|
+
}),
|
|
454
|
+
_ts_metadata3("design:type", Boolean)
|
|
455
|
+
], PaginatorButton.prototype, "disabled", void 0);
|
|
456
|
+
_ts_decorate3([
|
|
457
|
+
property({
|
|
458
|
+
type: Boolean
|
|
459
|
+
}),
|
|
460
|
+
_ts_metadata3("design:type", Boolean)
|
|
461
|
+
], PaginatorButton.prototype, "clickable", void 0);
|
|
462
|
+
define("alliance-paginator-button", PaginatorButton);
|
|
463
|
+
//# sourceMappingURL=out.js.map
|
|
464
|
+
//# sourceMappingURL=chunk-LYU2K33W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/alliance-paginator/alliance-page-selector.ts","../src/components/alliance-paginator/utils.ts","../src/components/alliance-paginator/alliance-paginator.ts","../src/voca/components/telia-label.ts","../src/components/alliance-paginator/alliance-paginator-button.ts"],"names":["LitElement","css","html","unsafeCSS","property","repeat","DOTS","range","start","end","length","Array","from","_","idx","getLastPage","pages","listPages","lastPage","i","pageToSelectValue","page","selectValueToPage","selectValue","value","split","Error","parseInt","getPagination","itemCount","pageSize","siblingCount","currentPage","totalPageCount","Math","ceil","totalPageNumbers","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftItemCount","leftRange","rightItemCount","rightRange","middleRange","PageSelect","constructor","styles","spacing","spacing16","spacing24","borders","radiusFull","widthXs","colors","purple850","motion","duration150","white","purple700","black","focus","focusBorderWidth","focusColor","spacing4","onChange","e","nextPage","currentTarget","event","CustomEvent","bubbles","composed","detail","previousPage","cancelable","dispatchEvent","render","type","Number","attribute","define","state","Paginator","initialPage","spacing8","breakpoints","breakpointLg","connectedCallback","attributeChangedCallback","name","changePage","defaultNotPrevented","next","previous","onPageSelect","pageNumber","chevronLeft","chevronRight","Icon","PaginatorButton","selected","disabled","clickable","renderContent","icon","svg","String","Boolean"],"mappings":"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","sourcesContent":["import { LitElement, css, html, unsafeCSS } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\n\nimport { define } from '@/utils';\nimport '@/voca/components/telia-button';\nimport { borders, colors, focus, motion, spacing } from '@/voca/foundations';\n\nimport { listPages, pageToSelectValue, selectValueToPage } from './utils';\n\n/**\n * Event dispatched when selecting a page.\n *\n * Event: `change-page`\n *\n * Detail: Object containing the properties `nextPage` and `previousPage`.\n */\nexport type SelectPageEvent = CustomEvent<{ nextPage: number; previousPage: number }>;\n\nexport class PageSelect extends LitElement {\n constructor() {\n super();\n this.currentPage = 0;\n this.lastPage = 0;\n }\n static styles = css`\n :host select {\n padding: ${unsafeCSS(spacing.spacing16)} ${unsafeCSS(spacing.spacing24)};\n border-radius: ${unsafeCSS(borders.radiusFull)};\n border: ${unsafeCSS(borders.widthXs)} solid ${unsafeCSS(colors.purple850)};\n background-color: transparent;\n color: ${unsafeCSS(colors.purple850)};\n text-align: center;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n display: inline-flex;\n font-family: 'TeliaSans', Helvetica, Arial, 'Lucida Grande', sans-serif;\n font-size: ${unsafeCSS(spacing.spacing16)};\n line-height: ${unsafeCSS(spacing.spacing16)};\n transition:\n color ${unsafeCSS(motion.duration150)} ease,\n background-color ${unsafeCSS(motion.duration150)} ease;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n outline: none;\n }\n\n :host select:hover {\n background-color: ${unsafeCSS(colors.purple850)};\n color: ${unsafeCSS(colors.white)};\n }\n\n :host select:active {\n background-color: ${unsafeCSS(colors.purple700)};\n }\n\n :host select option {\n background-color: ${unsafeCSS(colors.white)};\n color: ${unsafeCSS(colors.black)};\n text-align: center;\n }\n\n :host select::-ms-expand {\n display: none;\n }\n\n :host select:focus-visible {\n outline: solid ${unsafeCSS(focus.focusBorderWidth)} ${unsafeCSS(focus.focusColor)};\n outline-offset: ${unsafeCSS(spacing.spacing4)};\n }\n `;\n\n @property({ type: Number, attribute: 'current-page' })\n declare currentPage: number;\n\n @property({ type: Number, attribute: 'last-page' })\n declare lastPage: number;\n\n onChange = (\n e: Event & {\n currentTarget: HTMLSelectElement;\n },\n ) => {\n const nextPage = selectValueToPage(e.currentTarget.value);\n\n const event: SelectPageEvent = new CustomEvent('select-page', {\n bubbles: true,\n composed: true,\n detail: { nextPage, previousPage: this.currentPage },\n cancelable: true,\n });\n this.dispatchEvent(event);\n };\n\n render() {\n return html`\n <select\n id=\"select\"\n @change=${this.onChange}\n .value=${pageToSelectValue(this.currentPage, this.lastPage)}\n >\n ${repeat(\n listPages(this.lastPage),\n (page) => html`<option value=\"${page}\">${page}</option>`,\n )}\n </select>\n `;\n }\n}\n\ndefine('alliance-page-selector', PageSelect);\n","/* \n Pagination logic taken from https://www.freecodecamp.org/news/build-a-custom-pagination-component-in-react/\n*/\nconst DOTS = '...';\n\nconst range = (start: number, end: number) => {\n const length = end - start + 1;\n /*\n Create an array of certain length and set the elements within it from\n start value to end value.\n */\n return Array.from({ length }, (_, idx) => idx + start);\n};\n\ntype Args = {\n itemCount: number;\n pageSize: number;\n siblingCount: number;\n currentPage: number;\n};\n\nexport type Pages = (number | '...')[];\n\nexport function getLastPage(pages: Pages): number {\n return pages[pages.length - 1] as number;\n}\n\nexport function listPages(lastPage: number): string[] {\n return Array.from({ length: lastPage }, (_, i) => {\n return pageToSelectValue(i + 1, lastPage);\n });\n}\n\nexport function pageToSelectValue(page: number, lastPage: number): string {\n return `${page} / ${lastPage}`;\n}\n\nexport function selectValueToPage(selectValue: string): number {\n const value = selectValue.split('/')[0];\n\n if (typeof value !== 'string') {\n throw new Error('Could not parse page value from select.');\n }\n\n return parseInt(value);\n}\n\nexport function getPagination({ itemCount, pageSize, siblingCount, currentPage }: Args): Pages {\n const totalPageCount = Math.ceil(itemCount / pageSize);\n\n // Pages count is determined as siblingCount + firstPage + lastPage + currentPage + 2*DOTS\n const totalPageNumbers = siblingCount + 5;\n\n /*\n Case 1:\n If the number of pages is less than the page numbers we want to show in our\n paginationComponent, we return the range [1..totalPageCount]\n */\n if (totalPageNumbers >= totalPageCount) {\n return range(1, totalPageCount);\n }\n\n /*\n Calculate left and right sibling index and make sure they are within range 1 and totalPageCount\n */\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\n const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPageCount);\n\n /*\n We do not show dots just when there is just one page number to be inserted between the extremes of sibling and the page limits i.e 1 and totalPageCount. Hence we are using leftSiblingIndex > 2 and rightSiblingIndex < totalPageCount - 2\n */\n const shouldShowLeftDots = leftSiblingIndex > 2;\n const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPageCount;\n\n /*\n Case 2: No left dots to show, but rights dots to be shown\n */\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = 3 + 2 * siblingCount;\n const leftRange = range(1, leftItemCount);\n\n return [...leftRange, DOTS, totalPageCount];\n }\n\n /*\n Case 3: No right dots to show, but left dots to be shown\n */\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = 3 + 2 * siblingCount;\n const rightRange = range(totalPageCount - rightItemCount + 1, totalPageCount);\n return [firstPageIndex, DOTS, ...rightRange];\n }\n\n /*\n Case 4: Both left and right dots to be shown\n */\n if (shouldShowLeftDots && shouldShowRightDots) {\n const middleRange = range(leftSiblingIndex, rightSiblingIndex);\n return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\n }\n\n return range(1, totalPageCount);\n}\n","import { LitElement, css, html, unsafeCSS } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\n\nimport { define } from '@/utils';\nimport '@/voca/components/telia-button';\nimport '@/voca/components/telia-label';\nimport { breakpoints, colors, spacing } from '@/voca/foundations';\n\nimport type { SelectPageEvent } from './alliance-page-selector';\nimport { type Pages, getLastPage, getPagination } from './utils';\n\n/**\n * Event dispatched when pressing a page button.\n *\n * Event: `change-page`\n *\n * Detail: Object containing the properties `nextPage` and `previousPage`.\n */\nexport type ChangePageEvent = CustomEvent<{ nextPage: number; previousPage: number }>;\n\nexport class Paginator extends LitElement {\n constructor() {\n super();\n this.itemCount = 0;\n this.pageSize = 50;\n this.initialPage = 1;\n this.siblingCount = 2;\n this.currentPage = this.initialPage;\n this.pages = [];\n }\n static styles = css`\n :host {\n display: flex;\n flex-direction: row;\n place-items: center;\n gap: ${unsafeCSS(spacing.spacing8)};\n }\n\n :host telia-label {\n display: none;\n }\n\n :host .telia-label {\n color: ${unsafeCSS(colors.purple700)};\n }\n\n :host alliance-paginator-button[page] {\n display: none;\n }\n\n span {\n display: block;\n }\n\n @container (min-width: ${unsafeCSS(breakpoints.breakpointLg)}) {\n :host telia-label,\n :host alliance-paginator-button[page] {\n display: block;\n }\n\n :host alliance-page-selector {\n display: none;\n }\n }\n `;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.currentPage = this.initialPage;\n this.pages = getPagination({\n itemCount: this.itemCount,\n pageSize: this.pageSize,\n siblingCount: this.siblingCount,\n currentPage: this.currentPage,\n });\n }\n\n attributeChangedCallback(name: string, _: string | null, value: string | null) {\n super.attributeChangedCallback(name, _, value);\n\n if (name === 'initial-page') {\n this.currentPage = this.initialPage;\n }\n\n this.pages = getPagination({\n itemCount: this.itemCount,\n pageSize: this.pageSize,\n siblingCount: this.siblingCount,\n currentPage: this.currentPage,\n [name]: value,\n });\n }\n\n @property({ type: Number, attribute: 'item-count' })\n declare itemCount: number;\n\n @property({ type: Number, attribute: 'page-size' })\n declare pageSize: number;\n\n @property({ type: Number, attribute: 'initial-page' })\n declare initialPage: number;\n\n @property({ type: Number, attribute: 'sibling-count' })\n declare siblingCount: number;\n\n @state()\n declare currentPage: number;\n\n @state()\n declare pages: Pages;\n\n changePage = (nextPage: number) => {\n if (\n nextPage === this.currentPage || // Next page is the same\n nextPage < 1 || // Next page is 0\n nextPage > (this.pages[this.pages.length - 1] as number) // Next page is outside of available pages\n ) {\n return;\n }\n\n const event: ChangePageEvent = new CustomEvent('change-page', {\n bubbles: true,\n composed: true,\n detail: { nextPage, previousPage: this.currentPage },\n cancelable: true,\n });\n const defaultNotPrevented = this.dispatchEvent(event);\n\n if (defaultNotPrevented) {\n this.currentPage = nextPage;\n\n this.pages = getPagination({\n itemCount: this.itemCount,\n pageSize: this.pageSize,\n siblingCount: this.siblingCount,\n currentPage: this.currentPage,\n });\n }\n };\n\n next = () => {\n this.changePage(this.currentPage + 1);\n };\n\n previous = () => {\n this.changePage(this.currentPage - 1);\n };\n\n onPageSelect = (event: SelectPageEvent) => this.changePage(event.detail.nextPage);\n\n render() {\n return html`\n <alliance-paginator-button\n @click=${this.previous}\n ?disabled=${this.currentPage === 1}\n icon=\"left\"\n ></alliance-paginator-button>\n\n ${repeat(this.pages, (pageNumber) =>\n pageNumber === '...'\n ? html`<telia-label>...</telia-label>`\n : html`<alliance-paginator-button\n page=${pageNumber}\n @click=${() => this.changePage(pageNumber)}\n ?selected=${this.currentPage === pageNumber}\n ></alliance-paginator-button>`,\n )}\n\n <alliance-page-selector\n current-page=${this.currentPage}\n last-page=${getLastPage(this.pages)}\n @select-page=${this.onPageSelect}\n >\n </alliance-page-selector>\n\n <alliance-paginator-button\n @click=${this.next}\n ?disabled=${this.currentPage === getLastPage(this.pages)}\n icon=\"right\"\n ></alliance-paginator-button>\n `;\n }\n}\n\ndefine('alliance-paginator', Paginator);\n","// This file is generated - see scripts/map-voca-components.js\nimport '@teliads/components/dist/components/telia-label';\n","import { chevronLeft, chevronRight } from '@teliads/components/icons';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { define } from '@/utils';\nimport '@/voca/components/telia-button';\nimport '@/voca/components/telia-icon';\n\nenum Icon {\n Left = 'left',\n Right = 'right',\n}\n\nexport class PaginatorButton extends LitElement {\n constructor() {\n super();\n this.selected = false;\n this.disabled = false;\n this.clickable = true;\n }\n @property({ type: Icon })\n declare icon?: Icon;\n\n @property({ type: String })\n declare page?: string;\n\n @property({ type: Boolean })\n declare selected: boolean;\n\n @property({ type: Boolean })\n declare disabled: boolean;\n\n @property({ type: Boolean })\n declare clickable: boolean;\n\n private renderContent() {\n if (this.icon === Icon.Left) {\n return html`<telia-icon size=\"sm\" svg=\"${chevronLeft.svg}\" />`;\n }\n\n if (this.icon === Icon.Right) {\n return html`<telia-icon size=\"sm\" svg=\"${chevronRight.svg}\" />`;\n }\n\n return html`<span>${this.page}</span>`;\n }\n\n render() {\n /*\n Ignore prettier on next line because Voca \n uses textContent on the telia-button element\n to detect whether or not it only contains an\n icon - which does not take account for white space...\n https://github.com/telia-company/design-system/issues/813\n */\n // prettier-ignore\n return html`<telia-button ?disabled=${this.disabled} variant=${this.selected ? 'primary' : 'tertiary-purple'}>${this.renderContent()}</telia-button> `;\n }\n}\n\ndefine('alliance-paginator-button', PaginatorButton);\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
4
|
+
// src/utils.ts
|
|
5
|
+
var define = /* @__PURE__ */ __name((tag, ...args) => {
|
|
6
|
+
if (!customElements.get(tag)) {
|
|
7
|
+
return customElements.define(tag, ...args);
|
|
8
|
+
}
|
|
9
|
+
}, "define");
|
|
10
|
+
|
|
11
|
+
export { __name, define };
|
|
12
|
+
//# sourceMappingURL=out.js.map
|
|
13
|
+
//# sourceMappingURL=chunk-NB6ODBZJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts"],"names":["define","tag","args","customElements","get"],"mappings":";;;;AAAO,IAAMA,SAAuC,wBAACC,QAAQC,SAAAA;AACzD,MAAI,CAACC,eAAeC,IAAIH,GAAAA,GAAM;AAC1B,WAAOE,eAAeH,OAAOC,KAAAA,GAAQC,IAAAA;EACzC;AACJ,GAJoD","sourcesContent":["export const define: typeof customElements.define = (tag, ...args) => {\n if (!customElements.get(tag)) {\n return customElements.define(tag, ...args);\n }\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/voca/components/telia-heading.ts"],"names":[],"mappings":";AACA,OAAO","sourcesContent":["// This file is generated - see scripts/map-voca-components.js\nimport '@teliads/components/dist/components/telia-heading';\n"]}
|