ids-enterprise-wc 1.15.9-patch.19 → 1.15.9-patch.20

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.
Files changed (27) hide show
  1. package/chunks/{ids-chunk-AOCK6PF3-full.js → ids-chunk-IZWNCK4C-full.js} +32 -5
  2. package/chunks/{ids-chunk-AOCK6PF3-full.js.map → ids-chunk-IZWNCK4C-full.js.map} +2 -2
  3. package/chunks/{ids-chunk-EDQ2YH35-full.js → ids-chunk-MHSSTALO-full.js} +3 -3
  4. package/chunks/{ids-chunk-AKBAXNZI-full.js → ids-chunk-TRPOCB4F-full.js} +32 -5
  5. package/chunks/ids-chunk-TRPOCB4F-full.js.map +7 -0
  6. package/components/ids-accordion/ids-accordion.css +77 -141
  7. package/components/ids-calendar/ids-calendar.css +190 -265
  8. package/components/ids-checkbox/ids-checkbox.css +7 -580
  9. package/components/ids-data-grid/ids-data-grid-editors.js +1 -1
  10. package/components/ids-data-grid/ids-data-grid-formatters.js +1 -1
  11. package/components/ids-data-grid/ids-data-grid.js +3 -3
  12. package/components/ids-date-picker/ids-date-picker.css +389 -31
  13. package/components/ids-hierarchy/ids-hierarchy.css +14 -117
  14. package/components/ids-hyperlink/ids-hyperlink.css +15 -188
  15. package/components/ids-layout-flex/ids-layout-flex.css +6 -69
  16. package/components/ids-menu/ids-menu.css +17 -11
  17. package/components/ids-modal/ids-modal.css +94 -23
  18. package/components/ids-pager/ids-pager.css +28 -25
  19. package/components/ids-tabs/ids-tabs.css +11 -336
  20. package/components/ids-toolbar/ids-toolbar.css +12 -122
  21. package/custom-elements.json +54 -0
  22. package/enterprise-wc.all.iife.js +59 -8
  23. package/enterprise-wc.all.iife.js.map +2 -2
  24. package/enterprise-wc.js +3 -3
  25. package/package.json +1 -1
  26. package/chunks/ids-chunk-AKBAXNZI-full.js.map +0 -7
  27. /package/chunks/{ids-chunk-EDQ2YH35-full.js.map → ids-chunk-MHSSTALO-full.js.map} +0 -0
package/enterprise-wc.js CHANGED
@@ -88,7 +88,7 @@ import "./chunks/ids-chunk-3O47TK6O-full.js";
88
88
  import "./chunks/ids-chunk-6BDZJX23-full.js";
89
89
  import "./chunks/ids-chunk-LMRSQE54-full.js";
90
90
  import "./chunks/ids-chunk-JQGVP7XI-full.js";
91
- import "./chunks/ids-chunk-EDQ2YH35-full.js";
91
+ import "./chunks/ids-chunk-MHSSTALO-full.js";
92
92
  import "./chunks/ids-chunk-GIBGRDF6-full.js";
93
93
  import "./chunks/ids-chunk-QX3ENXGH-full.js";
94
94
  import "./chunks/ids-chunk-PYIQTBXS-full.js";
@@ -105,13 +105,13 @@ import "./chunks/ids-chunk-M2A3MABJ-full.js";
105
105
  import "./chunks/ids-chunk-7TLHQ2UV-full.js";
106
106
  import "./chunks/ids-chunk-2TGV426F-full.js";
107
107
  import "./chunks/ids-chunk-6QUPN2OT-full.js";
108
- import "./chunks/ids-chunk-AOCK6PF3-full.js";
108
+ import "./chunks/ids-chunk-IZWNCK4C-full.js";
109
109
  import "./chunks/ids-chunk-V6DGPV4K-full.js";
110
110
  import "./chunks/ids-chunk-E45UPRIO-full.js";
111
111
  import "./chunks/ids-chunk-I4MUCWJB-full.js";
112
112
  import "./chunks/ids-chunk-3BYETIBG-full.js";
113
113
  import "./chunks/ids-chunk-OITRWBV5-full.js";
114
- import "./chunks/ids-chunk-AKBAXNZI-full.js";
114
+ import "./chunks/ids-chunk-TRPOCB4F-full.js";
115
115
  import "./chunks/ids-chunk-32DESHTM-full.js";
116
116
  import "./chunks/ids-chunk-474UA5XS-full.js";
117
117
  import "./chunks/ids-chunk-2E5PZ3G5-full.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ids-enterprise-wc",
3
- "version": "1.15.9-patch.19",
3
+ "version": "1.15.9-patch.20",
4
4
  "description": "The Web Component version of the IDS Enterprise component library",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/components/ids-data-grid/ids-data-grid-formatters.ts"],
4
- "sourcesContent": ["import '../ids-hyperlink/ids-hyperlink';\nimport '../ids-button/ids-button';\nimport '../ids-alert/ids-alert';\nimport '../ids-badge/ids-badge';\nimport '../ids-card/ids-card';\nimport '../ids-color/ids-color';\nimport '../ids-counts/ids-counts';\nimport '../ids-icon/ids-icon';\nimport '../ids-image/ids-image';\nimport '../ids-progress-bar/ids-progress-bar';\nimport '../ids-rating/ids-rating';\nimport '../ids-slider/ids-slider';\nimport '../ids-step-chart/ids-step-chart';\nimport '../ids-tag/ids-tag';\n\nimport { escapeHTML } from '../../utils/ids-xss-utils/ids-xss-utils';\nimport type { IdsDataGridColumn } from './ids-data-grid-column';\nimport type IdsDataGrid from './ids-data-grid';\nimport IdsDataGridCell from './ids-data-grid-cell';\nimport { attributes } from '../../core/ids-attributes';\nimport { maskText } from '../../utils/ids-string-utils/ids-string-utils';\n\n/* eslint-disable jsdoc/require-returns */\n/* eslint-disable jsdoc/require-param */\nexport default class IdsDataGridFormatters {\n #extractValue(item: Record<string, any>, field: string | undefined) {\n if (!field) return '';\n\n let rawValue;\n if (field.indexOf('.') > -1) {\n rawValue = field.split('.').reduce((o: any, x: any) => (o ? o[x] : ''), item);\n } else {\n rawValue = item[field];\n }\n\n if (rawValue === undefined || rawValue === null) {\n return '';\n }\n\n if (typeof rawValue !== 'string') {\n return rawValue;\n }\n return escapeHTML(rawValue || '');\n }\n\n #extractBoolean(item: Record<string, any>, field: string | undefined) {\n const dataValue = this.#extractValue(item, field);\n let value: boolean;\n const trueValues: Set<string | number | boolean> = new Set([1, '1', 'true', true, 'yes']);\n switch (typeof dataValue) {\n case 'string': {\n const normalizedValue = dataValue.toLowerCase();\n value = trueValues.has(normalizedValue);\n break;\n }\n case 'number':\n case 'boolean':\n value = trueValues.has(dataValue);\n break;\n default:\n value = false;\n }\n return value;\n }\n\n /** Used to check if the column should show as disabled */\n #columnDisabled(row: number, value: any, col: IdsDataGridColumn, item: Record<string, any>): boolean {\n const isTrue = (v: any) => (typeof v !== 'undefined' && v !== null && ((typeof v === 'boolean' && v === true) || (typeof v === 'string' && v.toLowerCase() === 'true')));\n const disabled = col.disabled;\n\n return typeof disabled === 'function' ? disabled(row, value, col, item) : isTrue(disabled);\n }\n\n /** Used to check if the row or column should show as disabled */\n #isDisabled(row: number, value: any, col: IdsDataGridColumn, item: Record<string, any>): boolean {\n return item?.idstempcanrowdisabled || item?.disabled === true || this.#columnDisabled(row, value, col, item);\n }\n\n /** Used to get the color via the function or text */\n #color(row: number, value: any, col: IdsDataGridColumn, item: Record<string, any>): string | null | undefined {\n const color = col.color;\n return typeof color === 'function' ? color(row, value, col, item) : color;\n }\n\n /** Used to get the icon via the function or text */\n #icon(row: number, value: any, col: IdsDataGridColumn, item: Record<string, any>): string | null | undefined {\n const icon = col.icon;\n return typeof icon === 'function' ? icon(row, value, col, item) : icon;\n }\n\n /** Used to get the text via the function or text */\n #text(row: number, value: any, col: IdsDataGridColumn, item: Record<string, any>): string | null | undefined {\n const text = col.text;\n return typeof text === 'function' ? text(row, value, col, item) : text;\n }\n\n #readonly(row: number, value: any, col: IdsDataGridColumn, item: Record<string, any>): boolean | undefined {\n const readonly = col.readonly;\n\n return typeof readonly === 'function' ? readonly(row, value, col, item) : readonly;\n }\n\n #size(row: number, value: any, col: IdsDataGridColumn, item: Record<string, any>): string | undefined {\n const size = col.size;\n\n return typeof size === 'function' ? size(row, value, col, item) : size;\n }\n\n /** Displays a Text String */\n text(rowData: Record<string, unknown>, columnData: IdsDataGridColumn): string {\n return `<span class=\"text-ellipsis\">${this.#extractValue(rowData, columnData.field)}</span>`;\n }\n\n /** Masks text with stars with reveal icon */\n textmask(rowData: Record<string, unknown>, columnData: IdsDataGridColumn): string {\n const icon = `<ids-icon icon=\"show-item\" class=\"editor-cell-icon text-mask ${columnData.editor?.showEditorIcons ? 'show-cell-icon-always' : ''}\"></ids-icon>`;\n return `<span class=\"text-ellipsis is-textmask\">${maskText(this.#extractValue(rowData, columnData.field).toString(), columnData?.textMaskCharacter)}</span>${icon}`;\n }\n\n /** Masks text with stars */\n password(rowData: Record<string, unknown>, columnData: IdsDataGridColumn): string {\n return `<span class=\"text-ellipsis\">${this.#extractValue(rowData, columnData.field).toString().replace(/./g, '\u2022')}</span>`;\n }\n\n /** Formats a sequencing running count of rows */\n rowNumber(_rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n return `<span class=\"text-ellipsis\">${index + 1}</span>`;\n }\n\n /** Formats date data as a date string in the desired format */\n date(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number, api: IdsDataGrid): string {\n let value: any = this.#extractValue(rowData, columnData.field);\n value = api.localeAPI?.formatDate(value, columnData.formatOptions) ?? value.toString();\n const icon = columnData.editor?.type === 'datepicker' ? `<ids-icon icon=\"schedule\" class=\"editor-cell-icon ${columnData.editor?.showEditorIcons ? 'show-cell-icon-always' : ''}\"></ids-icon>` : '';\n return `<span class=\"text-ellipsis\">${value}</span>${icon}`;\n }\n\n /** Formats adds search-list to cells that have lookup editor associated with them */\n lookup(rowData: Record<string, unknown>, columnData: IdsDataGridColumn): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n const icon = columnData.editor?.type === 'lookup' ? `<ids-icon icon=\"search-list\" class=\"editor-cell-icon ${columnData.editor?.showEditorIcons ? 'show-cell-icon-always' : ''}\"></ids-icon>` : '';\n return `<span class=\"text-ellipsis\">${value}</span>${icon}`;\n }\n\n /** Formats date data as a time string in the desired format */\n time(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number, api: IdsDataGrid): string {\n let value: any = this.#extractValue(rowData, columnData.field);\n value = api.localeAPI?.formatDate(value, columnData.formatOptions || { timeStyle: 'short' }) ?? value.toString();\n const icon = columnData.editor?.type === 'timepicker' ? `<ids-icon icon=\"clock\" class=\"editor-cell-icon ${columnData.editor?.showEditorIcons ? 'show-cell-icon-always' : ''}\"></ids-icon>` : '';\n return `<span class=\"text-ellipsis\">${value}</span>${icon}`;\n }\n\n /** Formats number data as a decimal string in the specific localeAPI */\n decimal(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number, api: IdsDataGrid): string {\n let value: any = this.#extractValue(rowData, columnData.field);\n value = api.localeAPI?.formatNumber(value, columnData.formatOptions\n || { minimumFractionDigits: 2, maximumFractionDigits: 2 }) ?? value.toString();\n return `<span class=\"text-ellipsis\">${value === 'NaN' ? '' : value}</span>`;\n }\n\n /** Formats number data as a integer string in the specific locale */\n integer(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number, api: IdsDataGrid): string {\n let value: any = this.#extractValue(rowData, columnData.field);\n const opts = columnData.formatOptions || {};\n opts.style = 'integer';\n\n value = api.localeAPI?.formatNumber(value, opts) ?? value.toString();\n return `<span class=\"text-ellipsis\">${value === 'NaN' ? '' : value}</span>`;\n }\n\n /** Formats number data as a ids-hyperlink */\n hyperlink(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value = columnData.text || this.#extractValue(rowData, columnData.field).toString();\n if (!value) {\n return '';\n }\n let colHref: any = columnData.href || '';\n const isDisabled = this.#isDisabled(index, value, columnData, rowData);\n const disabled = isDisabled ? ' disabled=\"true\"' : '';\n\n // Support for dynamic links based on content\n if (columnData.href && typeof columnData.href === 'function') {\n colHref = columnData.href(rowData, columnData);\n // Passing a null href will produce \"just text\" with no link\n if (colHref == null) {\n return columnData.text || value;\n }\n } else {\n colHref = colHref.replace('{{value}}', value);\n }\n return `<ids-hyperlink text-ellipsis href=\"${colHref}\" tabindex=\"-1\"${disabled}>${value}</ids-hyperlink>`;\n }\n\n /** Shows a selection checkbox column */\n selectionCheckbox(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const isDisabled = this.#isDisabled(index, '', columnData, rowData);\n\n return `<span class=\"ids-data-grid-checkbox-container is-selection-checkbox\"><span role=\"checkbox\" aria-checked=\"${rowData?.rowSelected ? 'true' : 'false'}\" aria-label=\"${columnData.name}\" class=\"ids-data-grid-checkbox${rowData?.rowSelected ? ' checked' : ''}${isDisabled ? ' disabled' : ''}\"></span></span>`;\n }\n\n /** Shows a checkbox column */\n checkbox(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const isDisabled = this.#isDisabled(index, '', columnData, rowData);\n const value = this.#extractBoolean(rowData, columnData.field);\n\n return `<span class=\"ids-data-grid-checkbox-container\"><span role=\"checkbox\" aria-checked=\"${value ? 'true' : 'false'}\" aria-label=\"${columnData.name}\" class=\"ids-data-grid-checkbox${value ? ' checked' : ''}${isDisabled ? ' disabled' : ''}\"></span></span>`;\n }\n\n rowReorder(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value = this.#extractBoolean(rowData, columnData.field);\n\n const color = this.#color(index, value, columnData, rowData) || '';\n const badgeColor = color ? ` badge-color=\"${color}\" badge-position=\"top-left\"` : '';\n\n const sizes = ['small', 'medium', 'large', 'xl', 'xxl'];\n let size = this.#size(index, value, columnData, rowData) || '';\n size = sizes.includes(size) ? size : 'medium';\n\n let icon = this.#icon(index, value, columnData, rowData) || 'drag';\n icon = icon.replace('icon-', '');\n\n const isDisabled = this.#isDisabled(index, value, columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n\n return `<ids-icon icon=\"${icon}\" size=\"${size}\"${badgeColor}${disabled}></ids-icon>`;\n }\n\n /** Shows a selection radio column */\n selectionRadio(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const isDisabled = this.#isDisabled(index, '', columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n return `<span class=\"ids-data-grid-radio-container is-selection-radio\"><span role=\"radio\" aria-checked=\"${rowData?.rowSelected ? 'true' : 'false'}\" aria-label=\"${columnData.name}\" class=\"ids-data-grid-radio${rowData?.rowSelected ? ' checked' : ''}${disabled}\"></span></span>`;\n }\n\n /** Shows an ids-button */\n button(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n const isDisabled = this.#isDisabled(index, value, columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n\n // Type / disabled / icon / text\n return `<ids-button tabindex=\"-1\"${disabled}${columnData.type ? ` type=\"${columnData.type}\"` : ' appearance=\"tertiary\"'}>\n <span class=\"audible\">${columnData.text || ' Button'}</span>\n ${columnData.icon ? `<ids-icon icon=\"${columnData.icon}\"></ids-icon>` : ''}\n </ids-button>`;\n }\n\n /** Shows an ids-badge */\n badge(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n if (!value) return '';\n const color = this.#color(index, value, columnData, rowData);\n const isDisabled = this.#isDisabled(index, value, columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n\n return `<ids-badge color=\"${color || ''}\"${disabled}>${value}</ids-badge>`;\n }\n\n /** Shows an Tree */\n tree(rowData: Record<string, unknown>, columnData: IdsDataGridColumn): string {\n const value = this.#extractValue(rowData, columnData.field);\n const button = (rowData?.children as any)?.length ? `<ids-button tabindex=\"-1\" class=\"expand-button\">\n <ids-icon icon=\"plusminus-folder-${rowData.rowExpanded === false ? 'closed' : 'open'}\"></ids-icon>\n </ids-button>` : '';\n return `<span class=\"ids-data-grid-tree-container\">\n ${button}\n <span class=\"ids-data-grid-tree-field-container\">\n <span class=\"text-ellipsis\">${value}</span>\n </span>\n </span>`;\n }\n\n /** Shows an expander button */\n expander(rowData: Record<string, unknown>, columnData: IdsDataGridColumn): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n const button = `<ids-button tabindex=\"-1\" class=\"expand-button\">\n <ids-icon icon=\"${rowData.rowExpanded === true ? 'caret-up' : 'caret-down'}\"></ids-icon>\n </ids-button>`;\n return `<span class=\"ids-data-grid-tree-container\">\n ${button}\n <span class=\"ids-data-grid-tree-field-container\">\n <span class=\"text-ellipsis\">${value}</span>\n </span>\n </span>`;\n }\n\n /** Shows a dropdown list */\n dropdown(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number, api: IdsDataGrid): string {\n const isShowValue = columnData.editor?.editorSettings?.showValue ?? false;\n const field = columnData.field ?? '';\n const options = <any[]>columnData.editor?.editorSettings?.options || [];\n const value = rowData[field];\n let valueOpt = options.find((opt) => {\n if (!value) return opt.value === '';\n return isShowValue ? opt.value === value || opt.label === value || opt.value.includes(value) : opt.value === value;\n });\n\n if (!valueOpt || !options || options.length === 0) {\n valueOpt = {\n value: rowData[field], id: rowData[field], label: rowData[field]\n };\n }\n\n return `<span\n class=\"text-ellipsis dropdown-cell-value\"\n data-value=\"${valueOpt?.value ?? ''}\"\n data-id=\"${valueOpt?.id ?? ''}\">\n ${isShowValue ? valueOpt?.value ?? '' : valueOpt?.label ?? ''}\n </span>\n ${columnData.editor && api.editable ? `<ids-icon\n icon=\"dropdown\"\n class=\"editor-cell-icon ${columnData.editor?.showEditorIcons ? 'show-cell-icon-always' : ''}\">\n </ids-icon>` : ''}`;\n }\n\n /* Shows ids-alert, and the field value will appear in a tooltip. An `icon` option can be provided as an override. */\n alert(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n if (!value && !columnData.icon) return '';\n\n const icon = this.#icon(index, value, columnData, rowData);\n const tooltip = value ? `tooltip=\"${value}\"` : '';\n const isDisabled = this.#isDisabled(index, value, columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n\n return `\n <span class=\"text-ellipsis\">\n <ids-alert icon=\"${icon}\"${tooltip}${disabled}></ids-alert>\n </span>\n `;\n }\n\n /* Shows ids-color. If a `color` option is provided, the field's value will appear in a tooltip. */\n color(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n const isDisabled = this.#isDisabled(index, value, columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n\n // Regular expression to match common color formats\n // const colorRegex = /^(#(?:[0-9a-fA-F]{3}){1,2}|(?:rgb|hsl)a?\\((?:\\s*\\d+\\s*,){2,3}\\s*\\d*\\.*\\d*\\))$/;\n const colorRegex = /^(#(?:[0-9a-fA-F]{3}){1,2}|(?:rgb|hsl)a?\\(\\s*(?:\\d{1,3}\\s+){2}\\d{1,3}\\s*(\\/\\s*(0|1|0?\\.\\d+))?\\s*\\))$/;\n\n // Check if the value is a color\n const isColor = colorRegex.test(value);\n\n if (!columnData.color && !isColor) {\n return `<span class=\"text-ellipsis\">&ndash;</span>`;\n }\n\n if (!columnData.color && !value) return `<span class=\"text-ellipsis\"><ids-color${disabled}></ids-color></span>`;\n\n const color = this.#color(index, value, columnData, rowData);\n\n const hex = color || value || '#C2A1F1';\n const tooltip = !color && value ? ` tooltip=\"${value}\"` : '';\n\n return columnData.suppressColorTooltip\n ? `<span class=\"text-ellipsis\">\n <ids-color hex=\"${hex}\"${disabled} suppress-tooltip></ids-color>\n </span>`\n : `<span class=\"text-ellipsis\">\n <ids-color hex=\"${hex}\"${tooltip}${disabled}></ids-color>\n </span>\n `;\n }\n\n /* Shows the field value as an ids-icon. An `icon` and `size` option can be provided as overrides. */\n icon(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n if (!value && !columnData.icon) return '';\n\n const color = this.#color(index, value, columnData, rowData) || '';\n const badgeColor = color ? ` badge-color=\"${color}\" badge-position=\"top-left\"` : '';\n\n const sizes = ['small', 'medium', 'large', 'xl', 'xxl'];\n let size = this.#size(index, value, columnData, rowData) || '';\n size = sizes.includes(size) ? size : 'large';\n\n let icon = this.#icon(index, value, columnData, rowData) || '';\n icon = icon.replace('icon-', '');\n\n const text = this.#text(index, value, columnData, rowData) || '';\n const isDisabled = this.#isDisabled(index, value, columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n\n return `\n <span class=\"text-ellipsis\">\n <ids-icon icon=\"${icon}\" size=\"${size}\"${badgeColor}${disabled}></ids-icon><span>${text}</span>\n </span>\n `;\n }\n\n /* Shows the field value as a `star-filled` or `star-outlined`. A `size` option can be provided as an override. */\n favorite(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n\n return this.rating(\n {\n ...rowData,\n [String(columnData.field)]: value ? 1 : 0,\n },\n {\n ...columnData,\n max: 1,\n min: 0,\n },\n index,\n );\n }\n\n /* Shows the field value as an `ids-tag`. A `color` option can be provdied as an override. */\n tag(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n if (!value) return '';\n const color = this.#color(index, value, columnData, rowData);\n const isDisabled = this.#isDisabled(index, value, columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n\n return `<ids-tag color=\"${color || ''}\"${disabled}>${value}</ids-tag>`;\n }\n\n /*\n Shows the field value as an `ids-progress`. A `text` option can be provided to customize the label.\n A `color` and `max` option can be provided as overrides.\n */\n progress(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = parseFloat(this.#extractValue(rowData, columnData.field));\n const val = Number.isNaN(value) ? 0 : value;\n let max = columnData.max ?? 10;\n if (!columnData.max && value > 1) {\n const digitCount = String(Math.floor(value)).length;\n max = parseInt(`1`.padEnd(digitCount + 1, '0'));\n }\n\n const isDisabled = this.#isDisabled(index, val, columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n\n const label = `label=\"${columnData?.text || `${val} of ${max}`}\" label-audible`;\n\n return `\n <ids-progress-bar ${label} max=\"${max}\"${disabled} value=\"${val}\" readonly>\n </ids-progress-bar>\n `;\n }\n\n /*\n Shows the field value as an `ids-rating`. A `text` option can be provided to customize the label.\n A `color` and `max` option can be provided as overrides.\n */\n rating(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = parseFloat(this.#extractValue(rowData, columnData.field));\n const color = this.#color(index, value, columnData, rowData);\n\n const max = columnData.max ?? 5;\n let val = Number.isNaN(value) ? 0 : value;\n if ((!columnData.max && val > 1) || val > max) {\n const digitCount = String(Math.floor(val)).length;\n const divisor = parseInt(`1`.padEnd(digitCount + 1, '0'));\n\n if (val > 10) {\n val = (val / divisor) * max;\n }\n }\n\n const sizes = ['small', 'medium', 'large', 'xl', 'xxl'];\n let size = this.#size(index, value, columnData, rowData) || '';\n size = sizes.includes(size) ? size : 'large';\n\n const label = columnData.text ?? `${val} of ${max} stars`;\n const readonly = this.#readonly(index, value, columnData, rowData) ?? true;\n const isDisabled = this.#isDisabled(index, val, columnData, rowData);\n\n return `\n <span class=\"text-ellipsis\">\n <ids-rating\n label=\"${label}\"\n size=\"${size}\"\n stars=\"${max}\"\n value=\"${val}\"\n ${color ? `color=\"${color}\"` : ''}\n ${readonly ? 'readonly' : ''}\n ${isDisabled ? 'disabled' : ''}\n >\n </ids-rating>\n </span>\n `;\n }\n\n /*\n Shows the field value as an `ids-slider`. A `text` option can be provided to customize the label.\n A `color`, `max`, `min` and `type` option can be provided as overrides.\n */\n slider(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = parseFloat(this.#extractValue(rowData, columnData.field));\n const color = this.#color(index, value, columnData, rowData);\n\n const min = columnData.min ?? 0;\n const max = columnData.max ?? 100;\n let val = Number.isNaN(value) ? 0 : value;\n if ((!columnData.max && val > 1) || val > max) {\n const digitCount = String(Math.floor(val)).length;\n const divisor = parseInt(`1`.padEnd(digitCount + 1, '0'));\n\n if (val > 10) {\n val = (val / divisor) * max;\n }\n }\n\n const type = columnData.type ?? 'single';\n const label = columnData.text ?? `${val} of ${max} stars`;\n const readonly = this.#readonly(index, value, columnData, rowData) ?? true;\n const isDisabled = this.#isDisabled(index, val, columnData, rowData);\n\n return `\n <ids-slider\n type=\"${type}\"\n label=\"${label}\"\n min=\"${Math.max(min, 0)}\"\n max=\"${max}\"\n value=\"${Math.min(val, max)}\"\n show-tooltip\n ${color ? `color=\"${color}\"` : ''}\n ${readonly ? 'readonly' : ''}\n ${isDisabled ? 'disabled' : ''}\n >\n </ids-slider>\n `;\n }\n\n /*\n Shows the field value as an `ids-step-chart`. A `text` option can be provided to customize the label.\n A `color` and `max` option can be provided as overrides.\n */\n stepChart(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = parseFloat(this.#extractValue(rowData, columnData.field));\n const color = this.#color(index, value, columnData, rowData);\n\n let max = columnData.max ?? 5;\n if (!columnData.max && value > 1) {\n const digitCount = String(Math.floor(value)).length;\n max = parseInt(`1`.padEnd(digitCount + 1, '0'));\n }\n\n let val = Number.isNaN(value) ? 0 : value;\n if (max > 10) {\n val = (val / max) * 10;\n max = 10;\n }\n\n const completedSteps = Math.floor(val);\n const stepsInProgress = Math.ceil(val);\n const showStepsInProgress = completedSteps !== stepsInProgress;\n const isDisabled = this.#isDisabled(index, val, columnData, rowData);\n\n return `\n <ids-step-chart\n step-number=\"${Math.min(max, 10)}\"\n steps-in-progress=\"${showStepsInProgress ? stepsInProgress : 0}\"\n value=\"${Math.floor(val)}\"\n progress-color=\"red-20\"\n ${color ? `color=\"${color}\"` : ''}\n ${isDisabled ? 'disabled' : ''}\n >\n </ids-step-chart>\n `;\n }\n\n /* Shows the field value as an `ids-image`. A `text` option can be provided to the `alt` and `title` attributes. */\n image(rowData: Record<string, unknown>, columnData: IdsDataGridColumn, index: number): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n if (!value) return '';\n\n const metadata = columnData.text ? ` alt=\"${columnData.text}\" title=\"${columnData.text}\"` : '';\n const isDisabled = this.#isDisabled(index, value, columnData, rowData);\n const disabled = isDisabled ? ' disabled' : '';\n\n return `<ids-image src=\"${value}\"${metadata}${disabled}></ids-image>`;\n }\n\n card(rowData: Record<string, unknown>, columnData: IdsDataGridColumn): string {\n const value: any = this.#extractValue(rowData, columnData.field);\n if (!value) return '';\n\n return `<ids-card>${value}</ids-card>`;\n }\n\n /**\n * Toggles text masking for a specific data grid cell.\n * @param {string} cellData - The original cell data to mask/unmask\n * @param {IdsDataGridCell} cellElement - The cell element containing the mask button and text\n * @param {IdsDataGridColumn} columnSettings - Column configuration with mask settings\n * @param {boolean | undefined} mask - Optional mask state; if undefined, toggles current state\n * @returns {void}\n */\n textmaskAction(\n cellData: string,\n cellElement: IdsDataGridCell,\n columnSettings: IdsDataGridColumn,\n mask: boolean | undefined = undefined\n ): void {\n const maskButton = cellElement.querySelector('ids-icon.text-mask');\n let revealChar = (columnSettings?.textMaskCharacter || 0);\n revealChar = revealChar > 4 ? 4 : revealChar;\n\n const masked = mask !== undefined ? mask : maskButton?.getAttribute(attributes.ICON) === 'show-item';\n const label = cellElement.querySelector('.is-textmask');\n if (!label || !maskButton) {\n return;\n }\n\n if (masked) {\n label.textContent = cellData;\n maskButton.setAttribute(attributes.ICON, 'hide-item');\n } else {\n label.textContent = maskText(cellData, revealChar || 0);\n maskButton.setAttribute(attributes.ICON, 'show-item');\n }\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }