@mapcomponents/react-maplibre 0.1.81 → 0.1.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## [v0.1.82] - 2023-06-12
4
+
5
+ ### Fixed
6
+
7
+ - b89794a: remove mbTilesProtocolHandler from export to remove sql.js dependency as it breaks app builds
8
+
3
9
  ## [v0.1.81] - 2023-06-12
4
10
 
5
11
  ### Added
package/dist/index.d.ts CHANGED
@@ -50,7 +50,6 @@ export { default as useFilterData } from "./components/MlTemporalController/util
50
50
  export { default as useLayerContext } from "./hooks/useLayerContext";
51
51
  export { default as useFeatureEditor } from "./hooks/useFeatureEditor";
52
52
  export { default as useAddProtocol } from "./hooks/useAddProtocol/useAddProtocol";
53
- export { mbTilesProtocolHandler } from "./protocol_handlers/mbtiles";
54
53
  export { MapComponentsProvider } from "./contexts/MapContext";
55
54
  export { default as MapContext } from "./contexts/MapContext";
56
55
  export { default as SimpleDataProvider } from "./contexts/SimpleDataProvider";
package/dist/index.esm.js CHANGED
@@ -46,8 +46,6 @@ var PauseIcon = require('@mui/icons-material/Pause');
46
46
  var StopIcon = require('@mui/icons-material/Stop');
47
47
  var FastForwardIcon = require('@mui/icons-material/FastForward');
48
48
  var FastRewindIcon = require('@mui/icons-material/FastRewind');
49
- var initSqlJs = require('sql.js');
50
- var pako = require('pako');
51
49
  var d3 = require('d3');
52
50
  var TuneIcon = require('@mui/icons-material/Tune');
53
51
  var reactColor = require('react-color');
@@ -129,8 +127,6 @@ var PauseIcon__default = /*#__PURE__*/_interopDefaultLegacy(PauseIcon);
129
127
  var StopIcon__default = /*#__PURE__*/_interopDefaultLegacy(StopIcon);
130
128
  var FastForwardIcon__default = /*#__PURE__*/_interopDefaultLegacy(FastForwardIcon);
131
129
  var FastRewindIcon__default = /*#__PURE__*/_interopDefaultLegacy(FastRewindIcon);
132
- var initSqlJs__default = /*#__PURE__*/_interopDefaultLegacy(initSqlJs);
133
- var pako__namespace = /*#__PURE__*/_interopNamespace(pako);
134
130
  var d3__namespace = /*#__PURE__*/_interopNamespace(d3);
135
131
  var TuneIcon__default = /*#__PURE__*/_interopDefaultLegacy(TuneIcon);
136
132
  var ArrowCircleDownIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowCircleDownIcon);
@@ -6212,128 +6208,6 @@ useAddProtocol.defaultProps = {
6212
6208
  mapId: undefined,
6213
6209
  };
6214
6210
 
6215
- var loadedMbtiles = {};
6216
- var parseParams = function (url) {
6217
- var urlParts = url.split('://');
6218
- var mbtilesUrl = urlParts[1];
6219
- var mbtilesParts = mbtilesUrl.split('/');
6220
- var mbtilesPartsLength = mbtilesParts.length;
6221
- var y = mbtilesParts.splice(mbtilesPartsLength - 1, 1)[0];
6222
- var x = mbtilesParts.splice(mbtilesPartsLength - 2, 1)[0];
6223
- var z = mbtilesParts.splice(mbtilesPartsLength - 3, 1)[0];
6224
- var filename = mbtilesParts.join('/');
6225
- return {
6226
- filename: filename,
6227
- z: z,
6228
- x: x,
6229
- y: y,
6230
- };
6231
- };
6232
- // mbtiles files are sqlite databases. This function loads the database and returns a handler
6233
- // to work with sqlite databases in javascript we need to use sql.js.
6234
- // to make this work in your project make sure to copy sql-wasm.wasm to the file root of your public folder and
6235
- // add the following config to the externals prop of your webpack config
6236
- // {externals: { fs: 'fs' }};
6237
- var getMbtilesDbHandler = function (_a) {
6238
- var filename = _a.filename;
6239
- return __awaiter(void 0, void 0, void 0, function () {
6240
- var SQL, fetched, buf, db;
6241
- return __generator(this, function (_b) {
6242
- switch (_b.label) {
6243
- case 0:
6244
- if (!!loadedMbtiles[filename]) return [3 /*break*/, 4];
6245
- return [4 /*yield*/, initSqlJs__default["default"]()];
6246
- case 1:
6247
- SQL = _b.sent();
6248
- return [4 /*yield*/, fetch(filename)];
6249
- case 2:
6250
- fetched = _b.sent();
6251
- return [4 /*yield*/, fetched.arrayBuffer()];
6252
- case 3:
6253
- buf = _b.sent();
6254
- db = new SQL.Database(new Uint8Array(buf));
6255
- loadedMbtiles[filename] = db;
6256
- _b.label = 4;
6257
- case 4: return [2 /*return*/, loadedMbtiles[filename]];
6258
- }
6259
- });
6260
- });
6261
- };
6262
- /**
6263
- * Example usage:
6264
- * getBufferFromMbtiles({ filename: 'mbtiles/countries.mbtiles', z: '0', x: '0', y: '0' }).then(
6265
- * (result) => {
6266
- * console.log(result);
6267
- * }
6268
- * );
6269
- */
6270
- function getBufferFromMbtiles(params) {
6271
- return __awaiter(this, void 0, void 0, function () {
6272
- var db, query;
6273
- return __generator(this, function (_a) {
6274
- switch (_a.label) {
6275
- case 0: return [4 /*yield*/, getMbtilesDbHandler(params)];
6276
- case 1:
6277
- db = _a.sent();
6278
- query = 'SELECT tile_data FROM tiles WHERE zoom_level = ' +
6279
- params.z +
6280
- ' AND tile_column = ' +
6281
- params.x +
6282
- ' AND tile_row = ' +
6283
- (Math.pow(2, parseInt(params.z)) - parseInt(params.y) - 1);
6284
- return [2 /*return*/, new Promise(function (resolve, reject) {
6285
- try {
6286
- // some of the logic here was heavily inspired by
6287
- // https://github.com/IsraelHikingMap/Site/blob/6aa2ec0cfb8891fa048b1d9e2a4fc7d4cbcc8c97/IsraelHiking.Web/src/application/services/database.service.ts
6288
- var result = db.exec(query);
6289
- if (result.length !== 1) {
6290
- reject(new Error('Tile not found.'));
6291
- return;
6292
- }
6293
- var resultData = result[0].values[0][0];
6294
- var binData = void 0;
6295
- var isGzipped = resultData[0] === 0x1f && resultData[1] === 0x8b;
6296
- if (isGzipped) {
6297
- binData = pako__namespace.inflate(resultData);
6298
- }
6299
- else {
6300
- binData = resultData;
6301
- }
6302
- if (binData === null || binData === void 0 ? void 0 : binData.buffer) {
6303
- resolve(binData.buffer);
6304
- }
6305
- else {
6306
- reject(new Error('Tile not found.'));
6307
- return;
6308
- }
6309
- }
6310
- catch (error) {
6311
- reject(error);
6312
- }
6313
- })];
6314
- }
6315
- });
6316
- });
6317
- }
6318
- /**
6319
- * Expects a tile url in the following format:
6320
- *
6321
- * 'mbtiles://mbtiles/countries.mbtiles/{z}/{x}/{y}'
6322
- */
6323
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6324
- var mbTilesProtocolHandler = function (params, callback) {
6325
- var parsedParams = parseParams(params.url);
6326
- getBufferFromMbtiles(parsedParams).then(function (result) {
6327
- if (result) {
6328
- callback(null, result, null, null);
6329
- }
6330
- else {
6331
- callback(new Error('Tile not found'));
6332
- }
6333
- });
6334
- return { cancel: function () { } };
6335
- };
6336
-
6337
6211
  var SimpleDataContext = /*#__PURE__*/React__default["default"].createContext({});
6338
6212
  var SimpleDataContextProvider = SimpleDataContext.Provider;
6339
6213
 
@@ -20078,7 +19952,6 @@ exports.TopToolbar = TopToolbar;
20078
19952
  exports.UploadButton = UploadButton;
20079
19953
  exports.WmsLayerForm = WmsLayerForm;
20080
19954
  exports.getTheme = getTheme;
20081
- exports.mbTilesProtocolHandler = mbTilesProtocolHandler;
20082
19955
  exports.useAddProtocol = useAddProtocol;
20083
19956
  exports.useCameraFollowPath = useCameraFollowPath;
20084
19957
  exports.useExportMap = useExportMap;