jb-grid 0.4.0 → 0.5.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 +138 -11
- package/package.json +5 -8
- package/react/README.md +207 -202
- package/react/dist/Components/module-declaration.d.ts +1 -1
- package/react/dist/Content.d.ts +1 -2
- package/react/dist/Footer.d.ts +1 -2
- package/react/dist/Header.d.ts +3 -16
- package/react/dist/JBGrid.cjs.js +3631 -1
- package/react/dist/JBGrid.cjs.js.map +1 -1
- package/react/dist/JBGrid.d.ts +288 -26
- package/react/dist/JBGrid.js +3624 -1
- package/react/dist/JBGrid.js.map +1 -1
- package/react/dist/JBGrid.umd.js +3641 -1
- package/react/dist/JBGrid.umd.js.map +1 -1
- package/react/dist/JBGridData.d.ts +1 -5
- package/react/dist/JBGridViewModel.d.ts +28 -25
- package/react/dist/types.d.ts +17 -49
- package/react/lib/Components/Cell.tsx +17 -15
- package/react/lib/Components/ColumnHeader.tsx +44 -0
- package/react/lib/Components/ExpandToggle.tsx +14 -10
- package/react/lib/Components/FullscreenIcon.tsx +28 -0
- package/react/lib/Components/JBLoading.tsx +5 -4
- package/react/lib/Components/Pagination.tsx +1 -1
- package/react/lib/Components/PaginationInfo.tsx +71 -0
- package/react/lib/Components/RefreshIcon.tsx +11 -0
- package/react/lib/Components/Row.tsx +17 -15
- package/react/lib/Components/TableHeader.tsx +21 -0
- package/react/lib/Components/blob-loading.css +27 -23
- package/react/lib/Components/cell.css +7 -7
- package/react/lib/Components/content-error/ContentError.tsx +19 -16
- package/react/lib/Components/content-error/content-error.css +5 -11
- package/react/lib/Components/module-declaration.ts +61 -13
- package/react/lib/Content.tsx +23 -47
- package/react/lib/Footer.tsx +52 -79
- package/react/lib/Header.tsx +11 -24
- package/react/lib/JBGrid.tsx +129 -70
- package/react/lib/JBGridViewModel.ts +189 -452
- package/react/lib/footer.css +25 -55
- package/react/lib/header.css +20 -20
- package/react/lib/jb-grid.css +69 -55
- package/react/lib/types.ts +32 -129
- package/react/lib/variables.css +6 -0
- package/react/package.json +14 -10
- package/react/tsconfig.json +5 -4
- package/web-component/dist/index.cjs.js +559 -1
- package/web-component/dist/index.cjs.js.br +0 -0
- package/web-component/dist/index.cjs.js.gz +0 -0
- package/web-component/dist/index.cjs.js.map +1 -1
- package/web-component/dist/index.d.ts +161 -4
- package/web-component/dist/index.d.ts.map +1 -1
- package/web-component/dist/index.js +561 -1
- package/web-component/dist/index.js.br +0 -0
- package/web-component/dist/index.js.gz +0 -0
- package/web-component/dist/index.js.map +1 -1
- package/web-component/dist/index.umd.js +567 -1
- package/web-component/dist/index.umd.js.br +0 -0
- package/web-component/dist/index.umd.js.gz +0 -0
- package/web-component/dist/index.umd.js.map +1 -1
- package/web-component/dist/row/row.d.ts.map +1 -1
- package/web-component/dist/row/types.d.ts +3 -5
- package/web-component/dist/row/types.d.ts.map +1 -1
- package/web-component/dist/row/utils.d.ts +1 -2
- package/web-component/dist/row/utils.d.ts.map +1 -1
- package/web-component/dist/table-header/render.d.ts +2 -0
- package/web-component/dist/table-header/render.d.ts.map +1 -0
- package/web-component/dist/table-header/table-header.d.ts +9 -0
- package/web-component/dist/table-header/table-header.d.ts.map +1 -0
- package/web-component/dist/table-header/types.d.ts +4 -0
- package/web-component/dist/table-header/types.d.ts.map +1 -0
- package/web-component/dist/types.d.ts +6 -0
- package/web-component/dist/types.d.ts.map +1 -0
- package/web-component/dist/utils.d.ts +8 -0
- package/web-component/dist/utils.d.ts.map +1 -0
- package/web-component/lib/cell/cell.ts +10 -5
- package/web-component/lib/cell/style.css +2 -1
- package/web-component/lib/column-header/column-header.ts +117 -0
- package/web-component/lib/column-header/render.ts +14 -0
- package/web-component/lib/column-header/style.css +60 -0
- package/web-component/lib/column-header/types.ts +10 -0
- package/web-component/lib/fullscreen-icon/fullscreen-icon.ts +72 -0
- package/web-component/lib/fullscreen-icon/render.ts +23 -0
- package/web-component/lib/fullscreen-icon/style.css +44 -0
- package/web-component/lib/fullscreen-icon/types.ts +1 -0
- package/web-component/lib/i18n.ts +38 -0
- package/web-component/lib/index.ts +9 -4
- package/web-component/lib/pagination/README.md +4 -0
- package/web-component/lib/pagination/pagination.ts +25 -15
- package/web-component/lib/pagination/render.ts +13 -10
- package/web-component/lib/pagination/style.css +43 -31
- package/web-component/lib/pagination/types.ts +1 -1
- package/web-component/lib/pagination/variables.css +10 -0
- package/web-component/lib/pagination-info/pagination-info.ts +191 -0
- package/web-component/lib/pagination-info/render.ts +16 -0
- package/web-component/lib/pagination-info/style.css +47 -0
- package/web-component/lib/pagination-info/types.ts +12 -0
- package/web-component/lib/refresh-icon/refresh-icon.ts +79 -0
- package/web-component/lib/refresh-icon/render.ts +10 -0
- package/web-component/lib/refresh-icon/style.css +21 -0
- package/web-component/lib/row/render.ts +3 -3
- package/web-component/lib/row/row.ts +29 -15
- package/web-component/lib/row/style.css +30 -30
- package/web-component/lib/row/types.ts +7 -8
- package/web-component/lib/row/utils.ts +1 -40
- package/web-component/lib/row/variables.css +13 -0
- package/web-component/lib/table-header/render.ts +9 -0
- package/web-component/lib/table-header/style.css +29 -0
- package/web-component/lib/table-header/table-header.ts +50 -0
- package/web-component/lib/table-header/types.ts +4 -0
- package/web-component/lib/toggle/expand-toggle.ts +17 -13
- package/web-component/lib/toggle/render.ts +18 -13
- package/web-component/lib/toggle/style.css +18 -5
- package/web-component/lib/types.ts +6 -0
- package/web-component/lib/utils.ts +46 -0
- package/react/lib/JBGridBridgeExample.js +0 -90
- package/react/lib/JBGridData.ts +0 -51
- package/react/lib/global.d.ts +0 -15
- package/web-component/lib/global.d.ts +0 -15
- package/web-component/tsconfig.json +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","names":[],"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../../../../../../../../../Home/NeveshtAfzar/work/Azad/source/design-system/design-system/modules/jb-grid/web-component/lib/pagination/render.ts","../lib/pagination/style.css","../../../../../../../../../../../../Home/NeveshtAfzar/work/Azad/source/design-system/design-system/modules/jb-grid/web-component/lib/pagination/pagination.ts","../../../../../../../../../../../../Home/NeveshtAfzar/work/Azad/source/design-system/design-system/modules/jb-grid/web-component/lib/row/render.ts","../lib/row/style.css","../../../../../../../../../../../../Home/NeveshtAfzar/work/Azad/source/design-system/design-system/modules/jb-grid/web-component/lib/row/utils.ts","../../../../../../../../../../../../Home/NeveshtAfzar/work/Azad/source/design-system/design-system/modules/jb-grid/web-component/lib/row/row.ts","../../../../../../../../../../../../Home/NeveshtAfzar/work/Azad/source/design-system/design-system/modules/jb-grid/web-component/lib/cell/render.ts","../lib/cell/style.css","../../../../../../../../../../../../Home/NeveshtAfzar/work/Azad/source/design-system/design-system/modules/jb-grid/web-component/lib/cell/cell.ts","../../../../../../../../../../../../Home/NeveshtAfzar/work/Azad/source/design-system/design-system/modules/jb-grid/web-component/lib/toggle/render.ts","../lib/toggle/style.css","../../../../../../../../../../../../Home/NeveshtAfzar/work/Azad/source/design-system/design-system/modules/jb-grid/web-component/lib/toggle/expand-toggle.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\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);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\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;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\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]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",":host {\r\n /*width of each page index number button*/\r\n --jb-pagination-index-width: 3rem;\r\n}\r\n\r\n.jb-pagination-web-component {\r\n display: flex;\r\n gap: 1rem;\r\n direction:ltr;\r\n .page-navigator {\r\n display: grid;\r\n grid-template-columns: 4rem 4rem max-content 4rem 4rem;\r\n grid-template-rows: 3rem;\r\n justify-items: center;\r\n align-items: center;\r\n\r\n .arrow-btn {\r\n all: unset;\r\n cursor: pointer;\r\n height: 3rem;\r\n width: 3rem;\r\n fill: var(--jb-neutral-2);\r\n &:disabled {\r\n fill: var(--jb-neutral-7);\r\n }\r\n }\r\n\r\n .page-index-wrapper {\r\n position: relative;\r\n width: calc(var(--jb-pagination-index-width) * 3);\r\n overflow: hidden;\r\n height: 100%;\r\n\r\n .page-index {\r\n font-size: 1rem;\r\n color: var(--jb-neutral-6);\r\n position: absolute;\r\n width: var(--jb-pagination-index-width);\r\n height: 3rem;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n text-box-trim: trim-both;\r\n text-box-edge: ex alphabetic;\r\n transition: all 0.3s 0s ease;\r\n cursor: pointer;\r\n\r\n &.current {\r\n color: var(--jb-primary);\r\n transform: scale(120%);\r\n }\r\n\r\n &.empty {\r\n cursor: default;\r\n }\r\n }\r\n\r\n .page-index:nth-child(1) {\r\n top: 0;\r\n left: calc(var(--jb-pagination-index-width) * -1);\r\n transform: scale(10%);\r\n }\r\n\r\n .page-index:nth-child(2) {\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .page-index:nth-child(3) {\r\n top: 0;\r\n left: calc(var(--jb-pagination-index-width));\r\n }\r\n\r\n .page-index:nth-child(4) {\r\n top: 0;\r\n left: calc(var(--jb-pagination-index-width) * 2);\r\n }\r\n\r\n .page-index:nth-child(5) {\r\n top: 0;\r\n left: calc(var(--jb-pagination-index-width) * 3);\r\n transform: scale(10%);\r\n }\r\n }\r\n }\r\n}","@custom-media --tablet-until (max-width: 768px);\r\n\r\n:host {\r\n width: 100%;\r\n background-color: var(--jb-white);\r\n display: block;\r\n}\r\n\r\n:host(:nth-of-type(even)) {\r\n background: var(--jb-neutral-10);\r\n\r\n @media(--tablet-until) {\r\n background: var(--jb-white);\r\n }\r\n}\r\n\r\n.jb-row-web-component {\r\n .grid-row {\r\n width: 100%;\r\n box-sizing: border-box;\r\n grid-auto-rows: minmax(3rem, auto);\r\n\r\n @media(--tablet-until) {\r\n grid-template-columns: auto !important;\r\n grid-template-rows: auto;\r\n border-radius: var(--jb-radius);\r\n box-shadow: 0px 0px 1px 0px #d8d8d8;\r\n }\r\n }\r\n\r\n .expand-wrapper {\r\n interpolate-size: allow-keywords;\r\n transition: all 0.3s 0s ease;\r\n height: auto;\r\n overflow: clip;\r\n opacity: 1;\r\n &.--hidden {\r\n height: 0;\r\n min-height: 0;\r\n padding-block: 0;\r\n opacity: 0;\r\n }\r\n\r\n slot[name=\"expand\"]::slotted(*) {\r\n width: 100%;\r\n min-height: 4rem;\r\n padding-block: 1rem;\r\n padding-inline: 2rem;\r\n border-bottom: 1px solid #ebebeb;\r\n box-sizing: border-box;\r\n overflow: auto;\r\n }\r\n }\r\n\r\n}","@custom-media --tablet-until (max-width: 768px);\r\n\r\n:host {\r\n width: 100%;\r\n max-width: 100%;\r\n height: 100%;\r\n display: grid;\r\n grid-template-columns: auto;\r\n grid-template-rows: minmax(0,auto);\r\n grid-auto-flow: column;\r\n grid-auto-columns: max-content;\r\n padding: 0.25rem 1rem;\r\n box-sizing: border-box;\r\n align-items: center;\r\n justify-content: start;\r\n gap: 0.5rem;\r\n}\r\n\r\n:host([ellipsis]:not([ellipsis=\"1\"]):not([ellipsis=\"\"])) {\r\n height: fit-content;\r\n display: -webkit-box;\r\n -webkit-line-clamp: attr(max-line type(<integer>), 1);\r\n -webkit-box-orient: vertical;\r\n /* Number of lines to show */\r\n line-clamp: attr(max-line type(<integer>), 1);\r\n /* Number of lines to show */\r\n box-orient: vertical;\r\n overflow:hidden;\r\n align-content: center;\r\n}\r\n:host(:where([ellipsis=\"\"], [ellipsis=\"1\"])){\r\n display:block;\r\n text-overflow: ellipsis;\r\n white-space: nowrap; \r\n overflow:hidden;\r\n align-content: center;\r\n}",":host {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n display: block;\r\n cursor: pointer;\r\n}\r\n\r\n:host([open]) {\r\n .arrow-icon {\r\n rotate: -90deg;\r\n &:dir(ltr) {\r\n rotate: 90deg;\r\n }\r\n }\r\n}\r\n\r\n.arrow-icon {\r\n width: 100%;\r\n height: 100%;\r\n transition: all 0.3s 0s ease;\r\n\r\n &:dir(ltr) {\r\n transform: rotateY(180deg)\r\n }\r\n}"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","names":["JBDictionary","renderHTML","i18n","#indexButtonCount","#DisplayIndexCount","#pageIndex","#goToPage","#max","#updatePageIndex","#elements","#min","i18n","#init","#render","#registerEventListener","#initPageIndexes","VariablesCSS","CSS","renderHTML","#goToNextPage","#goToPrevPage","#createPageIndexElement","#onPageIndexClick","#updateActiveIndex","#dispatchChangeEvent","#putPageIndexElement","renderHTML","#pageSize","#syncSelectValue","#pageSizes","#renderPageSizeOptions","#startItemIndex","#renderMetaData","#endItemIndex","#totalItemsCount","#pageItemCountTitle","#renderLabels","#fromLabel","#currentAvailableItemTitle","#showPersianNumber","#init","#render","#elements","#registerEventListener","CSS","renderHTML","#formatNumber","renderHTML","#internals","i18n","#init","#render","#icon","CSS","renderHTML","#animation","#animationDuration","renderHTML","#state","#internals","i18n","#init","#render","#normalizeState","CSS","renderHTML","renderHTML","#isOpen","#internals","#elements","#RowTemplate","#templateSheet","#init","#render","#registerEventListener","VariablesCSS","CSS","renderHTML","renderHTML","#headerTemplate","#templateSheet","#init","#render","CSS","renderHTML","renderHTML","#setGridArea","#internals","#init","#templateSheet","#render","#elements","#registerEventListener","CSS","renderHTML","#onClick","renderHTML","#templateSheet","#internals","#init","#render","#elements","#registerEventListener","CSS","renderHTML","i18n","#init","#render","#button","#registerEventListener","CSS","#parentRow","#findParentRow"],"sources":["../lib/i18n.ts","../lib/pagination/render.ts","../lib/pagination/style.css","../lib/pagination/variables.css","../lib/pagination/pagination.ts","../lib/pagination-info/render.ts","../lib/pagination-info/style.css","../lib/pagination-info/pagination-info.ts","../lib/refresh-icon/render.ts","../lib/refresh-icon/style.css","../lib/refresh-icon/refresh-icon.ts","../lib/fullscreen-icon/render.ts","../lib/fullscreen-icon/style.css","../lib/fullscreen-icon/fullscreen-icon.ts","../lib/row/render.ts","../lib/row/style.css","../lib/row/variables.css","../lib/utils.ts","../lib/row/row.ts","../lib/table-header/render.ts","../lib/table-header/style.css","../lib/table-header/table-header.ts","../lib/column-header/render.ts","../lib/column-header/style.css","../lib/column-header/column-header.ts","../lib/cell/render.ts","../lib/cell/style.css","../lib/cell/cell.ts","../lib/toggle/render.ts","../lib/toggle/style.css","../lib/toggle/expand-toggle.ts"],"sourcesContent":["import { JBDictionary } from \"jb-core/i18n\";\n\nexport type JBGridDictionary = {\n toggleRowDetails: string;\n refreshData: string;\n enterFullscreen: string;\n exitFullscreen: string;\n firstPage: string;\n previousPage: string;\n nextPage: string;\n lastPage: string;\n page: (index: number) => string;\n};\n\nexport const dictionary = new JBDictionary<JBGridDictionary>({\n fa: {\n toggleRowDetails: \"نمایش یا پنهان کردن جزئیات ردیف\",\n refreshData: \"بهروزرسانی دادهها\",\n enterFullscreen: \"ورود به حالت تمامصفحه\",\n exitFullscreen: \"خروج از حالت تمامصفحه\",\n firstPage: \"صفحه اول\",\n previousPage: \"صفحه قبل\",\n nextPage: \"صفحه بعد\",\n lastPage: \"صفحه آخر\",\n page: (index) => `صفحه ${index}`,\n },\n en: {\n toggleRowDetails: \"Toggle row details\",\n refreshData: \"Refresh data\",\n enterFullscreen: \"Enter fullscreen\",\n exitFullscreen: \"Exit fullscreen\",\n firstPage: \"First page\",\n previousPage: \"Previous page\",\n nextPage: \"Next page\",\n lastPage: \"Last page\",\n page: (index) => `Page ${index}`,\n },\n});\n","import { i18n } from \"jb-core/i18n\";\nimport { dictionary } from \"../i18n\";\n\nexport function renderHTML(): string {\n return /* html */ `\r\n <div class=\"jb-pagination-web-component\">\r\n <section class=\"page-navigator\">\r\n <button class=\"first-page arrow-btn\" type=\"button\" aria-label=\"${dictionary.get(i18n, \"firstPage\")}\">\n <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" aria-hidden=\"true\"><path d=\"M7 6 v12 h2 v-12 h-2z M17.41 7.41L16 6l-6 6 6 6 1.41-1.41L12.83 12z\"></path></svg>\n </button>\r\n <button class=\"prev-page arrow-btn\" type=\"button\" aria-label=\"${dictionary.get(i18n, \"previousPage\")}\">\n <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" aria-hidden=\"true\"><path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"></path></svg>\n </button>\r\n <div class=\"page-index-wrapper\">\r\n </div>\r\n <button class=\"next-page arrow-btn\" type=\"button\" aria-label=\"${dictionary.get(i18n, \"nextPage\")}\">\n <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" aria-hidden=\"true\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"></path></svg>\n </button>\r\n <button class=\"last-page arrow-btn\" type=\"button\" aria-label=\"${dictionary.get(i18n, \"lastPage\")}\">\n <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\" aria-hidden=\"true\"><path d=\"M15 6 v12 h2 v-12 h-2z M8 6L6.59 7.41 11.17 12l-4.58 4.59L8 18l6-6z\"></path></svg>\n </button>\r\n </section>\r\n </div>\r\n `;\r\n}\n",".jb-pagination-web-component {\n display: flex;\r\n gap: 1rem;\r\n direction:ltr;\r\n .page-navigator {\r\n display: grid;\r\n grid-template-columns: 4rem 4rem max-content 4rem 4rem;\r\n grid-template-rows: 3rem;\r\n justify-items: center;\r\n align-items: center;\r\n\r\n .arrow-btn {\n all: unset;\n box-sizing: border-box;\n cursor: pointer;\n height: 3rem;\n width: 3rem;\n fill: var(--arrow-button-fill-color);\n &:focus-visible {\n outline: 2px solid var(--jb-grid-focus-ring-color, Highlight);\n outline-offset: 2px;\n }\n &:disabled {\n fill: var(--arrow-button-fill-color-disabled);\n cursor: default;\n }\n }\n\r\n .page-index-wrapper {\r\n position: relative;\r\n width: calc(var(--index-width) * 3);\n overflow: hidden;\r\n height: 100%;\r\n\r\n .page-index {\n all: unset;\n box-sizing: border-box;\n font-size: 1rem;\n color: var(--page-index-color);\n position: absolute;\r\n width: var(--index-width);\n height: 3rem;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n text-box-trim: trim-both;\r\n text-box-edge: ex alphabetic;\r\n transition: all 0.3s 0s ease;\r\n cursor: pointer;\n\n &:disabled {\n cursor: default;\n }\n\n &:focus-visible {\n outline: 2px solid var(--jb-grid-focus-ring-color, Highlight);\n outline-offset: -2px;\n }\n\r\n &.current {\n color: var(--page-index-color-current);\n transform: scale(120%);\n }\n\r\n &.empty {\r\n cursor: default;\r\n }\r\n }\r\n\r\n .page-index:nth-child(1) {\r\n top: 0;\r\n left: calc(var(--index-width) * -1);\n transform: scale(10%);\r\n }\r\n\r\n .page-index:nth-child(2) {\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .page-index:nth-child(3) {\r\n top: 0;\r\n left: calc(var(--index-width));\n }\r\n\r\n .page-index:nth-child(4) {\r\n top: 0;\r\n left: calc(var(--index-width) * 2);\n }\r\n\r\n .page-index:nth-child(5) {\r\n top: 0;\r\n left: calc(var(--index-width) * 3);\n transform: scale(10%);\r\n }\r\n }\r\n }\r\n}\n",":host {\n /* Theme/Color */\n --arrow-button-fill-color: var(--jb-pagination-arrow-button-fill-color, var(--jb-neutral-2));\n --arrow-button-fill-color-disabled: var(--jb-pagination-arrow-button-fill-color-disabled, var(--jb-neutral-7));\n --page-index-color: var(--jb-pagination-page-index-color, var(--jb-neutral-6));\n --page-index-color-current: var(--jb-pagination-page-index-color-current, var(--jb-primary));\n\n /* Size */\n --index-width: var(--jb-pagination-index-width, 3rem);\n}\n","import { renderHTML } from './render';\nimport CSS from './style.css';\nimport VariablesCSS from './variables.css';\nimport { registerDefaultVariables } from 'jb-core/theme';\r\nimport type { JBPaginationElements, PageIndexDom } from './types.js';\r\nimport { i18n } from \"jb-core/i18n\";\r\nimport {enToFaDigits} from 'jb-core';\nimport { dictionary } from \"../i18n\";\nexport class JBPaginationWebComponent extends HTMLElement {\r\n #elements!: JBPaginationElements;\r\n #pageIndex: number = 1;\r\n #min = 1;\r\n #max = Infinity;\r\n //how many number in display\r\n #DisplayIndexCount = 3;\r\n showPersianNumber = i18n.locale.numberingSystem == \"arabext\";\r\n\r\n //how many number item we have in dom\r\n get #indexButtonCount (){\r\n return this.#DisplayIndexCount + 2; /* for 2 hidden button in start and end of the list */\r\n }\r\n get pageIndex(){\r\n return this.#pageIndex;\r\n }\r\n set pageIndex(value:number){\r\n this.#goToPage(value,false);\r\n }\r\n get max() {\r\n return this.#max;\r\n }\r\n set max(value: number) {\r\n this.#max = value;\r\n if (this.pageIndex > value) {\r\n this.#updatePageIndex(value,false);\r\n }\r\n this.#elements.nav.last.disabled = this.#max == Infinity;\r\n }\r\n get min() {\r\n return this.#min;\r\n }\r\n set min(value: number) {\r\n this.#min = value;\r\n if (this.#pageIndex < value) {\r\n this.#updatePageIndex(value, false);\r\n }\r\n this.#elements.nav.first.disabled = this.#min == Infinity;\r\n }\r\n constructor() {\r\n super();\r\n this.#init();\r\n }\r\n #init() {\r\n const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable:true, serializable:true });\r\n registerDefaultVariables();\r\n this.#render();\r\n this.#elements = {\r\n nav: {\r\n wrapper: shadowRoot.querySelector('.page-navigator') as HTMLDivElement,\r\n first: shadowRoot.querySelector('.first-page') as HTMLButtonElement,\r\n last: shadowRoot.querySelector('.last-page') as HTMLButtonElement,\r\n next: shadowRoot.querySelector('.next-page') as HTMLButtonElement,\r\n prev: shadowRoot.querySelector('.prev-page') as HTMLButtonElement,\r\n },\r\n index: {\r\n wrapper: shadowRoot.querySelector('.page-index-wrapper') as HTMLDivElement,\r\n list: []\r\n }\r\n }\r\n this.#registerEventListener();\r\n //TODO: do it after pageSize determined\r\n this.#initPageIndexes();\r\n // To retrigger setter effects\r\n this.max = Infinity;\r\n this.min = 1;\r\n }\r\n #render() {\r\n const html = `<style>${VariablesCSS} ${CSS}</style>\\n${renderHTML()}`;\n const element = document.createElement(\"template\");\r\n element.innerHTML = html;\r\n this.shadowRoot!.appendChild(element.content.cloneNode(true));\r\n }\r\n connectedCallback() {\r\n }\r\n #registerEventListener() {\r\n this.#elements.nav.next.addEventListener('click', ()=>this.#goToNextPage(true));\r\n this.#elements.nav.prev.addEventListener('click', ()=>this.#goToPrevPage(true));\r\n this.#elements.nav.last.addEventListener('click', ()=>{this.#goToPage(this.#max,true)});\r\n this.#elements.nav.first.addEventListener('click', ()=>{this.#goToPage(this.#min,true)});\r\n }\r\n\r\n #goToNextPage(shouldDispatch:boolean) {\r\n if (this.#pageIndex > this.#max - 1) {\r\n return;\r\n }\r\n const newIndex = this.#pageIndex + 1\r\n const indexDom = this.#createPageIndexElement(newIndex + 2)\r\n this.#elements.index.list.shift()?.remove();\r\n this.#elements.index.wrapper.append(indexDom);\r\n this.#elements.index.list.push(indexDom);\r\n this.#updatePageIndex(newIndex, shouldDispatch)\r\n }\r\n #goToPrevPage(shouldDispatch:boolean) {\r\n if (this.#pageIndex < this.#min + 1) {\r\n return;\r\n }\r\n const newIndex = this.#pageIndex - 1\r\n const indexDom = this.#createPageIndexElement(newIndex - 2)\r\n this.#elements.index.list.pop()?.remove();\r\n this.#elements.index.list.unshift(indexDom);\r\n this.#elements.index.wrapper.prepend(indexDom);\r\n this.#updatePageIndex(newIndex,shouldDispatch)\r\n }\r\n #goToPage(newPageIndex: number,shouldDispatch:boolean) {\r\n if(this.#pageIndex == newPageIndex){\r\n return;\r\n }\r\n const diff = newPageIndex - this.#pageIndex;\r\n if(Math.abs(diff)>1){\r\n this.#updatePageIndex(newPageIndex,shouldDispatch);\r\n this.#initPageIndexes();\r\n }else{\r\n //play with animation\r\n diff>0?this.#goToNextPage(shouldDispatch):this.#goToPrevPage(shouldDispatch);\r\n }\r\n }\r\n /**\r\n * place pageIndex element in position in data and dom structure\r\n */\r\n #putPageIndexElement(element: PageIndexDom) {\r\n if(this.#elements.index.list.find(x=>x.pageIndex == element.pageIndex)){\r\n //already exist\r\n return;\r\n }\r\n let removePosition:'end'|'start' = 'end';\r\n if (this.#elements.index.list.length == 0 || this.#elements.index.list[this.#elements.index.list.length - 1]?.pageIndex < element.pageIndex) {\r\n //put in last\r\n this.#elements.index.list.push(element);\r\n this.#elements.index.wrapper.append(element);\r\n //remove first item to keep array in size\r\n removePosition = 'start';\r\n } else if (this.#elements.index.list[0]?.pageIndex > element.pageIndex) {\r\n // put in first\r\n this.#elements.index.list.unshift(element)\r\n this.#elements.index.wrapper.prepend(element);\r\n } else {\r\n // in rare situation when element in the middle of the list\r\n const index = this.#elements.index.list.findIndex((x) => x?.pageIndex > element.pageIndex);\r\n this.#elements.index.wrapper.insertBefore(element, this.#elements.index.list[index]);\r\n this.#elements.index.list.splice(index, 0, element);\r\n }\r\n if(this.#elements.index.list.length>this.#indexButtonCount){\r\n //remove redundant elements \r\n removePosition == 'end'?this.#elements.index.list.pop()?.remove():this.#elements.index.list.shift()?.remove();\r\n }\r\n }\r\n #createPageIndexElement(newIndex: number): PageIndexDom {\r\n //when we are out of bound we create empty page index\r\n const isEmpty = this.#min > newIndex || this.#max < newIndex;\r\n const elem = document.createElement('button') as PageIndexDom;\n elem.type = \"button\";\n elem.setAttribute(\"aria-label\", dictionary.get(i18n, \"page\")(newIndex));\n elem.classList.add('page-index', isEmpty?'empty':'not-empty');\r\n elem.dataset.index = `${newIndex}`;\r\n elem.pageIndex = newIndex;\r\n elem.addEventListener(\"click\", (e) => {\r\n this.#onPageIndexClick(elem);\r\n });\r\n if (isEmpty) {\n elem.isEmpty = true;\n elem.disabled = true;\n } else {\n elem.isEmpty = false;\n elem.disabled = false;\n elem.innerHTML = `${this.showPersianNumber?enToFaDigits(newIndex):newIndex}`;\r\n }\r\n return elem;\r\n }\r\n #onPageIndexClick(item: PageIndexDom) {\r\n if (item.isEmpty) {\r\n return;\r\n }\r\n this.#goToPage(item.pageIndex,true);\r\n }\r\n /**\r\n * this event must call when we update pageindex inside of component by user interaction and not programmer\r\n */\r\n #updatePageIndex(newIndex: number,shouldDispatch:boolean) {\r\n this.#pageIndex = newIndex;\r\n this.#updateActiveIndex(newIndex);\r\n shouldDispatch && this.#dispatchChangeEvent();\r\n }\r\n #updateActiveIndex(newIndex: number) {\n const previousCurrent = this.#elements.index.wrapper.querySelector(\".current\");\n previousCurrent?.classList.remove('current');\n previousCurrent?.removeAttribute(\"aria-current\");\n this.#elements.index.list.forEach(x => {\n x.tabIndex = x.pageIndex === newIndex ? 0 : -1;\n if (x.pageIndex == newIndex) {\n x.classList.add('current')\n x.setAttribute(\"aria-current\", \"page\");\n }\r\n })\r\n }\r\n #dispatchChangeEvent() {\r\n const event = new Event('change', { cancelable: false, composed: true, bubbles: true })\r\n this.dispatchEvent(event);\r\n }\r\n #initPageIndexes() {\r\n this.#putPageIndexElement(this.#createPageIndexElement(this.#pageIndex - 2));\r\n this.#putPageIndexElement(this.#createPageIndexElement(this.#pageIndex - 1));\r\n this.#putPageIndexElement(this.#createPageIndexElement(this.#pageIndex));\r\n this.#putPageIndexElement(this.#createPageIndexElement(this.#pageIndex + 1));\r\n this.#putPageIndexElement(this.#createPageIndexElement(this.#pageIndex + 2));\r\n this.#updateActiveIndex(this.#pageIndex);\r\n }\r\n}\r\n\r\nconst myElementNotExists = !customElements.get('jb-pagination');\r\nif (myElementNotExists) {\r\n window.customElements.define('jb-pagination', JBPaginationWebComponent);\r\n}\n","export function renderHTML(): string {\n return /* html */ `\n <section class=\"jb-pagination-info-web-component\">\n <section class=\"page-size-section\">\n <select class=\"page-size-select\"></select>\n </section>\n <section class=\"items-information-section\">\n <span class=\"start-item-index\"></span>\n <span>-</span>\n <span class=\"end-item-index\"></span>\n <span class=\"from-label\"></span>\n <span class=\"total-items-count\"></span>\n </section>\n </section>\n `;\n}\n",":host {\n display: block;\n height: 100%;\n color: #7b7b7b;\n font-size: 1rem;\n container-type: inline-size;\n}\n\n.jb-pagination-info-web-component {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.page-size-section {\n padding: 0 1rem;\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.page-size-select {\n background-color: transparent;\n font-family: inherit;\n color: inherit;\n font-size: inherit;\n border: none;\n}\n\n.items-information-section {\n display: flex;\n align-items: center;\n height: 100%;\n white-space: nowrap;\n}\n\n@container (max-width: 16.25rem) {\n .page-size-section {\n display: none;\n }\n}\n\n@container (max-width: 10rem) {\n .items-information-section {\n display: none;\n }\n}\n","import { renderHTML } from './render.js';\nimport CSS from './style.css';\nimport { registerDefaultVariables } from 'jb-core/theme';\nimport { enToFaDigits } from 'jb-core';\nimport type { JBPaginationInfoElements, JBPaginationInfoPageSizeChangeEventDetail } from './types.js';\n\nexport * from \"./types.js\";\n\nexport class JBPaginationInfoWebComponent extends HTMLElement {\n #elements!: JBPaginationInfoElements;\n #pageSize = 20;\n #pageSizes = [20, 30, 50, 100];\n #startItemIndex = 0;\n #endItemIndex = 0;\n #totalItemsCount = 0;\n #pageItemCountTitle = \"\";\n #fromLabel = \"\";\n #currentAvailableItemTitle = \"\";\n #showPersianNumber = false;\n\n get pageSize() {\n return this.#pageSize;\n }\n\n set pageSize(value: number) {\n this.#pageSize = value;\n this.#syncSelectValue();\n }\n\n get pageSizes() {\n return this.#pageSizes;\n }\n\n set pageSizes(value: number[]) {\n this.#pageSizes = value;\n this.#renderPageSizeOptions();\n }\n\n get startItemIndex() {\n return this.#startItemIndex;\n }\n\n set startItemIndex(value: number) {\n this.#startItemIndex = value;\n this.#renderMetaData();\n }\n\n get endItemIndex() {\n return this.#endItemIndex;\n }\n\n set endItemIndex(value: number) {\n this.#endItemIndex = value;\n this.#renderMetaData();\n }\n\n get totalItemsCount() {\n return this.#totalItemsCount;\n }\n\n set totalItemsCount(value: number) {\n this.#totalItemsCount = value;\n this.#renderMetaData();\n }\n\n get pageItemCountTitle() {\n return this.#pageItemCountTitle;\n }\n\n set pageItemCountTitle(value: string) {\n this.#pageItemCountTitle = value;\n this.#renderLabels();\n }\n\n get fromLabel() {\n return this.#fromLabel;\n }\n\n set fromLabel(value: string) {\n this.#fromLabel = value;\n this.#renderLabels();\n }\n\n get currentAvailableItemTitle() {\n return this.#currentAvailableItemTitle;\n }\n\n set currentAvailableItemTitle(value: string) {\n this.#currentAvailableItemTitle = value;\n this.#renderLabels();\n }\n\n get showPersianNumber() {\n return this.#showPersianNumber;\n }\n\n set showPersianNumber(value: boolean) {\n this.#showPersianNumber = value;\n this.#renderPageSizeOptions();\n this.#renderMetaData();\n }\n\n constructor() {\n super();\n this.#init();\n }\n\n #init() {\n const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable: true, serializable: true });\n registerDefaultVariables();\n this.#render();\n this.#elements = {\n pageSizeSelect: shadowRoot.querySelector(\".page-size-select\")!,\n pageSizeSection: shadowRoot.querySelector(\".page-size-section\")!,\n startItemIndex: shadowRoot.querySelector(\".start-item-index\")!,\n endItemIndex: shadowRoot.querySelector(\".end-item-index\")!,\n fromLabel: shadowRoot.querySelector(\".from-label\")!,\n totalItemsCount: shadowRoot.querySelector(\".total-items-count\")!,\n };\n this.#registerEventListener();\n this.#renderPageSizeOptions();\n this.#renderLabels();\n this.#renderMetaData();\n }\n\n #render() {\n const html = `<style>${CSS}</style>\\n${renderHTML()}`;\n const element = document.createElement(\"template\");\n element.innerHTML = html;\n this.shadowRoot!.appendChild(element.content.cloneNode(true));\n }\n\n #registerEventListener() {\n this.#elements.pageSizeSelect.addEventListener(\"change\", () => {\n const pageSize = Number(this.#elements.pageSizeSelect.value);\n this.pageSize = pageSize;\n this.dispatchEvent(new CustomEvent<JBPaginationInfoPageSizeChangeEventDetail>(\"page-size-change\", {\n bubbles: true,\n composed: true,\n detail: { pageSize }\n }));\n });\n }\n\n #renderPageSizeOptions() {\n if (!this.#elements) {\n return;\n }\n this.#elements.pageSizeSelect.replaceChildren(...this.#pageSizes.map((pageSize) => {\n const option = document.createElement(\"option\");\n option.value = pageSize.toString();\n option.textContent = this.#formatNumber(pageSize).toString();\n return option;\n }));\n this.#syncSelectValue();\n }\n\n #syncSelectValue() {\n if (!this.#elements) {\n return;\n }\n this.#elements.pageSizeSelect.value = this.#pageSize.toString();\n }\n\n #renderLabels() {\n if (!this.#elements) {\n return;\n }\n this.#elements.pageSizeSection.title = this.#pageItemCountTitle;\n this.#elements.fromLabel.textContent = ` ${this.#fromLabel}`;\n this.#elements.totalItemsCount.title = this.#currentAvailableItemTitle;\n }\n\n #renderMetaData() {\n if (!this.#elements) {\n return;\n }\n this.#elements.startItemIndex.textContent = this.#formatNumber(this.#startItemIndex).toString();\n this.#elements.endItemIndex.textContent = ` ${this.#formatNumber(this.#endItemIndex)} `;\n this.#elements.totalItemsCount.textContent = ` ${this.#formatNumber(this.#totalItemsCount)} `;\n }\n\n #formatNumber(value: number) {\n return this.#showPersianNumber ? enToFaDigits(value) : value;\n }\n}\n\nconst myElementNotExists = !customElements.get('jb-pagination-info');\nif (myElementNotExists) {\n window.customElements.define('jb-pagination-info', JBPaginationInfoWebComponent);\n}\n","export function renderHTML(): string {\n return /* html */ `\n <svg class=\"refresh-icon\" x=\"0px\" y=\"0px\" viewBox=\"0 0 305.836 305.836\" part=\"icon\">\n <title>Refresh Data</title>\n <g>\n <path d=\"M152.924,300.748c84.319,0,152.912-68.6,152.912-152.918c0-39.476-15.312-77.231-42.346-105.564 c0,0,3.938-8.857,8.814-19.783c4.864-10.926-2.138-18.636-15.648-17.228l-79.125,8.289c-13.511,1.411-17.999,11.467-10.021,22.461 l46.741,64.393c7.986,10.992,17.834,12.31,22.008,2.937l7.56-16.964c12.172,18.012,18.976,39.329,18.976,61.459 c0,60.594-49.288,109.875-109.87,109.875c-60.591,0-109.882-49.287-109.882-109.875c0-19.086,4.96-37.878,14.357-54.337 c5.891-10.325,2.3-23.467-8.025-29.357c-10.328-5.896-23.464-2.3-29.36,8.031C6.923,95.107,0,121.27,0,147.829 C0,232.148,68.602,300.748,152.924,300.748z\" />\n </g>\n </svg>\n `;\n}\n",":host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n color: #7b7b7b;\n}\n\n:host(:hover) {\n color: #2e3139;\n}\n\n.refresh-icon {\n width: 100%;\n height: 100%;\n display: block;\n fill: currentColor;\n transform-box: fill-box;\n transform-origin: center;\n}\n","import { renderHTML } from './render.js';\nimport CSS from './style.css';\nimport { registerDefaultVariables } from 'jb-core/theme';\nimport { i18n } from \"jb-core/i18n\";\nimport { dictionary } from \"../i18n\";\n\nexport class JBRefreshIconWebComponent extends HTMLElement {\n #internals?: ElementInternals;\n #icon!: SVGSVGElement;\n #animation: Animation | null = null;\n #animationDuration = 400;\n\n constructor() {\n super();\n if (typeof this.attachInternals === \"function\") {\n this.#internals = this.attachInternals();\n this.#internals.role = \"img\";\n this.#internals.ariaLabel = dictionary.get(i18n, \"refreshData\");\n this.#internals.ariaBusy = \"false\";\n }\n this.#init();\n }\n\n #init() {\n const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable: true, serializable: true });\n registerDefaultVariables();\n this.#render();\n this.#icon = shadowRoot.querySelector(\".refresh-icon\")!;\n }\n\n #render() {\n const html = `<style>${CSS}</style>\\n${renderHTML()}`;\n const element = document.createElement(\"template\");\n element.innerHTML = html;\n this.shadowRoot!.appendChild(element.content.cloneNode(true));\n }\n\n play() {\n if (this.#internals) this.#internals.ariaBusy = \"true\";\n if (!this.#animation) {\n this.#animation = this.#icon.animate(\n [{ transform: \"rotate(0deg)\" }, { transform: \"rotate(360deg)\" }],\n { id: \"rotate\", duration: this.#animationDuration, direction: \"reverse\", iterations: Infinity }\n );\n return;\n }\n this.#animation.effect?.updateTiming({ iterations: Infinity });\n this.#animation.onfinish = null;\n this.#animation.play();\n }\n\n pause() {\n this.#animation?.pause();\n }\n\n stop() {\n if (!this.#animation) {\n return;\n }\n const animation = this.#animation;\n const currentTime = typeof animation.currentTime === \"number\" ? animation.currentTime : 0;\n const nextIteration = Math.max(1, Math.floor(currentTime / this.#animationDuration) + 1);\n\n animation.effect?.updateTiming({ iterations: nextIteration });\n animation.onfinish = () => {\n if (this.#animation === animation) {\n animation.cancel();\n this.#animation = null;\n if (this.#internals) this.#internals.ariaBusy = \"false\";\n }\n };\n animation.play();\n }\n}\n\nconst myElementNotExists = !customElements.get('jb-refresh-icon');\nif (myElementNotExists) {\n window.customElements.define('jb-refresh-icon', JBRefreshIconWebComponent);\n}\n","export function renderHTML(): string {\n return /* html */ `\n <svg class=\"fullscreen-icon\" x=\"0px\" y=\"0px\" viewBox=\"0 0 128 128\" part=\"icon\">\n <title>Full Screen Button</title>\n <g class=\"arrow arrow-top-start\">\n <path d=\"M47.979,41.795L26.466,20.292c-3.995-6.034,6.546-6.069,6.546-6.069h6.385c4.054-0.105,6.282-2.363,6.24-5.229 c-0.041-2.866-1.591-5.216-5.167-5.151H23.679C-0.4,2.575,0.342,20.363,0.755,24.486c0.02,0.208-0.015,0.375,0,0.502v0.025 l0.011,15.21c-0.029,2.556,1.211,5.834,4.501,6.265c3.329,0.434,6.025-2.22,6.06-4.774v-9.788v0.084 c-0.062-7.879,5.311-3.858,5.311-3.858l23.346,22.95c1.842,1.843,6.8,3.308,9.362,0.711C53.583,47.516,49.821,43.637,47.979,41.795 z\"></path>\n <path d=\"M0.755,26.555c0,0,0.024-0.099,0-0.277v-0.004V26.555z\"></path>\n </g>\n <g class=\"arrow arrow-top-end\">\n <path d=\"M89.483,50.518l21.504-21.512c6.034-3.995,6.07,6.546,6.07,6.546v6.385c0.104,4.055,2.361,6.281,5.228,6.24 c2.867-0.04,5.217-1.59,5.152-5.167V26.219c1.266-24.08-16.521-23.337-20.645-22.924c-0.206,0.02-0.374-0.015-0.503,0h-0.024 l-15.21,0.011c-2.557-0.029-5.834,1.211-6.265,4.501c-0.436,3.329,2.219,6.025,4.773,6.06h9.789H99.27 c7.879-0.062,3.858,5.311,3.858,5.311L80.177,42.524c-1.842,1.842-3.309,6.801-0.711,9.363 C83.764,56.123,87.642,52.362,89.483,50.518z\"></path>\n <path d=\"M104.723,3.294c0,0,0.101,0.024,0.279,0h0.003H104.723z\"></path>\n </g>\n <g class=\"arrow arrow-bottom-end\">\n <path d=\"M80.759,88.376l21.514,21.505c3.995,6.035-6.546,6.068-6.546,6.068H89.34c-4.054,0.106-6.282,2.364-6.24,5.23 c0.041,2.863,1.591,5.214,5.167,5.149h16.792c24.08,1.269,23.337-16.521,22.924-20.642c-0.02-0.21,0.017-0.377,0-0.503v-0.025 l-0.012-15.21c0.031-2.557-1.209-5.834-4.501-6.265c-3.327-0.436-6.023,2.219-6.06,4.772v9.79v-0.084 c0.062,7.879-5.312,3.856-5.312,3.856L88.753,79.068c-1.843-1.841-6.8-3.308-9.362-0.709 C75.153,82.656,78.916,86.534,80.759,88.376z\"></path>\n <path d=\"M127.982,103.617c0,0-0.022,0.098,0,0.276v0.006V103.617z\"></path>\n </g>\n <g class=\"arrow arrow-bottom-start\">\n <path d=\"M43.481,79.65l-21.503,21.514c-6.035,3.995-6.07-6.547-6.07-6.547v-6.384c-0.104-4.054-2.362-6.283-5.229-6.241 c-2.865,0.041-5.215,1.592-5.151,5.168v16.792c-1.267,24.078,16.521,23.338,20.643,22.924c0.208-0.02,0.375,0.015,0.503,0h0.025 l15.21-0.011c2.557,0.028,5.833-1.213,6.264-4.501c0.436-3.33-2.219-6.026-4.773-6.06h-9.789h0.084 c-7.879,0.062-3.857-5.312-3.857-5.312l22.949-23.347c1.843-1.844,3.31-6.8,0.711-9.363C49.201,74.045,45.323,77.809,43.481,79.65z\"></path>\n <path d=\"M28.242,126.876c0,0-0.1-0.024-0.278,0h-0.004H28.242z\"></path>\n </g>\n </svg>\n `;\n}\n",":host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n color: #7b7b7b;\n}\n\n:host(:hover) {\n color: #2e3139;\n}\n\n.fullscreen-icon {\n width: 100%;\n height: 100%;\n display: block;\n fill: currentColor;\n}\n\n.arrow {\n transition: transform 0.2s ease-out;\n transform-box: view-box;\n}\n\n:host([state=\"exit\"]) .arrow-top-start {\n transform: rotate(180deg);\n transform-origin: 1.875rem 1.875rem;\n}\n\n:host([state=\"exit\"]) .arrow-top-end {\n transform: rotate(180deg);\n transform-origin: 6.25rem 1.875rem;\n}\n\n:host([state=\"exit\"]) .arrow-bottom-end {\n transform: rotate(180deg);\n transform-origin: 6.25rem 6.25rem;\n}\n\n:host([state=\"exit\"]) .arrow-bottom-start {\n transform: rotate(180deg);\n transform-origin: 1.875rem 6.25rem;\n}\n","import { renderHTML } from './render.js';\nimport CSS from './style.css';\nimport { registerDefaultVariables } from 'jb-core/theme';\nimport type { JBFullscreenIconState } from './types.js';\nimport { i18n } from \"jb-core/i18n\";\nimport { dictionary } from \"../i18n\";\n\nexport * from \"./types.js\";\n\nexport class JBFullscreenIconWebComponent extends HTMLElement {\n #state: JBFullscreenIconState = \"enter\";\n #internals?: ElementInternals;\n\n /**\n * Describes the action represented by the icon.\n *\n * - `\"enter\"` means activating the control will enter fullscreen mode.\n * - `\"exit\"` means activating the control will exit fullscreen mode.\n */\n get state() {\n return this.#state;\n }\n\n set state(value: JBFullscreenIconState) {\n this.#state = value;\n if (this.#internals) this.#internals.ariaLabel = dictionary.get(i18n, value === \"exit\" ? \"exitFullscreen\" : \"enterFullscreen\");\n this.setAttribute(\"state\", value);\n }\n\n static get observedAttributes() {\n return [\"state\"];\n }\n\n constructor() {\n super();\n if (typeof this.attachInternals === \"function\") {\n this.#internals = this.attachInternals();\n this.#internals.role = \"img\";\n }\n this.#init();\n }\n\n #init() {\n const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable: true, serializable: true });\n registerDefaultVariables();\n this.#render();\n this.state = this.#normalizeState(this.getAttribute(\"state\"));\n }\n\n #render() {\n const html = `<style>${CSS}</style>\\n${renderHTML()}`;\n const element = document.createElement(\"template\");\n element.innerHTML = html;\n this.shadowRoot!.appendChild(element.content.cloneNode(true));\n }\n\n attributeChangedCallback(name: string, _oldValue: string | null, newValue: string | null) {\n if (name === \"state\") {\n this.#state = this.#normalizeState(newValue);\n if (this.#internals) this.#internals.ariaLabel = dictionary.get(i18n, this.#state === \"exit\" ? \"exitFullscreen\" : \"enterFullscreen\");\n }\n }\n\n #normalizeState(value: string | null): JBFullscreenIconState {\n return value === \"exit\" ? \"exit\" : \"enter\";\n }\n}\n\nconst myElementNotExists = !customElements.get('jb-fullscreen-icon');\nif (myElementNotExists) {\n window.customElements.define('jb-fullscreen-icon', JBFullscreenIconWebComponent);\n}\n","export function renderHTML(): string {\r\n return /* html */ `\r\n <div class=\"jb-row-web-component\">\r\n <div class=\"grid-row\" part=\"row\">\n <slot name=\"cell\"></slot>\r\n </div>\r\n <div class=\"expand-wrapper --hidden\" role=\"region\" aria-hidden=\"true\">\n <slot name=\"expand\"></slot>\r\n </div>\r\n </div>\r\n `;\r\n}\n","@custom-media --tablet-until (max-width: 48rem);\r\n\r\n:host {\n width: 100%;\n background-color: var(--bg-color);\n display: block;\n}\n\n:host(:nth-of-type(even)) {\n background: var(--bg-color-even);\n\n @media(--tablet-until) {\n background: var(--bg-color-even-tablet);\n }\n}\n\r\n.jb-row-web-component {\r\n .grid-row {\r\n width: 100%;\r\n box-sizing: border-box;\r\n grid-auto-rows: minmax(3rem, auto);\r\n\r\n @media(--tablet-until) {\n grid-template-columns: auto !important;\n grid-template-rows: auto;\n border-radius: var(--border-radius);\n box-shadow: 0px 0px 1px 0px var(--shadow-color);\n }\n }\r\n\r\n .expand-wrapper {\r\n interpolate-size: allow-keywords;\r\n transition: all 0.3s 0s ease;\r\n height: auto;\r\n overflow: clip;\r\n opacity: 1;\r\n &.--hidden {\r\n height: 0;\r\n min-height: 0;\r\n padding-block: 0;\r\n opacity: 0;\r\n }\r\n\r\n slot[name=\"expand\"]::slotted(*) {\r\n width: 100%;\n min-height: 4rem;\n padding-block: var(--expand-padding-block);\n padding-inline: var(--expand-padding-inline);\n border-bottom: 1px solid var(--expand-border-color);\n box-sizing: border-box;\n overflow: auto;\n }\n }\r\n\r\n}\n",":host {\n /* Theme/Color */\n --bg-color: var(--jb-row-bg-color, var(--jb-white));\n --bg-color-even: var(--jb-row-bg-color-even, var(--jb-neutral-10));\n --bg-color-even-tablet: var(--jb-row-bg-color-even-tablet, var(--bg-color));\n --expand-border-color: var(--jb-row-expand-border-color, #ebebeb);\n --shadow-color: var(--jb-row-shadow-color, #d8d8d8);\n\n /* Size */\n --border-radius: var(--jb-row-border-radius, var(--jb-radius));\n --expand-padding-block: var(--jb-row-expand-padding-block, 1rem);\n --expand-padding-inline: var(--jb-row-expand-padding-inline, 2rem);\n}\n","import type { GridTemplate } from \"./types.js\";\n\ntype CreateTemplateStylesheetOptions = {\n selector: string,\n autoModeVariableName?: string\n}\n\nexport function createTemplateStylesheet(sheet: CSSStyleSheet, template: GridTemplate | null, options: CreateTemplateStylesheetOptions) {\n const autoModeVariable = options.autoModeVariableName ? `${options.autoModeVariableName}: auto;` : \"\";\n if (template === null) {\n const css = /* css */ `\n ${options.selector}{\n display:grid;\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n grid-template-rows: 1fr;\n ${autoModeVariable}\n }\n `;\n sheet.replaceSync(css);\n return sheet;\n }\n let gridTemplateColumns = \"\";\n const gridTemplateAreas = template.map(t => `${t.name}`).join(\" \");\n template.forEach((item) => {\n if (item.size != null || item.size != undefined) {\n if (typeof item.size == \"number\") {\n gridTemplateColumns += ` ${item.size}px`;\n } else {\n gridTemplateColumns += ` ${item.size}`;\n }\n\n } else {\n gridTemplateColumns += \" 1fr\";\n }\n });\n const css = /* css */ `\n ${options.selector}{\n display:grid;\n grid-template-columns: ${gridTemplateColumns};\n grid-template-areas: \"${gridTemplateAreas}\"\n }\n `;\n sheet.replaceSync(css);\n return sheet;\n}\n","import { renderHTML } from './render.js';\nimport CSS from './style.css';\nimport VariablesCSS from './variables.css';\nimport { registerDefaultVariables } from 'jb-core/theme';\r\nimport type { JBRowElements, RowTemplate} from './types.js';\r\nimport { createTemplateStylesheet } from './utils.js';\r\n\r\nexport * from \"./types.js\"; \r\nexport class JBRowWebComponent extends HTMLElement {\n #internals?: ElementInternals;\n #elements!: JBRowElements;\r\n #templateSheet = new CSSStyleSheet();\r\n #RowTemplate:RowTemplate = []\r\n #isOpen = false;\r\n get isOpen(){\r\n return this.#isOpen;\r\n }\r\n set isOpen(value:boolean){\n this.#isOpen = value;\n if (this.#internals) this.#internals.ariaExpanded = value ? \"true\" : \"false\";\n this.#elements.expandWrapper.setAttribute(\"aria-hidden\", value ? \"false\" : \"true\");\n if(value){\r\n this.#elements.expandWrapper.classList.remove('--hidden');\r\n }else{\r\n this.#elements.expandWrapper.classList.add('--hidden');\r\n }\r\n }\r\n get rowTemplate(){\r\n return this.#RowTemplate\r\n }\r\n set rowTemplate(value:RowTemplate){\n this.#RowTemplate = value;\n createTemplateStylesheet(this.#templateSheet, value, {\n selector: \".grid-row\",\n autoModeVariableName: \"--jb-row-grid-mode\"\n });\n }\r\n constructor() {\n super();\n if (typeof this.attachInternals === \"function\") {\n this.#internals = this.attachInternals();\n this.#internals.role = \"row\";\n }\n this.#init();\n }\r\n #init() {\r\n const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable:true, serializable:true });\r\n shadowRoot.adoptedStyleSheets = [this.#templateSheet];\r\n registerDefaultVariables();\r\n this.#render();\r\n this.#elements = {\r\n expandWrapper: shadowRoot.querySelector(\".expand-wrapper\")!\r\n }\r\n createTemplateStylesheet(this.#templateSheet, null, {\n selector: \".grid-row\",\n autoModeVariableName: \"--jb-row-grid-mode\"\n });\n this.#registerEventListener();\r\n }\r\n #render() {\n const html = `<style>${VariablesCSS} ${CSS}</style>\\n${renderHTML()}`;\n const element = document.createElement(\"template\");\r\n element.innerHTML = html;\r\n this.shadowRoot!.appendChild(element.content.cloneNode(true));\r\n }\r\n connectedCallback() {\r\n }\r\n #registerEventListener() {\r\n // this.#elements.nav.next.addEventListener('click', ()=>this.#goToNextPage(true));\r\n }\r\n}\r\nconst myElementNotExists = !customElements.get('jb-row');\r\nif (myElementNotExists) {\r\n window.customElements.define('jb-row', JBRowWebComponent);\r\n}\n","export function renderHTML(): string {\n return /* html */ `\n <div class=\"jb-table-header-web-component\">\n <div class=\"table-header-row\" part=\"row\" role=\"row\">\n <slot></slot>\n </div>\n </div>\n `;\n}\n","@custom-media --tablet-until (max-width: 48rem);\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n}\n\n.jb-table-header-web-component {\n width: 100%;\n height: 100%;\n\n .table-header-row {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n line-height: 2rem;\n\n @media(--tablet-until) {\n display: none;\n }\n }\n\n .table-header-row ::slotted(*) {\n box-sizing: border-box;\n min-width: 0;\n }\n}\n","import { renderHTML } from './render.js';\nimport CSS from './style.css';\nimport { registerDefaultVariables } from 'jb-core/theme';\nimport type { TableHeaderTemplate } from './types.js';\nimport { createTemplateStylesheet } from '../utils.js';\n\nexport * from \"./types.js\";\n\nexport class JBTableHeaderWebComponent extends HTMLElement {\n #templateSheet = new CSSStyleSheet();\n #headerTemplate: TableHeaderTemplate = [];\n\n get headerTemplate() {\n return this.#headerTemplate;\n }\n\n set headerTemplate(value: TableHeaderTemplate) {\n this.#headerTemplate = value;\n createTemplateStylesheet(this.#templateSheet, value, {\n selector: \".table-header-row\"\n });\n }\n\n constructor() {\n super();\n this.#init();\n }\n\n #init() {\n const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable: true, serializable: true });\n shadowRoot.adoptedStyleSheets = [this.#templateSheet];\n registerDefaultVariables();\n this.#render();\n createTemplateStylesheet(this.#templateSheet, null, {\n selector: \".table-header-row\"\n });\n }\n\n #render() {\n const html = `<style>${CSS}</style>\\n${renderHTML()}`;\n const element = document.createElement(\"template\");\n element.innerHTML = html;\n this.shadowRoot!.appendChild(element.content.cloneNode(true));\n }\n}\n\nconst myElementNotExists = !customElements.get('jb-table-header');\nif (myElementNotExists) {\n window.customElements.define('jb-table-header', JBTableHeaderWebComponent);\n}\n","export function renderHTML(): string {\n return /* html */ `\n <button class=\"column-header\" part=\"button\" type=\"button\">\n <span class=\"caption-wrapper\" part=\"caption\">\n <slot name=\"title\"></slot>\n </span>\n <span class=\"sort-icon-wrapper\" part=\"sort-icon\" aria-hidden=\"true\">\n <svg version=\"1.1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 31.479 31.479\">\n <path d=\"M26.477,10.274c0.444,0.444,0.444,1.143,0,1.587c-0.429,0.429-1.143,0.429-1.571,0l-8.047-8.047 v26.555c0,0.619-0.492,1.111-1.111,1.111c-0.619,0-1.127-0.492-1.127-1.111V3.813l-8.031,8.047c-0.444,0.429-1.159,0.429-1.587,0 c-0.444-0.444-0.444-1.143,0-1.587l9.952-9.952c0.429-0.429,1.143-0.429,1.571,0L26.477,10.274z\" />\n </svg>\n </span>\n </button>\n `;\n}\n",":host {\n width: 100%;\n max-width: 100%;\n height: 100%;\n display: block;\n box-sizing: border-box;\n}\n\n.column-header {\n all: unset;\n width: 100%;\n height: 100%;\n min-height: 2rem;\n padding: 0 1rem;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n overflow: hidden;\n color: inherit;\n font: inherit;\n}\n\n:host([sortable]) .column-header {\n cursor: pointer;\n}\n\n.caption-wrapper {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.sort-icon-wrapper {\n display: none;\n flex: 0 0 auto;\n height: 1rem;\n margin-inline-start: 4px;\n}\n\n:host([sort]) .sort-icon-wrapper {\n display: inline-flex;\n}\n\n.sort-icon-wrapper svg {\n fill: #1e201d;\n height: 1rem;\n width: 1rem;\n margin-top: 1px;\n}\n\n:host([sort=\"asc\"]) .sort-icon-wrapper svg {\n transition: all 0.2s ease-out;\n transform: rotate(0deg);\n}\n\n:host([sort=\"desc\"]) .sort-icon-wrapper svg {\n transition: all 0.2s ease-out;\n transform: rotate(180deg);\n}\n","import { renderHTML } from './render.js';\nimport CSS from './style.css';\nimport { registerDefaultVariables } from 'jb-core/theme';\nimport type { JBColumnHeaderElements, JBColumnHeaderSort, JBColumnHeaderSortEventDetail } from './types.js';\n\nexport * from \"./types.js\";\n\nexport class JBColumnHeaderWebComponent extends HTMLElement {\n #internals?: ElementInternals;\n #elements!: JBColumnHeaderElements;\n #templateSheet = new CSSStyleSheet();\n\n get name() {\n return this.getAttribute(\"name\") || \"\";\n }\n\n set name(value: string) {\n this.setAttribute(\"name\", value);\n this.#setGridArea(value);\n }\n\n get sortable() {\n return this.hasAttribute(\"sortable\");\n }\n\n set sortable(value: boolean) {\n if (value) {\n this.setAttribute(\"sortable\", \"\");\n } else {\n this.removeAttribute(\"sortable\");\n }\n }\n\n get sort() {\n return this.getAttribute(\"sort\") as JBColumnHeaderSort | null;\n }\n\n set sort(value: JBColumnHeaderSort | null | undefined) {\n if (value) {\n this.setAttribute(\"sort\", value);\n if (this.#internals) this.#internals.ariaSort = value === \"asc\" ? \"ascending\" : \"descending\";\n } else {\n this.removeAttribute(\"sort\");\n if (this.#internals) this.#internals.ariaSort = \"none\";\n }\n }\n\n static get observedAttributes() {\n return [\"name\"];\n }\n\n constructor() {\n super();\n if (typeof this.attachInternals === \"function\") {\n this.#internals = this.attachInternals();\n this.#internals.role = \"columnheader\";\n this.#internals.ariaSort = \"none\";\n }\n this.#init();\n }\n\n #init() {\n const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable: true, serializable: true });\n shadowRoot.adoptedStyleSheets = [this.#templateSheet];\n registerDefaultVariables();\n this.#render();\n this.#elements = {\n wrapper: shadowRoot.querySelector(\".column-header\")!\n };\n this.#setGridArea(this.name);\n this.#registerEventListener();\n }\n\n #render() {\n const html = `<style>${CSS}</style>\\n${renderHTML()}`;\n const element = document.createElement(\"template\");\n element.innerHTML = html;\n this.shadowRoot!.appendChild(element.content.cloneNode(true));\n }\n\n attributeChangedCallback(name: string, _oldValue: string | null, newValue: string | null) {\n if (name === \"name\") {\n this.#setGridArea(newValue || \"\");\n }\n }\n\n #registerEventListener() {\n this.#elements.wrapper.addEventListener(\"click\", () => this.#onClick());\n }\n\n #onClick() {\n if (!this.sortable) {\n return;\n }\n const newSort: JBColumnHeaderSort = this.sort === \"asc\" ? \"desc\" : \"asc\";\n this.sort = newSort;\n this.dispatchEvent(new CustomEvent<JBColumnHeaderSortEventDetail>(\"sort\", {\n bubbles: true,\n composed: true,\n detail: {\n name: this.name,\n sort: newSort\n }\n }));\n }\n\n #setGridArea(value: string) {\n this.#templateSheet.replace(`\n :host{ grid-area:${value ? value : \"none\"}}\n `);\n }\n}\n\nconst myElementNotExists = !customElements.get('jb-col-header');\nif (myElementNotExists) {\n window.customElements.define('jb-col-header', JBColumnHeaderWebComponent);\n}\n","export function renderHTML(): string {\r\n return /* html */ `\r\n <slot></slot>\r\n `;\r\n}","@custom-media --tablet-until (max-width: 48rem);\r\n\r\n:host {\r\n width: 100%;\r\n max-width: 100%;\r\n height: 100%;\r\n display: grid;\r\n grid-template-columns: auto;\r\n grid-template-rows: minmax(0,auto);\r\n grid-auto-flow: column;\r\n grid-auto-columns: max-content;\r\n padding: 0.25rem 1rem;\r\n box-sizing: border-box;\r\n align-items: center;\r\n justify-content: start;\r\n gap: 0.5rem;\r\n overflow-x: hidden;\r\n}\r\n\r\n:host([ellipsis]:not([ellipsis=\"1\"]):not([ellipsis=\"\"])) {\r\n height: fit-content;\r\n display: -webkit-box;\r\n -webkit-line-clamp: attr(max-line type(<integer>), 1);\r\n -webkit-box-orient: vertical;\r\n /* Number of lines to show */\r\n line-clamp: attr(max-line type(<integer>), 1);\r\n /* Number of lines to show */\r\n box-orient: vertical;\r\n overflow:hidden;\r\n align-content: center;\r\n}\r\n:host(:where([ellipsis=\"\"], [ellipsis=\"1\"])){\r\n display:block;\r\n text-overflow: ellipsis;\r\n white-space: nowrap; \r\n overflow:hidden;\r\n align-content: center;\r\n}","import { renderHTML } from './render.js';\r\nimport CSS from './style.css';\r\nimport { registerDefaultVariables } from 'jb-core/theme';\r\nimport type {JBCellElements} from './types.js';\r\n\r\nexport * from \"./types.js\"; \r\nexport class JBCellWebComponent extends HTMLElement {\n #internals?: ElementInternals;\n #elements!: JBCellElements;\r\n #templateSheet = new CSSStyleSheet();\r\n get name(){\r\n return this.getAttribute(\"name\")||\"\"\r\n }\r\n set name(value:string){\r\n this.setAttribute(\"name\",value);\r\n this.#templateSheet.replace(`\r\n :host{ grid-area:${value?value:\"none\"}}\r\n @container (style(--jb-row-grid-mode: auto)) {\r\n :host{ grid-area:auto }\r\n }\r\n `);\r\n }\r\n constructor() {\n super();\n if (typeof this.attachInternals === \"function\") {\n this.#internals = this.attachInternals();\n this.#internals.role = \"cell\";\n }\n this.#init();\n }\r\n #init() {\r\n const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable:true, serializable:true });\r\n shadowRoot.adoptedStyleSheets = [this.#templateSheet];\r\n registerDefaultVariables();\r\n this.#render();\r\n this.#elements = {\r\n }\r\n this.#registerEventListener();\r\n }\r\n #render() {\r\n const html = `<style>${CSS}</style>\\n${renderHTML()}`;\r\n const element = document.createElement(\"template\");\r\n element.innerHTML = html;\r\n this.shadowRoot!.appendChild(element.content.cloneNode(true));\r\n }\r\n connectedCallback() {\r\n }\r\n #registerEventListener() {\r\n // this.#elements.nav.next.addEventListener('click', ()=>this.#goToNextPage(true));\r\n }\r\n}\r\nconst myElementNotExists = !customElements.get('jb-cell');\r\nif (myElementNotExists) {\r\n window.customElements.define('jb-cell', JBCellWebComponent);\r\n}\n","import { dictionary } from \"../i18n\";\nimport { i18n } from \"jb-core/i18n\";\n\nexport function renderHTML(): string {\n return /* html */ `\n <button class=\"toggle-button\" type=\"button\" aria-label=\"${dictionary.get(i18n, \"toggleRowDetails\")}\" aria-expanded=\"false\">\n <slot>\n <svg class=\"arrow-icon\" viewBox=\"0 0 50 50\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path d=\"M35,10 L15,25 L35,40 Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n stroke-width=\"6\"\n stroke-linejoin=\"round\" />\n </svg>\n </slot>\n </button>\n `;\n}\n",":host {\r\n width: 1.5rem;\r\n height: 1.5rem;\n display: block;\n}\n\n.toggle-button {\n all: unset;\n box-sizing: border-box;\n display: block;\n width: 100%;\n height: 100%;\n cursor: pointer;\n\n &:focus-visible {\n outline: 2px solid var(--jb-grid-focus-ring-color, Highlight);\n outline-offset: 2px;\n }\n}\n\r\n:host([open]) {\r\n .arrow-icon {\r\n rotate: -90deg;\r\n &:dir(ltr) {\r\n rotate: 90deg;\r\n }\r\n }\r\n}\r\n\r\n.arrow-icon {\r\n width: 100%;\r\n height: 100%;\r\n transition: all 0.3s 0s ease;\r\n\r\n &:dir(ltr) {\r\n transform: rotateY(180deg)\r\n }\r\n}\n","import { renderHTML } from './render.js';\r\nimport CSS from './style.css';\r\nimport { registerDefaultVariables } from 'jb-core/theme';\r\nimport { JBRowWebComponent } from '../row/row.js';\nexport class JBExpandToggleWebComponent extends HTMLElement {\n #button!: HTMLButtonElement;\n constructor() {\n super();\n this.#init();\n }\r\n #init() {\r\n const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable:true, serializable:true });\r\n registerDefaultVariables();\n this.#render();\n this.#button = shadowRoot.querySelector(\".toggle-button\")!;\n this.#registerEventListener();\n }\r\n #render() {\r\n const html = `<style>${CSS}</style>\\n${renderHTML()}`;\r\n const element = document.createElement(\"template\");\r\n element.innerHTML = html;\r\n this.shadowRoot!.appendChild(element.content.cloneNode(true));\r\n }\r\n #parentRow:JBRowWebComponent|null = null;\r\n connectedCallback() {\r\n this.#parentRow = this.#findParentRow(this);\r\n if(this.#parentRow?.isOpen){\n this.setAttribute('open','');\n this.#button.setAttribute(\"aria-expanded\", \"true\");\n }\r\n }\r\n #findParentRow(element:Element|null):JBRowWebComponent|null{\r\n if(!element || !element.parentElement){\r\n return null;\r\n }\r\n if(element.parentElement instanceof JBRowWebComponent){\r\n return element.parentElement\r\n }else{\r\n return this.#findParentRow(this.parentElement!);\r\n }\r\n }\r\n #registerEventListener() {\r\n this.#button.addEventListener('click', ()=>this.toggle());\n }\r\n toggle(){\r\n if(this.#parentRow){\r\n const value = !this.#parentRow?.isOpen;\r\n this.#parentRow.isOpen = value\r\n value?this.setAttribute('open',''):this.removeAttribute('open');\n this.#button.setAttribute(\"aria-expanded\", value ? \"true\" : \"false\");\n }\r\n }\r\n}\r\nconst myElementNotExists = !customElements.get('jb-expand-toggle');\r\nif (myElementNotExists) {\r\n window.customElements.define('jb-expand-toggle', JBExpandToggleWebComponent);\r\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../lib/row/row.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,WAAW,EAAC,MAAM,YAAY,CAAC;AAG5D,cAAc,YAAY,CAAC;AAC3B,qBAAa,iBAAkB,SAAQ,WAAW;;IAKhD,IAAI,MAAM,IAGO,OAAO,CADvB;IACD,IAAI,MAAM,CAAC,KAAK,EAAC,OAAO,EAOvB;IACD,IAAI,WAAW,IAGO,WAAW,CADhC;IACD,IAAI,WAAW,CAAC,KAAK,EAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../lib/row/row.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,WAAW,EAAC,MAAM,YAAY,CAAC;AAG5D,cAAc,YAAY,CAAC;AAC3B,qBAAa,iBAAkB,SAAQ,WAAW;;IAKhD,IAAI,MAAM,IAGO,OAAO,CADvB;IACD,IAAI,MAAM,CAAC,KAAK,EAAC,OAAO,EAOvB;IACD,IAAI,WAAW,IAGO,WAAW,CADhC;IACD,IAAI,WAAW,CAAC,KAAK,EAAC,WAAW,EAMhC;;IAyBD,iBAAiB;CAKlB"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
+
import type { GridTemplate, GridTemplateItem } from "../types.js";
|
|
1
2
|
export type JBRowElements = {
|
|
2
3
|
expandWrapper: HTMLDivElement;
|
|
3
4
|
};
|
|
4
|
-
export type RowTemplateItem =
|
|
5
|
-
|
|
6
|
-
size?: string | number;
|
|
7
|
-
};
|
|
8
|
-
export type RowTemplate = RowTemplateItem[];
|
|
5
|
+
export type RowTemplateItem = GridTemplateItem;
|
|
6
|
+
export type RowTemplate = GridTemplate;
|
|
9
7
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/row/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,cAAc,CAAA;CAC9B,CAAA;AACD,MAAM,MAAM,eAAe,GAAG
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/row/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,cAAc,CAAA;CAC9B,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/row/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/row/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../lib/table-header/render.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,IAAI,MAAM,CAQnC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TableHeaderTemplate } from './types.js';
|
|
2
|
+
export * from "./types.js";
|
|
3
|
+
export declare class JBTableHeaderWebComponent extends HTMLElement {
|
|
4
|
+
#private;
|
|
5
|
+
get headerTemplate(): TableHeaderTemplate;
|
|
6
|
+
set headerTemplate(value: TableHeaderTemplate);
|
|
7
|
+
constructor();
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=table-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-header.d.ts","sourceRoot":"","sources":["../../lib/table-header/table-header.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD,cAAc,YAAY,CAAC;AAE3B,qBAAa,yBAA0B,SAAQ,WAAW;;IAIxD,IAAI,cAAc,IAIQ,mBAAmB,CAF5C;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAK5C;;CAuBF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/table-header/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GridTemplate } from "./types.js";
|
|
2
|
+
type CreateTemplateStylesheetOptions = {
|
|
3
|
+
selector: string;
|
|
4
|
+
autoModeVariableName?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function createTemplateStylesheet(sheet: CSSStyleSheet, template: GridTemplate | null, options: CreateTemplateStylesheetOptions): CSSStyleSheet;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,+BAA+B,GAAG;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,EAAE,+BAA+B,iBAsCrI"}
|
|
@@ -4,7 +4,8 @@ import { registerDefaultVariables } from 'jb-core/theme';
|
|
|
4
4
|
import type {JBCellElements} from './types.js';
|
|
5
5
|
|
|
6
6
|
export * from "./types.js";
|
|
7
|
-
export class JBCellWebComponent extends HTMLElement {
|
|
7
|
+
export class JBCellWebComponent extends HTMLElement {
|
|
8
|
+
#internals?: ElementInternals;
|
|
8
9
|
#elements!: JBCellElements;
|
|
9
10
|
#templateSheet = new CSSStyleSheet();
|
|
10
11
|
get name(){
|
|
@@ -19,9 +20,13 @@ export class JBCellWebComponent extends HTMLElement {
|
|
|
19
20
|
}
|
|
20
21
|
`);
|
|
21
22
|
}
|
|
22
|
-
constructor() {
|
|
23
|
-
super();
|
|
24
|
-
this
|
|
23
|
+
constructor() {
|
|
24
|
+
super();
|
|
25
|
+
if (typeof this.attachInternals === "function") {
|
|
26
|
+
this.#internals = this.attachInternals();
|
|
27
|
+
this.#internals.role = "cell";
|
|
28
|
+
}
|
|
29
|
+
this.#init();
|
|
25
30
|
}
|
|
26
31
|
#init() {
|
|
27
32
|
const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable:true, serializable:true });
|
|
@@ -47,4 +52,4 @@ export class JBCellWebComponent extends HTMLElement {
|
|
|
47
52
|
const myElementNotExists = !customElements.get('jb-cell');
|
|
48
53
|
if (myElementNotExists) {
|
|
49
54
|
window.customElements.define('jb-cell', JBCellWebComponent);
|
|
50
|
-
}
|
|
55
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@custom-media --tablet-until (max-width:
|
|
1
|
+
@custom-media --tablet-until (max-width: 48rem);
|
|
2
2
|
|
|
3
3
|
:host {
|
|
4
4
|
width: 100%;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
align-items: center;
|
|
15
15
|
justify-content: start;
|
|
16
16
|
gap: 0.5rem;
|
|
17
|
+
overflow-x: hidden;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
:host([ellipsis]:not([ellipsis="1"]):not([ellipsis=""])) {
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { renderHTML } from './render.js';
|
|
2
|
+
import CSS from './style.css';
|
|
3
|
+
import { registerDefaultVariables } from 'jb-core/theme';
|
|
4
|
+
import type { JBColumnHeaderElements, JBColumnHeaderSort, JBColumnHeaderSortEventDetail } from './types.js';
|
|
5
|
+
|
|
6
|
+
export * from "./types.js";
|
|
7
|
+
|
|
8
|
+
export class JBColumnHeaderWebComponent extends HTMLElement {
|
|
9
|
+
#internals?: ElementInternals;
|
|
10
|
+
#elements!: JBColumnHeaderElements;
|
|
11
|
+
#templateSheet = new CSSStyleSheet();
|
|
12
|
+
|
|
13
|
+
get name() {
|
|
14
|
+
return this.getAttribute("name") || "";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
set name(value: string) {
|
|
18
|
+
this.setAttribute("name", value);
|
|
19
|
+
this.#setGridArea(value);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
get sortable() {
|
|
23
|
+
return this.hasAttribute("sortable");
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
set sortable(value: boolean) {
|
|
27
|
+
if (value) {
|
|
28
|
+
this.setAttribute("sortable", "");
|
|
29
|
+
} else {
|
|
30
|
+
this.removeAttribute("sortable");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
get sort() {
|
|
35
|
+
return this.getAttribute("sort") as JBColumnHeaderSort | null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
set sort(value: JBColumnHeaderSort | null | undefined) {
|
|
39
|
+
if (value) {
|
|
40
|
+
this.setAttribute("sort", value);
|
|
41
|
+
if (this.#internals) this.#internals.ariaSort = value === "asc" ? "ascending" : "descending";
|
|
42
|
+
} else {
|
|
43
|
+
this.removeAttribute("sort");
|
|
44
|
+
if (this.#internals) this.#internals.ariaSort = "none";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
static get observedAttributes() {
|
|
49
|
+
return ["name"];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
constructor() {
|
|
53
|
+
super();
|
|
54
|
+
if (typeof this.attachInternals === "function") {
|
|
55
|
+
this.#internals = this.attachInternals();
|
|
56
|
+
this.#internals.role = "columnheader";
|
|
57
|
+
this.#internals.ariaSort = "none";
|
|
58
|
+
}
|
|
59
|
+
this.#init();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
#init() {
|
|
63
|
+
const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable: true, serializable: true });
|
|
64
|
+
shadowRoot.adoptedStyleSheets = [this.#templateSheet];
|
|
65
|
+
registerDefaultVariables();
|
|
66
|
+
this.#render();
|
|
67
|
+
this.#elements = {
|
|
68
|
+
wrapper: shadowRoot.querySelector(".column-header")!
|
|
69
|
+
};
|
|
70
|
+
this.#setGridArea(this.name);
|
|
71
|
+
this.#registerEventListener();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
#render() {
|
|
75
|
+
const html = `<style>${CSS}</style>\n${renderHTML()}`;
|
|
76
|
+
const element = document.createElement("template");
|
|
77
|
+
element.innerHTML = html;
|
|
78
|
+
this.shadowRoot!.appendChild(element.content.cloneNode(true));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
attributeChangedCallback(name: string, _oldValue: string | null, newValue: string | null) {
|
|
82
|
+
if (name === "name") {
|
|
83
|
+
this.#setGridArea(newValue || "");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
#registerEventListener() {
|
|
88
|
+
this.#elements.wrapper.addEventListener("click", () => this.#onClick());
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
#onClick() {
|
|
92
|
+
if (!this.sortable) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const newSort: JBColumnHeaderSort = this.sort === "asc" ? "desc" : "asc";
|
|
96
|
+
this.sort = newSort;
|
|
97
|
+
this.dispatchEvent(new CustomEvent<JBColumnHeaderSortEventDetail>("sort", {
|
|
98
|
+
bubbles: true,
|
|
99
|
+
composed: true,
|
|
100
|
+
detail: {
|
|
101
|
+
name: this.name,
|
|
102
|
+
sort: newSort
|
|
103
|
+
}
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
#setGridArea(value: string) {
|
|
108
|
+
this.#templateSheet.replace(`
|
|
109
|
+
:host{ grid-area:${value ? value : "none"}}
|
|
110
|
+
`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const myElementNotExists = !customElements.get('jb-col-header');
|
|
115
|
+
if (myElementNotExists) {
|
|
116
|
+
window.customElements.define('jb-col-header', JBColumnHeaderWebComponent);
|
|
117
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function renderHTML(): string {
|
|
2
|
+
return /* html */ `
|
|
3
|
+
<button class="column-header" part="button" type="button">
|
|
4
|
+
<span class="caption-wrapper" part="caption">
|
|
5
|
+
<slot name="title"></slot>
|
|
6
|
+
</span>
|
|
7
|
+
<span class="sort-icon-wrapper" part="sort-icon" aria-hidden="true">
|
|
8
|
+
<svg version="1.1" x="0px" y="0px" viewBox="0 0 31.479 31.479">
|
|
9
|
+
<path d="M26.477,10.274c0.444,0.444,0.444,1.143,0,1.587c-0.429,0.429-1.143,0.429-1.571,0l-8.047-8.047 v26.555c0,0.619-0.492,1.111-1.111,1.111c-0.619,0-1.127-0.492-1.127-1.111V3.813l-8.031,8.047c-0.444,0.429-1.159,0.429-1.587,0 c-0.444-0.444-0.444-1.143,0-1.587l9.952-9.952c0.429-0.429,1.143-0.429,1.571,0L26.477,10.274z" />
|
|
10
|
+
</svg>
|
|
11
|
+
</span>
|
|
12
|
+
</button>
|
|
13
|
+
`;
|
|
14
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
width: 100%;
|
|
3
|
+
max-width: 100%;
|
|
4
|
+
height: 100%;
|
|
5
|
+
display: block;
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.column-header {
|
|
10
|
+
all: unset;
|
|
11
|
+
width: 100%;
|
|
12
|
+
height: 100%;
|
|
13
|
+
min-height: 2rem;
|
|
14
|
+
padding: 0 1rem;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
color: inherit;
|
|
20
|
+
font: inherit;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:host([sortable]) .column-header {
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.caption-wrapper {
|
|
28
|
+
min-width: 0;
|
|
29
|
+
overflow: hidden;
|
|
30
|
+
text-overflow: ellipsis;
|
|
31
|
+
white-space: nowrap;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.sort-icon-wrapper {
|
|
35
|
+
display: none;
|
|
36
|
+
flex: 0 0 auto;
|
|
37
|
+
height: 1rem;
|
|
38
|
+
margin-inline-start: 4px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:host([sort]) .sort-icon-wrapper {
|
|
42
|
+
display: inline-flex;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.sort-icon-wrapper svg {
|
|
46
|
+
fill: #1e201d;
|
|
47
|
+
height: 1rem;
|
|
48
|
+
width: 1rem;
|
|
49
|
+
margin-top: 1px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:host([sort="asc"]) .sort-icon-wrapper svg {
|
|
53
|
+
transition: all 0.2s ease-out;
|
|
54
|
+
transform: rotate(0deg);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
:host([sort="desc"]) .sort-icon-wrapper svg {
|
|
58
|
+
transition: all 0.2s ease-out;
|
|
59
|
+
transform: rotate(180deg);
|
|
60
|
+
}
|