@aquera/nile-elements 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +5 -0
  2. package/demo/nxtgen-dark.css +2 -2
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +812 -465
  6. package/dist/nile-timestamp-builder/index.cjs.js +2 -0
  7. package/dist/nile-timestamp-builder/index.cjs.js.map +1 -0
  8. package/dist/nile-timestamp-builder/index.esm.js +1 -0
  9. package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.cjs.js +2 -0
  10. package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.cjs.js.map +1 -0
  11. package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.esm.js +1 -0
  12. package/dist/nile-timestamp-builder/nile-timestamp-builder.cjs.js +2 -0
  13. package/dist/nile-timestamp-builder/nile-timestamp-builder.cjs.js.map +1 -0
  14. package/dist/nile-timestamp-builder/nile-timestamp-builder.css.cjs.js +2 -0
  15. package/dist/nile-timestamp-builder/nile-timestamp-builder.css.cjs.js.map +1 -0
  16. package/dist/nile-timestamp-builder/nile-timestamp-builder.css.esm.js +195 -0
  17. package/dist/nile-timestamp-builder/nile-timestamp-builder.esm.js +154 -0
  18. package/dist/nile-timestamp-builder/timezones.cjs.js +2 -0
  19. package/dist/nile-timestamp-builder/timezones.cjs.js.map +1 -0
  20. package/dist/nile-timestamp-builder/timezones.esm.js +1 -0
  21. package/dist/src/index.d.ts +1 -0
  22. package/dist/src/index.js +1 -0
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/nile-timestamp-builder/index.d.ts +1 -0
  25. package/dist/src/nile-timestamp-builder/index.js +2 -0
  26. package/dist/src/nile-timestamp-builder/index.js.map +1 -0
  27. package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.d.ts +54 -0
  28. package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.js +254 -0
  29. package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.js.map +1 -0
  30. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.d.ts +7 -0
  31. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.js +203 -0
  32. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.js.map +1 -0
  33. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.d.ts +94 -0
  34. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.js +578 -0
  35. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.js.map +1 -0
  36. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.d.ts +1 -0
  37. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.js +890 -0
  38. package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.js.map +1 -0
  39. package/dist/src/nile-timestamp-builder/timezones.d.ts +8 -0
  40. package/dist/src/nile-timestamp-builder/timezones.js +357 -0
  41. package/dist/src/nile-timestamp-builder/timezones.js.map +1 -0
  42. package/dist/src/version.js +2 -2
  43. package/dist/src/version.js.map +1 -1
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +1 -1
  46. package/src/index.ts +1 -0
  47. package/src/nile-timestamp-builder/index.ts +1 -0
  48. package/src/nile-timestamp-builder/nile-timestamp-builder-utils.ts +321 -0
  49. package/src/nile-timestamp-builder/nile-timestamp-builder.css.ts +204 -0
  50. package/src/nile-timestamp-builder/nile-timestamp-builder.test.ts +1089 -0
  51. package/src/nile-timestamp-builder/nile-timestamp-builder.ts +625 -0
  52. package/src/nile-timestamp-builder/timezones.ts +356 -0
  53. package/vscode-html-custom-data.json +92 -0
@@ -0,0 +1,2 @@
1
+ System.register(["./nile-timestamp-builder.cjs.js","tslib","lit","lit/decorators.js","lit/directives/class-map.js","./nile-timestamp-builder.css.cjs.js","../internal/nile-element.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js","../internal/form.cjs.js","../internal/default-value.cjs.js","./nile-timestamp-builder-utils.cjs.js","./timezones.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_nileTimestampBuilderCjsJs){_export("NileTimestampBuilder",_nileTimestampBuilderCjsJs.N);},function(_tslib){},function(_lit){},function(_litDecoratorsJs){},function(_litDirectivesClassMapJs){},function(_nileTimestampBuilderCssCjsJs){},function(_internalNileElementCjsJs){},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_internalFormCjsJs){},function(_internalDefaultValueCjsJs){},function(_nileTimestampBuilderUtilsCjsJs){},function(_timezonesCjsJs){}],execute:function execute(){}};});
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export{N as NileTimestampBuilder}from"./nile-timestamp-builder.esm.js";import"tslib";import"lit";import"lit/decorators.js";import"lit/directives/class-map.js";import"./nile-timestamp-builder.css.esm.js";import"../internal/nile-element.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";import"../internal/form.esm.js";import"../internal/default-value.esm.js";import"./nile-timestamp-builder-utils.esm.js";import"./timezones.esm.js";
@@ -0,0 +1,2 @@
1
+ function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["./timezones.cjs.js"],function(_export,_context){"use strict";var n,t,h,d;function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var n=0,F=function F(){};return{s:F,n:function(_n3){function n(){return _n3.apply(this,arguments);}n.toString=function(){return _n3.toString();};return n;}(function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]};}),e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function e(){return void 0!==globalThis.Temporal;}function r(){try{var _n=Intl.supportedValuesOf;if("function"==typeof _n){var _t=_n("timeZone");if(Array.isArray(_t)&&_t.length>0)return _t;}}catch(_unused){}return _toConsumableArray(n);}function o(){try{var _n2=Intl.DateTimeFormat().resolvedOptions().timeZone;if(_n2&&u(_n2))return _n2;}catch(_unused2){}return"UTC";}function u(n){if(!n||"string"!=typeof n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0;}catch(_unused3){return!1;}}function i(n,t){return new Date(Date.UTC(n,t,0)).getUTCDate();}function a(n,t,e){return Number.isNaN(n)?t:Math.min(e,Math.max(t,n));}function c(n,t,e){var r=a(Math.trunc(n.year),t,e),o=a(Math.trunc(n.month),1,12);return{year:r,month:o,day:a(Math.trunc(n.day),1,i(r,o)),hour:a(Math.trunc(n.hour),0,23),minute:a(Math.trunc(n.minute),0,59),second:a(Math.trunc(n.second),0,59),millisecond:a(Math.trunc(n.millisecond),0,999)};}function s(n){var t=function t(n,_t2){return String(Math.abs(n)).padStart(_t2,"0");};return"".concat(t(n.year,4),"-").concat(t(n.month,2),"-").concat(t(n.day,2)," ").concat(t(n.hour,2),":").concat(t(n.minute,2),":").concat(t(n.second,2),".").concat(t(n.millisecond,3));}function f(n,t){if(e()){var _e=globalThis.Temporal.Instant.fromEpochMilliseconds(n).toZonedDateTimeISO(t);return{year:_e.year,month:_e.month,day:_e.day,hour:_e.hour,minute:_e.minute,second:_e.second,millisecond:_e.millisecond};}return function(n,t){var e=l(n,t),r=(n%1e3+1e3)%1e3;return _objectSpread(_objectSpread({},e),{},{millisecond:r});}(n,t);}function l(n,t){var e=new Intl.DateTimeFormat("en-US",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}),r={};var _iterator=_createForOfIteratorHelper(e.formatToParts(new Date(n))),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _t3=_step.value;"literal"!==_t3.type&&(r[_t3.type]=Number(_t3.value));}}catch(err){_iterator.e(err);}finally{_iterator.f();}var o=24===r.hour?0:r.hour;return{year:r.year,month:r.month,day:r.day,hour:o,minute:r.minute,second:r.second};}function m(n,t){var e=l(n,t),r=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second)-1e3*Math.floor(n/1e3);return 1e3*Math.round(r/1e3);}function $(n){var t=d.exec(n.trim());if(!t)return null;var _t4=_slicedToArray(t,4),e=_t4[1],r=_t4[2],o=_t4[3],i=new Date("".concat(e).concat(r));return Number.isNaN(i.getTime())||!u(o)||m(i.getTime(),o)!==function(n){return("-"===n[0]?-1:1)*(36e5*Number(n.slice(1,3))+6e4*Number(n.slice(4,6)));}(r)?null:{date:i,timezone:o};}function y(n){if(null==n)return null;var t=function t(n){return Number.isNaN(n.getTime())?null:n;};if(n instanceof Date)return t(n);if("number"==typeof n)return Number.isFinite(n)?t(new Date(n)):null;var e=n.trim();if(""===e)return null;var r=$(e);return r?r.date:/^-?\d+$/.test(e)?t(new Date(Number(e))):t(new Date(e));}function M(n,t){var e=b(n,t),r=6e4*Math.round(m(e,t)/6e4),o=function o(n){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:2;return String(Math.abs(n)).padStart(t,"0");},u=r>=0?"+":"-",i=Math.abs(r),a=Math.floor(i/36e5),c=Math.floor(i%36e5/6e4),s="".concat(u).concat(o(a),":").concat(o(c)),f=t||"UTC";return"".concat(o(n.year,4),"-").concat(o(n.month,2),"-").concat(o(n.day,2),"T").concat(o(n.hour,2),":").concat(o(n.minute,2),":").concat(o(n.second,2),".").concat(o(n.millisecond,3),"[GMT").concat(s," ").concat(f,"]");}function b(n,t){if(e()){return globalThis.Temporal.ZonedDateTime.from({year:n.year,month:n.month,day:n.day,hour:n.hour,minute:n.minute,second:n.second,millisecond:n.millisecond,timeZone:t},{disambiguation:"compatible"}).epochMilliseconds;}return function(n,t){var e=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond),r=m(e,t),o=e-r,u=m(o,t);if(r===u)return o;return e-u;}(n,t);}_export({a:r,b:b,c:c,d:s,e:f,f:M,g:o,h:i,i:u,n:y,p:$,T:void 0});return{setters:[function(_timezonesCjsJs){n=_timezonesCjsJs.T;}],execute:function execute(){!function(n){n.Year="year",n.Month="month",n.Day="day",n.Hour="hour",n.Minute="minute",n.Second="second",n.Millisecond="millisecond";}(t||_export("T",t={}));_export("E",h=f(0,"UTC"));d=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)\[GMT([+-]\d{2}:\d{2}) ([^\]]+)\]$/;}};});
2
+ //# sourceMappingURL=nile-timestamp-builder-utils.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-timestamp-builder-utils.cjs.js","sources":["../../../src/nile-timestamp-builder/nile-timestamp-builder-utils.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2026\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Timezone-aware wall-clock helpers for `nile-timestamp-builder`.\n * ALL Temporal / Intl branching lives in this module. The component must never\n * call `Intl.DateTimeFormat` or `Temporal` inline — it always goes through here.\n */\n\nimport { TIMEZONES } from './timezones';\n\n/** The editable wall-clock fields exposed by `nile-timestamp-builder`. */\nexport enum TimestampField {\n Year = 'year',\n Month = 'month',\n Day = 'day',\n Hour = 'hour',\n Minute = 'minute',\n Second = 'second',\n Millisecond = 'millisecond',\n}\n\nexport interface WallClock {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n millisecond: number;\n}\n\nexport function hasTemporal(): boolean {\n return typeof (globalThis as any).Temporal !== 'undefined';\n}\n\n/** Returns the list of supported IANA timezones using Intl or the bundled fallback list. */\nexport function getTimezoneList(): string[] {\n try {\n const supportedValuesOf = (Intl as any).supportedValuesOf;\n if (typeof supportedValuesOf === 'function') {\n const list = supportedValuesOf('timeZone') as string[];\n if (Array.isArray(list) && list.length > 0) {\n return list;\n }\n }\n } catch {\n }\n return [...TIMEZONES];\n}\n\n/** Resolves the runtime's local IANA timezone, falling back to `UTC`. */\nexport function getLocalTimeZone(): string {\n try {\n const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;\n if (tz && isValidTimeZone(tz)) {\n return tz;\n }\n } catch {\n }\n return 'UTC';\n}\n\n/** Returns true when `tz` is a timezone identifier the runtime can format. */\nexport function isValidTimeZone(tz: string): boolean {\n if (!tz || typeof tz !== 'string') {\n return false;\n }\n try {\n new Intl.DateTimeFormat('en-US', { timeZone: tz });\n return true;\n } catch {\n return false;\n }\n}\n\nexport function daysInMonth(year: number, month: number): number {\n return new Date(Date.UTC(year, month, 0)).getUTCDate();\n}\n\n/** Clamps `value` into `[min, max]`; `NaN` collapses to `min`. */\nexport function clampField(value: number, min: number, max: number): number {\n if (Number.isNaN(value)) {\n return min;\n }\n return Math.min(max, Math.max(min, value));\n}\n\nexport function clampWallClock(\n w: WallClock,\n minYear: number,\n maxYear: number\n): WallClock {\n const year = clampField(Math.trunc(w.year), minYear, maxYear);\n const month = clampField(Math.trunc(w.month), 1, 12);\n const day = clampField(Math.trunc(w.day), 1, daysInMonth(year, month));\n const hour = clampField(Math.trunc(w.hour), 0, 23);\n const minute = clampField(Math.trunc(w.minute), 0, 59);\n const second = clampField(Math.trunc(w.second), 0, 59);\n const millisecond = clampField(Math.trunc(w.millisecond), 0, 999);\n return { year, month, day, hour, minute, second, millisecond };\n}\n\n/** Formats a wall-clock as `YYYY-MM-DD HH:mm:ss.SSS` with zero padding. */\nexport function formatWallClock(w: WallClock): string {\n const pad = (n: number, len: number) =>\n String(Math.abs(n)).padStart(len, '0');\n const y = pad(w.year, 4);\n const mo = pad(w.month, 2);\n const d = pad(w.day, 2);\n const h = pad(w.hour, 2);\n const mi = pad(w.minute, 2);\n const s = pad(w.second, 2);\n const ms = pad(w.millisecond, 3);\n return `${y}-${mo}-${d} ${h}:${mi}:${s}.${ms}`;\n}\n\n/** Converts an epoch (ms) into the wall-clock fields observed in `tz`. Uses Temporal when present, otherwise an `Intl.DateTimeFormat` fallback. */\nexport function epochToFields(epochMs: number, tz: string): WallClock {\n if (hasTemporal()) {\n const Temporal = (globalThis as any).Temporal;\n const zdt =\n Temporal.Instant.fromEpochMilliseconds(epochMs).toZonedDateTimeISO(tz);\n return {\n year: zdt.year,\n month: zdt.month,\n day: zdt.day,\n hour: zdt.hour,\n minute: zdt.minute,\n second: zdt.second,\n millisecond: zdt.millisecond,\n };\n }\n return intlEpochToFields(epochMs, tz);\n}\n\n/** Neutral wall-clock placeholder: the Unix epoch (`1970-01-01T00:00:00.000`) read in UTC.*/\nexport const EPOCH_WALLCLOCK: WallClock = epochToFields(0, 'UTC');\n\nfunction intlEpochToFields(epochMs: number, tz: string): WallClock {\n const parts = formatEpochParts(epochMs, tz);\n const millisecond = ((epochMs % 1000) + 1000) % 1000;\n return { ...parts, millisecond };\n}\n\n/** Extracts numeric y/mo/d/h/mi/s parts of `epochMs` in `tz` (h23, no ms). */\nfunction formatEpochParts(\n epochMs: number,\n tz: string\n): Omit<WallClock, 'millisecond'> {\n const formatter = new Intl.DateTimeFormat('en-US', {\n timeZone: tz,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hourCycle: 'h23',\n });\n\n const map: Record<string, number> = {};\n for (const part of formatter.formatToParts(new Date(epochMs))) {\n if (part.type !== 'literal') {\n map[part.type] = Number(part.value);\n }\n }\n\n // `hourCycle: 'h23'` can still surface hour 24 for midnight in some engines.\n const hour = map.hour === 24 ? 0 : map.hour;\n\n return {\n year: map.year,\n month: map.month,\n day: map.day,\n hour,\n minute: map.minute,\n second: map.second,\n };\n}\n\n/** Returns the timezone offset (ms) */\nexport function getTimeZoneOffsetMs(epochMs: number, tz: string): number {\n const parts = formatEpochParts(epochMs, tz);\n const asIfUTC = Date.UTC(\n parts.year,\n parts.month - 1,\n parts.day,\n parts.hour,\n parts.minute,\n parts.second\n );\n const epochSeconds = Math.floor(epochMs / 1000) * 1000;\n const offset = asIfUTC - epochSeconds;\n return Math.round(offset / 1000) * 1000;\n}\n\nconst ZONED_VALUE_RE =\n /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?)\\[GMT([+-]\\d{2}:\\d{2}) ([^\\]]+)\\]$/;\n\n/** Converts a `±HH:MM` offset from {@link ZONED_VALUE_RE} into milliseconds. */\nfunction offsetStringToMs(offset: string): number {\n const sign = offset[0] === '-' ? -1 : 1;\n return (\n sign * (Number(offset.slice(1, 3)) * 3600000 + Number(offset.slice(4, 6)) * 60000)\n );\n}\n\nexport function parseZonedValue(\n input: string\n): { date: Date; timezone: string } | null {\n const match = ZONED_VALUE_RE.exec(input.trim());\n if (!match) {\n return null;\n }\n const [, iso, offset, timezone] = match;\n const date = new Date(`${iso}${offset}`);\n if (Number.isNaN(date.getTime()) || !isValidTimeZone(timezone)) {\n return null;\n }\n if (\n getTimeZoneOffsetMs(date.getTime(), timezone) !== offsetStringToMs(offset)\n ) {\n return null;\n }\n return { date, timezone };\n}\n\n/** Normalizes supported `value` inputs into epoch milliseconds, or `null` if invalid. */\nexport function normalizeValueInput(\n input: Date | number | string | null | undefined\n): Date | null {\n if (input === null || input === undefined) {\n return null;\n }\n const valid = (d: Date) => (Number.isNaN(d.getTime()) ? null : d);\n if (input instanceof Date) {\n return valid(input);\n }\n if (typeof input === 'number') {\n return Number.isFinite(input) ? valid(new Date(input)) : null;\n }\n const trimmed = input.trim();\n if (trimmed === '') {\n return null;\n }\n const zoned = parseZonedValue(trimmed);\n if (zoned) {\n return zoned.date;\n }\n if (/^-?\\d+$/.test(trimmed)) {\n return valid(new Date(Number(trimmed)));\n }\n return valid(new Date(trimmed));\n}\n\n/** Serializes a wall-clock into a zone-encoded string preserving its offset and IANA timezone. */\nexport function formatZonedValue(w: WallClock, tz: string): string {\n const epoch = fieldsToEpoch(w, tz);\n const offsetMs = Math.round(getTimeZoneOffsetMs(epoch, tz) / 60000) * 60000;\n const pad = (n: number, len = 2) => String(Math.abs(n)).padStart(len, '0');\n const sign = offsetMs >= 0 ? '+' : '-';\n const abs = Math.abs(offsetMs);\n const offH = Math.floor(abs / 3600000);\n const offM = Math.floor((abs % 3600000) / 60000);\n const off = `${sign}${pad(offH)}:${pad(offM)}`;\n const zone = tz || 'UTC';\n const y = pad(w.year, 4);\n const mo = pad(w.month, 2);\n const d = pad(w.day, 2);\n const h = pad(w.hour, 2);\n const mi = pad(w.minute, 2);\n const s = pad(w.second, 2);\n const ms = pad(w.millisecond, 3);\n return `${y}-${mo}-${d}T${h}:${mi}:${s}.${ms}[GMT${off} ${zone}]`;\n}\n\n/** Converts wall-clock fields in `tz` to epoch milliseconds. */\nexport function fieldsToEpoch(w: WallClock, tz: string): number {\n if (hasTemporal()) {\n const Temporal = (globalThis as any).Temporal;\n const zdt = Temporal.ZonedDateTime.from(\n {\n year: w.year,\n month: w.month,\n day: w.day,\n hour: w.hour,\n minute: w.minute,\n second: w.second,\n millisecond: w.millisecond,\n timeZone: tz,\n },\n { disambiguation: 'compatible' }\n );\n return zdt.epochMilliseconds;\n }\n return intlFieldsToEpoch(w, tz);\n}\n\nfunction intlFieldsToEpoch(w: WallClock, tz: string): number {\n const asUTC = Date.UTC(\n w.year,\n w.month - 1,\n w.day,\n w.hour,\n w.minute,\n w.second,\n w.millisecond\n );\n const offset0 = getTimeZoneOffsetMs(asUTC, tz);\n const guess = asUTC - offset0;\n const offset1 = getTimeZoneOffsetMs(guess, tz);\n if (offset0 === offset1) {\n return guess;\n }\n return asUTC - offset1;\n}\n"],"names":["hasTemporal","globalThis","Temporal","getTimezoneList","r","supportedValuesOf","Intl","list","Array","isArray","length","_unused","_toConsumableArray","TIMEZONES","getLocalTimeZone","tz","DateTimeFormat","resolvedOptions","timeZone","isValidTimeZone","_unused2","_unused3","daysInMonth","year","month","Date","UTC","getUTCDate","clampField","value","min","max","Number","isNaN","Math","clampWallClock","w","minYear","maxYear","trunc","day","hour","minute","second","millisecond","formatWallClock","pad","n","len","String","abs","padStart","concat","epochToFields","epochMs","zdt","Instant","fromEpochMilliseconds","toZonedDateTimeISO","parts","formatEpochParts","_objectSpread","intlEpochToFields","formatter","hourCycle","map","_iterator","_createForOfIteratorHelper","formatToParts","s","_step","done","part","type","err","e","f","getTimeZoneOffsetMs","offset","floor","round","parseZonedValue","input","match","ZONED_VALUE_RE","exec","trim","_t4","_slicedToArray","date","iso","timezone","getTime","slice","offsetStringToMs","normalizeValueInput","valid","d","isFinite","trimmed","zoned","test","formatZonedValue","epoch","fieldsToEpoch","offsetMs","sign","offH","offM","off","zone","ZonedDateTime","from","disambiguation","epochMilliseconds","asUTC","offset0","guess","offset1","intlFieldsToEpoch","_export","a","TimestampField","Year","Month","Day","Hour","Minute","Second","Millisecond","EPOCH_WALLCLOCK"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{T as n}from"./timezones.esm.js";var t;function e(){return void 0!==globalThis.Temporal}function r(){try{const n=Intl.supportedValuesOf;if("function"==typeof n){const t=n("timeZone");if(Array.isArray(t)&&t.length>0)return t}}catch{}return[...n]}function o(){try{const n=Intl.DateTimeFormat().resolvedOptions().timeZone;if(n&&u(n))return n}catch{}return"UTC"}function u(n){if(!n||"string"!=typeof n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0}catch{return!1}}function i(n,t){return new Date(Date.UTC(n,t,0)).getUTCDate()}function a(n,t,e){return Number.isNaN(n)?t:Math.min(e,Math.max(t,n))}function c(n,t,e){const r=a(Math.trunc(n.year),t,e),o=a(Math.trunc(n.month),1,12);return{year:r,month:o,day:a(Math.trunc(n.day),1,i(r,o)),hour:a(Math.trunc(n.hour),0,23),minute:a(Math.trunc(n.minute),0,59),second:a(Math.trunc(n.second),0,59),millisecond:a(Math.trunc(n.millisecond),0,999)}}function s(n){const t=(n,t)=>String(Math.abs(n)).padStart(t,"0");return`${t(n.year,4)}-${t(n.month,2)}-${t(n.day,2)} ${t(n.hour,2)}:${t(n.minute,2)}:${t(n.second,2)}.${t(n.millisecond,3)}`}function f(n,t){if(e()){const e=globalThis.Temporal.Instant.fromEpochMilliseconds(n).toZonedDateTimeISO(t);return{year:e.year,month:e.month,day:e.day,hour:e.hour,minute:e.minute,second:e.second,millisecond:e.millisecond}}return function(n,t){const e=l(n,t),r=(n%1e3+1e3)%1e3;return{...e,millisecond:r}}(n,t)}!function(n){n.Year="year",n.Month="month",n.Day="day",n.Hour="hour",n.Minute="minute",n.Second="second",n.Millisecond="millisecond"}(t||(t={}));const h=f(0,"UTC");function l(n,t){const e=new Intl.DateTimeFormat("en-US",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}),r={};for(const t of e.formatToParts(new Date(n)))"literal"!==t.type&&(r[t.type]=Number(t.value));const o=24===r.hour?0:r.hour;return{year:r.year,month:r.month,day:r.day,hour:o,minute:r.minute,second:r.second}}function m(n,t){const e=l(n,t),r=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second)-1e3*Math.floor(n/1e3);return 1e3*Math.round(r/1e3)}const d=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)\[GMT([+-]\d{2}:\d{2}) ([^\]]+)\]$/;function $(n){const t=d.exec(n.trim());if(!t)return null;const[,e,r,o]=t,i=new Date(`${e}${r}`);return Number.isNaN(i.getTime())||!u(o)||m(i.getTime(),o)!==function(n){return("-"===n[0]?-1:1)*(36e5*Number(n.slice(1,3))+6e4*Number(n.slice(4,6)))}(r)?null:{date:i,timezone:o}}function y(n){if(null==n)return null;const t=n=>Number.isNaN(n.getTime())?null:n;if(n instanceof Date)return t(n);if("number"==typeof n)return Number.isFinite(n)?t(new Date(n)):null;const e=n.trim();if(""===e)return null;const r=$(e);return r?r.date:/^-?\d+$/.test(e)?t(new Date(Number(e))):t(new Date(e))}function M(n,t){const e=b(n,t),r=6e4*Math.round(m(e,t)/6e4),o=(n,t=2)=>String(Math.abs(n)).padStart(t,"0"),u=r>=0?"+":"-",i=Math.abs(r),a=Math.floor(i/36e5),c=Math.floor(i%36e5/6e4),s=`${u}${o(a)}:${o(c)}`,f=t||"UTC";return`${o(n.year,4)}-${o(n.month,2)}-${o(n.day,2)}T${o(n.hour,2)}:${o(n.minute,2)}:${o(n.second,2)}.${o(n.millisecond,3)}[GMT${s} ${f}]`}function b(n,t){if(e()){return globalThis.Temporal.ZonedDateTime.from({year:n.year,month:n.month,day:n.day,hour:n.hour,minute:n.minute,second:n.second,millisecond:n.millisecond,timeZone:t},{disambiguation:"compatible"}).epochMilliseconds}return function(n,t){const e=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond),r=m(e,t),o=e-r,u=m(o,t);if(r===u)return o;return e-u}(n,t)}export{h as E,t as T,r as a,b,c,s as d,f as e,M as f,o as g,i as h,u as i,y as n,$ as p};
@@ -0,0 +1,2 @@
1
+ function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","lit/directives/class-map.js","./nile-timestamp-builder.css.cjs.js","../internal/nile-element.cjs.js","../internal/form.cjs.js","../internal/default-value.cjs.js","./nile-timestamp-builder-utils.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js","./timezones.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,l,n,a,h,r,o,u,d,c,p,b,m,v,y,$,f,g,_,z,j,w,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7,_templateObject8,_C,k;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value;}catch(n){return void e(n);}i.done?t(u):Promise.resolve(u).then(r,o);}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n);}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n);}_next(void 0);});};}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){i=_lit.html;s=_lit.nothing;},function(_litDecoratorsJs){e=_litDecoratorsJs.query;l=_litDecoratorsJs.property;n=_litDecoratorsJs.state;a=_litDecoratorsJs.customElement;},function(_litDirectivesClassMapJs){h=_litDirectivesClassMapJs.classMap;},function(_nileTimestampBuilderCssCjsJs){r=_nileTimestampBuilderCssCjsJs.s;},function(_internalNileElementCjsJs){o=_internalNileElementCjsJs.N;},function(_internalFormCjsJs){u=_internalFormCjsJs.F;},function(_internalDefaultValueCjsJs){d=_internalDefaultValueCjsJs.d;},function(_nileTimestampBuilderUtilsCjsJs){c=_nileTimestampBuilderUtilsCjsJs.g;p=_nileTimestampBuilderUtilsCjsJs.E;b=_nileTimestampBuilderUtilsCjsJs.e;m=_nileTimestampBuilderUtilsCjsJs.f;v=_nileTimestampBuilderUtilsCjsJs.p;y=_nileTimestampBuilderUtilsCjsJs.i;$=_nileTimestampBuilderUtilsCjsJs.n;f=_nileTimestampBuilderUtilsCjsJs.a;g=_nileTimestampBuilderUtilsCjsJs.b;_=_nileTimestampBuilderUtilsCjsJs.c;z=_nileTimestampBuilderUtilsCjsJs.d;j=_nileTimestampBuilderUtilsCjsJs.h;w=_nileTimestampBuilderUtilsCjsJs.T;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_timezonesCjsJs){}],execute:function execute(){_export("N",k=_C=/*#__PURE__*/function(_o){function C(){var _this;_classCallCheck(this,C);_this=_callSuper(this,C,arguments),_this.formControlController=null,_this.internalValueUpdate=!1,_this.internalTimezoneUpdate=!1,_this._value=null,_this.defaultValue=null,_this.timezone=c(),_this.name="",_this.disabled=!1,_this.required=!1,_this.readonly=!1,_this.copyable=!1,_this.form="",_this.open=!1,_this.label="",_this.minYear=1,_this.maxYear=9999,_this.wallClock=p,_this.timezoneList=[],_this.hasValue=!1,_this.justCopied=!1,_this.handleSetNow=function(){if(_this.disabled||_this.readonly)return;var t=Date.now();_this.wallClock=b(t,_this.timezone),_this.commit();},_this.handleCopy=/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var t;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(_this.disabled||!_this.hasValue)){_context2.next=2;break;}return _context2.abrupt("return");case 2:t=m(_this.wallClock,_this.timezone);_context2.prev=3;_context2.next=6;return navigator.clipboard.writeText(t);case 6:_context2.next=11;break;case 8:_context2.prev=8;_context2.t0=_context2["catch"](3);return _context2.abrupt("return",void _this.emit("nile-copy-error",{value:t}));case 11:_this.justCopied=!0,window.clearTimeout(_this.copiedTimer),_this.copiedTimer=window.setTimeout(function(){_this.justCopied=!1;},_C.COPIED_FEEDBACK_MS),_this.emit("nile-copy",{value:t});case 12:case"end":return _context2.stop();}},_callee,null,[[3,8]]);})),_this.handleStageNow=function(){if(_this.disabled||_this.readonly)return;var t=Date.now();_this.wallClock=b(t,_this.timezone),_this.emit("nile-input",_this.liveDetail());},_this.handleUseLocalTz=function(){_this.disabled||_this.readonly||(_this.internalTimezoneUpdate=!0,_this.timezone=c(),_this.emit("nile-input",_this.liveDetail()));},_this.handleUseUtc=function(){_this.disabled||_this.readonly||(_this.internalTimezoneUpdate=!0,_this.timezone="UTC",_this.emit("nile-input",_this.liveDetail()));},_this.lastTapAt=0,_this.copiedTimer=0,_this.handleDisplayDoubleClick=function(){_this.handleEdit();},_this.handleDisplayPointerUp=function(t){if("mouse"===t.pointerType)return;var i=Date.now();if(i-_this.lastTapAt<=_C.DOUBLE_TAP_MS)return _this.lastTapAt=0,void _this.handleEdit();_this.lastTapAt=i;},_this.handleDisplayKeyDown=function(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),_this.handleEdit());},_this.handleEdit=function(){_this.disabled||_this.readonly||_this.open||(null===_this.value&&(_this.wallClock=b(Date.now(),_this.timezone)),_this.open=!0,_this.emit("nile-expand",{open:!0}));},_this.handleDone=function(){_this.open=!1,_this.commit(),_this.emit("nile-collapse",{open:!1});};return _this;}_inherits(C,_o);return _createClass(C,[{key:"value",get:function get(){return this._value;},set:function set(t){if("string"==typeof t){var _i=v(t);_i&&y(_i.timezone)&&(this.timezone=_i.timezone);}var i=this._value,s=$(t);(s===null||s===void 0?void 0:s.getTime())!==(i===null||i===void 0?void 0:i.getTime())?(this._value=s,this.requestUpdate("value",i)):this.internalValueUpdate=!1;}},{key:"validity",get:function get(){var _this$valueInput;return(_this$valueInput=this.valueInput)===null||_this$valueInput===void 0?void 0:_this$valueInput.validity;}},{key:"validationMessage",get:function get(){var _this$valueInput$vali,_this$valueInput2;return(_this$valueInput$vali=(_this$valueInput2=this.valueInput)===null||_this$valueInput2===void 0?void 0:_this$valueInput2.validationMessage)!==null&&_this$valueInput$vali!==void 0?_this$valueInput$vali:"";}},{key:"connectedCallback",value:function connectedCallback(){_superPropGet(C,"connectedCallback",this,3)([]),this.timezoneList=f(),y(this.timezone)||(this.timezone=c()),null!==this.value?(this.wallClock=b(this.value.getTime(),this.timezone),this.hasValue=!0):(this.wallClock=b(Date.now(),this.timezone),this.hasValue=!1),this.formControlController=new u(this,{assumeInteractionOn:["nile-change"],value:function value(t){var _i$valueString;var i=t;return null===i.value?void 0:(_i$valueString=i.valueString())!==null&&_i$valueString!==void 0?_i$valueString:void 0;},defaultValue:function defaultValue(t){return t.defaultValue;},setValue:function setValue(t,i){t.value=i;}}),this.emit("nile-init");}},{key:"disconnectedCallback",value:function disconnectedCallback(){_superPropGet(C,"disconnectedCallback",this,3)([]),window.clearTimeout(this.copiedTimer),this.emit("nile-destroy");}},{key:"willUpdate",value:function willUpdate(t){t.has("value")?this.internalValueUpdate?this.internalValueUpdate=!1:null===this.value?this.hasValue=!1:(this.wallClock=b(this.value.getTime(),this.timezone),this.hasValue=!0):this.isTimezoneReassigned(t)&&!this.open&&this.syncValueToTimezone();}},{key:"updated",value:function updated(t){this.isTimezoneReassigned(t)&&(this.internalTimezoneUpdate?this.internalTimezoneUpdate=!1:this.emit("nile-input",this.liveDetail()));}},{key:"isTimezoneReassigned",value:function isTimezoneReassigned(t){return t.has("timezone")&&void 0!==t.get("timezone");}},{key:"syncValueToTimezone",value:function syncValueToTimezone(){if(!this.hasValue||null===this.value)return;var t=g(this.wallClock,this.timezone);Number.isNaN(t)||t===this.value.getTime()||(this.internalValueUpdate=!0,this.value=new Date(t),this.syncHiddenInput());}},{key:"valueString",value:function valueString(){return null===this.value?null:this.value.toISOString();}},{key:"syncHiddenInput",value:function syncHiddenInput(){var _this$valueString,_this$formControlCont;this.valueInput&&(this.valueInput.value=(_this$valueString=this.valueString())!==null&&_this$valueString!==void 0?_this$valueString:""),(_this$formControlCont=this.formControlController)===null||_this$formControlCont===void 0?void 0:_this$formControlCont.updateValidity();}},{key:"changeDetail",value:function changeDetail(){if(null===this.value)return{value:null,localTimezoneValue:null,unix:null,timezone:this.timezone};var t=this.value.getTime();return{value:m(this.wallClock,this.timezone),localTimezoneValue:new Date(t),unix:t,timezone:this.timezone};}},{key:"liveDetail",value:function liveDetail(){var t=g(this.wallClock,this.timezone);return Number.isNaN(t)?{value:null,localTimezoneValue:null,unix:null,timezone:this.timezone}:{value:m(this.wallClock,this.timezone),localTimezoneValue:new Date(t),unix:t,timezone:this.timezone};}},{key:"commit",value:function commit(){var t=g(this.wallClock,this.timezone);this.internalValueUpdate=!0,this.value=new Date(t),this.hasValue=!0,this.syncHiddenInput(),this.emit("nile-change",this.changeDetail());}},{key:"onFieldChange",value:function onFieldChange(t){var _this2=this;return function(i){var _i$detail;i.stopPropagation();var s=Number((_i$detail=i.detail)===null||_i$detail===void 0?void 0:_i$detail.value),e=_(_objectSpread(_objectSpread({},_this2.wallClock),{},_defineProperty({},t,s)),_this2.minYear,_this2.maxYear);_this2.wallClock=e,_this2.emit("nile-input",_this2.liveDetail());};}},{key:"onTimezoneChange",value:function onTimezoneChange(t){var _t$detail;t.stopPropagation();var i=(_t$detail=t.detail)===null||_t$detail===void 0?void 0:_t$detail.value;"string"==typeof i&&y(i)&&(this.internalTimezoneUpdate=!0,this.timezone=i,this.emit("nile-input",this.liveDetail()));}},{key:"checkValidity",value:function checkValidity(){var _this$valueInput$chec,_this$valueInput3;return(_this$valueInput$chec=(_this$valueInput3=this.valueInput)===null||_this$valueInput3===void 0?void 0:_this$valueInput3.checkValidity())!==null&&_this$valueInput$chec!==void 0?_this$valueInput$chec:!0;}},{key:"reportValidity",value:function reportValidity(){var _this$valueInput$repo,_this$valueInput4;return(_this$valueInput$repo=(_this$valueInput4=this.valueInput)===null||_this$valueInput4===void 0?void 0:_this$valueInput4.reportValidity())!==null&&_this$valueInput$repo!==void 0?_this$valueInput$repo:!0;}},{key:"setCustomValidity",value:function setCustomValidity(t){var _this$valueInput5,_this$formControlCont2;(_this$valueInput5=this.valueInput)!==null&&_this$valueInput5!==void 0&&_this$valueInput5.setCustomValidity(t),(_this$formControlCont2=this.formControlController)===null||_this$formControlCont2===void 0?void 0:_this$formControlCont2.updateValidity();}},{key:"getForm",value:function getForm(){var _this$formControlCont3,_this$formControlCont4;return(_this$formControlCont3=(_this$formControlCont4=this.formControlController)===null||_this$formControlCont4===void 0?void 0:_this$formControlCont4.getForm())!==null&&_this$formControlCont3!==void 0?_this$formControlCont3:null;}},{key:"renderField",value:function renderField(t,s,e,l,n){return i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div class=\"tsb__field\" part=\"field\">\n <nile-input\n type=\"number\"\n exportparts=\"base:field__base, input:field__input\"\n size=\"medium\"\n label=","\n ?disabled=","\n ?readonly=","\n min=","\n max=","\n step=\"1\"\n .value=","\n @nile-change=","\n ></nile-input>\n </div>\n "])),s,this.disabled,this.readonly,l,n,String(e),this.onFieldChange(t));}},{key:"renderCollapsed",value:function renderCollapsed(){var t=this.wallClock,e=!this.disabled&&!this.readonly;return i(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div class=\"tsb__collapsed\" part=\"display\">\n <div\n class=","\n part=\"display-content\"\n role=","\n tabindex=","\n aria-labelledby=","\n aria-readonly=","\n @dblclick=","\n @pointerup=","\n @keydown=","\n >\n <span\n id=\"tsb-display-value\"\n class=","\n part=\"value\"\n >\n ","\n </span>\n <span class=\"tsb__tz\" part=\"timezone-label\">","</span>\n </div>\n ","\n ","\n </div>\n "])),h({tsb__display:!0,"tsb__display--editable":e}),e?"button":s,this.disabled?s:"0",this.label?"tsb-label tsb-display-value":s,this.readonly?"true":s,this.handleDisplayDoubleClick,this.handleDisplayPointerUp,this.handleDisplayKeyDown,h({tsb__value:!0,"tsb__value--empty":!this.hasValue}),this.hasValue?z(t):"No timestamp set",this.timezone,e?this.renderEditActions():s,this.copyable&&this.readonly&&!this.disabled?this.renderCopyAction():s);}},{key:"renderEditActions",value:function renderEditActions(){return i(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <div class=\"tsb__actions\" part=\"actions\">\n <nile-button\n variant=\"secondary-grey\"\n ?disabled=","\n @click=","\n >Now</nile-button\n >\n <nile-button\n variant=\"primary\"\n title=\"Edit\"\n ?disabled=","\n @click=","\n ><nile-glyph\n name=\"ng-pencil\"\n size=\"16\"\n method=\"stroke\"\n color=\"currentColor\"\n ></nile-glyph\n ></nile-button\n >\n </div>\n "])),this.disabled,this.handleSetNow,this.disabled,this.handleEdit);}},{key:"renderCopyAction",value:function renderCopyAction(){return i(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <div class=\"tsb__actions\" part=\"actions\">\n <nile-button\n variant=\"ghost\"\n title=","\n aria-label=","\n ?disabled=","\n @click=","\n ><nile-glyph\n name=","\n size=\"16\"\n method=\"stroke\"\n color=\"currentColor\"\n ></nile-glyph\n ></nile-button>\n </div>\n "])),this.justCopied?"Copied":"Copy timestamp",this.justCopied?"Copied":"Copy timestamp",!this.hasValue,this.handleCopy,this.justCopied?"ng-copy-check":"ng-copy");}},{key:"renderExpanded",value:function renderExpanded(){var t=this.wallClock,s=j(t.year,t.month);return i(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n <div class=\"tsb__expanded\" part=\"editor\">\n <div class=\"tsb__fields\" part=\"fields\">\n ","\n ","\n ","\n ","\n ","\n ","\n ","\n </div>\n\n <div class=\"tsb__timezone\" part=\"timezone-select\">\n <nile-select\n searchEnabled\n label=\"Timezone\"\n size=\"medium\"\n ?disabled=","\n .value=","\n @nile-change=","\n >\n ","\n </nile-select>\n </div>\n\n <div class=\"tsb__actions\" part=\"editor-actions\">\n <nile-button\n variant=\"secondary-grey\"\n ?disabled=","\n @click=","\n >Set to Now</nile-button\n >\n <nile-button\n variant=\"secondary-grey\"\n ?disabled=","\n @click=","\n >Use Local Timezone</nile-button\n >\n <nile-button\n variant=\"secondary-grey\"\n ?disabled=","\n @click=","\n >Use UTC</nile-button\n >\n <nile-button\n variant=\"primary\"\n ?disabled=","\n @click=","\n >Done</nile-button\n >\n </div>\n </div>\n "])),this.renderField(w.Year,"Year",t.year,this.minYear,this.maxYear),this.renderField(w.Month,"Month",t.month,1,12),this.renderField(w.Day,"Day",t.day,1,s),this.renderField(w.Hour,"Hour",t.hour,0,23),this.renderField(w.Minute,"Minute",t.minute,0,59),this.renderField(w.Second,"Second",t.second,0,59),this.renderField(w.Millisecond,"Milliseconds",t.millisecond,0,999),this.disabled,this.timezone,this.onTimezoneChange,this.timezoneList.map(function(t){return i(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["<nile-option value=",">","</nile-option>"])),t,t);}),this.disabled,this.handleStageNow,this.disabled,this.handleUseLocalTz,this.disabled,this.handleUseUtc,this.disabled,this.handleDone);}},{key:"render",value:function render(){var _this$valueString2;return i(_templateObject7||(_templateObject7=_taggedTemplateLiteral(["\n <div\n class=\"tsb\"\n part=\"base\"\n role=\"group\"\n aria-labelledby=","\n >\n ","\n ","\n\n <input\n class=\"value-input\"\n type=\"text\"\n ?required=","\n ?disabled=","\n .value=","\n tabindex=\"-1\"\n aria-hidden=\"true\"\n />\n </div>\n "])),this.label?"tsb-label":s,this.label?i(_templateObject8||(_templateObject8=_taggedTemplateLiteral(["<label id=\"tsb-label\" class=\"tsb__label\" part=\"label\"\n >","</label\n >"])),this.label):"",this.open&&!this.readonly?this.renderExpanded():this.renderCollapsed(),this.required,this.disabled,(_this$valueString2=this.valueString())!==null&&_this$valueString2!==void 0?_this$valueString2:"");}}],[{key:"styles",get:function get(){return[r];}}]);}(o));k.DOUBLE_TAP_MS=300,k.COPIED_FEEDBACK_MS=1600,t([e(".value-input")],k.prototype,"valueInput",void 0),t([l({attribute:"value",converter:{fromAttribute:function fromAttribute(t){return t;},toAttribute:function toAttribute(t){return null===t?null:t.toISOString();}}})],k.prototype,"value",null),t([d()],k.prototype,"defaultValue",void 0),t([l({type:String,reflect:!0})],k.prototype,"timezone",void 0),t([l({type:String,reflect:!0})],k.prototype,"name",void 0),t([l({type:Boolean,reflect:!0})],k.prototype,"disabled",void 0),t([l({type:Boolean,reflect:!0})],k.prototype,"required",void 0),t([l({type:Boolean,reflect:!0})],k.prototype,"readonly",void 0),t([l({type:Boolean,reflect:!0})],k.prototype,"copyable",void 0),t([l({type:String,reflect:!0})],k.prototype,"form",void 0),t([l({type:Boolean,reflect:!0})],k.prototype,"open",void 0),t([l({type:String,reflect:!0})],k.prototype,"label",void 0),t([l({attribute:!0,type:Number,reflect:!0})],k.prototype,"minYear",void 0),t([l({attribute:!0,type:Number,reflect:!0})],k.prototype,"maxYear",void 0),t([n()],k.prototype,"wallClock",void 0),t([n()],k.prototype,"timezoneList",void 0),t([n()],k.prototype,"hasValue",void 0),t([n()],k.prototype,"justCopied",void 0),_export("N",k=_C=t([a("nile-timestamp-builder")],k));}};});
2
+ //# sourceMappingURL=nile-timestamp-builder.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-timestamp-builder.cjs.js","sources":["../../../src/nile-timestamp-builder/nile-timestamp-builder.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2026\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './nile-timestamp-builder.css';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport { FormControlController } from '../internal/form';\nimport { defaultValue } from '../internal/default-value';\nimport {\n EPOCH_WALLCLOCK,\n TimestampField,\n WallClock,\n clampWallClock,\n daysInMonth,\n epochToFields,\n fieldsToEpoch,\n formatWallClock,\n formatZonedValue,\n getLocalTimeZone,\n getTimezoneList,\n isValidTimeZone,\n normalizeValueInput,\n parseZonedValue,\n} from './nile-timestamp-builder-utils';\n\n/**\n * @event nile-init - Emitted when the component is added to the DOM.\n * @event nile-destroy - Emitted when the component is removed from the DOM.\n * @event nile-change - Emitted when the value is committed.\n * @event nile-input - Emitted as fields change, before the value is committed.\n * @event nile-expand - Emitted when the editor opens.\n * @event nile-collapse - Emitted when the editor closes.\n * @event nile-copy - Emitted after the value is written to the clipboard.\n * @event nile-copy-error - Emitted when the clipboard write is refused.\n */\n@customElement('nile-timestamp-builder')\nexport class NileTimestampBuilder\n extends NileElement\n implements NileFormControl\n {\n static get styles(): CSSResultGroup {\n return [styles];\n }\n\n private formControlController: FormControlController | null = null;\n private internalValueUpdate = false;\n private internalTimezoneUpdate = false;\n @query('.value-input') valueInput!: HTMLInputElement;private _value: Date | null = null;\n @property({\n attribute: 'value',\n converter: {\n fromAttribute: (value: string | null) => value,\n toAttribute: (value: Date | null) =>\n value === null ? null : value.toISOString(),\n },\n })\n get value(): Date | null {\n return this._value;\n }\n\n set value(input: Date | number | string | null) {\n if (typeof input === 'string') {\n const zoned = parseZonedValue(input);\n if (zoned && isValidTimeZone(zoned.timezone)) {\n this.timezone = zoned.timezone;\n }\n }\n const oldValue = this._value;\n const next = normalizeValueInput(input);\n if (next?.getTime() === oldValue?.getTime()) {\n this.internalValueUpdate = false;\n return;\n }\n this._value = next;\n this.requestUpdate('value', oldValue);\n }\n\n @defaultValue() defaultValue: Date | null = null;\n @property({ type: String, reflect: true }) timezone: string =\n getLocalTimeZone();\n @property({ type: String, reflect: true }) name = '';\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean, reflect: true }) required = false;\n @property({ type: Boolean, reflect: true }) readonly = false;\n @property({ type: Boolean, reflect: true }) copyable = false;\n @property({ type: String, reflect: true }) form = '';\n @property({ type: Boolean, reflect: true }) open = false;\n @property({ type: String, reflect: true }) label = '';\n @property({ attribute: true, type: Number, reflect: true }) minYear = 1;\n @property({ attribute: true, type: Number, reflect: true }) maxYear = 9999;\n @state() wallClock: WallClock = EPOCH_WALLCLOCK;\n @state() timezoneList: string[] = [];\n @state() hasValue = false;\n @state() justCopied = false;\n\n get validity(): ValidityState {\n return this.valueInput?.validity;\n }\n\n get validationMessage(): string {\n return this.valueInput?.validationMessage ?? '';\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.timezoneList = getTimezoneList();\n\n if (!isValidTimeZone(this.timezone)) {\n this.timezone = getLocalTimeZone();\n }\n\n if (this.value !== null) {\n this.wallClock = epochToFields(this.value.getTime(), this.timezone);\n this.hasValue = true;\n } else {\n this.wallClock = epochToFields(Date.now(), this.timezone);\n this.hasValue = false;\n }\n\n this.formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-change'],\n value: input => {\n const el = input as NileTimestampBuilder;\n return el.value === null ? undefined : (el.valueString() ?? undefined);\n },\n defaultValue: input => (input as NileTimestampBuilder).defaultValue,\n setValue: (input, val) => {\n (input as NileTimestampBuilder).value = val as string | null;\n },\n });\n\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n window.clearTimeout(this.copiedTimer);\n this.emit('nile-destroy');\n }\n\n protected willUpdate(changedProperties: PropertyValues): void {\n if (changedProperties.has('value')) {\n if (this.internalValueUpdate) {\n this.internalValueUpdate = false;\n } else {\n if (this.value === null) {\n this.hasValue = false;\n } else {\n this.wallClock = epochToFields(this.value.getTime(), this.timezone);\n this.hasValue = true;\n }\n }\n } else if (this.isTimezoneReassigned(changedProperties) && !this.open) {\n this.syncValueToTimezone();\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n if (this.isTimezoneReassigned(changedProperties)) {\n if (this.internalTimezoneUpdate) {\n this.internalTimezoneUpdate = false;\n } else {\n this.emit('nile-input', this.liveDetail());\n }\n }\n }\n\n private isTimezoneReassigned(changedProperties: PropertyValues): boolean {\n return (\n changedProperties.has('timezone') &&\n changedProperties.get('timezone') !== undefined\n );\n }\n\n private syncValueToTimezone(): void {\n if (!this.hasValue || this.value === null) return;\n const epoch = fieldsToEpoch(this.wallClock, this.timezone);\n if (Number.isNaN(epoch) || epoch === this.value.getTime()) return;\n this.internalValueUpdate = true;\n this.value = new Date(epoch);\n this.syncHiddenInput();\n }\n\n private valueString(): string | null {\n return this.value === null ? null : this.value.toISOString();\n }\n\n private syncHiddenInput(): void {\n if (this.valueInput) {\n this.valueInput.value = this.valueString() ?? '';\n }\n this.formControlController?.updateValidity();\n }\n\n private changeDetail(): {\n value: string | null;\n localTimezoneValue: Date | null;\n unix: number | null;\n timezone: string;\n } {\n if (this.value === null) {\n return {\n value: null,\n localTimezoneValue: null,\n unix: null,\n timezone: this.timezone,\n };\n }\n const epoch = this.value.getTime();\n return {\n value: formatZonedValue(this.wallClock, this.timezone),\n localTimezoneValue: new Date(epoch),\n // Unix time (epoch milliseconds, matching Date.getTime()).\n unix: epoch,\n timezone: this.timezone,\n };\n }\n\n\n private liveDetail(): {\n value: string | null;\n localTimezoneValue: Date | null;\n unix: number | null;\n timezone: string;\n } {\n const epoch = fieldsToEpoch(this.wallClock, this.timezone);\n if (Number.isNaN(epoch)) {\n return {\n value: null,\n localTimezoneValue: null,\n unix: null,\n timezone: this.timezone,\n };\n }\n return {\n value: formatZonedValue(this.wallClock, this.timezone),\n localTimezoneValue: new Date(epoch),\n // Unix time (epoch milliseconds, matching Date.getTime()).\n unix: epoch,\n timezone: this.timezone,\n };\n }\n\n private commit(): void {\n const epoch = fieldsToEpoch(this.wallClock, this.timezone);\n this.internalValueUpdate = true;\n this.value = new Date(epoch);\n this.hasValue = true;\n this.syncHiddenInput();\n this.emit('nile-change', this.changeDetail());\n }\n\n\n private onFieldChange(field: TimestampField) {\n return (event: CustomEvent) => {\n event.stopPropagation();\n const raw = Number(event.detail?.value);\n const next = clampWallClock(\n { ...this.wallClock, [field]: raw },\n this.minYear,\n this.maxYear\n );\n this.wallClock = next;\n this.emit('nile-input', this.liveDetail());\n };\n }\n\n private onTimezoneChange(event: CustomEvent) {\n event.stopPropagation();\n const next = event.detail?.value;\n if (typeof next === 'string' && isValidTimeZone(next)) {\n this.internalTimezoneUpdate = true;\n this.timezone = next;\n this.emit('nile-input', this.liveDetail());\n }\n }\n\n private handleSetNow = () => {\n if (this.disabled || this.readonly) return;\n const now = Date.now();\n this.wallClock = epochToFields(now, this.timezone);\n this.commit();\n };\n\n /** Copies the canonical zoned value */\n private handleCopy = async () => {\n if (this.disabled || !this.hasValue) return;\n const text = formatZonedValue(this.wallClock, this.timezone);\n try {\n await navigator.clipboard.writeText(text);\n } catch {\n this.emit('nile-copy-error', { value: text });\n return;\n }\n this.justCopied = true;\n window.clearTimeout(this.copiedTimer);\n this.copiedTimer = window.setTimeout(() => {\n this.justCopied = false;\n }, NileTimestampBuilder.COPIED_FEEDBACK_MS);\n this.emit('nile-copy', { value: text });\n };\n\n private handleStageNow = () => {\n if (this.disabled || this.readonly) return;\n const now = Date.now();\n this.wallClock = epochToFields(now, this.timezone);\n this.emit('nile-input', this.liveDetail());\n };\n\n private handleUseLocalTz = () => {\n if (this.disabled || this.readonly) return;\n this.internalTimezoneUpdate = true;\n this.timezone = getLocalTimeZone();\n this.emit('nile-input', this.liveDetail());\n };\n\n private handleUseUtc = () => {\n if (this.disabled || this.readonly) return;\n this.internalTimezoneUpdate = true;\n this.timezone = 'UTC';\n this.emit('nile-input', this.liveDetail());\n };\n\n /** Touch input has no reliable `dblclick`, so double-taps are timed by hand. */\n private static readonly DOUBLE_TAP_MS = 300;\n private static readonly COPIED_FEEDBACK_MS = 1600;\n private lastTapAt = 0;\n private copiedTimer = 0;\n\n private handleDisplayDoubleClick = () => {\n this.handleEdit();\n };\n\n private handleDisplayPointerUp = (event: PointerEvent) => {\n if (event.pointerType === 'mouse') return;\n const now = Date.now();\n if (now - this.lastTapAt <= NileTimestampBuilder.DOUBLE_TAP_MS) {\n this.lastTapAt = 0;\n this.handleEdit();\n return;\n }\n this.lastTapAt = now;\n };\n\n /** Keyboard equivalent of the double-click/double-tap edit affordance. */\n private handleDisplayKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Enter' && event.key !== ' ') return;\n event.preventDefault();\n this.handleEdit();\n };\n\n private handleEdit = () => {\n if (this.disabled || this.readonly || this.open) return;\n if (this.value === null) {\n this.wallClock = epochToFields(Date.now(), this.timezone);\n }\n this.open = true;\n this.emit('nile-expand', { open: true });\n };\n\n private handleDone = () => {\n this.open = false;\n this.commit();\n this.emit('nile-collapse', { open: false });\n };\n\n checkValidity(): boolean {\n return this.valueInput?.checkValidity() ?? true;\n }\n\n reportValidity(): boolean {\n return this.valueInput?.reportValidity() ?? true;\n }\n\n setCustomValidity(message: string): void {\n this.valueInput?.setCustomValidity(message);\n this.formControlController?.updateValidity();\n }\n\n getForm(): HTMLFormElement | null {\n return this.formControlController?.getForm() ?? null;\n }\n\n private renderField(\n field: TimestampField,\n fieldLabel: string,\n val: number,\n min: number,\n max: number\n ) {\n return html`\n <div class=\"tsb__field\" part=\"field\">\n <nile-input\n type=\"number\"\n exportparts=\"base:field__base, input:field__input\"\n size=\"medium\"\n label=${fieldLabel}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n min=${min}\n max=${max}\n step=\"1\"\n .value=${String(val)}\n @nile-change=${this.onFieldChange(field)}\n ></nile-input>\n </div>\n `;\n }\n\n private renderCollapsed() {\n const wc = this.wallClock;\n const editable = !this.disabled && !this.readonly;\n return html`\n <div class=\"tsb__collapsed\" part=\"display\">\n <div\n class=${classMap({\n tsb__display: true,\n 'tsb__display--editable': editable,\n })}\n part=\"display-content\"\n role=${editable ? 'button' : nothing}\n tabindex=${this.disabled ? nothing : '0'}\n aria-labelledby=${this.label ? 'tsb-label tsb-display-value' : nothing}\n aria-readonly=${this.readonly ? 'true' : nothing}\n @dblclick=${this.handleDisplayDoubleClick}\n @pointerup=${this.handleDisplayPointerUp}\n @keydown=${this.handleDisplayKeyDown}\n >\n <span\n id=\"tsb-display-value\"\n class=${classMap({\n tsb__value: true,\n 'tsb__value--empty': !this.hasValue,\n })}\n part=\"value\"\n >\n ${this.hasValue ? formatWallClock(wc) : 'No timestamp set'}\n </span>\n <span class=\"tsb__tz\" part=\"timezone-label\">${this.timezone}</span>\n </div>\n ${editable ? this.renderEditActions() : nothing}\n ${this.copyable && this.readonly && !this.disabled\n ? this.renderCopyAction()\n : nothing}\n </div>\n `;\n }\n\n private renderEditActions() {\n return html`\n <div class=\"tsb__actions\" part=\"actions\">\n <nile-button\n variant=\"secondary-grey\"\n ?disabled=${this.disabled}\n @click=${this.handleSetNow}\n >Now</nile-button\n >\n <nile-button\n variant=\"primary\"\n title=\"Edit\"\n ?disabled=${this.disabled}\n @click=${this.handleEdit}\n ><nile-glyph\n name=\"ng-pencil\"\n size=\"16\"\n method=\"stroke\"\n color=\"currentColor\"\n ></nile-glyph\n ></nile-button\n >\n </div>\n `;\n }\n\n private renderCopyAction() {\n return html`\n <div class=\"tsb__actions\" part=\"actions\">\n <nile-button\n variant=\"ghost\"\n title=${this.justCopied ? 'Copied' : 'Copy timestamp'}\n aria-label=${this.justCopied ? 'Copied' : 'Copy timestamp'}\n ?disabled=${!this.hasValue}\n @click=${this.handleCopy}\n ><nile-glyph\n name=${this.justCopied ? 'ng-copy-check' : 'ng-copy'}\n size=\"16\"\n method=\"stroke\"\n color=\"currentColor\"\n ></nile-glyph\n ></nile-button>\n </div>\n `;\n }\n\n private renderExpanded() {\n const wc = this.wallClock;\n const maxDay = daysInMonth(wc.year, wc.month);\n return html`\n <div class=\"tsb__expanded\" part=\"editor\">\n <div class=\"tsb__fields\" part=\"fields\">\n ${this.renderField(\n TimestampField.Year,\n 'Year',\n wc.year,\n this.minYear,\n this.maxYear\n )}\n ${this.renderField(TimestampField.Month, 'Month', wc.month, 1, 12)}\n ${this.renderField(TimestampField.Day, 'Day', wc.day, 1, maxDay)}\n ${this.renderField(TimestampField.Hour, 'Hour', wc.hour, 0, 23)}\n ${this.renderField(\n TimestampField.Minute,\n 'Minute',\n wc.minute,\n 0,\n 59\n )}\n ${this.renderField(\n TimestampField.Second,\n 'Second',\n wc.second,\n 0,\n 59\n )}\n ${this.renderField(\n TimestampField.Millisecond,\n 'Milliseconds',\n wc.millisecond,\n 0,\n 999\n )}\n </div>\n\n <div class=\"tsb__timezone\" part=\"timezone-select\">\n <nile-select\n searchEnabled\n label=\"Timezone\"\n size=\"medium\"\n ?disabled=${this.disabled}\n .value=${this.timezone}\n @nile-change=${this.onTimezoneChange}\n >\n ${this.timezoneList.map(\n tz => html`<nile-option value=${tz}>${tz}</nile-option>`\n )}\n </nile-select>\n </div>\n\n <div class=\"tsb__actions\" part=\"editor-actions\">\n <nile-button\n variant=\"secondary-grey\"\n ?disabled=${this.disabled}\n @click=${this.handleStageNow}\n >Set to Now</nile-button\n >\n <nile-button\n variant=\"secondary-grey\"\n ?disabled=${this.disabled}\n @click=${this.handleUseLocalTz}\n >Use Local Timezone</nile-button\n >\n <nile-button\n variant=\"secondary-grey\"\n ?disabled=${this.disabled}\n @click=${this.handleUseUtc}\n >Use UTC</nile-button\n >\n <nile-button\n variant=\"primary\"\n ?disabled=${this.disabled}\n @click=${this.handleDone}\n >Done</nile-button\n >\n </div>\n </div>\n `;\n }\n\n render() {\n return html`\n <div\n class=\"tsb\"\n part=\"base\"\n role=\"group\"\n aria-labelledby=${this.label ? 'tsb-label' : nothing}\n >\n ${this.label\n ? html`<label id=\"tsb-label\" class=\"tsb__label\" part=\"label\"\n >${this.label}</label\n >`\n : ''}\n ${this.open && !this.readonly\n ? this.renderExpanded()\n : this.renderCollapsed()}\n\n <input\n class=\"value-input\"\n type=\"text\"\n ?required=${this.required}\n ?disabled=${this.disabled}\n .value=${this.valueString() ?? ''}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n />\n </div>\n `;\n }\n}\n\nexport default NileTimestampBuilder;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-timestamp-builder': NileTimestampBuilder;\n }\n}\n"],"names":["NileTimestampBuilder","NileTimestampBuilder_1","_o","C","constructor","this","formControlController","internalValueUpdate","internalTimezoneUpdate","_value","defaultValue","timezone","getLocalTimeZone","name","disabled","required","readonly","copyable","form","open","label","minYear","maxYear","wallClock","EPOCH_WALLCLOCK","timezoneList","hasValue","justCopied","handleSetNow","now","Date","epochToFields","commit","handleCopy","async","text","formatZonedValue","_context2","prev","next","navigator","clipboard","writeText","t0","abrupt","emit","value","window","clearTimeout","copiedTimer","setTimeout","COPIED_FEEDBACK_MS","stop","_callee","handleStageNow","liveDetail","handleUseLocalTz","handleUseUtc","lastTapAt","handleDisplayDoubleClick","handleEdit","handleDisplayPointerUp","event","pointerType","DOUBLE_TAP_MS","handleDisplayKeyDown","key","preventDefault","handleDone","_this","_inherits","_createClass","get","set","input","zoned","parseZonedValue","isValidTimeZone","oldValue","normalizeValueInput","getTime","requestUpdate","validity","_this$valueInput","valueInput","validationMessage","_this$valueInput$vali","_this$valueInput2","connectedCallback","super","getTimezoneList","FormControlController","assumeInteractionOn","el","undefined","valueString","setValue","val","disconnectedCallback","willUpdate","changedProperties","has","isTimezoneReassigned","syncValueToTimezone","updated","epoch","fieldsToEpoch","Number","isNaN","syncHiddenInput","toISOString","updateValidity","changeDetail","localTimezoneValue","unix","onFieldChange","field","stopPropagation","raw","detail","clampWallClock","_objectSpread","onTimezoneChange","checkValidity","_this$valueInput$chec","_this$valueInput3","reportValidity","_this$valueInput$repo","_this$valueInput4","setCustomValidity","message","getForm","_this$formControlCont3","_this$formControlCont4","renderField","fieldLabel","min","max","html","_templateObject","_taggedTemplateLiteral","String","renderCollapsed","wc","editable","_templateObject2","classMap","tsb__display","nothing","tsb__value","formatWallClock","renderEditActions","renderCopyAction","_templateObject3","_templateObject4","renderExpanded","maxDay","daysInMonth","year","month","_templateObject5","TimestampField","Year","Month","Day","day","Hour","hour","Minute","minute","Second","second","Millisecond","millisecond","map","tz","_templateObject6","render","_this$valueString2","_templateObject7","_templateObject8","styles","NileElement","__decorate","query","prototype","property","attribute","converter","fromAttribute","toAttribute","type","reflect","Boolean","state","customElement"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ System.register(["lit"],function(_export,_context){"use strict";var i,_templateObject,a;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){i=_lit.css;}],execute:function execute(){_export("s",a=i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: block;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n :host([disabled]) {\n pointer-events: none;\n }\n\n :host([disabled]) .tsb__collapsed,\n :host([disabled]) .tsb__expanded {\n background: var(\n --nile-colors-neutral-100,\n var(--ng-colors-bg-disabled-subtle)\n );\n border-color: var(\n --nile-colors-neutral-500,\n var(--ng-colors-border-disabled-subtle)\n );\n }\n\n :host([disabled]) .tsb__label,\n :host([disabled]) .tsb__value,\n :host([disabled]) .tsb__tz {\n color: var(--nile-colors-text-disabled, var(--ng-colors-text-disabled));\n }\n\n .tsb {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n }\n\n .tsb__label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n line-height: var(--nile-line-height-small, var(--ng-line-height-text-sm));\n }\n\n /* Collapsed view */\n .tsb__collapsed {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg))\n var(--nile-spacing-xl, var(--ng-spacing-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid\n var(--nile-colors-gray-300, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-md, var(--ng-radius-md));\n background: var(--nile-colors-white, var(--ng-colors-bg-primary));\n min-height: var(--nile-height-28px, var(--ng-height-28px));\n }\n\n .tsb__collapsed .tsb__actions nile-button::part(base) {\n height: var(--nile-height-28px, var(--ng-height-28px));\n padding-block: var(--nile-spacing-none, var(--ng-spacing-none));\n }\n\n .tsb__display {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n flex: 1 1 var(--nile-width-208px, var(--ng-width-56));\n min-width: 0;\n }\n\n .tsb__display--editable {\n cursor: pointer;\n user-select: none;\n -webkit-user-select: none;\n touch-action: manipulation;\n }\n\n .tsb__display:focus-visible {\n outline: var(--nile-border-width-2, var(--ng-border-width-2)) solid\n var(--nile-colors-border-field-focused, var(--ng-colors-border-brand));\n outline-offset: var(--nile-spacing-xxs, var(--ng-spacing-xxs));\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n }\n\n .tsb__value {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-variant-numeric: tabular-nums;\n font-size: var(--nile-type-scale-4, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-medium));\n letter-spacing: 0.01em;\n overflow-wrap: normal;\n }\n\n .tsb__value--empty {\n color: var(--nile-colors-gray-400, var(--ng-colors-text-placeholder));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n }\n\n .tsb__tz {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-gray-500, var(--ng-colors-text-tertiary-600));\n white-space: nowrap;\n }\n\n .tsb__actions {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n flex-wrap: wrap;\n justify-content: flex-end;\n margin-left: auto;\n flex: 0 0 auto;\n }\n\n /* Expanded view */\n .tsb__expanded {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid\n var(--nile-colors-gray-300, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-md, var(--ng-radius-md));\n background: var(--nile-colors-white, var(--ng-colors-bg-primary));\n }\n\n .tsb__fields {\n display: grid;\n grid-template-columns: repeat(\n auto-fit,\n minmax(var(--nile-width-99px, var(--ng-width-24)), 1fr)\n );\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n }\n\n .tsb__field {\n display: flex;\n flex-direction: column;\n min-width: 0;\n width: 100%;\n max-width: var(--nile-width-110px, var(--ng-width-108));\n }\n\n .tsb__field nile-input::part(input) {\n padding-inline: var(--nile-spacing-sm, var(--ng-spacing-sm));\n text-align: center;\n }\n\n .tsb__field nile-input::part(form-control-label) {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .tsb__timezone {\n display: flex;\n flex-direction: column;\n }\n\n @media (max-width: 480px) {\n .tsb__collapsed,\n .tsb__expanded {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n\n .tsb__actions {\n width: 100%;\n margin-left: 0;\n }\n\n\n [part='editor-actions'] nile-button {\n flex: 1 1 var(--nile-width-130px, var(--ng-width-32));\n }\n\n [part='editor-actions'] nile-button::part(base) {\n width: 100%;\n }\n }\n\n /* Visually-hidden hidden input used for form participation / validity. */\n .value-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n"]))));}};});
2
+ //# sourceMappingURL=nile-timestamp-builder.css.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-timestamp-builder.css.cjs.js","sources":["../../../src/nile-timestamp-builder/nile-timestamp-builder.css.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2026\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\nexport const styles = css`\n :host {\n display: block;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n :host([disabled]) {\n pointer-events: none;\n }\n\n :host([disabled]) .tsb__collapsed,\n :host([disabled]) .tsb__expanded {\n background: var(\n --nile-colors-neutral-100,\n var(--ng-colors-bg-disabled-subtle)\n );\n border-color: var(\n --nile-colors-neutral-500,\n var(--ng-colors-border-disabled-subtle)\n );\n }\n\n :host([disabled]) .tsb__label,\n :host([disabled]) .tsb__value,\n :host([disabled]) .tsb__tz {\n color: var(--nile-colors-text-disabled, var(--ng-colors-text-disabled));\n }\n\n .tsb {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n }\n\n .tsb__label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n line-height: var(--nile-line-height-small, var(--ng-line-height-text-sm));\n }\n\n /* Collapsed view */\n .tsb__collapsed {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg))\n var(--nile-spacing-xl, var(--ng-spacing-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid\n var(--nile-colors-gray-300, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-md, var(--ng-radius-md));\n background: var(--nile-colors-white, var(--ng-colors-bg-primary));\n min-height: var(--nile-height-28px, var(--ng-height-28px));\n }\n\n .tsb__collapsed .tsb__actions nile-button::part(base) {\n height: var(--nile-height-28px, var(--ng-height-28px));\n padding-block: var(--nile-spacing-none, var(--ng-spacing-none));\n }\n\n .tsb__display {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n flex: 1 1 var(--nile-width-208px, var(--ng-width-56));\n min-width: 0;\n }\n\n .tsb__display--editable {\n cursor: pointer;\n user-select: none;\n -webkit-user-select: none;\n touch-action: manipulation;\n }\n\n .tsb__display:focus-visible {\n outline: var(--nile-border-width-2, var(--ng-border-width-2)) solid\n var(--nile-colors-border-field-focused, var(--ng-colors-border-brand));\n outline-offset: var(--nile-spacing-xxs, var(--ng-spacing-xxs));\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n }\n\n .tsb__value {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-variant-numeric: tabular-nums;\n font-size: var(--nile-type-scale-4, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-medium));\n letter-spacing: 0.01em;\n overflow-wrap: normal;\n }\n\n .tsb__value--empty {\n color: var(--nile-colors-gray-400, var(--ng-colors-text-placeholder));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n }\n\n .tsb__tz {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-gray-500, var(--ng-colors-text-tertiary-600));\n white-space: nowrap;\n }\n\n .tsb__actions {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n flex-wrap: wrap;\n justify-content: flex-end;\n margin-left: auto;\n flex: 0 0 auto;\n }\n\n /* Expanded view */\n .tsb__expanded {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid\n var(--nile-colors-gray-300, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-md, var(--ng-radius-md));\n background: var(--nile-colors-white, var(--ng-colors-bg-primary));\n }\n\n .tsb__fields {\n display: grid;\n grid-template-columns: repeat(\n auto-fit,\n minmax(var(--nile-width-99px, var(--ng-width-24)), 1fr)\n );\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n }\n\n .tsb__field {\n display: flex;\n flex-direction: column;\n min-width: 0;\n width: 100%;\n max-width: var(--nile-width-110px, var(--ng-width-108));\n }\n\n .tsb__field nile-input::part(input) {\n padding-inline: var(--nile-spacing-sm, var(--ng-spacing-sm));\n text-align: center;\n }\n\n .tsb__field nile-input::part(form-control-label) {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .tsb__timezone {\n display: flex;\n flex-direction: column;\n }\n\n @media (max-width: 480px) {\n .tsb__collapsed,\n .tsb__expanded {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n\n .tsb__actions {\n width: 100%;\n margin-left: 0;\n }\n\n\n [part='editor-actions'] nile-button {\n flex: 1 1 var(--nile-width-130px, var(--ng-width-32));\n }\n\n [part='editor-actions'] nile-button::part(base) {\n width: 100%;\n }\n }\n\n /* Visually-hidden hidden input used for form participation / validity. */\n .value-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n`;\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTASaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
@@ -0,0 +1,195 @@
1
+ import{css as i}from"lit";const a=i`
2
+ :host {
3
+ display: block;
4
+ font-family: var(--nile-font-family-serif, var(--ng-font-family-body));
5
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
6
+ }
7
+
8
+ :host([disabled]) {
9
+ pointer-events: none;
10
+ }
11
+
12
+ :host([disabled]) .tsb__collapsed,
13
+ :host([disabled]) .tsb__expanded {
14
+ background: var(
15
+ --nile-colors-neutral-100,
16
+ var(--ng-colors-bg-disabled-subtle)
17
+ );
18
+ border-color: var(
19
+ --nile-colors-neutral-500,
20
+ var(--ng-colors-border-disabled-subtle)
21
+ );
22
+ }
23
+
24
+ :host([disabled]) .tsb__label,
25
+ :host([disabled]) .tsb__value,
26
+ :host([disabled]) .tsb__tz {
27
+ color: var(--nile-colors-text-disabled, var(--ng-colors-text-disabled));
28
+ }
29
+
30
+ .tsb {
31
+ display: flex;
32
+ flex-direction: column;
33
+ gap: var(--nile-spacing-md, var(--ng-spacing-md));
34
+ }
35
+
36
+ .tsb__label {
37
+ font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));
38
+ font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));
39
+ line-height: var(--nile-line-height-small, var(--ng-line-height-text-sm));
40
+ }
41
+
42
+ /* Collapsed view */
43
+ .tsb__collapsed {
44
+ display: flex;
45
+ align-items: center;
46
+ flex-wrap: wrap;
47
+ gap: var(--nile-spacing-lg, var(--ng-spacing-lg));
48
+ padding: var(--nile-spacing-lg, var(--ng-spacing-lg))
49
+ var(--nile-spacing-xl, var(--ng-spacing-xl));
50
+ border: var(--nile-border-width-1, var(--ng-border-width-1)) solid
51
+ var(--nile-colors-gray-300, var(--ng-colors-border-primary));
52
+ border-radius: var(--nile-radius-md, var(--ng-radius-md));
53
+ background: var(--nile-colors-white, var(--ng-colors-bg-primary));
54
+ min-height: var(--nile-height-28px, var(--ng-height-28px));
55
+ }
56
+
57
+ .tsb__collapsed .tsb__actions nile-button::part(base) {
58
+ height: var(--nile-height-28px, var(--ng-height-28px));
59
+ padding-block: var(--nile-spacing-none, var(--ng-spacing-none));
60
+ }
61
+
62
+ .tsb__display {
63
+ display: flex;
64
+ align-items: baseline;
65
+ flex-wrap: wrap;
66
+ gap: var(--nile-spacing-lg, var(--ng-spacing-lg));
67
+ flex: 1 1 var(--nile-width-208px, var(--ng-width-56));
68
+ min-width: 0;
69
+ }
70
+
71
+ .tsb__display--editable {
72
+ cursor: pointer;
73
+ user-select: none;
74
+ -webkit-user-select: none;
75
+ touch-action: manipulation;
76
+ }
77
+
78
+ .tsb__display:focus-visible {
79
+ outline: var(--nile-border-width-2, var(--ng-border-width-2)) solid
80
+ var(--nile-colors-border-field-focused, var(--ng-colors-border-brand));
81
+ outline-offset: var(--nile-spacing-xxs, var(--ng-spacing-xxs));
82
+ border-radius: var(--nile-radius-sm, var(--ng-radius-sm));
83
+ }
84
+
85
+ .tsb__value {
86
+ font-family: var(--nile-font-family-serif, var(--ng-font-family-body));
87
+ font-variant-numeric: tabular-nums;
88
+ font-size: var(--nile-type-scale-4, var(--ng-font-size-text-md));
89
+ font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-medium));
90
+ letter-spacing: 0.01em;
91
+ overflow-wrap: normal;
92
+ }
93
+
94
+ .tsb__value--empty {
95
+ color: var(--nile-colors-gray-400, var(--ng-colors-text-placeholder));
96
+ font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));
97
+ }
98
+
99
+ .tsb__tz {
100
+ font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));
101
+ color: var(--nile-colors-gray-500, var(--ng-colors-text-tertiary-600));
102
+ white-space: nowrap;
103
+ }
104
+
105
+ .tsb__actions {
106
+ display: flex;
107
+ align-items: center;
108
+ gap: var(--nile-spacing-md, var(--ng-spacing-md));
109
+ flex-wrap: wrap;
110
+ justify-content: flex-end;
111
+ margin-left: auto;
112
+ flex: 0 0 auto;
113
+ }
114
+
115
+ /* Expanded view */
116
+ .tsb__expanded {
117
+ display: flex;
118
+ flex-direction: column;
119
+ gap: var(--nile-spacing-lg, var(--ng-spacing-lg));
120
+ padding: var(--nile-spacing-xl, var(--ng-spacing-xl));
121
+ border: var(--nile-border-width-1, var(--ng-border-width-1)) solid
122
+ var(--nile-colors-gray-300, var(--ng-colors-border-primary));
123
+ border-radius: var(--nile-radius-md, var(--ng-radius-md));
124
+ background: var(--nile-colors-white, var(--ng-colors-bg-primary));
125
+ }
126
+
127
+ .tsb__fields {
128
+ display: grid;
129
+ grid-template-columns: repeat(
130
+ auto-fit,
131
+ minmax(var(--nile-width-99px, var(--ng-width-24)), 1fr)
132
+ );
133
+ gap: var(--nile-spacing-md, var(--ng-spacing-md));
134
+ }
135
+
136
+ .tsb__field {
137
+ display: flex;
138
+ flex-direction: column;
139
+ min-width: 0;
140
+ width: 100%;
141
+ max-width: var(--nile-width-110px, var(--ng-width-108));
142
+ }
143
+
144
+ .tsb__field nile-input::part(input) {
145
+ padding-inline: var(--nile-spacing-sm, var(--ng-spacing-sm));
146
+ text-align: center;
147
+ }
148
+
149
+ .tsb__field nile-input::part(form-control-label) {
150
+ display: block;
151
+ overflow: hidden;
152
+ text-overflow: ellipsis;
153
+ white-space: nowrap;
154
+ }
155
+
156
+ .tsb__timezone {
157
+ display: flex;
158
+ flex-direction: column;
159
+ }
160
+
161
+ @media (max-width: 480px) {
162
+ .tsb__collapsed,
163
+ .tsb__expanded {
164
+ padding: var(--nile-spacing-lg, var(--ng-spacing-lg));
165
+ }
166
+
167
+
168
+ .tsb__actions {
169
+ width: 100%;
170
+ margin-left: 0;
171
+ }
172
+
173
+
174
+ [part='editor-actions'] nile-button {
175
+ flex: 1 1 var(--nile-width-130px, var(--ng-width-32));
176
+ }
177
+
178
+ [part='editor-actions'] nile-button::part(base) {
179
+ width: 100%;
180
+ }
181
+ }
182
+
183
+ /* Visually-hidden hidden input used for form participation / validity. */
184
+ .value-input {
185
+ position: absolute;
186
+ width: 1px;
187
+ height: 1px;
188
+ padding: 0;
189
+ margin: -1px;
190
+ overflow: hidden;
191
+ clip: rect(0, 0, 0, 0);
192
+ white-space: nowrap;
193
+ border: 0;
194
+ }
195
+ `;export{a as s};